Bug 44322 - Client-based geolocation missing error handling
Summary: Client-based geolocation missing error handling
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC Linux
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 42629
  Show dependency treegraph
 
Reported: 2010-08-19 22:19 PDT by Mahesh Kulkarni
Modified: 2011-02-07 20:38 PST (History)
6 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mahesh Kulkarni 2010-08-19 22:19:42 PDT
GeolocationControllerClient interface missing error handling incase of unavailability of user location. 

if startUpdating() returns error from platform client listeners should be notified of POSITION_UNAVAILABLE error
Comment 1 Steve Block 2010-08-20 01:08:01 PDT
Can you explain exactly what error handling is missing?

I don't think there's any need for GeolocationControllerClient::startUpdating() to return a boolean indicating success. If the client fails to start the location acquisition process, it should asynchronously call GeolocationController::errorOccurred().

The fact that GeolocationService::startUpdating() returns a boolean is awkward, as in the case of an error, it requires the Geolocation object to manage making the error callback asynchronous.
Comment 2 Jarred Nicholls 2010-12-14 08:50:19 PST
I agree with Steve.  The fact that it's client-based alone should imply that the client asynchronously informs Geolocation by calling errorOccurred(), IMHO.
Comment 3 Mahesh Kulkarni 2011-02-07 20:38:51 PST
(In reply to comment #1)
> Can you explain exactly what error handling is missing?
> 
> I don't think there's any need for GeolocationControllerClient::startUpdating() to return a boolean indicating success. If the client fails to start the location acquisition process, it should asynchronously call GeolocationController::errorOccurred().
> 
> The fact that GeolocationService::startUpdating() returns a boolean is awkward, as in the case of an error, it requires the Geolocation object to manage making the error callback asynchronous.

Makes sense. Closing the bug. Thanks Steve and Jarred.