Bug 44322

Summary: Client-based geolocation missing error handling
Product: WebKit Reporter: Mahesh Kulkarni <maheshk>
Component: WebKit Misc.Assignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: abecsi, hausmann, jarred, laszlo.gombos, ossy, steveblock
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
Bug Depends on:    
Bug Blocks: 42629    

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.