This removes the `@CommandProvider` decorator and the need to implement
mach commands inside subclasses of `MachCommandBase`, and moves all
existing commands out from classes to module level functions.
Differential Revision: https://phabricator.services.mozilla.com/D121512
Instead, we try to get similar effects by calling toLowerCase() both on the
regex string and on the matched string.
This is probably not equivalent for non-English text. If we notice problems,
we can add more regexes. But as far as I know, this feature is currently
only enabled in the US and Canada.
In my testing, this change improves performance by 30x.
Before: https://share.firefox.dev/3kccIw8
After: https://share.firefox.dev/3EkZsNt
Differential Revision: https://phabricator.services.mozilla.com/D118231
Currently only provides a single method to retrieve all available measurement units.
`MeasureUnit::GetAvailable()` returns an enumeration similar to the other Intl
classes which use `intl::Enumeration`. This approach gives us a more consistent
API, because it abstracts away the internal ICU implementation, which looks up
the measurement units through `UResourceBundle`. But it also means the
implementation is slightly more complicated due to this additional abstraction.
The default constructor was deleted because all methods are static.
Differential Revision: https://phabricator.services.mozilla.com/D125966
This is pretty much impossible to review as-is, so it may be more useful to review the script that made them. The repo is at https://github.com/htwyford/create-theme-script. parse-themes-script.js is the main script. It reads input.json. input.json is pulled from https://github.com/FirefoxUX/themes/blob/main/tokens/color/base.json, with some light edits to fix inconsistencies. The file in the FirefoxUX repo is an export of the colors in the Figma file: https://www.figma.com/file/xaRff6432QsirRftX8NZgb/MR2-Themes?node-id=86%3A17747.
The themes aren't perfect yet. For example, the text color in the Urlbar chiclet is sometimes wrong. They also don't consider the UX spec on badge colors, since UX is still actively updating that part of the spec. Since these themes are behind a pref, I think we should land it and fix the issues in followups. It will make it more clear what is changing when they're not being added en masse like this. Getting them in the tree ASAP also lets UX and QA get a head start on testing them.
Differential Revision: https://phabricator.services.mozilla.com/D125755
This is another requirement for the video display layer to be detached and use
less power: the layer must be topmost and have only a black layer behind it.
Differential Revision: https://phabricator.services.mozilla.com/D124150
This patch reconstitutes a CMSampleBuffer from an IOSurface using spoofed
timing information to display the single sample immediately. Using this method
is neccessary, but not sufficient for the video display layer to be detached
and use less power. The remaining requirements are covered by later parts of
this patch series.
Differential Revision: https://phabricator.services.mozilla.com/D116643
This is scaffolding for checking the conditions where the specialized video
layers will reduce power consumption. In the next part, we'll actually create
and fill the specialized layers.
Differential Revision: https://phabricator.services.mozilla.com/D107292
The size of the NativeLayerCA::Representation struct seems to be a factor in
the power consumption of native layer updates. Converting this series of bools
into a bitfield is an easy way to reduce the structure size.
Differential Revision: https://phabricator.services.mozilla.com/D124992
This allows the native layer code to determine when specialized video layers
might be beneficial for reducing power consumption.
Differential Revision: https://phabricator.services.mozilla.com/D124149
If this pref is set, native layers will use a specialized video layer api for
fullscreen video content, which will reduce power consumption. It will do this
by isolating the fullscreen video layer from other layers. It may also remove
non-video content accompanying the fullscreen video. Content behind the video
*will* be replaced with a black fullscreen rectangle.
Future bugs will aim to reduce this side effect.
Differential Revision: https://phabricator.services.mozilla.com/D124999
Currently datetimebox uses some hardcoded logic to find the edit
field inside the shadow tree and focus it.
Since we have delegatesFocus implemented, we could just use it without
these logic.
Differential Revision: https://phabricator.services.mozilla.com/D125440
This test was brittle for a few reasons:
1. The bookmarks toolbar is, by default, configured to show and hide
depending on whether or not about:home/about:newtab is displayed.
This meant that sometimes when trying to click on a bookmark
toolbar item, a transition from the visible-to-collapsed or
collapsed-to-visible state would be underway, and the click
event would ultimately miss its mark.
2. The bookmarks toolbar also populates itself lazily, so the test has
been adjusted to ensure that there are items in the toolbar before
it attempts to click on one.
Differential Revision: https://phabricator.services.mozilla.com/D125761
dav1d's moz.build has SOURCES[foo].flags assignment, we
can grab what we need from that for the purposes of this
function.
Depends on D124939
Differential Revision: https://phabricator.services.mozilla.com/D124940
I was checking if the caller was 'log' but that wasn't correct
because we pass the result of the function to log, we don't call
it from log
Differential Revision: https://phabricator.services.mozilla.com/D124939
I left the reference to UPluralRulesEstimatedMemoryUse as I felt it was
still accurate, and will only need to be renamed if/when we switch to
ICU4X.
Differential Revision: https://phabricator.services.mozilla.com/D126101
`swrast` is reported as fallback software driver. This happens with
unknown sw-drivers (e.g. zink on lavapipe), but also when `glxtest`
incorrectly detects software rendering. This can be confusing and
is basically always wrong - by now it even got removed from Mesa
and for years only has been used on niche setups.
Make this more clear by using "mesa/software-unknown" instead.
No functional change beyond reporting intended here.
Differential Revision: https://phabricator.services.mozilla.com/D126052