Closed Bug 488629 Opened 15 years ago Closed 9 years ago

reporting back POSITION_UNAVAILABLE when all providers fail

Categories

(Core :: DOM: Geolocation, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: dougt, Assigned: mmcnicklebugs)

References

Details

Attachments

(1 file)

yeah, this is one of those no-shit bugs, but we should fix this assert:

Error: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIXMLHttpRequest.send]"  nsresult: "0x80004005 (NS_ERROR_FAILURE)"  location: "JS frame :: file:///Users/dougt/builds/temp/ff-obj/dist/ShiretokoDebug.app/Contents/MacOS/components/NetworkGeolocationProvider.js :: anonymous :: line 241"  data: no]
Source File: file:///Users/dougt/builds/temp/ff-obj/dist/ShiretokoDebug.app/Contents/MacOS/components/NetworkGeolocationProvider.js
Line: 241
Attached patch Fail SilentlySplinter Review
Fails silently (i.e. never reports a position) when network is unreachable.

Is this what we want to do, or is there a way to return a PositionError back to the user?
Attachment #395596 - Flags: review?(doug.turner)
Comment on attachment 395596 [details] [diff] [review]
Fail Silently

this is fine.

I would love to see some way to report geolocation provider failures.  You interested in tackling this? ;-)
Attachment #395596 - Flags: review?(doug.turner) → review+
pushed the try block to keep noise down:
http://hg.mozilla.org/mozilla-central/rev/59fb80ba420f

Leaving bug open to address a way to return a PositionError back to the user.  (Keep in mind, there might be multiple providers, so returning an error might not always be the best thing.)
> I would love to see some way to report geolocation provider failures.  You
> interested in tackling this? ;-)

Doug, would love to have a look into this; I think it would be very useful.

We would only really be reporting back POSITION_UNAVAILABLE as PERMISSION_DENIED and TIMEOUT are already handled by the browser code. It's hard to see when a provider could genuinely report an UNKNOWN_ERROR (perhaps in the case of bad settings) so we might be safe to ignore reporting this error.

For multiple providers, we could listen to all the providers for an error. The POSITION_UNAVAILABLE error would only be propagated to the user in the case where all providers reported a POSITION_UNAVAILABLE within the timeout period.

Sound like I'm on the right track?

Also: could you change the title of the bug to reflect the change in issue?
yup.  sounds good.
Assignee: doug.turner → mmcnicklebugs
Summary: error when using network based geolocation when offline → reporting back POSITION_UNAVAILABLE when all providers fail
Position unavailable is actually notified back to the caller these days.
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: