Use a new executable for the GMP process named "<App Name> Media Plugin Helper" so that the content processes (using the plugin-container executable) and the GMP process can be signed with different entitlements allowing for the use of more secure entitlements.
In order for the new executable to load the Widevine plugin, a change is needed in the codesigning infrastructure repo to generate the .sig file for the new executable.
To get the security benefits of using a new executable for GMP, additional changes are needed in the codesigning infrastructure repo to enable signing plugin-container and the new executable with a reduced set of entitlements.
The executable is a copy of plugin-container renamed as "<App Name> Media Plugin Helper" so it appears with a user friendly name in Activity Monitor. For example, "Firefox Media Plugin Helper". (The GMP process runs with limited privileges preventing it from setting its own "nice" process name.)
Pref off the change until the .sig file change lands and media playback has been validated on production builds.
Differential Revision: https://phabricator.services.mozilla.com/D175796
Even though there's some implementation work left before it being in a
shippable state, the bits that do work (which is quite a few) should
work reliably and performantly.
Given this is (afaict) the first implementation of the new spec, I want
to let people test it easier, specially since there are some questions
about error recovery that nesting could change.
Differential Revision: https://phabricator.services.mozilla.com/D179271
This disables the pref for now so that the following patch doesn't change any
behavior. We'll re-enable the pref shortly.
Differential Revision: https://phabricator.services.mozilla.com/D179858
This is fine to be always non-zero, because the variable is only read if
network.early-hints.preconnect.preconnect is set to true
Differential Revision: https://phabricator.services.mozilla.com/D179684
Since the headless work (bug 1129492 and co) we realistically have no
way of rendering native scrollbars in any meaningful way. Remove dead
code that used to support using a different GTK theme on content.
Differential Revision: https://phabricator.services.mozilla.com/D179616
This API has been disabled on nightly and early beta for a long time.
We have kept the API available in release in order to avoid
triggering any bugs in webapps that assume the API is there, but the
cache backing has been removed a few years back.
Considering this has also been removed in Chrome, it's quite safe
to disable and completely remove it from Firefox.
Differential Revision: https://phabricator.services.mozilla.com/D179337
This API has been disabled on nightly and early beta for a long time.
We have kept the API available in release in order to avoid
triggering any bugs in webapps that assume the API is there, but the
cache backing has been removed a few years back.
Considering this has also been removed in Chrome, it's quite safe
to disable and completely remove it from Firefox.
Differential Revision: https://phabricator.services.mozilla.com/D179337
Bug 1704954 disabled DirectComposition for users with NVIDIA graphics
hardware and mixed monitor refresh rates on Windows 10 and 11, as a
mitigation for bug 1638709. However, that bug is almost -- perhaps
entirely -- unknown on Windows 11 (q.v. for details), and the fallback
path it uses has been shown to cause issues there (bug 1763981).
Restrict the mitigation to only occur on Windows 10, where bug 1638709
is exhibited, but where no issues with the fallback path are known.
This also effectively reverts bug 1816001, which it obviates.
Differential Revision: https://phabricator.services.mozilla.com/D178848
With this pref we can avoid bug 1561450 without disabling any scroll adjustments
in scroll event handlers because in the specific case of the bug the scroll
adjustment in question is zero length such as
```
element.style.display = "block";
element.offsetTop // flush layout
element.style.display = "none";
```
so it can be caught by our existing consecutive adjustment heuristic. Thus with
the default layout.css.scroll-anchoring.max-consecutive-adjustments value, as of
now it's 10, the case of bug 1561450 will stop firing scroll events after
5 (= 10/2) additional scroll event observations.
Differential Revision: https://phabricator.services.mozilla.com/D178898
Set the `--enable-change-array-by-copy` shell flag and the
`javascript.options.experimental.enable_change_array_by_copy` pref to true
by default in all builds.
Remove the `--enable-change-array-by-copy` build flag from `js/moz.configure`
and make all code previously guarded by `#ifdef ENABLE_CHANGE_ARRAY_BY_COPY`
compile unconditionally.
Remove `change-array-by-copy` from testing build configurations (non262
and jit-test tests are no longer guarded with
`getBuildConfiguration()['change-array-by-copy']`
Remove all code from test config files that sets
`javascript.options.experimental.enable_change_array_by_copy`; only
`StaticPrefList.yaml` should set this pref.
Fix non262 unscopables test that apparently wasn't running before to use
the correct names for change-array-by-copy methods
Remove the `TypedArray` property from `gPrototypeProperties` in
`test_xrayToJS.xhtml`, as this property was written but never read.
Differential Revision: https://phabricator.services.mozilla.com/D174699