Accelerated canvas requires that the canvas worker threads are disabled.
Since CanvasChild is a per thread singleton, we cannot meaningfully give
different behaviour to D2D canvas and accelerated (WebGL) canvas. For
now just disable accelerated canvas if those prefs are changed.
Differential Revision: https://phabricator.services.mozilla.com/D196307
While bug 1857470 is set to fix the problem with a pip upgrade, it is
going to take some time. In the meanwhile, we can just do the minimal
thing that makes things work well enough for a build to go through.
Differential Revision: https://phabricator.services.mozilla.com/D196256
This fix addresses cleanup work from https://phabricator.services.mozilla.com/D194828
It also makes it so that all file/protocol handlers get set with one launch of Powershell, to speed things up. Which it does. A lot.
It also:
* makes somethings use of nsString (where it was easy to do)
* moves the thread managing code out of SetDefaultBrowser.cpp and into DefaultAgent.cpp
* puts auto in a couple of places to make the code easier to read
* removes some logging statements in the powershell script code
Differential Revision: https://phabricator.services.mozilla.com/D195839
Previously they were being run as a pageload test, which was making the
profiles that we capture not so useful. Also The desktop versions of these
tests already include `expose_browser_profiler` option. It's better to keep
them in sync.
Differential Revision: https://phabricator.services.mozilla.com/D196166
We have 2 ways to enable the profiler in Raptor:
1. Using `--gecko-profile` argument locally or in CI, which runs the test only
with the profiler enabled.
2. Using `extra_profiler_run` also locally or in the CI, which runs the test
both normally/without the profiler and then adding an extra run with the
profiler enabled at the end.
It seems like the `expose_browser_profiler` flag was only working for the
second case and not when `--gecko-profile` was passed.
Differential Revision: https://phabricator.services.mozilla.com/D196284
This most notably introduces support for avx vnni that's going to be
useful to improve gemmology performances.
It also fixes a critical bug wrt. unsupported architectures.
Differential Revision: https://phabricator.services.mozilla.com/D195849
QuotaInitRunnable is invoked by Context to set up cache directory. This is not always successful as it could be
interrupted by shutdown or other filesystem issues. By the time in ran into error, it's possible that some objects
needed by Context are not yet initialized in QuotaInitRunnable::Run. Since QuotaInitRunnable internal state machine
will always transition to 'COMPLETING' and Context::OnQuotaInit would always be called; it's possible that some objects
like mDirectoryLock, mCipherKeyManager and mDirectoryMetadata didn't get initialized yet. As an effect, we should
only assert these objects being non-null in Context::OnQuotaInit if the QuotaInitRunnable was successful.
Differential Revision: https://phabricator.services.mozilla.com/D196113
It's one of the hot and more complex functions during painting, and it depends only on frame type + style info, so it's a perfect candidate for caching.
Differential Revision: https://phabricator.services.mozilla.com/D196200
Consider the following situation:
* We're using the Breeze (light) theme.
* We switch to dark mode.
When the KDE system theme changes, we get a color scheme change
notification. However by the time we get it, the gtk colorreload module
that KDE uses to communicate its colors to GTK[1] hasn't processed the
change yet.
So we end up thinking that Breeze is still light, (and even
special-casing that wouldn't work, because we still get the light
colors). So we fall back to Adwaita-dark, and by the time the file
actually changes we don't get any other notification. I don't think
there's another thing to watch here, unfortunately, but if there is we
should do it. I guess we could patch the color-reload module to send
some sort of signal to the screen / settings objects?
[1]: https://invent.kde.org/plasma/kde-gtk-config/-/blob/master/color-reload-module
Differential Revision: https://phabricator.services.mozilla.com/D196164
The DoHConfig now listens for region change notification and
saves the new region in a pref. On the next initialization of
the DoH config we will use the saved pref to update the doh
region even if the pref was already set.
This should also work for testing (manually setting the value of the
pref) as long as no region changes happen.
Differential Revision: https://phabricator.services.mozilla.com/D195023
The two tests affected are now inconsistently passing (in opt builds on all trees) and failing the Tier 2 a11y-checks: `devtools/client/webconsole/test/browser/browser_webconsole_longstring_getter.js` and `devtools/client/inspector/rules/test/browser_rules_edit-property-computed.js`, thus we are replacing the `fail-if` expectations with `skip-if` while the investigation is ongoing.
Related bugs: bug 1849028, bug 1867062, bug 1868497
Differential Revision: https://phabricator.services.mozilla.com/D195468
On Android the OS may kill a process at any time while the app is in
the background. We try to avoid relaunching the GPU process in this
case, waiting instead until the app is foregrounded again. However, as
things stand if a content process is killed after the GPU process has
been killed, then the GPU process will be currently be
relaunched. This patch avoids that occuring by preventing
UnmapLayerTreeId() from launching a new process.
Additionally, we make it so that any GPU processes that are launched
whilst in the background are automatically assumed to be stable,
meaning they do not count towards the unstable launch count, and the
GPU process will not be disabled due to background process kills.
Differential Revision: https://phabricator.services.mozilla.com/D196292
For some reason, the debugger has a different behavior the second time it opens
compared to its very first opening. So that distinct React elements are instantiated
and are then reported as leaks...
Differential Revision: https://phabricator.services.mozilla.com/D196191
This patch adds an option for GeckoView to change site settings outside
of the session. These APIs should be used for global modifications to
the "never translate these sites" list.
Additionally, this patch moves some Desktop translations logic to the
toolkit for shared use.
Differential Revision: https://phabricator.services.mozilla.com/D195790
The individual test ran as expected when prefs was next to the file.
But when the whole directory is selected, the test runner refuses to
run the test due to the following error:
> The 'prefs' key must be set in the DEFAULT section of a manifest.
This patch fixes the issue by moving prefs to DEFAULT. This is okay
because the other test in the test manifest is independent of the pref.
Differential Revision: https://phabricator.services.mozilla.com/D196295