- From: Marcin Hanclik <Marcin.Hanclik@access-company.com>
- Date: Wed, 17 Jun 2009 12:38:56 +0200
- To: Cameron McCormack <cam@mcc.id.au>
- CC: public-geolocation <public-geolocation@w3.org>
Hi Cameron,
>>Indeed, if the intention is to allow code like:
>>
>> navigator.getCurrentPosition(a, b, { enableHighAccuracy: true,
>> timeout: 5 });
Yes, this is the case.
>>then you’ll need to use [Callback] on the interface.
>>
>> http://dev.w3.org/2006/webapi/WebIDL/#Callback
It's a bit weird, but ok.
>>If you specifically need to know whether a given ECMAScript
>>property exists on the native object,
This is our case.
>>then that’s something currently
>>outside the realms of Web IDL.
propertyIsEnumerable and "for .. in" seem to handle the properties in ES, or?
My understanding is that the PositionOptions will never be instantiated like
var p = new PositionOptions();
We would use it only as you quoted:
>> navigator.getCurrentPosition(a, b, { enableHighAccuracy: true,
>> timeout: 5 });
Shall we then use the following?
[Callback=PropertyOnly]
interface PositionOptions {
attribute boolean enableHighAccuracy;
attribute long timeout;
attribute long maximumAge;
};
If so, then I assume we would need more about "PropertyOnly" including examples in Web IDL spec.
Thanks.
Kind regards,
Marcin
Marcin Hanclik
ACCESS Systems Germany GmbH
Tel: +49-208-8290-6452 | Fax: +49-208-8290-6465
Mobile: +49-163-8290-646
E-Mail: marcin.hanclik@access-company.com
-----Original Message-----
From: Cameron McCormack [mailto:cam@mcc.id.au]
Sent: Wednesday, June 17, 2009 9:20 AM
To: Marcin Hanclik
Cc: public-geolocation
Subject: Re: PositionOptions
Marcin Hanclik:
> "The enableHighAccuracy, timeout and maximumAge attributes are all
> optional: when creating a PositionOptions object, the developer
> may specify any of these attributes." Since the PositionOptions
> has [NoInterfaceObject] extended attribute, it will not be
> instantiated/created in ES.
>
> So "when creating a PositionOptions object..." seems not to fit here.
>
> I would remove that part as follows:
> "The enableHighAccuracy, timeout and maximumAge attributes are all
> optional: the developer may specify any of these attributes."
Indeed, if the intention is to allow code like:
navigator.getCurrentPosition(a, b, { enableHighAccuracy: true,
timeout: 5 });
then you’ll need to use [Callback] on the interface.
http://dev.w3.org/2006/webapi/WebIDL/#Callback
The section on how native objects are considered to implement
interfaces,
http://dev.w3.org/2006/webapi/WebIDL/#native-objects
currently has wording on how a user agent invokes operations on such a
native object, but doesn’t say anything about getting/setting
attributes. That should be added, and will probably say that the value
returned from fetching the property will be converted to an IDL value
using the rules in
http://dev.w3.org/2006/webapi/WebIDL/#dfn-convert-ecmascript-to-idl-value
which would mean false for the boolean attribute and 0 for the long
attributes. If you specifically need to know whether a given ECMAScript
property exists on the native object, then that’s something currently
outside the realms of Web IDL.
--
Cameron McCormack ≝ http://mcc.id.au/
________________________________________
Access Systems Germany GmbH
Essener Strasse 5 | D-46047 Oberhausen
HRB 13548 Amtsgericht Duisburg
Geschaeftsfuehrer: Michel Piquemal, Tomonori Watanabe, Yusuke Kanda
www.access-company.com
CONFIDENTIALITY NOTICE
This e-mail and any attachments hereto may contain information that is privileged or confidential, and is intended for use only by the
individual or entity to which it is addressed. Any disclosure, copying or distribution of the information by anyone else is strictly prohibited.
If you have received this document in error, please notify us promptly by responding to this e-mail. Thank you.
Received on Wednesday, 17 June 2009 10:39:52 UTC