For RFP Firefox, report the real major version because there are more Firefox Release channel users than ESR users and, by returning the real major version, we won't have to update kKnownEsrVersion for future ESR versions. The Tor Desktop is based on ESR, so its real major version is the ESR major version.
Special case Android to return Desktop's ESR major version ("102.0"). Firefox Android has no ESR, but this matches Tor Android's current behavior.
Differential Revision: https://phabricator.services.mozilla.com/D147020
Because right now we only have hardware concurrency wired
up to the fine-grained RFP checks this is a copy of the
regular RFP test but with the hardware concurrency field
set to the non-spoofed value
Depends on D141772
Differential Revision: https://phabricator.services.mozilla.com/D141773
Because right now we only have hardware concurrency wired
up to the fine-grained RFP checks this is a copy of the
regular RFP test but with the hardware concurrency field
set to the non-spoofed value
Depends on D141772
Differential Revision: https://phabricator.services.mozilla.com/D141773
RFP should make navigator ignore pdfjs.disabled and always report that a PDF viewer is supported. It should also return the hard-coded values for navigator.plugins and navigator.mimeTypes. Without RFP, navigator.pdfViewerSupported should be false and plugins and mimeTypes should be empty when pdfjs.disabled is set.
Differential Revision: https://phabricator.services.mozilla.com/D140763
This Nimbus experiment code was added in bug 1719070 to test if sending a "Firefox 100" UA string causes any major webcompat problems.
The moz.build change was added in bug 1724635 to fix a Thunderbird build break. MOZ_BUILD_APP_IS_BROWSER = true when building Firefox, false when building Thunderbird.
Differential Revision: https://phabricator.services.mozilla.com/D126408
resistFingerprinting used to be set for the whole test but was changed to consider cases where it is unset. In those cases, pluginsLength and mimeTypesLength tests were only passing because there were no plugins installed and, later, no plugins were permitted. We now hardcode some fixed PDF entries so the test has to consider that.
Differential Revision: https://phabricator.services.mozilla.com/D138497
resistFingerprinting used to be set for the whole test but was changed to consider cases where it is unset. In those cases, pluginsLength and mimeTypesLength tests were only passing because there were no plugins installed and, later, no plugins were permitted. We now hardcode some fixed PDF entries so the test has to consider that.
Depends on D133291
Differential Revision: https://phabricator.services.mozilla.com/D138497
Monitor Firefox 100 experiment enrollment in the parent process. If the user gets enrolled in the experiment, the parent process will set the forceVersion100 pref in other processes. The forceVersion100 pref can also be set by the "Firefox 100" option in the Nightly Experiments settings.
Chrome has a similar chrome://flags/#force-major-version-to-100 flag for testing a Chrome 100 UA.
Differential Revision: https://phabricator.services.mozilla.com/D135315
Monitor Firefox 100 experiment enrollment in the parent process. If the user gets enrolled in the experiment, the parent process will set the forceVersion100 pref in other processes. The forceVersion100 pref can also be set by the "Firefox 100" option in the Nightly Experiments settings.
Chrome has a similar chrome://flags/#force-major-version-to-100 flag for testing a Chrome 100 UA.
Differential Revision: https://phabricator.services.mozilla.com/D135315
Monitor Firefox 100 experiment enrollment in the parent process. If the user gets enrolled in the experiment, the parent process will set the forceVersion100 pref in other processes. The forceVersion100 pref can also be set by the "Firefox 100" option in the Nightly Experiments settings.
Chrome has a similar chrome://flags/#force-major-version-to-100 flag for testing a Chrome 100 UA.
Differential Revision: https://phabricator.services.mozilla.com/D135315
This is needed to make sure the experimental User Agent string is applied immediately after starting the browser, not just whenever the Nimbus data changes as part of the NimbusFeatures::OnUpdate handler.
Differential Revision: https://phabricator.services.mozilla.com/D126774
These tests are excluded from android test runs in moz.build. Including
an explicit annotation in each manifest avoids scheduling confusion.
browser-chrome and plain-chrome tests in browser/ are of no concern,
since those test types are never scheduled on android.
Differential Revision: https://phabricator.services.mozilla.com/D125266
Adds a new preference javascript.options.use_fdlibm_for_sin_cos_tan (default
false) and uses fdlibm for Math.sin, Math.cos, and Math.tan conditioned on it.
Differential Revision: https://phabricator.services.mozilla.com/D119426
Adds a new preference javascript.options.use_fdlibm_for_sin_cos_tan (default
false) and uses fdlibm for Math.sin, Math.cos, and Math.tan conditioned on it.
Differential Revision: https://phabricator.services.mozilla.com/D119426
The ANDROID #ifdefs are necessary because Nimbus does not yet support Android in Gecko. The planned UA experiment won't include Android, so that's not a problem.
Differential Revision: https://phabricator.services.mozilla.com/D121112