Open Bug 1464628 Opened 6 years ago Updated 2 years ago

specialpowersAPI _delayCallbackTwice is now broken

Categories

(Testing :: Mochitest, defect, P3)

defect

Tracking

(Not tracked)

People

(Reporter: kmag, Unassigned)

References

Details

The change in bug 941459 broke _delayCallbackTwice so that it now fails silently:

https://searchfox.org/mozilla-central/diff/2a12bd4a736b53fa161ab972b36a3baa4f45a677/testing/specialpowers/content/specialpowersAPI.js#734

The second delayAgain call returns `undefined`, which gets treated as a string by window.setTimeout, and therefore silently does nothing.

I only noticed this because I accidentally imported Timer.jsm's setTimeout into a chrome mochitest scope, and it failed loudly when trying to pass a non-function as a callback.

I'm not sure how much this matters, given that it's been failing silently for 20 releases now without anyone noticing...
Flags: needinfo?(jmaher)
(To be clear, the callback runs, but it only gets delayed once. The first delay is essentially a no-op since the delayAgain() call that's meant to run the callback gets run eagerly rather than delayed.)
thanks for bringing this up.  It would probably be a good idea to try fixing this, but given that we are 4 years with it and preferences are not a source of high frequency failures- I don't think there is urgency around fixing this.
Flags: needinfo?(jmaher)
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.