Until bug 1617002 Firefox would unintendedly not get unredirected on X11
when used with WR and OpenGL as it didn't fullfill the requirements -
not being transparent.
Now that this is fixed, fullscreen unredirection can happen on certain
compositors. For the basic compositor we already explicitely ask to not
get unredirected - do that for all backends.
Differential Revision: https://phabricator.services.mozilla.com/D92180
The build script was broken because of the usage of the optional chaining operator,
which is not supported by Node yet, so we fix it.
We also move one modification that was made for Bug 1651443 directly to
codemirror.css (which should be an exact copy of what's provided by the library),
to mozilla.css, our internal, devtools-specific stylesheet.
Differential Revision: https://phabricator.services.mozilla.com/D92041
Forward declarations should be part of TypeDecls.h, but it looks like the
forward declaration of SourceText isn't actually needed anywhere.
Depends on D92197
Differential Revision: https://phabricator.services.mozilla.com/D92198
1. Text nodes can be created in the DOM just because there was white space in the source, but this isn't always visible.
We shouldn't create an Accessible in the invisible case.
However, there could be an inline frame after/before an invisible text node, so we still need to check for that.
2. We should create div Accessibles if there are inline-block children such as buttons.
Previously, we weren't doing this because these aren't caught by IsInlineFrame.
We now use IsInlineOutside, which also catches text and br.
Aside from being a bug, this fix was needed in this patch to fix tests which previously created div Accessibles because of invisible text nodes, but lost the Accessibles once this was fixed.
3. Similarly, we should create div Accessibles if there is a previous text sibling.
Again, IsInlineFrame wasn't catching these, but IsInlineOutside does.
4. Adjust various tests to fix assumptions based on the previous behaviour.
Some needed role="none" to force flattening, while some needed an id to force creation.
Differential Revision: https://phabricator.services.mozilla.com/D92170
Depends on D92092
This is optional, but all those tests are still shaped based on their old implementation.
There is no need to separate part of the test in a testToolboxScript method.
The about:devtools-toolbox tab should also be clsoed with existing helpers to avoid intermittents
Differential Revision: https://phabricator.services.mozilla.com/D92093
Depends on D92090
This intermittent was caused because we are closing the toolbox without waiting for the console to evaluate the message completely.
While we could a smaller change to simply close the toolbox later, this rewrite is intended to make the test easier to read.
Especially:
- it extracts some logic in dedicated helpers
- it removes complicated async interactions between the main test method and the testToolboxScript method
Differential Revision: https://phabricator.services.mozilla.com/D92092
Side cleanup, the method getFrameActor is no longer async.
It makes the intermittent from this bug less frequent, even though this is not the definitive fix.
Differential Revision: https://phabricator.services.mozilla.com/D92090
The build script was broken because of the usage of the optional chaining operator,
which is not supported by Node yet, so we fix it.
We also move one modification that was made for Bug 1651443 directly to
codemirror.css (which should be an exact copy of what's provided by the library),
to mozilla.css, our internal, devtools-specific stylesheet.
Differential Revision: https://phabricator.services.mozilla.com/D92041
Currently, it's tested in `input-events-get-target-ranges-*.tentative.html`
after checking the target ranges, however, Blink always fails this check.
That makes it harder to check which test actually failed on Chrome.
Therefore, this patch makes the existing tests stop check it, and creates
new WPT to check only it.
Note that due to some prettier's rlues have been changed so that VSCode
reformatted the JS file.
Differential Revision: https://phabricator.services.mozilla.com/D91891
If content process dispatches event after actor close, then we are not able to clear the tab media indicator. Therefore, we should do corresponding cleanup when actor destroys.
Differential Revision: https://phabricator.services.mozilla.com/D91367
This reverts a patch that added the IS_IDENTITY flag to spatial nodes.
This flag is not used yet, and was one of the patches identified as a
possible cause of a regression in one of the telemetry stats we track
for scene building (see bug 1667696). As such, it's easy to revert this
for now and see if it has an effect on those telemetry numbers.
--
Revert "Bug 1623792 - Pt 8 - Add IS_IDENTITY to spatial node flags. r=jnicol"
This reverts commit 771a48de769da1f2939b30ec18789ab28d577335.
Differential Revision: https://phabricator.services.mozilla.com/D92159
Currently changing the pref `media.hardwaremediakeys.enabled` would only take effect after restarting Firefox, this patch would make it possible to do so during runtime.
Differential Revision: https://phabricator.services.mozilla.com/D91841
This patch fixes two issues, described below:
First, the GetTopLevelDocument function was looking at the browsing
context tree. It should look at the window context tree, as looking at
the browsing context tree means that if you're in a discarded or
about-to-get-discarded document, you can end up with a document from a
different tree. Computing intersections between those of course makes no
sense and triggers the assertion we're enabling.
Second, this patch fixes an issue when you have fission enabled, and a
setup such as:
A1 -> B1 -> A2
If you try to use IntersectionObserver from A2 with the implicit root,
we'd end up with:
* rootRect: A1's root scrollport rect (this is fine, because it's only
used to compute the root margin and bounds and so on, not
to compute geometry).
* rootFrame: A1's root scroll frame (this is _not_ fine, see below).
Then, we'd try to map rects from A2's target to A1's viewport, and we
can't really do that sensibly with the existing nsLayoutUtils functions,
because we're not accounting for all the OOP iframe transforms that may
be going on. This also triggers the assertion that this patch enables in
same-origin-grand-child-iframe.sub.html.
To fix it, for the A2 case, use the same code that we have for other OOP
iframes. The test tweaks fails with fission enabled without the patch
(because we don't account for the OOP iframe clip).
Differential Revision: https://phabricator.services.mozilla.com/D92089
This is mostly preparing for the future state where we might have SWGL WR mixed with real hardware webrender, and want a way to lookup the state per-compositor.
Differential Revision: https://phabricator.services.mozilla.com/D92009