WarpOracle was aborting on the JSOp::Exception. It's hard to (efficiently) skip
catch-blocks in WarpOracle too so this patch just adds it to the supported ops
and crashes in WarpBuilder since it's unreachable there.
This uncovered a few more test failures where we relied on specific exception messages.
Differential Revision: https://phabricator.services.mozilla.com/D78259
Doesn't rename the MToId instruction because the next patch will make changes to
that anyway.
The comment in Interpreter.cpp was removed because this op is already (and better)
documented in vm/Opcodes.h
Differential Revision: https://phabricator.services.mozilla.com/D78039
This patch generalizes the x64 code that was moved into x86-shared
code in the previous patch, and makes it all work for x86.
Generally the changes are pedestrian. The most interesting bit is
that signed right shift i64x2 is now scalarized in the compilers, not
in the macroassemblers, as this simplifies code everywhere. This
gives rise to a new kind of porting API that reveals information about
what the macroassembler supports on the platform, in the form of the
MustScalarize/MustMaskShiftCount predicates in MacroAssembler.h.
Multiply i64x2, which is scalarized in the macroassemblers now, could
have been subjected to the same treatment, but I did not do so (yet)
because this op presented fewer problems than the right shift. (Discuss.)
Differential Revision: https://phabricator.services.mozilla.com/D74935
This patch only moves code from x64 to x86-shared.
There are no functional or indeed any other adjustments. This patch
does not lead to code that will compile, it only makes review of the
substantive changes easier. It must be landed together with the next
patch.
Differential Revision: https://phabricator.services.mozilla.com/D77237
We originally added this functionality in bug 1566855 because we were
seeing a significant amount of orphaned crashes not being submitted.
Notably some of these were early content process startup crashes and
missing them made us unaware of severe issues that would affect our
users. In the meantime we've addressed most of the cases where a crash
would be orphaned. Since the crashes submitted this way have a buildid
that does not match the version of Firefox that actually crashed they
can be confusing during crash triage.
Given the above we can safely remove this functionality. This patch
reverts most of the changes from bug 1566855 but leaves the test
refactorings in place.
Differential Revision: https://phabricator.services.mozilla.com/D78219
The modifications are all straightforward conversion except the one in
nsMathMLContainerFrame, where it is simplified by calling the equivalent
BuildDisplayListForInline() helper.
Differential Revision: https://phabricator.services.mozilla.com/D78166
* Maintain a running total of bytes allocated in both standalone and
shared cache regions. This is used as a threshold to know when to
force a mid-frame eviction. Previously, as soon as the currently
allocated set of shared textures were full, we'd force an eviction.
This means that in typical use cases, we were forcing an eviction
as soon as the texture cache is > 16 MB, which is inefficient.
* Separate out picture cache eviction from the normal cache eviction
path. This will be important in the next patch which will change
the eviction algorithm for all shared / standalone entries.
* Remove Eviction::Eager as a policy option for shared and standalone
textures. As part of this, switch render task cache entries to use
Eviction::Auto. This is a better option anyway, there is no real
benefit to evicting render tasks as soon as possible - they should
be expired based on usage, just as for normal cache entries.
Differential Revision: https://phabricator.services.mozilla.com/D77983
In general, PSM caches intermediates from verified certificate chains in the
NSS certdb. Before bug 1619021, this would include preloaded intermediates,
which is unnecessary because cert_storage has a copy of those certificates, and
so they don't need to take up time and space in the NSS certdb. This patch
introduces the intermediate preloading healer, which periodically runs on a
background thread, looks for these duplicate intermediates, and removes them
from the NSS certdb.
Differential Revision: https://phabricator.services.mozilla.com/D77152
DocumentLoadListener assumes loading of frames with an available
BrowsingContext. Most of the required information is obtained from the BC's
WindowGlobalParent. Extract that common functionality to support using DLL to
load content from <object>/<embed>.
Differential Revision: https://phabricator.services.mozilla.com/D78221
When handling mix-blend readbacks, we need to calculate the origin of the source picture in the backdrop's space.
Before this patch, this was done by scaling the source picture origin by the backdrop's device pixel scale.
However, this is the incorrect scaling; We really want the relative scale between source and backdrop instead.
This patch computes the relative scaling from the device pixel scale of both the source and backdrop pictures.
This bug likely went unnoticed because the device pixel scale used to be 1 in most cases, but now we sometimes
increase the device pixel scale for raster roots.
Differential Revision: https://phabricator.services.mozilla.com/D78217
According to SVG Accessibility API Mappings, an SVG element which has title or desc element must be exposed.
https://w3c.github.io/svg-aam/#include_elements
Previously, we didn't expose <g> elements at all even if they had a title/desc, and we unconditionally exposed some other SVG elements even when they didn't.
This removes the Dev Tools A11y Panel code which explicitly allowed unlabelled descendants of role="img" <svg> elements, since we don't create descendants if they don't have a label now anyway.
The associated tests had to be tweaked as well, since now we don't create unlabelled descendants.
Original patch by Takeshi Kurosawa.
Differential Revision: https://phabricator.services.mozilla.com/D77763
Underlines the expression that throws the exception and highlights the whole line in red.
Adds exception tooltip while hovering over the underlined token.
Differential Revision: https://phabricator.services.mozilla.com/D71337
We can get two calls to enterResponsiveMode() for a tab, via the two
callsites in devtools/client/responsive/ui.js.
Calling enterResponsiveMode() is not idempotent after bug 1634621, as
the second call will lose the zoom information. Prevent this from
happening by making the call a no-op if we're already in responsive
mode.
Do the same in leaveResponsiveMode() for consistency.
Differential Revision: https://phabricator.services.mozilla.com/D78294