We don't need to worry about JSCLASS_PRIVATE_IS_NSISUPPORTS, because the only
work we're really skipping here compared to MaybeWrapObjectValue is the
TryToOuterize call, and that only matters for Window objects, which always have
a DOM class.
Differential Revision: https://phabricator.services.mozilla.com/D35534
--HG--
extra : moz-landing-system : lando
TryToOuterize fast-path bails out if a bit-check on the JSClass fails. Trying
to avoid that bit-check by checking for a DOM class, which is also a bit-check
on the JSClass doesn't really make sense.
Differential Revision: https://phabricator.services.mozilla.com/D35533
--HG--
extra : moz-landing-system : lando
Changing the cutoff and lowering the windowing does not seem to work reliably
unfortunately.
Differential Revision: https://phabricator.services.mozilla.com/D36069
--HG--
extra : moz-landing-system : lando
Reusing sessions doesn't actually save that much time and avoids a lot of
hard-to-debug intermittents.
Differential Revision: https://phabricator.services.mozilla.com/D32578
--HG--
extra : moz-landing-system : lando
Sometime the geolocation test fails because the position is not retrieved
quickly enough, this is OK as we're just trying to make sure that the
permission is correct.
Differential Revision: https://phabricator.services.mozilla.com/D32576
--HG--
extra : moz-landing-system : lando
This also moves the enabling of the feature out from all.js into firefox.js, where it should
probably have been all along.
Differential Revision: https://phabricator.services.mozilla.com/D35809
--HG--
extra : moz-landing-system : lando
Two benefits:
1) Align test setup with shipping Firefox - We don't allow content
privilege XUL in shipping versions of Firefox, so having the tests be
chrome would be more realistic to our use case.
2) Support the XUL to XHTML migration. These files will soon become XHTML
files, but will still need to load XUL elements, so they'll need to be
marked as chrome privileged to continue working.
Differential Revision: https://phabricator.services.mozilla.com/D35870
--HG--
rename : dom/xul/test/test_bug486990.xul => dom/xul/test/test_bug486990.xhtml
rename : layout/base/tests/file_bug465448.html => layout/base/tests/chrome/file_bug465448.html
rename : layout/base/tests/test_bug465448.xul => layout/base/tests/chrome/test_bug465448.xul
extra : moz-landing-system : lando
Avoid MinGW's _ftelli64() and _fseeki64() implementations because they
are unreliable.
Differential Revision: https://phabricator.services.mozilla.com/D36037
--HG--
extra : moz-landing-system : lando
This patch fixes the regular expressions used to parse power usage info from `batterystats` output on Android 7+. With these changes, we no longer intermittently obtain measurements (such as `proportional`) due to pattern matching failures.
Differential Revision: https://phabricator.services.mozilla.com/D35665
--HG--
extra : moz-landing-system : lando
Merge Debugger::addGeneratorFrame into DebuggerFrame::setGenerator, and expand
the role of clearGenerator to fully undo the effect of setGenerator.
The association between a Debugger.Frame referring to a generator or async call
and the underlying generator object must be recorded in five separate places, as
a transaction: either all or present, or none are present. To ensure this is
true, this patch places sole responsibility for emplacing all those relations in
a single function (setGenerator), with another function to tear down those
relations (clearGenerator) as its inverse/antidote/complement/antagonist (in the
anatomical sense)/what-have-you.
Actually, when a Debugger.Frame is GC'd, we cannot reliably undo some of the
connections, and in fact can let the GC take care of those for us, so the
tear-down function clearGenerator is split into two overloads, one which is
suitable for use from a finalizer and the other which takes care of the entire
task.
Differential Revision: https://phabricator.services.mozilla.com/D35607
--HG--
extra : moz-landing-system : lando
Later in this patch series, we will be gathering up all the code to manage the
association between DebuggerFrame and AbstractGeneratorFrame objects into a pair
of functions, one to establish a relation and the other to tear it down. The
removeif method combines iteration and entry removal, but we would rather have
entry removal live next to the code that tears down the rest of the association.
In preparation for that, this changeset replaces the sole use of removeIf with
its (not very large) definition, so that the entry removal can be more readily
moved into another function.
Differential Revision: https://phabricator.services.mozilla.com/D35606
--HG--
extra : moz-landing-system : lando
Without this patch, addGeneratorFrame may be called from any realm, and enters
the debugger's realm to call DebuggerFrame::setGenerator. However, we would like
to merge addGeneratorFrame and setGenerator, and call the combined from various
points which are already in the debugger's realm, so it would be a little nicer
to simply make the function assume it is called from the debugger's realm.
Differential Revision: https://phabricator.services.mozilla.com/D35605
--HG--
extra : moz-landing-system : lando
Always move browsing contexts to the cache, even if we're not caching
the docshell. If we're not moving to bfcache, BrowsingContext::Detach
will detach as normal.
Differential Revision: https://phabricator.services.mozilla.com/D35594
--HG--
extra : moz-landing-system : lando
Including the traceback info will include the exception name, like "ADBError" which
should trigger the android-em task retry; it also provides more debugging info.
Differential Revision: https://phabricator.services.mozilla.com/D36116
--HG--
extra : moz-landing-system : lando
The hand-written assembly for libffi on aarch64/windows doesn't emit
unwind information. If we ever tried to unwind through these functions,
they'd look like leaf functions, which is decidedly not true and would
cause great pain.
For whatever reason, the original aarch64 libffi functions used
x21/x22/x23/x24 as their (callee-saved) scratch registers. This
convention works on windows as well, but the unwind information on
windows mandates that we start saving callee-saved registers starting
from x19, rather than x21. Rather than rewriting the assembly to use
x19/x20 instead of x21/x22, which would be a large change, we chose
instead to simply save/restore extra registers in the prolog/epilog.
This change does make the stack frame sizes slightly bigger, but an
extra 16 bytes in libffi stack frames should not matter.
The `-TC` change is necessary to make the compiler play nicely with .asm
file suffixes.
Differential Revision: https://phabricator.services.mozilla.com/D35714
--HG--
extra : moz-landing-system : lando
The Redux action/reducer setup for handling selecting and applying font variation instances is needlessly complex. The indirection is not necessary.
The flow is as follows:
- When a font variation instance (provided by some variable font files) is selected from the _Instances_ select menu, update all variation axes with the values associated with that instance.
- When the user makes any manual change to any of the axis values, save all axis values associated with a "Custom" variation instance. This enables the user to revert to them.
This patch removes the needless indirection about saving the axis values and applying the "Custom" variation instance. The logic is now moved to the UPDATE_AXIS_VALUE reducer.
Differential Revision: https://phabricator.services.mozilla.com/D36051
--HG--
extra : moz-landing-system : lando