Each fallback stub is now allocated as just ICFallbackStub.
Also replaces the switch-statement in initICEntries with a faster table lookup
to map from JSOp to fallback kind (to get the trampoline code for the fallback stub).
Differential Revision: https://phabricator.services.mozilla.com/D114610
The next patch wants to remove the derived classes (and kinds) for fallback stubs.
This assertion seems redundant with getStubReturnAddress so it should be fine
to remove it.
Differential Revision: https://phabricator.services.mozilla.com/D114609
Calling "getTabDialogBox()" and "getTabModalPromptBox()"
unnecessarily creates new instances for
"TabModalPromptBox" and "TabDialogBox". To avoid that
directly access "tabDialogBox" and "tabModalPromptBox"
on the content browser.
Differential Revision: https://phabricator.services.mozilla.com/D114638
And make sure we return the surface of the right size for canvas, which
makes that assumption in a bunch of places.
Depends on D114686
Differential Revision: https://phabricator.services.mozilla.com/D114687
This is just cleanup. We have better ways to run code on shutdown (the pointer
to the theme object gets cleared on shutdown anyways).
Depends on D114697
Differential Revision: https://phabricator.services.mozilla.com/D114698
Two changes:
* Make it work across document boundaries, so that it works on e.g., the
bookmarks sidebar.
* Don't bail out if there's no scrollable frame, as XUL <tree>s use raw
<scrollbar> elements without any scrollframe (gnarly). In that case, just
use the target frame, but make sure to skip over themed elements (like the
scrollbars themselves) so that we can find the right background.
The logic to check the canvas frame background etcetera was simpler in
FindNonTransparentBackgroundFrame. The only caller other than the
scrollbar darkening code is nsTextFrame, which should find a non-canvas frame
before anyways, but it doesn't hurt there.
Differential Revision: https://phabricator.services.mozilla.com/D114697
This allow the automatic scrollbar darkening logic to work without further
tweaks. We don't set appearance: none in any scrollbar on desktop (and we
support scrollbar-{width,color} to customize them anyways).
Differential Revision: https://phabricator.services.mozilla.com/D114696
This might be a little hacky because it builds special handling of quick suggest
results into the muxer instead of using some general solution. I have ideas for
general solutions, but they would all be larger than this patch, and we want to
uplift this to 89.
Differential Revision: https://phabricator.services.mozilla.com/D114669
Ideally, we wouldn't need to de-duplicate clip ids here, this would
be done at a higher level. However, due to the way we currently
handle redundant stacking context clips, this is a significant
performance win on some pages.
For example, on the youtube.com home page, this drops the size of
the hit-test clip nodes array from ~3800 to ~2200 per scene. This
is still much higher than it should be, but this gives an immediate
performance win while working on the more involved changes to handle
this in a more optimal way.
Differential Revision: https://phabricator.services.mozilla.com/D114705
mCompositor->BeginFrameForWindow() needs to be called for ScreenshotGrabber::MaybeGrabScreenshot() with CompositorD3D11.
Differential Revision: https://phabricator.services.mozilla.com/D114714
Before this patch, osclientcerts would look for client certificates and keys
upon initialization. However, this is unnecessary, given that most users won't
ever even be asked to use them. This patch avoids doing this work at startup,
saving some time there. Additionally, this should help avoid shutdown hangs
related to the background task that loads osclientcerts.
Differential Revision: https://phabricator.services.mozilla.com/D114655
This commit adds crash logging for AccessibilityClient on MacOS and
enables that logging on windows by removing the defunct MOZ_CRASHREPORTER
defines. On MacOS, we also introduce logging for SwitchControl and
unknown clients.
Differential Revision: https://phabricator.services.mozilla.com/D114167
The clear region prim don't support complex clip regions (the
complex clip region was being ignored). This has been shipping
like this for many months now, so it seems it's not required.
Differential Revision: https://phabricator.services.mozilla.com/D114563