Closed Bug 741131 Opened 9 years ago Closed 9 years ago

Negative timeout values should be clamped to 0, not ignored


(Core :: DOM: Geolocation, defect)

Not set





(Reporter: jdm, Assigned: pookveeraya)


(Whiteboard: [mentor=jdm][lang=c++])


(1 file, 1 obsolete file)

From the spec:

"If a PositionOptions parameter was present, and its timeout attribute was defined to a non-negative value, assign this value to an internal timeout variable. If timeout was defined to a negative value, set the internal timeout variable to 0. If timeout was not specified, set the internal timeout variable to Infinity."

You'll want to update the code in nsGeolocation::SetTimeoutTimer in nsGeolocation.cpp.
I couldn't find nsGeolocation::SetTimeoutTimer in nsGeolocation.cpp.
Do you mean nsGeolocationRequest::SetTimeoutTimer?
Yes, I did. Sorry!
Attached patch first patch (obsolete) — Splinter Review
any comment?:)
Attachment #611459 - Flags: review?(josh)
Comment on attachment 611459 [details] [diff] [review]
first patch

Review of attachment 611459 [details] [diff] [review]:

Great; thanks!
Attachment #611459 - Flags: review?(josh) → review+
I'll check this patch in with the correct extra information (your name/email, commit message, etc.), but in future could you follow the steps at to make checking your patches in easier?
Assignee: nobody → pookveeraya
Target Milestone: --- → mozilla14
Okay next time I'll do that! Thanks for the guidance:)
Sorry, I had to back out this change:

because it caused some timeouts in automated tests.  Here are some test logs:

The test failures will need to be fixed in order for this patch to land again.  Let us know if you need any help figuring out how to fix the timeouts.  For some information about these tests and how to run them, see:
Target Milestone: mozilla14 → ---
I need some help figuring how to fix the timeouts. 

It seems like in test_shutdown, timeout is set to 100, so the behavior of the program with and without patch should be the same since the condition timeout < 10 isn't satisfied. I'm not sure why the patch proposed cause the geolocation provider to time out. Could you please give me some hints on how to fix this? Thanks!
My theory is that NS_SUCCEEDED(mOptions->GetTimeout(&timeout)) succeeds, and timeout contains 0. We previously skipped the timer if this was the case; let's retain an extra check for the if condition of |timeout != 0|, which should leave these tests unaffected.
Veeraya, if you upload a patch that addresses comment 10, I'll run it through our testing server.
Attached patch patchSplinter Review
Edited according to the comment above. I haven't been able to reproduce the failed tests locally though. Not too sure why. Please help run the patch on the testing server. Thank you!:)
Attachment #611459 - Attachment is obsolete: true
Attachment #614719 - Flags: feedback?(josh)
Attachment #614719 - Flags: feedback?(josh) → feedback+
Whiteboard: [mentor=jdm][lang=c++] → [mentor=jdm][lang=c++][autoland-try: -b do -p all -u mochitests -t none]
Whiteboard: [mentor=jdm][lang=c++][autoland-try: -b do -p all -u mochitests -t none] → [mentor=jdm][lang=c++][autoland-try:-b do -p all -u mochitests -t none]
Whiteboard: [mentor=jdm][lang=c++][autoland-try:-b do -p all -u mochitests -t none] → [mentor=jdm][lang=c++][autoland-in-queue]
Autoland Patchset:
	Patches: 614719
	Branch: mozilla-central => try
Insufficient permissions to push to try.
Whiteboard: [mentor=jdm][lang=c++][autoland-in-queue] → [mentor=jdm][lang=c++]
Attachment #614719 - Flags: review+
Whiteboard: [mentor=jdm][lang=c++] → [mentor=jdm][lang=c++][autoland-try:-b do -p all -u mochitests -t none]
Whiteboard: [mentor=jdm][lang=c++][autoland-try:-b do -p all -u mochitests -t none] → [mentor=jdm][lang=c++][autoland-in-queue]
Autoland Patchset:
	Patches: 614719
	Branch: mozilla-central => try
Try run started, revision 4d6bb322476e. To cancel or monitor the job, see:
Try run for 4d6bb322476e is complete.
Detailed breakdown of the results available here:
Results (out of 121 total builds):
    exception: 1
    success: 107
    warnings: 13
Builds (or logs if builds failed) available at:
Whiteboard: [mentor=jdm][lang=c++][autoland-in-queue] → [mentor=jdm][lang=c++]
Closed: 9 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.