This makes the new preference searchable in about:config, which is
very useful on Android.
This also moves the existing preference logging.config.clear_on_startup
to StaticPrefList.yaml.
Differential Revision: https://phabricator.services.mozilla.com/D210352
There was existing code to read the prefs, but the prefs themselves had been removed.
I renamed the prefs in line with all the other JS GC options, so starting
javascript.options.mem.gc_.
Differential Revision: https://phabricator.services.mozilla.com/D210059
Stop supporting following the system preference, but keep macOS users
able to switch to just text controls (accessibility.tabfocus=1) in the
settings.
Change the meaning of the "Use the tab key to move focus between form
controls and links" checkbox in the Firefox settings, which was
introduced in bug 1628476 to override the system setting.
The intention, I think was that this checkbox being off resulted in
"follow the system" behavior, but that didn't quite happen due to a bug
in the preferences code (this[1] won't unset the pref, because of
this[2], which means we'll just return 0).
This patch changes it so that the checkbox instead always ignores the
system setting. There will no longer be a Firefox setting (neither in
the UI nor on about:config) that means "follow system setting".
This allows us to somewhat simplify the approach compared to the
previous patch in D196110, and keep the accessibility.tabfocus working
as the source of truth without a migration.
In the future, we can think of migrating accessibility.tabfocus to a
boolean pref, which would allow us to do the cleanups to the preferences
code that D196110 did.
[1]: https://searchfox.org/mozilla-central/rev/f1532761de0b60337e42c6c3f525288a523dabef/browser/components/preferences/main.js#2252
[2]: https://searchfox.org/mozilla-central/rev/f1532761de0b60337e42c6c3f525288a523dabef/toolkit/content/preferencesBindings.js#450,483
Differential Revision: https://phabricator.services.mozilla.com/D208602
Stop supporting following the system preference, but keep macOS users
able to switch to just text controls (accessibility.tabfocus=1) in the
settings.
Change the meaning of the "Use the tab key to move focus between form
controls and links" checkbox in the Firefox settings, which was
introduced in bug 1628476 to override the system setting.
The intention, I think was that this checkbox being off resulted in
"follow the system" behavior, but that didn't quite happen due to a bug
in the preferences code (this[1] won't unset the pref, because of
this[2], which means we'll just return 0).
This patch changes it so that the checkbox instead always ignores the
system setting. There will no longer be a Firefox setting (neither in
the UI nor on about:config) that means "follow system setting".
This allows us to somewhat simplify the approach compared to the
previous patch in D196110, and keep the accessibility.tabfocus working
as the source of truth without a migration.
In the future, we can think of migrating accessibility.tabfocus to a
boolean pref, which would allow us to do the cleanups to the preferences
code that D196110 did.
[1]: https://searchfox.org/mozilla-central/rev/f1532761de0b60337e42c6c3f525288a523dabef/browser/components/preferences/main.js#2252
[2]: https://searchfox.org/mozilla-central/rev/f1532761de0b60337e42c6c3f525288a523dabef/toolkit/content/preferencesBindings.js#450,483
Differential Revision: https://phabricator.services.mozilla.com/D208602
This was needed because we didn't use to override the color of the
textfield, so it needed to work with whatever color was there already.
Now that we enforce the color however, there's no point on it being
semi-transparent.
Add a darker version of the color so that it also works on dark mode
(<input style="color-scheme: dark"> or so).
Now that it's opaque, there's no need for Theme.cpp to blend with the
field background.
Differential Revision: https://phabricator.services.mozilla.com/D209021
This feature is added as "recommended", and added to every presets. This will
allow us to disable it if we really want to.
If the "native allocations" feature is enabled, we still force the installation
of the memory hooks even if we don't have this feature to not break the native
allocations feature.
Differential Revision: https://phabricator.services.mozilla.com/D206789
This feature is added as "recommended", and added to every presets. This will
allow us to disable it if we really want to.
If the "native allocations" feature is enabled, we still force the installation
of the memory hooks even if we don't have this feature to not break the native
allocations feature.
Differential Revision: https://phabricator.services.mozilla.com/D206789
This patch removes both the backend and UI code related to the built-in
abuse reporting feature. I kept the ability to disable abuse reporting
with the `extensions.abuseReport.enabled` pref. Other prefs related to
the old abuse reporting feature have been removed.
Some tests have been deleted because they aren't relevant anymore.
On the web API side, both the property and method have been removed
since only AMO consumes these APIs and AMO already supports the absence
of these APIs. That is also why GeckoView has been slightly updated.
We do not collect Telemetry with the new AMO (abuse report) form so
all the Telemetry bits have been removed as well.
Differential Revision: https://phabricator.services.mozilla.com/D208457
This moves the enabling to all.js, so that it is enabled for Thunderbird as well - now that Thunderbird is set up with their own version of the configuration.
Differential Revision: https://phabricator.services.mozilla.com/D206695
We know that we frequently hit this limit and so, based on observed performance improvements in sub-resource connection times, we are increasing it to 20.
Note that this is very conservative as on desktop we see no sign of overall socket pool exhaustion.
See https://bugzilla.mozilla.org/show_bug.cgi?id=1819556
Android changes will follow as we currently have a much smaller overall socket pool on that platform.
Differential Revision: https://phabricator.services.mozilla.com/D206406
- Create a new XPCOM component UserCharacteristicsPageService backed by
a JS implementation. It will be accessed as a Service, so there is
only ever one of them
- Inside UserCharacteristicsPageService use a HiddenFrame to open a
page invisible to the user. (In this patch it's a random https://
site, in the next patch it will become an about: page)
- Create a Parent/Child JSWindowActor so that the hidden webpage (which
will eventually be in the privilegedabout content process) can
communicate back to the parent.
- Use Topics/Observers so the Actor can be registered when we need it
and then unregistered when we're done. The registering occurs in a
RFPHelper which a separate thing already running and listening for
stuff.
- Inside nsUserCharacteristics.cpp::CanvasStuff() we ask our service
to load the webpage, then will await a promise indicating the page has
been loaded. That promise is the return value of
UserCharacteristicsPageService::createContentPage() and is resolved after
UserCharacteristicsPageService::pageLoaded calls backgroundResolve().
That, in turn, happens after UserCharacteristicsParent gets the
message from UserCharacteristicsChild that the DOMContentLoaded
event has occurred.
The HiddenFrame stuff is influenced by PageDataService.sys.mjs -
that's where the HiddenBrowserManager stuff came from.
In the next patch we'll actually do something when that promise is
resolved.
Differential Revision: https://phabricator.services.mozilla.com/D202893