Converts `layout.testing.overlay-scrollbars.always-visible` to a static pref.
Differential Revision: https://phabricator.services.mozilla.com/D69611
--HG--
extra : moz-landing-system : lando
Converts `dom.disable_beforeunload` and `dom.require_user_interaction_for_beforeunload` to static pref.
Differential Revision: https://phabricator.services.mozilla.com/D69600
--HG--
extra : moz-landing-system : lando
This patch also tries to remove the event target entirely if it would
default to the main thread on a null event target.
Depends on D67634
Differential Revision: https://phabricator.services.mozilla.com/D67635
--HG--
extra : moz-landing-system : lando
allowLinkedWebInFileUriProcess was supposed to work when document channel is
disabled, but it looks like I broke it in Bug 1597154. Rather than fix it,
let's disable it because it's deprecated anyway.
Differential Revision: https://phabricator.services.mozilla.com/D69763
--HG--
extra : moz-landing-system : lando
Changing this pref can cause serious breakage with fission, as multiple URLs
from the same origin will not be sent to the same process. By locking the pref,
we'll prevent people from accidentally breaking their experience.
Differential Revision: https://phabricator.services.mozilla.com/D68894
--HG--
extra : moz-landing-system : lando
This change includes support to negotiate the transport-wide-cc RTP extension
needed to enable sender side bandwidth estimation in WebRTC. When this
extension is supported in both sides during the Offer/Answer negotiation the
transport_cc mode is enabled in the WebRTC engine so that this mode is used
instead of the legacy receiver-side (REMB based) mechanism.
The change is inspired on this fork by medooze team:
https://github.com/medooze/gecko-dev/pull/2/files
Co-authored-by: ggarber <gustavogb@gmail.com>
Differential Revision: https://phabricator.services.mozilla.com/D68734
--HG--
extra : moz-landing-system : lando
Changing this pref can cause serious breakage with fission, as multiple URLs
from the same origin will not be sent to the same process. By locking the pref,
we'll prevent people from accidentally breaking their experience.
Differential Revision: https://phabricator.services.mozilla.com/D68894
--HG--
extra : moz-landing-system : lando
Pages apparently do this to try to open to native apps, and that on Firefox
causes an error page to be shown if the app is not installed, which is pretty
bad.
Differential Revision: https://phabricator.services.mozilla.com/D68471
--HG--
extra : moz-landing-system : lando
Receive buffer size is increased to 1MB to avoid packet loss in case of high incoming traffic.
Differential Revision: https://phabricator.services.mozilla.com/D68453
--HG--
extra : moz-landing-system : lando
Pages apparently do this to try to open to native apps, and that on Firefox
causes an error page to be shown if the app is not installed, which is pretty
bad.
Differential Revision: https://phabricator.services.mozilla.com/D68471
--HG--
extra : moz-landing-system : lando
This patch makes it so that the profiler shortcuts work based on the location of
the profiler menu button. It changes it so that if the menu button is in the navbar
or other menus, the shortcuts will work. Otherwise, the shortcuts will be a no-op.
This removes the Tools -> Web Developer - Enable Profiler Menu Button option. By
default on Nightly and Dev Edition the profiler menu button will be available.
On other channels, users must visit profiler.firefox.com.
Differential Revision: https://phabricator.services.mozilla.com/D66785
--HG--
extra : moz-landing-system : lando
The high-contrast light GTK theme has some known issues. The dark theme works
much better, but we have multiple complaints about high contrast users, some of
which don't know about the "override document colors" setting.
Disable it for now so as to go to the previous state for the time being.
Mac/Android don't have a high-contrast theme either (or we don't hook into it),
so 1 seems like a better / less confusing default.
Differential Revision: https://phabricator.services.mozilla.com/D68066
--HG--
extra : moz-landing-system : lando
This patch makes it so that the profiler shortcuts work based on the location of
the profiler menu button. It changes it so that if the menu button is in the navbar
or other menus, the shortcuts will work. Otherwise, the shortcuts will be a no-op.
This removes the Tools -> Web Developer - Enable Profiler Menu Button option. By
default on Nightly and Dev Edition the profiler menu button will be available.
On other channels, users must visit profiler.firefox.com.
Differential Revision: https://phabricator.services.mozilla.com/D66785
--HG--
extra : moz-landing-system : lando
Converts `security.mixed_content.block_object_subrequest`, `security.mixed_content.block_display_content`, `security.mixed_content.upgrade_display_content`, and `security.mixed_content.block_active_content` to static prefs.
Differential Revision: https://phabricator.services.mozilla.com/D67205
--HG--
extra : moz-landing-system : lando
Converts dom.w3c_pointer_events.implicit_capture to a static pref, removes the initializer in PointerEventHandler.
Differential Revision: https://phabricator.services.mozilla.com/D67204
--HG--
extra : moz-landing-system : lando
Converts `intl.ime.hack.on_ime_unaware_apps.fire_key_events_for_composition` to a static pref.
Differential Revision: https://phabricator.services.mozilla.com/D67203
--HG--
extra : moz-landing-system : lando
Converts dom.datatransfer.mozAtAPIs to a static pref and adds the `do_not_use_directly` field, since the pref is used in combination with an additional check in `DataTransfer::MozAtAPIsEnabled`.
Differential Revision: https://phabricator.services.mozilla.com/D67202
--HG--
extra : moz-landing-system : lando
Converts dom.events.testing.asyncClipboard to a static pref. In its original usage, it called a getter that also added information to the log. This uses the do_not_use_directly field to indicate that the getter should still be used for logging.
Differential Revision: https://phabricator.services.mozilla.com/D67186
--HG--
extra : moz-landing-system : lando
Converts security.data_uri.unique_opaque_origin to a static pref. This pref was initialized by the ClientManager in ClientPrefs, so this commit also removes those files. Somehow this pref was getting added in VarCache twice, so it also removes the places where the pref was added in Networking.
Differential Revision: https://phabricator.services.mozilla.com/D67185
--HG--
extra : moz-landing-system : lando
Converts dom.use_components_shim to a static pref and removes its `all.js` entry.
Differential Revision: https://phabricator.services.mozilla.com/D67184
--HG--
extra : moz-landing-system : lando
Converts dom.vibrator.enabled, dom.vibrator.max_vibrate_ms, and dom.vibrator.max_vibrate_list_len to static prefs. Removes their init function.
Differential Revision: https://phabricator.services.mozilla.com/D67183
--HG--
extra : moz-landing-system : lando
Converts dom.animations.offscreen-throttling to a static pref and removes the static function used to create the varcache pref.
Differential Revision: https://phabricator.services.mozilla.com/D67182
--HG--
extra : moz-landing-system : lando
The tests don't have a reliable mechanism to wait for a potential zoom
animation to end, leading to flakiness due to a zoom animation form a previous
sub-case interfering with the current sub-case.
Differential Revision: https://phabricator.services.mozilla.com/D67522
--HG--
extra : moz-landing-system : lando
* Add a new module, NewPasswordModel.jsm, which imports the Fathom library from Bug 1618956, and copies over the Fathom model at [bff6995c32e86...](bff6995c32/new-password/rulesets.js (L6-L272)) into it.
* This module is intended to make it as easy as possible to import model updates from the upstream GitHub repo, though there are a couple extra steps beyond a simple copy and paste.
* The module is imported into LoginAutoComplete.jsm, which has a new helper, _isProbablyANewPasswordField, which runs the model against the provided input element and returns true if the element's confidence score is greater than or equal to a threshold.
* The confidence threshold, specified by the new signon.generation.confidenceThreshold string preference, is currently set to 0.5 based on [this comment](https://bugzilla.mozilla.org/show_bug.cgi?id=1595244#c12).
* This should result in a dramatic reduction in false negative rates compared to the existing implementation of this feature (at the expense of an increase in the false positive rate of the existing feature from ~0% to hopefully around 2%).
* Use of the model is gated behind the same preference used for the confidence threshold, signon.generation.confidenceThreshold.
* This is a string pref that disables the model if its value is "-1". Otherwise, its value should be a string representation of a float [0,1] (e.g. "0.5") which indicates that the model should be enabled with the given confidence threshold.
* Using the model is enabled by default on desktop but disabled by default on mobile (GeckoView) due to Bug 1618058.
* Fixed some existing tests that were broken as a result of this change.
* New test(s) will be added in a subsequent commit.
Differential Revision: https://phabricator.services.mozilla.com/D67068
--HG--
extra : moz-landing-system : lando
This adds a JS shell command line argument to disable multi-value (if
it is enabled at compile time) and an about:config option to do the
same in the browser.
At this time, multi-values are not enabled in the browser, so the
about:config option is not visible.
Differential Revision: https://phabricator.services.mozilla.com/D67465
--HG--
extra : moz-landing-system : lando
1. Add `network.process.enabled` beck to `all.js`, since it's easier to run xpcshell tests locally.
2. Launch socket process at `nsHttpHandler::Init`.
3. Allow to launch socket process for running xpcshell test without e10s.
Differential Revision: https://phabricator.services.mozilla.com/D58110
--HG--
extra : moz-landing-system : lando
Converts `security.mixed_content.block_object_subrequest`, `security.mixed_content.block_display_content`, `security.mixed_content.upgrade_display_content`, and `security.mixed_content.block_active_content` to static prefs.
Differential Revision: https://phabricator.services.mozilla.com/D67205
--HG--
extra : moz-landing-system : lando
Converts dom.w3c_pointer_events.implicit_capture to a static pref, removes the initializer in PointerEventHandler.
Differential Revision: https://phabricator.services.mozilla.com/D67204
--HG--
extra : moz-landing-system : lando
Converts `intl.ime.hack.on_ime_unaware_apps.fire_key_events_for_composition` to a static pref.
Differential Revision: https://phabricator.services.mozilla.com/D67203
--HG--
extra : moz-landing-system : lando
Converts dom.datatransfer.mozAtAPIs to a static pref and adds the `do_not_use_directly` field, since the pref is used in combination with an additional check in `DataTransfer::MozAtAPIsEnabled`.
Differential Revision: https://phabricator.services.mozilla.com/D67202
--HG--
extra : moz-landing-system : lando
Converts dom.events.testing.asyncClipboard to a static pref. In its original usage, it called a getter that also added information to the log. This uses the do_not_use_directly field to indicate that the getter should still be used for logging.
Differential Revision: https://phabricator.services.mozilla.com/D67186
--HG--
extra : moz-landing-system : lando
Converts security.data_uri.unique_opaque_origin to a static pref. This pref was initialized by the ClientManager in ClientPrefs, so this commit also removes those files. Somehow this pref was getting added in VarCache twice, so it also removes the places where the pref was added in Networking.
Differential Revision: https://phabricator.services.mozilla.com/D67185
--HG--
extra : moz-landing-system : lando
Converts dom.use_components_shim to a static pref and removes its `all.js` entry.
Differential Revision: https://phabricator.services.mozilla.com/D67184
--HG--
extra : moz-landing-system : lando
Converts dom.vibrator.enabled, dom.vibrator.max_vibrate_ms, and dom.vibrator.max_vibrate_list_len to static prefs. Removes their init function.
Differential Revision: https://phabricator.services.mozilla.com/D67183
--HG--
extra : moz-landing-system : lando
Converts dom.animations.offscreen-throttling to a static pref and removes the static function used to create the varcache pref.
Differential Revision: https://phabricator.services.mozilla.com/D67182
--HG--
extra : moz-landing-system : lando
This patch makes it so that the profiler shortcuts work based on the location of
the profiler menu button. It changes it so that if the menu button is in the navbar
or other menus, the shortcuts will work. Otherwise, the shortcuts will be a no-op.
This removes the Tools -> Web Developer - Enable Profiler Menu Button option. By
default on Nightly and Dev Edition the profiler menu button will be available.
On other channels, users must visit profiler.firefox.com.
Differential Revision: https://phabricator.services.mozilla.com/D66785
--HG--
extra : moz-landing-system : lando
Mutter 3.36 requests exact match of wl_surface/wl_subsurface size so we need to respect
wl_surface size (GtkWidget size) and create a wl_subsurface with the same size.
Differential Revision: https://phabricator.services.mozilla.com/D67137
--HG--
extra : moz-landing-system : lando
This speeds up startup by 140ms on a Moto G5 Android device because it avoids almost 3 million calls to CallbackNode::Matches.
The patch contains the following changes:
- InitAlwaysPref no longer calls AddMirrorCallback.
- InitAlwaysPref loses its aIsParent and aIsStartup arguments and is now only called in the parent.
- InitAll is now only called in the parent, and doesn't care if it's called for startup.
- There's a new function, `StaticPrefs::StartObservingAlwaysPrefs()` which gets called after all prefs have been loaded on startup.
- The new function calls AddMirror rather than AddMirrorCallback so that any pref values from the data files get picked up into the mirrors.
- AddMirror requires a fallback argument. I used the current value of the mirror as the fallback value.
Differential Revision: https://phabricator.services.mozilla.com/D66142
--HG--
extra : moz-landing-system : lando
With the Fennec-to-Fenix migration getting delayed and the landing of the
pref-flip on Nightly not landing for 75, this is probably ok.
I'll address any potential regressions ASAP.
Differential Revision: https://phabricator.services.mozilla.com/D66952
--HG--
extra : moz-landing-system : lando
The patch adds similar to mousemove compression on IPC layer.
https://searchfox.org/mozilla-central/rev/49ed791eec93335abfe6c2880f84c324e73e47e6/dom/ipc/PBrowser.ipdl#764-774
Touch events can't be compressed all the time, because each touch event
may contain changes to several touches.
To disable compression in some cases, another IPC message is sent.
The messages have exactly the same arguments, but by changing the message type,
compression is disabled for that message on IPC layer.
The patch tries to take rather conservative approach by disabling compression
in many cases. Compression is enabled only if the same touches are being changed,
or old touches and some new touch are changed (so the changed touches are a superset of the old touches).
The patch does not do anything with PointerEvent.getCoalescedEvents(). That implementation
would be quite a bit different and riskier for the next coming Fenix release.
Differential Revision: https://phabricator.services.mozilla.com/D63261
--HG--
extra : moz-landing-system : lando
This code (and an upcoming dependent patch) is currently behind a pref which is disabled by default, as there is uncertainty as to how it might impact the Dev Tools A11y Panel.
The A11y Panel is currently a moving target due to ongoing refactor for Fission.
This pref should be removed once that groundwork is complete and the impact has been verified.
This patch also includes fixes to some ProxyAccessible methods which previously crashed when there was no parent, as is the case for top level documents.
Without these fixes, the Dev Tools A11y Panel would crash the parent process.
Differential Revision: https://phabricator.services.mozilla.com/D66354
--HG--
extra : moz-landing-system : lando
Platform engineers spend most of their time in Nightly and on local builds. This patch
changes it so that the profiler is most likely set to a more advanced preset when platform
engineers need it.
Differential Revision: https://phabricator.services.mozilla.com/D66407
--HG--
extra : moz-landing-system : lando
Given the state of our form controls on android, this is probably an improvement
even without the things that block this on desktop. Let's try this out.
Depends on D64396
Differential Revision: https://phabricator.services.mozilla.com/D64403
--HG--
extra : moz-landing-system : lando
The telemetry for this window of time on Nightly is clean, so this
should be safe to bump up.
Differential Revision: https://phabricator.services.mozilla.com/D66173
--HG--
extra : moz-landing-system : lando
Given the state of our form controls on android, this is probably an improvement
even without the things that block this on desktop. Let's try this out.
Depends on D64396
Differential Revision: https://phabricator.services.mozilla.com/D64403
--HG--
extra : moz-landing-system : lando
Currently the preferences for remote profiling are stored on the debuggee. This leads
to a negative user experience, as oftentimes phones do not persist the preferences.
This patch changes the strategy to store one set of preferences for local profiling,
and a second set of preferences for remote profiling.
Differential Revision: https://phabricator.services.mozilla.com/D65148
--HG--
extra : moz-landing-system : lando
This removes the obsolete backend. Notes on some of the less obvious changes
made as part of this patch:
- some of the gFoo style getters in Blocklist.jsm were only used by the XML
version of the blocklist; I've removed them and tried to remove spurious
settings of those properties in the remaining tests.
- some utility methods (e.g. distribution information getters) were also only
used for the XML version (for the update URL).
- it's no longer necessary to test switching implementations.
- in browser/base/content/test/plugins/, we ran some tests from two manifests
in order to run them with both blocklist backends. The simplest way of
reducing this back down to one was to remove the remote-settings one. If I'd
been more future-oriented when I created the duplication, perhaps I would
have moved the XML version out into a different manifest instead, but I
didn't, so now it looks like we're removing the modern one, whereas really
we're going to be running the modern one as part of the "normal" tests and
we're no longer running the "old" tests.
- removed all mentions I could see of extensions.blocklist.url which is no
longer used for anything.
- per https://bugzilla.mozilla.org/show_bug.cgi?id=1016555#c23, updated
references for the OneCRL timing and how it relates to blocklist updates.
Differential Revision: https://phabricator.services.mozilla.com/D64933
--HG--
extra : moz-landing-system : lando
Intercepting media control keys would also come up with the virtual control interface in most of platforms, and for the notification sound we don't want either to show the interface or control them.
Currently we use 3s as a threshold to filter those short duration media which are possible to be a notification sound.
Differential Revision: https://phabricator.services.mozilla.com/D64478
--HG--
extra : moz-landing-system : lando
This patch is used to prevent intercepting media keys from other applications which should really receive media keys. For example, if user finishes watching a video but doesn't close that tab, and switch to other tasks. Then if they have other applications which are playing music, when they press media keys, the application which should receive media keys should be those background music app, not Firefox.
Therefore, if the media has been paused for a while, then that might indicate that user won't need to control this media anymore. Therefore, we create a timer, which default expire time is 60s, to stop listening media control key events for those kinds of media. But if the media starts again during this period, we would destroy timer and continue to control that media.
Differential Revision: https://phabricator.services.mozilla.com/D63918
--HG--
extra : moz-landing-system : lando
This also removes the comment about CSSPseudoElement since that is now covered by a
separate pref: dom.css_pseudo_element.enabled.
Differential Revision: https://phabricator.services.mozilla.com/D65661
--HG--
extra : moz-landing-system : lando
* Dont flag a form as user-modified when the input is from autofilling a login
* Avoid sending PasswordEditedOrGenerated messages to the parent from non-user-modified forms.
Differential Revision: https://phabricator.services.mozilla.com/D64843
--HG--
extra : moz-landing-system : lando
* Dont flag a form as user-modified when the input is from autofilling a login
* Avoid sending PasswordEditedOrGenerated messages to the parent from non-user-modified forms.
Differential Revision: https://phabricator.services.mozilla.com/D64843
--HG--
extra : moz-landing-system : lando
Given that we are going to add ContentBlockingAllowList in
CookieSettings, so CookieSettings will be responsible for more stuff than the
cookie behavior and cookie permission. We should use a proper name to
reflect the purpose of it. The name 'CookieSettings' is misleading that
this is only for cookie related stuff. So, we decide to rename
'CookieSettins' to 'CookieJarSettings' which serves better meaning here.
Differential Revision: https://phabricator.services.mozilla.com/D63935
--HG--
rename : netwerk/cookie/CookieSettings.cpp => netwerk/cookie/CookieJarSettings.cpp
rename : netwerk/cookie/nsICookieSettings.idl => netwerk/cookie/nsICookieJarSettings.idl
extra : moz-landing-system : lando