This improves profiling with "perf" a bit because we now don't lose the Ion frame
anymore. It also lets us simplify the code because we can now use the frame pointer
instead of the stack pointer (less stable due to stack pushes).
Differential Revision: https://phabricator.services.mozilla.com/D150224
The main goal here is to get the wireframe test to work with
parent-controlled navigation.
This means we don't need to collect the wireframe any more in
PersistLayoutHistoryState, I think, because it is redundant.
I think we need to clear the wireframe in finish restore for
when we navigate back.
As a result of these changes, the two todo subtests in the
wireframe test now pass.
Differential Revision: https://phabricator.services.mozilla.com/D146252
This matches other browsers.
The scroll event is dispatched async, so
the test would mostly pass without the patch, actually, except for the
fact that we wouldn't scroll. So without the patch the test times out.
Differential Revision: https://phabricator.services.mozilla.com/D150237
We do not need a GBM device any more in child processes and in several
cases we're also not allowed to open it any more by the sandbox.
For remaining cases were we do need it in the parent process (the
fallback path in `SharedSurface_DMABUF::Create`, used for WebGL and the
experimental `widget.dmabuf-textures.enabled` feature, as well as in
`WaylandBufferDMABUF::Create` used by `gfx.webrender.compositor`), we
already call `Configure()` in `gfxPlatformGtk::InitDmabufConfig()` and set
`gfx::gfxVars::UseDMABuf` accordingly, making
`nsDMABufDevice::IsDMABufWebGLEnabled()` still return the correct value.
Differential Revision: https://phabricator.services.mozilla.com/D150324
In future, it won't be possible to specify clip hierarchy by the
old ClipId identifier, so convert these ones to clip-chains now.
Differential Revision: https://phabricator.services.mozilla.com/D150342
`AutoCompleteParent.getCurrentBrowser` was added bug 1573836. But formfill's
custom element uses actor directly now, so it is unused now.
Depends on D150081
Differential Revision: https://phabricator.services.mozilla.com/D150082
The chrome manifest flag parsing is not particularly flexible. It's
easiest to duplicate the manifest entries rather than further adjust
the parser.
Differential Revision: https://phabricator.services.mozilla.com/D149950
This patch aims to be minimally invasive. In order to do this it deals a lot with raw JSON strings. This makes the end product be rather unfortunate indentation wise. Considering this is processed by our testing infrastructure internally at this point it seems reasonable to defer 'prettifying' this, since it would be quite a complicated task.
Differential Revision: https://phabricator.services.mozilla.com/D149949
Because `wasmMaxStackArgBytes` is calculated early on, it was possible we later eliminated
all call instructions and `needsStaticStackAlignment` was false, but we still included
`wasmMaxStackArgBytes` in the frame size, breaking stack alignment invariants on ARM64.
The simplest fix is to not include `wasmMaxStackArgBytes` if we know there are no calls (left).
This fixes an old Ion ARM64 bug exposed by the assertion added in bug 1774449.
Differential Revision: https://phabricator.services.mozilla.com/D150244
nsIGfxInfo::FEATURE_HARDWARE_VIDEO_DECODING is used on all platforms so let's use it on Linux too and don't add new feature for Linux only.
Differential Revision: https://phabricator.services.mozilla.com/D149765
With the exception of the egde case scenarios in which
IsConnectedToWebRender() returns false.
Also add a comment warning that if RunOnUpdaterThread() were to be called
directly from the updater thread when connected to WebRender, the
implementation would be incorrect.
Differential Revision: https://phabricator.services.mozilla.com/D150309