Closed Bug 1121497 Opened 6 years ago Closed 6 years ago

CoreLocation provider: non responsive until restarted

Categories

(Core :: DOM: Geolocation, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla38

People

(Reporter: garvan, Assigned: garvan)

References

Details

Attachments

(1 file)

To repro this bug:
Using the CL provider, reload a page with geolocation. You may or may not get a location. In most cases the neither the success or error callback is called.

CLLocationManager starts and stops updating based on startUpdatingLocation and stopUpdatingLocation. By design/docs it will report a location after the first call to start, and is under no obligation to re-report a location until stopped and restarted. It is only guaranteed to report consecutive locations on an actual location change.
On CoreLocationLocationProvider::Startup(), previously only startUpdatingLocation was called, and consecutive calls to this (as Startup() is called on each page load where HTML 5 geoloc api is called) do nothing. Which would happen on page reloading.

Calling stopUpdatingLocation first will trigger startUpdatingLocation to return a location or failure when it is called.
Attachment #8549353 - Flags: review?(dougt)
Attachment #8549353 - Flags: review?(dougt) → review+
sorry had to back out this changes in https://treeherder.mozilla.org/#/jobs?repo=mozilla-inbound&revision=e28ef6984108 since one of this changes caused a bustage in  OS X static analysis builds like:

https://treeherder.mozilla.org/logviewer.html#?job_id=5955163&repo=mozilla-inbound
Flags: needinfo?(gkeeley)
Bug 1121265 was the problem patch, is fixed.
Flags: needinfo?(gkeeley)
Keywords: checkin-needed
https://hg.mozilla.org/mozilla-central/rev/c6bec2021c05
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla38
You need to log in before you can comment on or make changes to this bug.