The root cause of this bug is that we're now accidentally using the
native theme for the spinners because GetNumberControlFrameForSpinButton
broke with my changes.
These pseudos are not exposed to content, and there's just one user of
this pseudo-class (the print.css one).
So just disable native appearance explicitly and remove that check.
Differential Revision: https://phabricator.services.mozilla.com/D108653
Careless of me to not have tested this more thoroughly. I guess this is hidpi
only because automation has aScale = 1.0, which is why automation didn't catch
this? That's sad :(
Differential Revision: https://phabricator.services.mozilla.com/D108696
The method unexpectedly assert when the given range is in native anonymous
subtree and the range is disconnected from the subtree.
This is caused by that `RangeUtils::ComputeRootNode()` returns parent element
of the native anonymous subtree root when the range is connected. However,
otherwise, it returns the subtree root which is a content node.
Therefore, they are what we should check when updating a range is,
* Given range boundaries are in same subtree at least.
* Given range's computed root node should be same as given root node except
when the range is in a native anonymous subtree and disconnected from the
subtree.
This change fixes the following new permanent oranges caused by the previous
patch:
* browser/components/places/tests/browser/browser_sidebarpanels_click.js
* browser/base/content/test/keyboard/browser_toolbarKeyNav.js
* devtools/client/inspector/test/browser_inspector_breadcrumbs_visibility.js
* layout/base/tests/marionette/test_accessiblecaret_cursor_mode.py
Differential Revision: https://phabricator.services.mozilla.com/D108399
With this change, at least in `CharacterDataChanged` and `ContentRemoved`
causes hitting this assertion:
```
MOZ_ASSERT(aStartBoundary.Container()->IsInclusiveDescendantOf(aRootNode));
```
The reason is, they call it with `mRoot`, but the range has already been
disconnected from `mRoot`. The following patch fixes this.
Differential Revision: https://phabricator.services.mozilla.com/D108398
According to the source code of Chromium, we should throw exceptions from
them only when the document is not for HTML nor XHTML. For the other reasons,
we should not throw any exceptions even if it's unknown command.
Differential Revision: https://phabricator.services.mozilla.com/D108573
On low powered android devices it has been observed that we are GPU
bound on many pages. The composite shader, despite being relatively
simple, can account for a large proportion of these cycles due to the
large number of fragments it touches.
On Mali-T GPUs, the composite fragment shader is bound by loading the
varyings (for example, this takes 3 cycles on a Mali-T830). This patch
adds a fast path variant of the shader which removes the vColor and
vUVBounds varyings, reducing the number of cycles per fragment to 1 on
this GPU. This variant can only be used where the shader does not need
to modulate the output by a color (ie aColor is white), and when the
UV coordinates do not need to be clamped (eg because the entire
texture is being composited). Fortunately both of these conditions are
true in the common case of compositing picture cache tiles.
Differential Revision: https://phabricator.services.mozilla.com/D108686
Currently, printf_stderr doesn't show up when running with ./mach run.
This is because we run with -attach-console and that redirects stderr
to a different file descriptor using freopen in UseParentConsole.
The change from just using stderr directly happened in bug 340443 and was done
to avoid some linking issues. That problem doesn't seem to apply anymore so you'd
expect we'd be able to go back to the straightforward implemention that works even
if stderr has been redirected. Unfortunately, Windows takes not buffering
stderr very seriously and fprintf will write out the results character
by character. This can cause log output lines to be intermixed which
breaks log parsing in CI. We keep using fdopen to create a new FILE*
that's buffered but instead of hard coding fd 2, we get the actual fd
that corresponds to stderr using fileno.
The mozglue implementation was cargo culted from xpcom, so we update it
as well.
Differential Revision: https://phabricator.services.mozilla.com/D98550
When Sentry slurps context, it doesn't normalize os path separators for
us. So, we adapt our path aliasing to always catch both forward slashes
and backslashes.
Removed the `needle is None` guard because it because obsolete after
1695366, which removed the case where `topsrcdir` was `None`.
Differential Revision: https://phabricator.services.mozilla.com/D108667
The reason why this doesn't work is because these styles come from
datetimebox.css, which is really an author style.
We could special-case these elements, but the approach that the CSSWG resolved
on for the new forced-colors spec is to respect system colors specified by
authors, see:
https://drafts.csswg.org/css-color-adjust-1/#forced-colors-properties
So this moves us towards that, and fixes the issue nicely.
Differential Revision: https://phabricator.services.mozilla.com/D108321
Simplify code and improve performance by adding
lazy getters for checks that will be constant
for the whole lifetime of the application process.
Differential Revision: https://phabricator.services.mozilla.com/D107645
If there is no active WebDriver session the code
related to deleting a session, and resetting other
state should not be run again.
This could actually happen when the
"Marionette:Quit" command is called, which itself
destroys the session, and the follwing socket
connection drop tries to run it again.
Differential Revision: https://phabricator.services.mozilla.com/D108169
This patch creates a new module for the WebDriver session
specific implementation. It no longer requires session data
like capabilities to be directly bound to the GeckoDriver class.
Differential Revision: https://phabricator.services.mozilla.com/D107552
This parsing is hidden behind the pref layout.css.page-size.enabled.
It isn't ideal that we parse this as a property, but we can't treat it as a
descriptor because of compatibility issues with other browsers. There are also
outstanding spec issues related to how descriptors like page-size are cascaded,
and whether the !important specifier is valid or not.
Differential Revision: https://phabricator.services.mozilla.com/D103958
To know the valid rules for each property, we need to put this information
into the Servo prop list and add an appropriate getter to Longhand/Shorthand.
Differential Revision: https://phabricator.services.mozilla.com/D105825
These tasks all vary in their 'fission-run-on-projects'. So while this looks
like more complexity in isolation, it will greatly simplify the configs (and
the diff) later on in the stack.
Differential Revision: https://phabricator.services.mozilla.com/D108681
pip-tools 6.0.0 breaks due to a missing importlib-metadata in <py38, plus it removes --index and --no-index from pip-compile. Let's pin our pip-tools version to avoid future bustage like this.
Differential Revision: https://phabricator.services.mozilla.com/D108485
We haven't actually used the SwCompositor's native GL mode since the early days of prototyping, and since then, we've veered in the direction of preferring to have the platform native compositor code living in webrender_bindings.
The native GL mode has likely bit-rotted beyond actually functioning and just adds unnecessary complexity to the code, so let's just remove it.
Differential Revision: https://phabricator.services.mozilla.com/D108557
The test got added in bug 1690596 and reorganized in bug 1694476. Because
'aspect-ratio' is disabled outside Nightly (controlled by preference
layout.css.aspect-ratio.enabled), the test steps fail with Beta and Release
configurations.
'aspect-ratio' will ship once bug 1672073 has been resolved.
Differential Revision: https://phabricator.services.mozilla.com/D108643