Currently, Geolocation only calls GeolocationService::stopUpdating() (non-client-based) or GeolocationController::removeObserver() (client-based) when all requests complete. This means that the service/controller can not know when a request that specified enableHighAccuracy completes. As a result, the service/controller may use high accuracy for longer than required.
Instead, Geolocation should inform the service/controller when each request completes.
*** Bug 79858 has been marked as a duplicate of this bug. ***