When toggling debug state, we can sometimes queue debug renders, without
any debug overlay to send them to. This patch ensures we don't actually
draw anything in the debug renderer when there is no debug overlay.
Differential Revision: https://phabricator.services.mozilla.com/D111355
If we fail to map in a shared surface that we support unmapping for,
don't OOM crash immediately if this is the first time we are mapping it.
This is because we probably freed up a bunch of virtual memory already
purging the expiration tracker, but on Windows, this may take some time
before the virtual address space is available for reuse. Since there
will be some time gap between the mapping and the frame rendering, this
may be sufficient time to recover in some cases, avoiding a GPU process
OOM crash.
This should only affect 32-bit users, since we never unmap on 64-bit
builds.
Differential Revision: https://phabricator.services.mozilla.com/D111270
WebRenderAPI::DestroyRenderer() destroys RendererOGL and WebRender's Renderer instance. After RendererOGL is destroyed, RenderBackend could not sent message to WebRender's Renderer via RenderBackend::result_tx.
Message sending by RenderBackend::result_tx needs to be stopped after destroying WebRender's Renderer instance.
After wr_api_stop_render_backend() call, RemoveRenderer have to be called via wr_api_send_external_event(). It actually destroys the renderer. Its message arrives when WR backend is in RenderBackendStatus::StopRenderBackend state. At the time, WR backend is stopped sending message to renderer.
Differential Revision: https://phabricator.services.mozilla.com/D110795
Previously, text children were excluded from the a11y tree, so they weren't considered when computing name from subtree.
Differential Revision: https://phabricator.services.mozilla.com/D111029
Previously, when determining the modifier, the code used the uncomposed document, which will be null for an element inside shadow DOM.
Differential Revision: https://phabricator.services.mozilla.com/D111033
There are two parts to this. The first part is simply fixing the
issue, which was an oversight. The second part is rejecting with a
JavaScript `Error`, which provides a nicely formatted stack in the
browser console, easing debugging.
Differential Revision: https://phabricator.services.mozilla.com/D111223
This calculation was previously required, but is now only used by
the methods that set up a compositor surface. The early out check
for invalid prim_rect is covered by the clip chain rect test below.
This removes a per-prim map operation from a hot part of the frame
building visibility pass.
Differential Revision: https://phabricator.services.mozilla.com/D111224
This test no longer passes with proton enabled by default, since the
deck would've been created already during startup.
Depends on D111309
Differential Revision: https://phabricator.services.mozilla.com/D111310
This change prepares the font preview generation for the display within the Network Monitor's Response view.
In there, the preview is meant to contain all the letters of the Latin alphabet in upper and lower case plus the numbers from 0 to 9 and different characters in other alphabets.
As those are too long to be displayed in a single line, they will be split into several ones.
For this to work, the getFontPreviewData() method now splits the given preview text at new-line characters into several lines.
This also means that for the existing single-line preview texts within the Inspector there is no change.
Differential Revision: https://phabricator.services.mozilla.com/D110167
This changes the test a bit. It doesn't test BroadcastChannel's postMessage anymore, but receiving the message.
I can't see how postMessage could be tested, since given the new setup, no one should have access to it anymore.
This is functionally now very similar to another test I wrote recently, but I think it is fine to keep this too.
Differential Revision: https://phabricator.services.mozilla.com/D109539
Now that nsMenuPopupFrame considers itself open while the native menu is shown,
it may try to open its non-native widget if layout happens to run while the
native menu is shown.
This check prevents that.
Differential Revision: https://phabricator.services.mozilla.com/D111326