This avoids problems where a foreground tab tries to communicate with a background
tab via `window.opener`, but is unable to because the background tab
is suspended.
Differential Revision: https://phabricator.services.mozilla.com/D83693
Also make sure we distribute the `http3server` binary in the common test archive, and download it for artifact builds.
Differential Revision: https://phabricator.services.mozilla.com/D84421
The rules we create in the backend for generated files use a stub file
for the real file generation, and we do need dependencies on that
specific target for the changes in bug 1264836 to work without races.
Differential Revision: https://phabricator.services.mozilla.com/D84311
The ICU upstream patch applied in bug 1534160 changed Android to no longer read
the system time zone from the TZ environment variable. Re-add this feature
because we rely on it to set the time zone to "PST8PDT" for js- and jit-tests.
Differential Revision: https://phabricator.services.mozilla.com/D83239
The problem has 2 folds.
The first one is that the shutdown function on DevToolsExtensionPageContextParent
wasn't called, which means the target was never destroyed. This is fixed by
overriding unload in DevToolsExtensionPageContextParent instead of shutdown, so
the function gets called and the target destroyed.
The second issue was that a single webextension could create 2 targets, and since
we only keep track of a single target, we would miss one. This is fixed by putting
the call to watchTargets in getCurrentDevTools in a promise, so subsequent calls
that might occur before the resulting promise isn't resolved don't end up calling
watchTargets a second time.
Differential Revision: https://phabricator.services.mozilla.com/D83935
This is necessary because otherwise callers of policy.readyPromise can
get stuck when an extension fails to start up.
Differential Revision: https://phabricator.services.mozilla.com/D83143
In most cases, the presence of any errors causes an error to be thrown
at startup. Sometimes, that is not the case, and as a result the
extension is not properly unregistered.
Differential Revision: https://phabricator.services.mozilla.com/D83096
This will automatically add all the necessary event listeners
for the autocomplete (navigating, selecting an item, closing).
The input will also be used as a default anchor when showing
the popup.
Differential Revision: https://phabricator.services.mozilla.com/D72859
This restores our previous behavior when matching across anonymous
boundaries, as that's not something we currently can support because DOM
ranges can't represent that.
Differential Revision: https://phabricator.services.mozilla.com/D84397
Remove some exclusions so that more files are linted. These exclusions had
been made to allow for code that was not py3 compatible, but with recent
py3 efforts, the exclusions can be removed. (Linting subsequently found
a few small issues which needed to be fixed.)
Differential Revision: https://phabricator.services.mozilla.com/D84393
I suspect these were an artifact of building the checked-out repository
inside the Firefox source directory, but that is not a problem anymore.
Differential Revision: https://phabricator.services.mozilla.com/D84363
It has some properties which make it footgunny, especially in the face of
Fission. Callers should use WindowGlobalChild.innerWindowId instead.
Differential Revision: https://phabricator.services.mozilla.com/D82801
Originally we used to rekey our hash tables when GC things were moved but nowadays we generally use MovableCellHasher and key them on unique IDs that don't change when this happens.
Interestingly this exposed one place where the original rekeying strategy was still in use unnecessarily.
Differential Revision: https://phabricator.services.mozilla.com/D84337