Re: geolocation.setCurrentPosition({...}): a way to debug geolocation and give more power to users.

+1

On Aug 23, 2011, at 1:21 PM, Doug Turner wrote:

> 
> I think this is out of scope of the working group.
> 
> Regards,
> Doug
> 
> On Aug 23, 2011, at 8:58 AM, louis-rémi Babé wrote:
> 
>> Yes, this is what I want to do.
>> This kind of API shouldn't be able to control browser features such as
>> permission prompt.
>> 
>> Looking at NetworkGeolocationProvider.js in Mozilla central, this
>> doesn't appear easy to do.
>> And it is impossible to do in all other browsers.
>> 
>> I'm aware that allowing developers to debug an API is not usually part
>> of that API design. But most APIs are still easy to debug (it is
>> possible to generate custom events to debug event based APIs for
>> instance). Developers are able to create their own tools and do not
>> have to wait for browser vendors to implement ready to use tools.
>> 
>> The geolocation API can currently be only debugged if you own the
>> source code of the application and insert "debugging hooks".
>> 
>> I think this situation is not ideal. And I think giving users an easy
>> way to control the position info sent to websites is important too.
>> 
>> Lr
>> 
>> 2011/8/17 Doug Turner <doug.turner@gmail.com>:
>>> So, in general, you want a way to setup a mock position for testing purposes?  Do you also want to be able to control the permission prompt in this case?
>>> 
>>> In FF's case, it is trivial to write an add-on that does this - something that you can share with other users.  (In fact, our test infrastructure basically has exactly this without the add-on packaging).
>>> 
>>> Doug
>>> 
>>> On Aug 17, 2011, at 8:31 AM, louis-rémi Babé wrote:
>>> 
>>>> Hi all,
>>>> 
>>>> I'm currently frustrated by the lack of debuging tools regarding the
>>>> geolocation API, as opposed to other event based device APIs such as
>>>> deviceorientation.
>>>> 
>>>> To debug deviceorientation, I can simply generate a custom event right
>>>> from my js console using create/init/dispatchEvent.
>>>> And I can do so on any website listening to deviceorientation events
>>>> (I don't need to be the author).
>>>> 
>>>> It is impossible to do the same thing with the geolocation API. To
>>>> debug it I need the following kind of code:
>>>> 
>>>>    // can't use inline handler
>>>>    function positionHandler( event ) {
>>>>        ...
>>>>    }
>>>>    navigator.geolocation.watchPosition( positionHandler );
>>>>    // need to create a global "debug object" to make the
>>>>    // positionHandler available from my js console
>>>>    window.updatePosition = positionHandler;
>>>> 
>>>> It requires to add one extra line to my code for debugging purpose,
>>>> and I need to be the author of the website.
>>>> I can alternatively write a geolocation provider for my Web browser,
>>>> but that requires a far larger amount of work, a kind of knowledge
>>>> that Web developers do not necessarily have, and it isn't a cross
>>>> browser solution.
>>>> 
>>>> geolocation.setCurrentPosition() would allow to create a fake position
>>>> in the flow of "real" position updates.
>>>> Users could simply ignore the "permission prompt" on a website and use
>>>> setCurrentPosition() to have complete control over the position
>>>> updates provided to a website.
>>>> 
>>>> Thank you in advance for your feedback,
>>>> louisremi@mozilla.com
>>>> 
>>> 
>>> 
> 
> 

Received on Tuesday, 23 August 2011 17:34:03 UTC