[geo2] LC comments

Hi all,

Looking briefly through the Geolocation v2 LC, [1] I've got a few comments:

== Status of This Document ==

A First Published *and* Last Call WD seems like a rather peculiar construct.


== 5.1 Geolocation interface ==

>  [NoInterfaceObject]
>  interface NavigatorGeolocation {
>    readonly attribute Geolocation geolocation;
>  };
>
>  Navigator implements NavigatorGeolocation;

would be better written as

partial Navigator {
   readonly attribute Geolocation geolocation;
};

and the preceding sentence

> Objects implementing the Navigator interface (e.g. the
> window.navigator object) must also implement the NavigatorGeolocation
> interface [NAVIGATOR]. An instance of NavigatorGeolocation would be
> then obtained by using binding-specific casting methods on an
> instance of Navigator.

should not use 'must', as this is already normatively defined by WebIDL.

Also, the IDL snippets still use the 'in' keyword for method 
parameters—this keyword has been removed from the WebIDL spec, as it was 
useless.

The Geolocation interface should not have [NoInterfaceObject].

PositionCallback and PositionErrorCallback should use the new callback 
syntax, that is:

> callback interface PositionCallback {
>   void handleEvent(in Position position);
> };
>
> callback interface PositionErrorCallback {
>   void handleEvent(in PositionError error);
> };

> The implementation of the getCurrentPosition method should execute
> the following set of steps:

s/should/must/

PositionOptions should use the dictionary support in WebIDL, and the 
default values should probably be specified in the IDL.

With that change, I believe the pre-processing steps in the 
getCurrentPosition and watchPosition algorithms can go. Note that

> If successCallback is the null value, then throw a TypeError.

isn't necessary; passing null to a 'PositionCallback' argument is 
rejected in WebIDL. In order to allow null, one needs to write 
'PositionCallback?'.

> The implementation of the watch process should execute the following
> set of steps:

s/should/must/, again.

> In step 5.2.2 of the watch process, the successCallback is only
> invoked when a new position is obtained and this position differs
> signifficantly

s/signifficantly/significantly/, and don't forget to update the step 
number. (A link would perhaps be appropriate.)


== 5.2 PositionOptions interface ==

As noted, this should use a dictionary. The paragraphs starting "In 
ECMAScript, …" can probably go away or should be made more obviously 
non-normative, as well as all the text about default values. (In fact, 
is anything in this paragraph actually normative?)

== 5.3 Position interface ==

Again, no point in [NoInterfaceObject].

 > The coords attribute is optional.
 > The address attribute is optional.

What does that mean, exactly?


== 5.4 Coordinates interface ==

[NoInterfaceObject]


== Address interface ==

For some reason, the '5.5' is missing here.

[NoInterfaceObject] once more.

Also, the <dfn> around the Address interface name is lacking.


== 5.5 PositionError interface ==

s/5.5/5.6/

Note the warning about integer constants at 
<http://dev.w3.org/2006/webapi/WebIDL/#idl-constants>.

== References ==

Are these supposed to be sorted in any way?

[BROWSINGCONTEXT] and other HTML5 references: Ian Hickson is now the 
only editor.

[URI]: full stop after the title is on the wrong side of the space.

[NAVIGATOR]: inappropriately links to a obsolete TR draft of the spec, 
link to <http://dev.w3.org/html5/spec/Overview.html> instead (as is done 
in the other references).

[DOMTIMESTAMP]: this type is now defined in WebIDL, so no point in 
referencing an obsolete specification.

[ISO3166]: the label used in the body is [ISO 3166-1].

[RFC3066]: seems unused.

[WEBIDL]: 19 December 2008 is a long time ago, and the spec has been 
updated since.


HTH
Ms2ger

[1] http://www.w3.org/TR/geolocation-API-v2/

Received on Saturday, 7 January 2012 20:52:02 UTC