summaryrefslogtreecommitdiffstats
path: root/modules/libpref
diff options
context:
space:
mode:
Diffstat (limited to 'modules/libpref')
-rw-r--r--modules/libpref/init/StaticPrefList.yaml288
-rw-r--r--modules/libpref/init/all.js87
-rw-r--r--modules/libpref/init/generate_static_pref_list.py3
3 files changed, 271 insertions, 107 deletions
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
index f32e8a9e8f..ec3444a347 100644
--- a/modules/libpref/init/StaticPrefList.yaml
+++ b/modules/libpref/init/StaticPrefList.yaml
@@ -200,6 +200,22 @@
# Prefs starting with "accessibility."
#---------------------------------------------------------------------------
+# Tab focus model bit field:
+# 1 focuses text controls, 2 focuses other form elements, 4 adds links.
+# Most users will want 1, 3, or 7. On macOS we expose a checkbox to alter
+# between 7 and 3.
+- name: accessibility.tabfocus
+ type: int32_t
+ value: 7
+ mirror: always
+
+# Only on mac tabfocus is expected to handle UI widgets as well as web content.
+# FIXME(emilio): This is weird now that we have a lot of HTML in our pages.
+- name: accessibility.tabfocus_applies_to_xul
+ type: bool
+ value: @IS_XP_MACOSX@
+ mirror: always
+
- name: accessibility.accesskeycausesactivation
type: bool
value: true
@@ -1157,12 +1173,17 @@
value: false
mirror: never
-# Whether content analysis should allow content if there is a problem communicating
-# with the agent.
-- name: browser.contentanalysis.default_allow
- type: bool
- value: false
- mirror: never
+# What content analysis should return if there is a problem communicating
+# with the agent. (see DefaultResponse enum in ContentAnalysis.h)
+# Make sure these stay in sync with the out-of-range check in Policies.sys.mjs.
+#
+# 0: Block all requests
+# 1: Warn on all requests (which lets the user decide)
+# 2: Allow all requests
+- name: browser.contentanalysis.default_result
+ type: uint32_t
+ value: 0
+ mirror: always
# Is the IPC pipe to the DLP tool specific to the user or to the system?
- name: browser.contentanalysis.is_per_user
@@ -1211,6 +1232,13 @@
value: true
mirror: always
+# Should Firefox bypass content analysis for pastes and drags whose source
+# is the same tab?
+- name: browser.contentanalysis.bypass_for_same_tab_operations
+ type: bool
+ value: false
+ mirror: always
+
# Content blocking for Enhanced Tracking Protection
- name: browser.contentblocking.database.enabled
type: bool
@@ -1652,6 +1680,13 @@
mirror: once
do_not_use_directly: true
+#if defined(NIGHTLY_BUILD) || defined(MOZ_DEV_EDITION) || defined(DEBUG)
+- name: browser.startup.record
+ type: bool
+ value: false
+ mirror: always
+#endif
+
# Causes SessionStore to ignore non-final update messages from
# browser tabs that were not caused by a flush from the parent.
# This is a testing flag and should not be used by end-users.
@@ -2544,7 +2579,7 @@
# to content.
- name: dom.events.asyncClipboard.clipboardItem
type: bool
- value: @IS_EARLY_BETA_OR_EARLIER@
+ value: true
mirror: always
# Skips checking permission and user activation when accessing the clipboard.
@@ -3090,6 +3125,15 @@
value: true
mirror: always
+# 0 no-op
+# 1 free dirty mozjemalloc pages
+# 2 trigger memory-pressure/heap-minimize
+# 3 trigger memory-pressure/low-memory
+- name: dom.memory.memory_pressure_on_background
+ type: uint32_t
+ value: 0
+ mirror: always
+
# Enable meta-viewport support in remote APZ-enabled frames.
- name: dom.meta-viewport.enabled
type: RelaxedAtomicBool
@@ -3288,6 +3332,18 @@
value: false
mirror: always
+# Should we speculatively prefetch dns for anchor elements on http documents
+- name: dom.prefetch_dns_for_anchor_http_document
+ type: bool
+ value: true
+ mirror: always
+
+# Should we speculatively prefetch dns for anchor elements on https documents
+- name: dom.prefetch_dns_for_anchor_https_document
+ type: bool
+ value: false
+ mirror: always
+
# This currently only affects XHTML. For XUL the cache is always allowed.
- name: dom.prototype_document_cache.enabled
type: bool
@@ -6355,6 +6411,15 @@
value: 0
mirror: always
+# Meant to be used for tests only. If greater than 0 then we assert that the
+# number of active render textures increases by this amount or less.
+#ifdef DEBUG
+- name: gfx.testing.assert-render-textures-increase
+ type: RelaxedAtomicInt32
+ value: 0
+ mirror: always
+#endif
+
- name: gfx.text.disable-aa
type: bool
value: false
@@ -6992,8 +7057,8 @@
value: false
mirror: always
-# Decode all images synchronously
-- name: image.decode-sync.enabled
+# Decode all images synchronously, intended to be used for reftests.
+- name: image.testing.decode-sync.enabled
type: bool
value: false
mirror: always
@@ -7601,17 +7666,24 @@
mirror: always
set_spidermonkey_pref: startup
-#ifdef NIGHTLY_BUILD
- # Experimental support for Iterator Helpers in JavaScript.
-- name: javascript.options.experimental.iterator_helpers
+# Experimental support for ArrayBuffer.prototype.transfer{,ToFixedLength}() in JavaScript.
+- name: javascript.options.arraybuffer_transfer
type: bool
- value: false
+ value: true
mirror: always
set_spidermonkey_pref: startup
- # Experimental support for New Set methods
+# Experimental support for New Set methods
- name: javascript.options.experimental.new_set_methods
type: bool
+ value: true
+ mirror: always
+ set_spidermonkey_pref: startup
+
+#ifdef NIGHTLY_BUILD
+ # Experimental support for Iterator Helpers in JavaScript.
+- name: javascript.options.experimental.iterator_helpers
+ type: bool
value: false
mirror: always
set_spidermonkey_pref: startup
@@ -7643,16 +7715,14 @@
value: false
mirror: always
set_spidermonkey_pref: startup
-#endif // NIGHTLY_BUILD
-# Experimental support for ArrayBuffer.prototype.transfer{,ToFixedLength}() in JavaScript.
-- name: javascript.options.arraybuffer_transfer
+ # Experimental support for Float16Array in JavaScript.
+- name: javascript.options.experimental.float16array
type: bool
- value: true
+ value: false
mirror: always
set_spidermonkey_pref: startup
-#ifdef NIGHTLY_BUILD
# Experimental support for Import Assertions in JavaScript.
- name: javascript.options.experimental.import_attributes
type: bool
@@ -7805,6 +7875,16 @@
mirror: always
set_spidermonkey_pref: startup
+- name: javascript.options.wasm_branch_hinting
+ type: bool
+#if defined(ENABLE_WASM_BRANCH_HINTING)
+ value: @IS_NIGHTLY_BUILD@
+#else
+ value: false
+#endif
+ mirror: always
+ set_spidermonkey_pref: startup
+
#if defined(ENABLE_WASM_SIMD)
#if defined(JS_CODEGEN_X64) || defined(JS_CODEGEN_X86)
# Enables AVX instructions support on X86/X64 platforms.
@@ -7852,6 +7932,12 @@
mirror: always
set_spidermonkey_pref: startup
+- name: javascript.options.wasm_js_promise_integration
+ type: bool
+ value: false
+ mirror: always
+ set_spidermonkey_pref: startup
+
- name: javascript.options.wasm_test_serialization
type: bool
value: false
@@ -8040,11 +8126,6 @@
value: false
mirror: always
-- name: layers.force-shmem-tiles
- type: bool
- value: false
- mirror: once
-
- name: layers.draw-mask-debug
type: RelaxedAtomicBool
value: false
@@ -8381,7 +8462,7 @@
# Whether @starting-style is enabled?
- name: layout.css.starting-style-at-rules.enabled
type: RelaxedAtomicBool
- value: false
+ value: @IS_NIGHTLY_BUILD@
mirror: always
rust: true
@@ -8537,6 +8618,13 @@
mirror: always
rust: true
+# Whether alt text in content is enabled.
+- name: layout.css.content.alt-text.enabled
+ type: RelaxedAtomicBool
+ value: @IS_NIGHTLY_BUILD@
+ mirror: always
+ rust: true
+
# Should stray control characters be rendered visibly?
- name: layout.css.control-characters.visible
type: RelaxedAtomicBool
@@ -8653,7 +8741,7 @@
# Is support for (linear|radial|conic)-gradient color interpolation methods enabled?
- name: layout.css.gradient-color-interpolation-method.enabled
type: RelaxedAtomicBool
- value: @IS_NIGHTLY_BUILD@
+ value: true
mirror: always
rust: true
@@ -8696,7 +8784,11 @@
# 2 - Symmetrical spacing, half added to each side
- name: layout.css.letter-spacing.model
type: int32_t
+#ifdef NIGHTLY_BUILD
+ value: 2
+#else
value: 0
+#endif
mirror: always
# Is support for motion-path url enabled?
@@ -8866,7 +8958,7 @@
# Enable relative color syntax: https://drafts.csswg.org/css-color-5/#relative-colors
- name: layout.css.relative-color-syntax.enabled
type: RelaxedAtomicBool
- value: false
+ value: @IS_NIGHTLY_BUILD@
mirror: always
rust: true
@@ -9406,7 +9498,7 @@
# Is matching video-dynamic-range: high allowed?
- name: layout.css.video-dynamic-range.allows-high
type: RelaxedAtomicBool
-#if defined(XP_MACOSX) || defined(NIGHTLY_BUILD)
+#if defined(XP_MACOSX)
value: true
#else
value: false
@@ -9768,11 +9860,6 @@
value: @IS_NOT_ANDROID@
mirror: always
-- name: media.mediasource.webm.audio.enabled
- type: RelaxedAtomicBool
- value: true
- mirror: always
-
# Whether to enable MediaSource v2 support.
- name: media.mediasource.experimental.enabled
type: RelaxedAtomicBool
@@ -9937,6 +10024,13 @@
#endif
mirror: always
+# The codecs in the vendored ffmpeg copy are usually prefered to the other
+# codecs. This allows changing this policy for testing purposes.
+- name: media.prefer-non-ffvpx
+ type: RelaxedAtomicBool
+ value: false
+ mirror: always
+
- name: media.rdd-process.enabled
type: RelaxedAtomicBool
#if defined(XP_WIN)
@@ -10863,6 +10957,14 @@
value: True
mirror: always
+# Tell the audio backend to create a voice stream for later re-use before asking
+# the user for microphone permissions, if approving those permissions would
+# result in a voice stream when created later on.
+- name: media.getusermedia.microphone.voice_stream_priming.enabled
+ type: RelaxedAtomicBool
+ value: @IS_XP_MACOSX@
+ mirror: always
+
# This pref turns on legacy (non-spec) exposure of camera and microphone
# information from enumerateDevices and devicechange ahead of successful
# getUserMedia calls. Should only be turned on to resolve web compat issues,
@@ -11802,19 +11904,13 @@
# Hard code the User-Agent string's CPU architecture. This pref can be removed
# after we're confident there are no webcompat problems.
#
-# For now, don't enable this pref for x86 Linux builds until Firefox
-# download page bugs https://github.com/mozilla/bedrock/issues/12966 and
-# https://github.com/mozilla/bedrock/issues/14012 are fixed.
-#
# Enable for:
# * Android (any architecture)
-# * Linux (any architecture except x86)
+# * Linux (any architecture)
# * Other Unix-like platforms except macOS (any architecture)
- name: network.http.useragent.freezeCpu
type: bool
-# (When reading the next line, know that preprocessor.py doesn't
-# understand parentheses, but && is higher precedence than ||.)
-#if defined(ANDROID) || defined(XP_LINUX) && !defined(__i386__) || defined(XP_UNIX) && !defined(XP_LINUX) && !defined(XP_MACOSX)
+#if defined(XP_UNIX) && !defined(XP_MACOSX)
value: true
#else
value: false
@@ -12327,7 +12423,13 @@
- name: network.dns.disablePrefetchFromHTTPS
type: bool
- value: true
+ value: false
+ mirror: always
+
+# For testing purpose only: allow dns prefetch through proxies
+- name: network.dns.prefetch_via_proxy
+ type: bool
+ value: false
mirror: always
# Max time to shutdown the resolver threads
@@ -12397,6 +12499,15 @@
value: 24
mirror: always
+# This makes it so NS_HTTP_REFRESH_DNS is only
+# set on DNS resolutions when LOAD_FRESH_CONNECTION is set.
+# That's because we don't need to refresh DNS on
+# every page reload.
+- name: network.dns.only_refresh_on_fresh_connection
+ type: RelaxedAtomicBool
+ value: true
+ mirror: always
+
# The proxy type. See nsIProtocolProxyService.idl
# PROXYCONFIG_DIRECT = 0
# PROXYCONFIG_MANUAL = 1
@@ -13522,6 +13633,33 @@
value: 10
mirror: once
+# Whether flooding prevention feature is enabled or not.
+- name: places.history.floodingPrevention.enabled
+ type: bool
+ value: false
+ mirror: always
+
+# Maximum elapsed time betwen a user interaction and a visit before starting to
+# apply flooding prevention.
+- name: places.history.floodingPrevention.maxSecondsFromLastUserInteraction
+ type: uint32_t
+ value: 3
+ mirror: always
+
+# Number of consecutive accesses to an origin in a short timeframe before
+# starting to restrict storing visits for it.
+- name: places.history.floodingPrevention.restrictionCount
+ type: uint32_t
+ value: 3
+ mirror: always
+
+# Duration of the timeframe where consecutive visits to an origin should happen
+# before starting to restrict storing visits for it.
+- name: places.history.floodingPrevention.restrictionExpireSeconds
+ type: uint32_t
+ value: 5
+ mirror: always
+
#---------------------------------------------------------------------------
# Prefs starting with "plain_text."
#---------------------------------------------------------------------------
@@ -13584,11 +13722,9 @@
mirror: always
# Whether we attempt to generate and use document-internal PDF destinations.
-# This currently sometimes results in an internal cairo error, see bug 1725743;
-# disabled by default until that is resolved.
- name: print.save_as_pdf.internal_destinations.enabled
type: RelaxedAtomicBool
- value: false
+ value: true
mirror: always
# Whether we use the CSS @page size as the paper size in PDF output.
@@ -13855,6 +13991,13 @@
mirror: always
do_not_use_directly: true
+# Disables FPP Remote settings bucket. Allows user to stop overriding
+# of FPP overrides
+- name: privacy.fingerprintingProtection.remoteOverrides.enabled
+ type: RelaxedAtomicBool
+ value: true
+ mirror: always
+
# We automatically decline canvas permission requests if they are not initiated
# from user input. Just in case that breaks something, we allow the user to
# revert this behavior with this obscure pref. We do not intend to support this
@@ -14137,7 +14280,7 @@
# Main pref to enable / disable the feature.
- name: privacy.bounceTrackingProtection.enabled
type: bool
- value: false
+ value: @IS_NIGHTLY_BUILD@
mirror: once
# How long to wait for a client redirect after a navigation ends.
@@ -14169,15 +14312,30 @@
# Whether only bounces that access storage should be considered trackers.
- name: privacy.bounceTrackingProtection.requireStatefulBounces
type: bool
- value: false
+ value: true
mirror: always
-# To be used in test environments to enable observer messages.
+# Enables a mode where if bounce tracking protection is enabled it classifies
+# but does not purge trackers. This mode is helpful for testing the feature
+# without risking data loss. Telemetry is still collected normally.
+- name: privacy.bounceTrackingProtection.enableDryRunMode
+ type: bool
+ value: @IS_NOT_NIGHTLY_BUILD@
+ mirror: always
+
+# To be used in automated test environments to enable observer messages.
- name: privacy.bounceTrackingProtection.enableTestMode
type: bool
value: false
mirror: always
+# Whether the migration ran to import user activation flags into the BTP user
+# activation store. Set to false to trigger a new migration.
+- name: privacy.bounceTrackingProtection.hasMigratedUserActivationData
+ type: bool
+ value: false
+ mirror: always
+
#---------------------------------------------------------------------------
# Prefs starting with "prompts."
#---------------------------------------------------------------------------
@@ -14300,13 +14458,13 @@
# Prerequisite pref for mixed display content upgrading (images, audio, video).
- name: security.mixed_content.upgrade_display_content
type: bool
- value: @IS_NIGHTLY_BUILD@
+ value: true
mirror: always
# Upgrade images when the upgrading is enabled.
- name: security.mixed_content.upgrade_display_content.image
type: bool
- value: @IS_NIGHTLY_BUILD@
+ value: true
mirror: always
# Upgrade audio when the upgrading is enabled.
@@ -14457,7 +14615,6 @@
# Run content processes in headless mode and disallow
# connections to the X server. Requires:
# * `webgl.out-of-process` (or else WebGL breaks)
- # * `widget.non-native-theme.enabled` (scrollbars & form controls)
# Changing it requires a restart because sandbox policy information
# dependent on it is cached. See bug 1640345 for details.
- name: security.sandbox.content.headless
@@ -15227,6 +15384,20 @@
value: 3
mirror: always
+# The maximum overlap between pages when scrolling with
+# page-up/page-down/spacebar, as a percentage of scrollport size.
+- name: toolkit.scrollbox.pagescroll.maxOverlapPercent
+ type: RelaxedAtomicInt32
+ value: 10
+ mirror: always
+
+# The maximum overlap between pages when scrolling with
+# page-up/page-down/spacebar, in lines.
+- name: toolkit.scrollbox.pagescroll.maxOverlapLines
+ type: RelaxedAtomicInt32
+ value: 2
+ mirror: always
+
# The lateWriteChecksStage and fastShutdownStage below represent the stage
# of shutdown after which we (for lateWriteChecksStage) crash / gather
# telemetry data on file writes, or (for fastShutdownStage) we call _exit(0).
@@ -15957,15 +16128,6 @@
# Prefs starting with "widget."
#---------------------------------------------------------------------------
-# Global user preference for disabling native theme in content processes.
-#
-# NOTE(emilio): When changing this make sure to update the non_native_theme
-# entry in python/mozbuild/mozbuild/mozinfo.py and test_fission_autostart.py
-- name: widget.non-native-theme.enabled
- type: RelaxedAtomicBool
- value: true
- mirror: always
-
# Whether the non-native theme should always use system colors. Useful mostly
# for testing forced colors mode.
- name: widget.non-native-theme.always-high-contrast
@@ -16067,12 +16229,6 @@
#endif
mirror: always
-# Whether we should try to use WebRender to render widgets.
-- name: widget.non-native-theme.webrender
- type: bool
- value: true
- mirror: always
-
# Whether the outline style should be one big stroke or two contrasting strokes
- name: widget.non-native-theme.solid-outline-style
type: bool
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
index 9707432c6e..f0339b4ba7 100644
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -39,6 +39,7 @@ pref("security.signed_app_signatures.policy", 2);
pref("security.xfocsp.errorReporting.enabled", true);
pref("security.xfocsp.errorReporting.automatic", false);
+pref("security.xfocsp.hideOpenInNewWindow", true);
// Issuer we use to detect MitM proxies. Set to the issuer of the cert of the
// Firefox update service. The string format is whatever NSS uses to print a DN.
@@ -290,7 +291,7 @@ pref("media.videocontrols.keyboard-tab-to-all-controls", true);
pref("media.navigator.video.h264.max_mbps", 0);
pref("media.peerconnection.video.vp9_enabled", true);
pref("media.peerconnection.video.vp9_preferred", false);
- pref("media.getusermedia.channels", 0);
+ pref("media.getusermedia.audio.max_channels", 0);
#if defined(ANDROID)
pref("media.getusermedia.camera.off_while_disabled.enabled", false);
pref("media.getusermedia.microphone.off_while_disabled.enabled", false);
@@ -344,32 +345,34 @@ pref("media.videocontrols.keyboard-tab-to-all-controls", true);
#endif
// 770 = DTLS 1.0, 771 = DTLS 1.2, 772 = DTLS 1.3
-pref("media.peerconnection.dtls.version.min", 771);
-#ifdef NIGHTLY_BUILD
+ pref("media.peerconnection.dtls.version.min", 771);
pref("media.peerconnection.dtls.version.max", 772);
+
+#if defined(XP_MACOSX)
+ // Disabled on macOS until we can address bug 1895787.
+ pref("media.getusermedia.audio.processing.platform.enabled", false);
#else
- pref("media.peerconnection.dtls.version.max", 771);
+ pref("media.getusermedia.audio.processing.platform.enabled", false);
#endif
-
// These values (aec, agc, and noise) are from:
// third_party/libwebrtc/modules/audio_processing/include/audio_processing.h
- pref("media.getusermedia.aec_enabled", true);
- pref("media.getusermedia.aec", 1); // kModerateSuppression
- pref("media.getusermedia.use_aec_mobile", false);
- pref("media.getusermedia.noise_enabled", true);
- pref("media.getusermedia.noise", 2); // kHigh
- pref("media.getusermedia.agc_enabled", true);
- pref("media.getusermedia.agc", 1); // kAdaptiveDigital
- pref("media.getusermedia.agc2_forced", true);
- pref("media.getusermedia.hpf_enabled", true);
- pref("media.getusermedia.transient_enabled", true);
+ pref("media.getusermedia.audio.processing.aec.enabled", true);
+ pref("media.getusermedia.audio.processing.aec", 1); // kModerateSuppression
+ pref("media.getusermedia.audio.processing.aec.mobile", false);
+ pref("media.getusermedia.audio.processing.noise.enabled", true);
+ pref("media.getusermedia.audio.processing.noise", 2); // kHigh
+ pref("media.getusermedia.audio.processing.agc.enabled", true);
+ pref("media.getusermedia.audio.processing.agc", 1); // kAdaptiveDigital
+ pref("media.getusermedia.audio.processing.agc2.forced", true);
+ pref("media.getusermedia.audio.processing.hpf.enabled", true);
+ pref("media.getusermedia.audio.processing.transient.enabled", true);
#endif // MOZ_WEBRTC
#if !defined(ANDROID)
pref("media.getusermedia.screensharing.enabled", true);
#endif
-pref("media.getusermedia.audiocapture.enabled", false);
+pref("media.getusermedia.audio.capture.enabled", false);
// WebVTT debug logging.
pref("media.webvtt.debug.logging", false);
@@ -475,20 +478,6 @@ pref("accessibility.warn_on_browsewithcaret", true);
pref("accessibility.browsewithcaret_shortcut.enabled", true);
-#ifndef XP_MACOSX
- // Tab focus model bit field:
- // 1 focuses text controls, 2 focuses other form elements, 4 adds links.
- // Most users will want 1, 3, or 7.
- // On OS X, we use Full Keyboard Access system preference,
- // unless accessibility.tabfocus is set by the user.
- pref("accessibility.tabfocus", 7);
- pref("accessibility.tabfocus_applies_to_xul", false);
-#else
- // Only on mac tabfocus is expected to handle UI widgets as well as web
- // content.
- pref("accessibility.tabfocus_applies_to_xul", true);
-#endif
-
// We follow the "Click in the scrollbar to:" system preference on OS X and
// "gtk-primary-button-warps-slider" property with GTK (since 2.24 / 3.6),
// unless this preference is explicitly set.
@@ -711,8 +700,8 @@ pref("devtools.performance.recording.duration.remote", 0);
// explanations. Remote profiling also includes the java feature by default.
// If the remote debuggee isn't an Android phone, then this feature will
// be ignored.
-pref("devtools.performance.recording.features", "[\"js\",\"stackwalk\",\"cpu\",\"screenshots\"]");
-pref("devtools.performance.recording.features.remote", "[\"js\",\"stackwalk\",\"cpu\",\"screenshots\",\"java\"]");
+pref("devtools.performance.recording.features", "[\"js\",\"stackwalk\",\"cpu\",\"screenshots\",\"memory\"]");
+pref("devtools.performance.recording.features.remote", "[\"js\",\"stackwalk\",\"cpu\",\"screenshots\",\"memory\",\"java\"]");
// Threads to be captured by the profiler.
pref("devtools.performance.recording.threads", "[\"GeckoMain\",\"Compositor\",\"Renderer\"]");
pref("devtools.performance.recording.threads.remote", "[\"GeckoMain\",\"Compositor\",\"Renderer\"]");
@@ -928,7 +917,7 @@ pref("javascript.options.mem.max", -1);
// JSGC_MIN_NURSERY_BYTES / JSGC_MAX_NURSERY_BYTES
pref("javascript.options.mem.nursery.min_kb", 256);
-pref("javascript.options.mem.nursery.max_kb", 16384);
+pref("javascript.options.mem.nursery.max_kb", 65536);
// JSGC_MODE
pref("javascript.options.mem.gc_per_zone", true);
@@ -969,6 +958,9 @@ pref("javascript.options.mem.gc_parallel_marking_threshold_mb", 16);
pref("javascript.options.mem.gc_parallel_marking_threshold_mb", 16);
#endif
+// JSGC_MAX_MARKING_THREADS
+pref("javascript.options.mem.gc_max_parallel_marking_threads", 2);
+
// JSGC_HIGH_FREQUENCY_TIME_LIMIT
pref("javascript.options.mem.gc_high_frequency_time_limit_ms", 1000);
@@ -1084,8 +1076,6 @@ pref("network.protocol-handler.external.disk", false);
pref("network.protocol-handler.external.disks", false);
pref("network.protocol-handler.external.afp", false);
pref("network.protocol-handler.external.moz-icon", false);
-pref("network.protocol-handler.external.firefox-bridge", false);
-pref("network.protocol-handler.external.firefox-private-bridge", false);
// Don't allow external protocol handlers for common typos
pref("network.protocol-handler.external.ttp", false); // http
@@ -1872,12 +1862,7 @@ pref("services.settings.poll_interval", 86400); // 24H
pref("services.common.uptake.sampleRate", 1); // 1%
pref("extensions.abuseReport.enabled", false);
-// Whether abuse report originated from AMO should use the Firefox integrated dialog.
-pref("extensions.abuseReport.amWebAPI.enabled", false);
-pref("extensions.abuseReport.url", "https://services.addons.mozilla.org/api/v4/abuse/report/addon/");
-pref("extensions.abuseReport.amoDetailsURL", "https://services.addons.mozilla.org/api/v4/addons/addon/");
// Whether Firefox integrated abuse reporting feature should be opening the new abuse report form hosted on AMO.
-pref("extensions.abuseReport.amoFormEnabled", false);
pref("extensions.abuseReport.amoFormURL", "https://addons.mozilla.org/%LOCALE%/%APP%/feedback/addon/%addonID%/");
// Blocklist preferences
@@ -3154,6 +3139,9 @@ pref("extensions.webextensions.restrictedDomains", "accounts-static.cdn.mozilla.
pref("extensions.quarantinedDomains.enabled", true);
pref("extensions.quarantinedDomains.list", "");
+// Include origin permissions in the install prompt for MV3 extensions.
+pref("extensions.originControls.grantByDefault", true);
+
// Whether or not the moz-extension resource loads are remoted. For debugging
// purposes only. Setting this to false will break moz-extension URI loading
// unless other process sandboxing and extension remoting prefs are changed.
@@ -3301,6 +3289,7 @@ pref("network.captive-portal-service.enabled", false);
pref("network.connectivity-service.enabled", true);
pref("network.connectivity-service.DNSv4.domain", "example.org");
pref("network.connectivity-service.DNSv6.domain", "example.org");
+pref("network.connectivity-service.DNS_HTTPS.domain", "cloudflare-dns.com");
pref("network.connectivity-service.IPv4.url", "http://detectportal.firefox.com/success.txt?ipv4");
pref("network.connectivity-service.IPv6.url", "http://detectportal.firefox.com/success.txt?ipv6");
@@ -3555,6 +3544,18 @@ pref("reader.content_width", 3);
// The default relative line height in reader mode (1-9)
pref("reader.line_height", 4);
+// Determines if improved text and layout menu is enabled in reader mode.
+pref("reader.improved_text_menu.enabled", false);
+
+// The default character spacing in reader mode (1-9)
+pref("reader.character_spacing", "");
+
+// The default word spacing in reader mode (1-9)
+pref("reader.word_spacing", "");
+
+// The default text alignment direction in reader mode
+pref("reader.text_alignment", "start");
+
// The default color scheme in reader mode (light, dark, sepia, auto)
// auto = color automatically adjusts according to ambient light level
// (auto only works on platforms where the 'devicelight' event is enabled)
@@ -3671,6 +3672,12 @@ pref("browser.translations.chaos.timeoutMS", 0);
pref("browser.ml.enable", false);
// Set to "All" to see all logs, which are useful for debugging.
pref("browser.ml.logLevel", "Error");
+// Model hub root URL used to download models.
+pref("browser.ml.modelHubRootUrl", "https://model-hub.mozilla.org/");
+// Model URL template
+pref("browser.ml.modelHubUrlTemplate", "{model}/{revision}");
+// Model cache timeout in ms
+pref("browser.ml.modelCacheTimeout", 120000);
// When a user cancels this number of authentication dialogs coming from
// a single web page in a row, all following authentication dialogs will
diff --git a/modules/libpref/init/generate_static_pref_list.py b/modules/libpref/init/generate_static_pref_list.py
index 2c42df88f4..ad92fa8726 100644
--- a/modules/libpref/init/generate_static_pref_list.py
+++ b/modules/libpref/init/generate_static_pref_list.py
@@ -8,8 +8,9 @@ from collections import defaultdict
import buildconfig
import yaml
+from mozbuild.dirutils import ensureParentDir
from mozbuild.preprocessor import Preprocessor
-from mozbuild.util import FileAvoidWrite, ensureParentDir
+from mozbuild.util import FileAvoidWrite
from six import StringIO
VALID_KEYS = {