This fixes all of the jit-test problems I encountered, and fixes all but the wpt portion of jstests. This is unnecessary, but it also ports jstests from optparse to argparse (because optparse is deprecated, because I like argparse better, and because it happened to fix the minor compatibility issue I ran into even though it has a trivial fix on its own.)
Differential Revision: https://phabricator.services.mozilla.com/D65047
--HG--
extra : moz-landing-system : lando
Added 'jumpToDefinitionButton' to the function preview with a title containing target source + location.
The button is not rendered for ignored source urls similarly like in the console.
Differential Revision: https://phabricator.services.mozilla.com/D62591
--HG--
extra : moz-landing-system : lando
SimpleTest.requestLongerTimeout silently doesn't work in browser mochitests,
and I wasted time trying to figure out what was going on.
Depends on D65558
Differential Revision: https://phabricator.services.mozilla.com/D65559
--HG--
extra : moz-landing-system : lando
Also logs JSWindowActor{Child,Parent}::Init and JSWindowActor::{Start,After}Destroy.
Originally authored by :freddyb.
Differential Revision: https://phabricator.services.mozilla.com/D45346
--HG--
extra : moz-landing-system : lando
Adds GetManager on JSWindowActor (returns the associated WindowGlobalActor),
and IsInProcess on WindowGlobalActor (returns whether the actor is in process
or not).
Differential Revision: https://phabricator.services.mozilla.com/D57358
--HG--
extra : moz-landing-system : lando
Intercepting media control keys would also come up with the virtual control interface in most of platforms, and for the notification sound we don't want either to show the interface or control them.
Currently we use 3s as a threshold to filter those short duration media which are possible to be a notification sound.
Differential Revision: https://phabricator.services.mozilla.com/D64478
--HG--
extra : moz-landing-system : lando
Whenever pressing the media control keys, it would not only change the media playback state, but also change the playback state of the media controller. Therefore, we want to ensure simulating events always happen after media controller changes its playback state.
In addition, for `play/pause` key, it would check controller's playback state to decide if we should file `play` event or `pause` event, so we definitely have to do that only after the controller changes its playback state.
Changing a file to non-autoplay to prevent missing the `main-media-controller-playback-changed` notification, because we can control when to start media and ensure we have already create a listener for that event.
For non-browser test, we have no way to listen to that notification, which could only be observed in the chrome process, so we do a hack to listen `timeupdate` several times to wait and hope the controller has been created and changed its state in the chrome process.
Differential Revision: https://phabricator.services.mozilla.com/D63926
--HG--
extra : moz-landing-system : lando
By providing element Id, we can use these functions to access video element on other files.
Differential Revision: https://phabricator.services.mozilla.com/D64173
--HG--
extra : moz-landing-system : lando
`async` is actually useless here because we don't have anything to do after `await` so we could return the promise `SpecialPowers.spawn()` generate instead.
Differential Revision: https://phabricator.services.mozilla.com/D63944
--HG--
extra : moz-landing-system : lando
This patch is used to prevent intercepting media keys from other applications which should really receive media keys. For example, if user finishes watching a video but doesn't close that tab, and switch to other tasks. Then if they have other applications which are playing music, when they press media keys, the application which should receive media keys should be those background music app, not Firefox.
Therefore, if the media has been paused for a while, then that might indicate that user won't need to control this media anymore. Therefore, we create a timer, which default expire time is 60s, to stop listening media control key events for those kinds of media. But if the media starts again during this period, we would destroy timer and continue to control that media.
Differential Revision: https://phabricator.services.mozilla.com/D63918
--HG--
extra : moz-landing-system : lando
It's useless to update the audible state before starting listening to the media control keys event, so we make it consistent with other functions which could only be used after starting the listener.
As the audible change could happen before we start the listener, we have to manually update audible state to the controller after we start the listener.
Differential Revision: https://phabricator.services.mozilla.com/D63943
--HG--
extra : moz-landing-system : lando
When media is not audible yet, or it's inaudible at all (maybe it's used as a background video or GIF-like image), or the media is in the tab which has been muted totally, we don't want to use media control to control those media, so we should postpone starting listening to the media control keys for them event until they become audible.
Once they become audible, we would keep control them all the time even if they become inaudible again.
Differential Revision: https://phabricator.services.mozilla.com/D63915
--HG--
extra : moz-landing-system : lando
Abort it before writing the cache to avoid potentially writing a incomplete cache.
Differential Revision: https://phabricator.services.mozilla.com/D65723
--HG--
extra : moz-landing-system : lando
Bug 1602446 disabled coalescing for tasks which was designed to reduce load on
the pools which ran those tasks by skipping some of them. After coalescing was
affecting almost no tasks, it started to coalesce more tasks in November 2019
(bug 1602446) up to a level for which too few tasks ran and test coverage was
impacted. Coalescing got disabled and the conclusion is that coalescing is
currently not needed.
Differential Revision: https://phabricator.services.mozilla.com/D65733
--HG--
extra : moz-landing-system : lando
Expire favicons older than 6 months when:
* they are for permanently redirecting urls, that are unlikely to receive
updated favicons
* they are for urls with refs (often mail, docs) that have a fallback root
favicon for their origin
Expiration happens in chunks, mostly on idle-daily.
Differential Revision: https://phabricator.services.mozilla.com/D65308
--HG--
extra : moz-landing-system : lando