summaryrefslogtreecommitdiffstats
path: root/modules/libpref
diff options
context:
space:
mode:
Diffstat (limited to 'modules/libpref')
-rw-r--r--modules/libpref/init/StaticPrefList.yaml672
-rw-r--r--modules/libpref/init/all.js48
-rw-r--r--modules/libpref/nsIPrefBranch.idl1
-rw-r--r--modules/libpref/nsIPrefLocalizedString.idl8
-rw-r--r--modules/libpref/test/browser/browser_sanitization_events.js2
-rw-r--r--modules/libpref/test/unit/test_bug345529.js2
-rw-r--r--modules/libpref/test/unit/test_bug577950.js2
7 files changed, 580 insertions, 155 deletions
diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
index 82a2582c8a..835450712a 100644
--- a/modules/libpref/init/StaticPrefList.yaml
+++ b/modules/libpref/init/StaticPrefList.yaml
@@ -220,9 +220,9 @@
value: false
mirror: always
-- name: accessibility.ARIAReflection.enabled
+- name: accessibility.ARIAElementReflection.enabled
type: bool
- value: true
+ value: @IS_NIGHTLY_BUILD@
mirror: always
# Whether form controls and images should be focusable with mouse, in content
@@ -242,6 +242,12 @@
#endif
mirror: always
+# Whether to enable support for the UI Automation API on Windows.
+- name: accessibility.uia.enable
+ type: bool
+ value: false
+ mirror: always
+
# Whether to avoid accessibility activation on Windows shortly after clipboard
# copy.
#
@@ -254,6 +260,18 @@
value: 2
mirror: always
+# Whether to avoid accessibility activation on Windows shortly after max button
+# hit-test for the "snap layout" feature.
+#
+# Possible values are:
+# * 0: never
+# * 1: always
+# * 2 (or others): when needed
+- name: accessibility.windows.suppress-for-snap-layout
+ type: uint32_t
+ value: 2
+ mirror: always
+
#---------------------------------------------------------------------------
# Prefs starting with "alerts."
#---------------------------------------------------------------------------
@@ -1135,6 +1153,20 @@
#endif
mirror: always
+# DLP agent name, for display in the browser
+- name: browser.contentanalysis.agent_name
+ type: String
+ value: "A DLP agent"
+ mirror: never
+
+# (optional) The organization name that the DLP agent should have. If this is
+# non-empty and the DLP agent is not signed with this organization name,
+# Firefox will fail the connection.
+- name: browser.contentanalysis.client_signature
+ type: String
+ value: ""
+ mirror: never
+
# Content analysis by external applications, e.g. data-loss prevention apps
- name: browser.contentanalysis.enabled
type: bool
@@ -1160,12 +1192,41 @@
value: "path_user"
mirror: never
+# Space-separated list of regexs that are compared to URLs of resources
+# being checked by content-analysis. Resources that match are not checked
+# and are always permitted.
+- name: browser.contentanalysis.allow_url_regex_list
+ type: String
+ value: ""
+ mirror: never
+
+# Space-separated list of regexs that are compared to URLs of resources
+# being checked by content-analysis. Resources that match are not checked
+# and are always denied.
+- name: browser.contentanalysis.deny_url_regex_list
+ type: String
+ value: ""
+ mirror: never
+
# Should CA ignore the system setting and use silent notifications?
- name: browser.contentanalysis.silent_notifications
type: bool
value: false
mirror: always
+# Time (secs) after which content analysis operations are considered timed-out
+- name: browser.contentanalysis.agent_timeout
+ type: uint32_t
+ value: 30
+ mirror: always
+
+# Should Firefox show a notification or dialog when content analysis blocks
+# access?
+- name: browser.contentanalysis.show_blocked_result
+ type: bool
+ value: true
+ mirror: always
+
# Content blocking for Enhanced Tracking Protection
- name: browser.contentblocking.database.enabled
type: bool
@@ -1594,27 +1655,18 @@
value: 15000
mirror: always
-# Platform collection of data for session store
-- name: browser.sessionstore.platform_collection
+# Disable collection of data for session store using the native collector code,
+# instead use the older implementation that's not compatible with session
+# history in the parent (and thus Fission).
+- name: browser.sessionstore.disable_platform_collection
type: bool
-#if defined(ANDROID) || defined(MOZ_THUNDERBIRD)
- value: false
-#else
+#if defined(MOZ_THUNDERBIRD)
value: true
+#else
+ value: false
#endif
mirror: once
-
-# Platform collection of session storage data for session store
-- name: browser.sessionstore.collect_session_storage
- type: bool
- value: @IS_NOT_ANDROID@
- mirror: once
-
-# Platform collection of zoom data for session store
-- name: browser.sessionstore.collect_zoom
- type: bool
- value: @IS_NOT_ANDROID@
- mirror: once
+ do_not_use_directly: true
# Causes SessionStore to ignore non-final update messages from
# browser tabs that were not caused by a flush from the parent.
@@ -2324,11 +2376,6 @@
value: false
mirror: always
-- name: dom.domrequest.enabled
- type: RelaxedAtomicBool
- value: false
- mirror: always
-
# Only intended for fuzzing purposes, this will break mozPrintCallback, etc.
- name: dom.window_print.fuzzing.block_while_printing
type: bool
@@ -2344,7 +2391,7 @@
# see https://html.spec.whatwg.org/#the-popover-attribute
- name: dom.element.popover.enabled
type: RelaxedAtomicBool
- value: @IS_NIGHTLY_BUILD@
+ value: true
mirror: always
rust: true
@@ -2539,7 +2586,7 @@
# Control whether `navigator.clipboard.readText()` is exposed to content.
- name: dom.events.asyncClipboard.readText
type: bool
- value: @IS_EARLY_BETA_OR_EARLIER@
+ value: true
mirror: always
do_not_use_directly: true
@@ -2628,6 +2675,13 @@
value: false
mirror: always
+# Whether the spin buttons will always appear, or if they
+# will only appear when the input is focused or hovered.
+- name: dom.forms.number.hide_spin_buttons_when_no_hover_or_focus
+ type: bool
+ value: @IS_NIGHTLY_BUILD@
+ mirror: always
+
# Whether the Gamepad API is enabled
- name: dom.gamepad.enabled
type: bool
@@ -2722,6 +2776,13 @@
value: true
mirror: always
+# A pref that is used to slow down connection idle maintenance for testing
+# purposes.
+- name: dom.indexedDB.connectionIdleMaintenance.pauseOnConnectionThreadMs
+ type: RelaxedAtomicUint32
+ value: 0
+ mirror: always
+
# Whether or not indexedDB test mode is enabled.
- name: dom.indexedDB.testing
type: RelaxedAtomicBool
@@ -3033,11 +3094,6 @@
value: @IS_NIGHTLY_BUILD@
mirror: always
-- name: dom.media.webcodecs.force-osx-h264-enabled
- type: RelaxedAtomicBool
- value: false
- mirror: always
-
# Number of seconds of very quiet or silent audio before considering the audio
# inaudible.
- name: dom.media.silence_duration_for_audibility
@@ -3104,6 +3160,13 @@
value: 10
mirror: always
+# Whether to allow <object> and <embed> element loads to be retargeted to an
+# external application or download.
+- name: dom.navigation.object_embed.allow_retargeting
+ type: bool
+ value: false
+ mirror: always
+
# Network Information API
# This feature is not available on Firefox desktop. It exposes too much
# user information. Let's be consistent and disable it on Android.
@@ -3618,6 +3681,13 @@
value: false
mirror: always
+# If and only if true, support for Trusted Types
+# (https://w3c.github.io/trusted-types/dist/spec/) is enabled.
+- name: dom.security.trusted_types.enabled
+ type: RelaxedAtomicBool
+ value: False
+ mirror: always
+
# If true, all content requests will get upgraded to HTTPS://
# (some Firefox functionality requests, like OCSP will not be affected)
- name: dom.security.https_only_mode
@@ -4777,6 +4847,12 @@
value: true
mirror: always
+# Whether allowing using <tab> to move focus to root elements
+- name: dom.disable_tab_focus_to_root_element
+ type: bool
+ value: @IS_NIGHTLY_BUILD@
+ mirror: always
+
#---------------------------------------------------------------------------
# Prefs starting with "editor"
#---------------------------------------------------------------------------
@@ -5561,7 +5637,7 @@
value: 0
mirror: once
-#if defined(XP_MACOSX)
+#if defined(XP_DARWIN)
- name: gfx.cairo_quartz_cg_layer.enabled
type: bool
value: true
@@ -5698,6 +5774,12 @@
value: false
mirror: once
+# Whether OffscreenCanvas can use remote canvas
+- name: gfx.canvas.remote.allow-offscreen
+ type: RelaxedAtomicBool
+ value: true
+ mirror: always
+
# How many worker threads spawned for remote canvas
# -1 - Calculate based on processor cores
# 0 - No worker threads spawned, will do work on CanvasRenderThread
@@ -5820,7 +5902,7 @@
value: false
mirror: always
-#ifdef XP_MACOSX
+#ifdef XP_DARWIN
# Create specialized video-only layers for video content in
# fullscreen windows. Consistently works well on Apple Silicon,
# some issues remain on Intel hardware.
@@ -5834,7 +5916,7 @@
mirror: always
#endif
-#if defined(XP_MACOSX) && defined(NIGHTLY_BUILD)
+#if defined(XP_DARWIN) && defined(NIGHTLY_BUILD)
# Spoof the timing of the video sample instead of marking the untimed
# sample to be displayed immediately.
- name: gfx.core-animation.specialize-video.spoof-timing
@@ -5856,7 +5938,7 @@
mirror: always
#endif
-#ifdef XP_MACOSX
+#ifdef XP_DARWIN
- name: gfx.core-animation.low-power-telemetry-frames
type: int32_t
value: 600
@@ -6056,13 +6138,13 @@
mirror: once
- name: gfx.font_loader.delay
- type: uint32_t
+ type: RelaxedAtomicUint32
#if defined(XP_WIN)
value: 60000
#else
value: 8000
#endif
- mirror: once
+ mirror: always
# Disable antialiasing of Ahem, for use in tests.
- name: gfx.font_rendering.ahem_antialias_none
@@ -6070,7 +6152,7 @@
value: false
mirror: always
-#if defined(XP_MACOSX)
+#if defined(XP_DARWIN)
# Set to true to revert from HarfBuzz AAT shaping to the old Core Text
# backend.
- name: gfx.font_rendering.coretext.enabled
@@ -6205,6 +6287,11 @@
value: true
mirror: always
+- name: gfx.offscreencanvas.snapshot-timeout-ms
+ type: int32_t
+ value: 10000
+ mirror: always
+
- name: gfx.omta.background-color
type: bool
value: true
@@ -6617,7 +6704,7 @@
mirror: always
#endif
-#ifdef XP_MACOSX
+#ifdef XP_DARWIN
# Files show up in $HOME/Desktop/nativelayerdumps-PID/frame-123.html
- name: gfx.webrender.debug.dump-native-layer-tree-to-file
type: RelaxedAtomicBool
@@ -6724,7 +6811,7 @@
# for devices with weak GPUs, or when running SWGL.
- name: gfx.webrender.low-quality-pinch-zoom
type: bool
-#if defined(MOZ_WIDGET_ANDROID) && defined(NIGHTLY_BUILD)
+#if defined(MOZ_WIDGET_ANDROID)
value: true
#else
value: false
@@ -6741,10 +6828,14 @@
#endif
mirror: once
-# Enable NVIDIA RTX Video Super Resolution for video overlay on Windows
-# Note: This is also a setting in NVIDIA's driver settings, so once this is
-# stable, it should default to true
-- name: gfx.webrender.super-resolution.nvidia
+# Enable VideoProcessor Super Resolution for video overlay
+- name: gfx.webrender.overlay-vp-super-resolution
+ type: bool
+ value: false
+ mirror: once
+
+# Enable VideoProcessor-HDR on SDR content for video overlay
+- name: gfx.webrender.overlay-vp-auto-hdr
type: bool
value: false
mirror: once
@@ -7643,57 +7734,47 @@
value: true
mirror: always
-#if defined(ENABLE_WASM_RELAXED_SIMD)
- name: javascript.options.wasm_relaxed_simd
type: bool
+#if defined(ENABLE_WASM_RELAXED_SIMD)
value: @IS_NIGHTLY_BUILD@
+#else
+ value: false
+#endif
mirror: always
-#endif // defined(ENABLE_WASM_RELAXED_SIMD)
+ set_spidermonkey_pref: startup
-#if defined(ENABLE_WASM_MOZ_INTGEMM)
- name: javascript.options.wasm_moz_intgemm
type: bool
+#if defined(ENABLE_WASM_MOZ_INTGEMM)
value: @IS_NIGHTLY_BUILD@
+#else
+ value: false
+#endif
mirror: always
-#endif // defined(ENABLE_WASM_MOZ_INTGEMM)
-
-#if defined(ENABLE_WASM_EXTENDED_CONST)
-- name: javascript.options.wasm_extended_const
- type: bool
- value: true
- mirror: always
-#endif // defined(ENABLE_WASM_EXTENDED_CONST)
-
-- name: javascript.options.wasm_exceptions
- type: bool
- value: true
- mirror: always
+ set_spidermonkey_pref: startup
- name: javascript.options.wasm_exnref
type: bool
value: @IS_EARLY_BETA_OR_EARLIER@
mirror: always
+ set_spidermonkey_pref: startup
-#if defined(ENABLE_WASM_FUNCTION_REFERENCES)
-- name: javascript.options.wasm_function_references
- type: bool
- value: true
- mirror: always
-#endif // defined(ENABLE_WASM_FUNCTION_REFERENCES)
-
-#if defined(ENABLE_WASM_GC)
- name: javascript.options.wasm_gc
type: bool
+#if defined(ENABLE_WASM_GC)
value: true
+#else
+ value: false
+#endif
mirror: always
-#endif // defined(ENABLE_WASM_GC)
+ set_spidermonkey_pref: startup
-#if defined(ENABLE_WASM_MEMORY_CONTROL)
- name: javascript.options.wasm_memory_control
type: bool
value: false
mirror: always
-#endif // defined(ENABLE_WASM_MEMORY_CONTROL)
+ set_spidermonkey_pref: startup
#if defined(ENABLE_WASM_SIMD)
#if defined(JS_CODEGEN_X64) || defined(JS_CODEGEN_X86)
@@ -7706,19 +7787,47 @@
#endif
#endif
-#if defined(ENABLE_WASM_MEMORY64)
- name: javascript.options.wasm_memory64
type: bool
+#if defined(ENABLE_WASM_MEMORY64)
value: @IS_NIGHTLY_BUILD@
+#else
+ value: false
+#endif
mirror: always
-#endif // defined(ENABLE_WASM_MEMORY64)
+ set_spidermonkey_pref: startup
+
+- name: javascript.options.wasm_multi_memory
+ type: bool
+#if defined(ENABLE_WASM_MULTI_MEMORY)
+ value: true
+#else
+ value: false
+#endif
+ mirror: always
+ set_spidermonkey_pref: startup
+
+- name: javascript.options.wasm_js_string_builtins
+ type: bool
+ value: false
+ mirror: always
+ set_spidermonkey_pref: startup
-#if defined(ENABLE_WASM_TAIL_CALLS)
- name: javascript.options.wasm_tail_calls
type: bool
+#if defined(ENABLE_WASM_TAIL_CALLS)
value: true
+#else
+ value: false
+#endif
mirror: always
-#endif // defined(ENABLE_WASM_TAIL_CALLS)
+ set_spidermonkey_pref: startup
+
+- name: javascript.options.wasm_test_serialization
+ type: bool
+ value: false
+ mirror: always
+ set_spidermonkey_pref: startup
# Support for pretenuring allocations based on their allocation site.
- name: javascript.options.site_based_pretenuring
@@ -8202,6 +8311,13 @@
mirror: always
rust: true
+# Whether to respect align-content on blocks.
+- name: layout.css.align-content.blocks.enabled
+ type: RelaxedAtomicBool
+ value: true
+ mirror: always
+ rust: true
+
# Whether Container Queries are enabled
- name: layout.css.container-queries.enabled
type: RelaxedAtomicBool
@@ -8212,6 +8328,13 @@
# Whether content-box and stroke-box are enabled for transform-box.
- name: layout.css.transform-box-content-stroke.enabled
type: RelaxedAtomicBool
+ value: true
+ mirror: always
+ rust: true
+
+# Whether transition-behavior property is enabled?
+- name: layout.css.transition-behavior.enabled
+ type: RelaxedAtomicBool
value: @IS_NIGHTLY_BUILD@
mirror: always
rust: true
@@ -8371,7 +8494,7 @@
# Whether the `content-visibility` CSS property is enabled
- name: layout.css.content-visibility.enabled
type: RelaxedAtomicBool
- value: @IS_NIGHTLY_BUILD@
+ value: true
mirror: always
rust: true
@@ -8561,20 +8684,6 @@
mirror: always
rust: true
-# Is support for math-style enabled?
-- name: layout.css.math-style.enabled
- type: RelaxedAtomicBool
- value: true
- mirror: always
- rust: true
-
-# Is support for math-depth enabled?
-- name: layout.css.math-depth.enabled
- type: RelaxedAtomicBool
- value: true
- mirror: always
- rust: true
-
# Is -moz-osx-font-smoothing enabled? (Only supported in OSX builds)
- name: layout.css.osx-font-smoothing.enabled
type: bool
@@ -8769,9 +8878,9 @@
# numbers override as specified.
# Note that 1 still creates a thread-pool of one thread!
- name: layout.css.stylo-threads
- type: int32_t
+ type: RelaxedAtomicInt32
value: -1
- mirror: once
+ mirror: always
rust: true
# Stylo work unit size. This is the amount of nodes we'll process in a single
@@ -8876,6 +8985,12 @@
mirror: always
rust: true
+# UA styles for h1 in article/aside/nav/section. See bug 1883896.
+- name: layout.css.h1-in-section-ua-styles.enabled
+ type: RelaxedAtomicBool
+ value: @IS_NOT_NIGHTLY_BUILD@
+ mirror: always
+
# The maximum width or height of the cursor we should allow when intersecting
# the UI, in CSS pixels.
- name: layout.cursor.block.max-size
@@ -9196,12 +9311,6 @@
value: true
mirror: always
-# Handle scroll-anchoring adjustments as absolute scroll position updates.
-- name: layout.css.scroll-anchoring.absolute-update
- type: bool
- value: true
- mirror: always
-
# Are shared memory User Agent style sheets enabled?
- name: layout.css.shared-memory-ua-sheets.enabled
type: bool
@@ -9646,7 +9755,7 @@
# Is support for MediaKeys.getStatusForPolicy enabled?
- name: media.eme.hdcp-policy-check.enabled
type: bool
- value: false
+ value: @IS_NIGHTLY_OR_DEV_EDITION@
mirror: always
- name: media.eme.max-throughput-ms
@@ -9785,7 +9894,7 @@
mirror: always
#endif
-#ifdef MOZ_FFVPX
+
- name: media.rdd-ffvpx.enabled
type: RelaxedAtomicBool
#if defined(XP_WIN)
@@ -9802,7 +9911,6 @@
value: false
#endif
mirror: always
-#endif
#ifdef MOZ_WMF
- name: media.rdd-wmf.enabled
@@ -9946,12 +10054,10 @@
mirror: always
#endif
-#ifdef MOZ_FFVPX
- name: media.utility-ffvpx.enabled
type: RelaxedAtomicBool
value: true
mirror: always
-#endif
#ifdef MOZ_WMF
- name: media.utility-wmf.enabled
@@ -10048,13 +10154,11 @@
#endif
mirror: always
-#if defined(MOZ_FFMPEG) || defined(MOZ_FFVPX)
# Allow using openh264 decoding with ffmpeg
- name: media.ffmpeg.allow-openh264
type: RelaxedAtomicBool
value: @IS_NOT_NIGHTLY_BUILD@
mirror: always
-#endif # MOZ_FFMPEG || MOZ_FFVPX
#ifdef MOZ_WIDGET_GTK
# Use VA-API for ffmpeg video playback on Linux
@@ -10074,15 +10178,6 @@
mirror: once
#endif # MOZ_WIDGET_GTK
-- name: media.ffvpx.enabled
- type: RelaxedAtomicBool
-#ifdef MOZ_FFVPX
- value: true
-#else
- value: false
-#endif
- mirror: always
-
# Set to true in marionette tests to disable the sanity test
# which would lead to unnecessary start of the RDD process.
- name: media.sanity-test.disabled
@@ -10173,7 +10268,11 @@
# 2 : enable for encrypted only, 3 : enable for clear only
- name: media.wmf.media-engine.enabled
type: RelaxedAtomicUint32
+#if defined(NIGHTLY_BUILD)
+ value: 2
+#else
value: 0
+#endif
mirror: always
# Testing purpose, enable media engine on channel decoder as well.
@@ -10200,6 +10299,12 @@
value: 2
mirror: always
+# Bypass the gfx block list check for the media engine playback.
+- name: media.wmf.media-engine.bypass-gfx-blocklist
+ type: RelaxedAtomicBool
+ value: false
+ mirror: always
+
# [TEST-ONLY] Use Media Foundation Clearkey CDM for EME related testing.
- name: media.eme.wmf.clearkey.enabled
type: RelaxedAtomicBool
@@ -10217,8 +10322,8 @@
# Enable PlayReady DRM for EME
- name: media.eme.playready.enabled
type: RelaxedAtomicBool
-#if defined(MOZ_WMF_CDM) && defined(NIGHTLY_BUILD)
- value: false # TODO: enable this when ready to play.
+#if defined(MOZ_WMF_CDM) && defined(IS_NIGHTLY_OR_DEV_EDITION)
+ value: true
#else
value: false
#endif
@@ -10237,6 +10342,8 @@
type: RelaxedAtomicUint32
#if defined(NIGHTLY_BUILD)
value: 1
+#elif defined(MOZ_DEV_EDITION)
+ value: 2
#else
value: 0
#endif
@@ -11625,6 +11732,12 @@
value: 10
mirror: always
+# Max size, in bytes, for received HTTP response header.
+- name: network.http.max_response_header_size
+ type: RelaxedAtomicUint32
+ value: 393216
+ mirror: always
+
# This preference, if true, causes all UTF-8 domain names to be normalized to
# punycode. The intention is to allow UTF-8 domain names as input, but never
# generate them from punycode.
@@ -11768,10 +11881,228 @@
# Indicates whether the `fetchpriority` attribute for elements which support it
# (e.g. `<script>`) is enabled.
- name: network.fetchpriority.enabled
- type: bool
+ type: RelaxedAtomicBool
value: false
mirror: always
+# Adjustments to apply to the internal priority of <link rel=preload as=script
+# fetchpriority=low/high/auto> and equivalent Link header with respect to the
+# case when network.fetchpriority is disabled.
+# - When the flag is disabled, Gecko currently sets priority to HIGHEST.
+# - When the flag is enabled, it respectively maps to LOW/HIGHEST/HIGHEST.
+- name: network.fetchpriority.adjustments.link-preload-script.low
+ type: int32_t
+ value: 30
+ mirror: always
+- name: network.fetchpriority.adjustments.link-preload-script.high
+ type: int32_t
+ value: 0
+ mirror: always
+- name: network.fetchpriority.adjustments.link-preload-script.auto
+ type: int32_t
+ value: 0
+ mirror: always
+
+# Adjustments to apply to the internal priority of <script type="module"
+# fetchpriority=low/high/auto> with respect to the case when
+# network.fetchpriority is disabled.
+# - When the flag is disabled, Gecko currently sets priority to NORMAL.
+# - When the flag is enabled, it respectively maps to LOW/HIGH/NORMAL.
+- name: network.fetchpriority.adjustments.module-script.low
+ type: int32_t
+ value: 10
+ mirror: always
+- name: network.fetchpriority.adjustments.module-script.high
+ type: int32_t
+ value: -10
+ mirror: always
+- name: network.fetchpriority.adjustments.module-script.auto
+ type: int32_t
+ value: 0
+ mirror: always
+
+# Adjustments to apply to the internal priority of async or defer <script
+# fetchpriority=low/high/auto> with respect to the case when
+# network.fetchpriority is disabled.
+# - When the flag is disabled, Gecko currently sets priority to NORMAL.
+# - When the flag is enabled, it respectively maps to LOW/HIGH/NORMAL.
+- name: network.fetchpriority.adjustments.async-or-defer-script.low
+ type: int32_t
+ value: 10
+ mirror: always
+- name: network.fetchpriority.adjustments.async-or-defer-script.high
+ type: int32_t
+ value: -10
+ mirror: always
+- name: network.fetchpriority.adjustments.async-or-defer-script.auto
+ type: int32_t
+ value: 0
+ mirror: always
+
+# Adjustments to apply to the internal priority of <script
+# fetchpriority=low/high/auto> inside the <head>, with respect to the case when
+# network.fetchpriority is disabled.
+# - When the flag is disabled, Gecko currently sets priority to NORMAL.
+# - When the flag is enabled, it respectively maps to LOW/HIGH/NORMAL.
+- name: network.fetchpriority.adjustments.script-in-head.low
+ type: int32_t
+ value: 10
+ mirror: always
+- name: network.fetchpriority.adjustments.script-in-head.high
+ type: int32_t
+ value: -10
+ mirror: always
+- name: network.fetchpriority.adjustments.script-in-head.auto
+ type: int32_t
+ value: 0
+ mirror: always
+
+# Adjustments to apply to the internal priority of <script
+# fetchpriority=low/high/auto> (other than the scripts handled above) with
+# respect to the case when network.fetchpriority is disabled.
+# - When the flag is disabled, Gecko currently sets priority to NORMAL.
+# - When the flag is enabled, it respectively maps to LOW/HIGH/NORMAL.
+- name: network.fetchpriority.adjustments.other-script.low
+ type: int32_t
+ value: 10
+ mirror: always
+- name: network.fetchpriority.adjustments.other-script.high
+ type: int32_t
+ value: -10
+ mirror: always
+- name: network.fetchpriority.adjustments.other-script.auto
+ type: int32_t
+ value: 0
+ mirror: always
+
+# Adjustments to apply to the internal priority of <link rel=preload as=font
+# fetchpriority=low/high/auto> with respect to the case when
+# network.fetchpriority is disabled.
+# - When the flag is disabled, Gecko currently sets priority to HIGH.
+# - When the flag is enabled, it respectively maps to LOW/HIGH/HIGH.
+- name: network.fetchpriority.adjustments.link-preload-font.low
+ type: int32_t
+ value: 20
+ mirror: always
+- name: network.fetchpriority.adjustments.link-preload-font.high
+ type: int32_t
+ value: 0
+ mirror: always
+- name: network.fetchpriority.adjustments.link-preload-font.auto
+ type: int32_t
+ value: 0
+ mirror: always
+
+# Adjustments to apply to the internal priority of <link rel=preload as=fetch
+# fetchpriority=low/high/auto> with respect to the case when
+# network.fetchpriority is disabled.
+# - When the flag is disabled, Gecko currently sets priority to NORMAL.
+# - When the flag is enabled, it respectively maps to LOW/HIGH/NORMAL.
+- name: network.fetchpriority.adjustments.link-preload-fetch.low
+ type: int32_t
+ value: 10
+ mirror: always
+- name: network.fetchpriority.adjustments.link-preload-fetch.high
+ type: int32_t
+ value: -10
+ mirror: always
+- name: network.fetchpriority.adjustments.link-preload-fetch.auto
+ type: int32_t
+ value: 0
+ mirror: always
+
+# Adjustments to apply to the internal priority of deferred style for
+# fetchpriority=low/high/auto> with respect to the case when
+# network.fetchpriority is disabled.
+# - When the flag is disabled, Gecko currently sets priority to NORMAL.
+# - When the flag is enabled, it respectively maps to LOW/NORMAL/NORMAL.
+- name: network.fetchpriority.adjustments.deferred-style.low
+ type: int32_t
+ value: 10
+ mirror: always
+- name: network.fetchpriority.adjustments.deferred-style.high
+ type: int32_t
+ value: 0
+ mirror: always
+- name: network.fetchpriority.adjustments.deferred-style.auto
+ type: int32_t
+ value: 0
+ mirror: always
+
+# Adjustments to apply to the internal priority of <link rel=preload as=style
+# fetchpriority=low/high/auto> with respect to the case when
+# network.fetchpriority is disabled.
+# - When the flag is disabled, Gecko currently sets priority to HIGHEST.
+# - When the flag is enabled, it respectively maps to HIGH/HIGHEST/HIGHEST.
+- name: network.fetchpriority.adjustments.link-preload-style.low
+ type: int32_t
+ value: 10
+ mirror: always
+- name: network.fetchpriority.adjustments.link-preload-style.high
+ type: int32_t
+ value: 0
+ mirror: always
+- name: network.fetchpriority.adjustments.link-preload-style.auto
+ type: int32_t
+ value: 0
+ mirror: always
+
+# Adjustments to apply to the internal priority of other non-deferred
+# stylesheet load for fetchpriority=low/high/auto with respect to the case when
+# network.fetchpriority is disabled.
+# - When the flag is disabled, Gecko currently sets priority to NORMAL.
+# - When the flag is enabled, it respectively maps to HIGH/HIGHEST/NORMAL.
+- name: network.fetchpriority.adjustments.non-deferred-style.low
+ type: int32_t
+ value: 0
+ mirror: always
+- name: network.fetchpriority.adjustments.non-deferred-style.high
+ type: int32_t
+ value: -20
+ mirror: always
+- name: network.fetchpriority.adjustments.non-deferred-style.auto
+ type: int32_t
+ value: 0
+ mirror: always
+
+# Adjustments to apply to the internal priority of gloable fetch API
+# for fetchpriority=low/high/auto with respect to the case when
+# network.fetchpriority is disabled.
+# - When the flag is disabled, Gecko currently sets priority to NORMAL.
+# - When the flag is enabled, it respectively maps to LOW/HIGH/NORMAL.
+- name: network.fetchpriority.adjustments.global-fetch-api.low
+ type: RelaxedAtomicInt32
+ value: 10
+ mirror: always
+- name: network.fetchpriority.adjustments.global-fetch-api.high
+ type: RelaxedAtomicInt32
+ value: -10
+ mirror: always
+- name: network.fetchpriority.adjustments.global-fetch-api.auto
+ type: RelaxedAtomicInt32
+ value: 0
+ mirror: always
+
+# Adjustments to apply to the internal priority of <link rel=preload as=images
+# fetchpriority=low/high/auto> and <img fetchpriority=low/high/auto> with
+# respect to the case when network.fetchpriority is disabled.
+# - When the flag is disabled, Gecko currently sets priority to LOW.
+# - When the flag is enabled, it respectively maps to LOW/LOW/HIGH.
+# The image code can currently further adjust the priority for image load, see
+# imgRequest::BoostPriority and AdjustPriorityForImages.
+- name: network.fetchpriority.adjustments.images.low
+ type: int32_t
+ value: 0
+ mirror: always
+- name: network.fetchpriority.adjustments.images.high
+ type: int32_t
+ value: -20
+ mirror: always
+- name: network.fetchpriority.adjustments.images.auto
+ type: int32_t
+ value: 0
+ mirror: always
+
# Enables `<link rel="preconnect">` tag and `Link: rel=preconnect` response header
# handling.
- name: network.preconnect
@@ -11845,12 +12176,18 @@
value: true
mirror: always
-# Whether we can send OnDataAvailable to content process directly.
+# Whether we can send OnDataFinished to content process directly.
- name: network.send_OnDataFinished.nsInputStreamPump
type: RelaxedAtomicBool
value: true
mirror: always
+# Whether we can send OnDataFinished to cssLoader in content process.
+- name: network.send_OnDataFinished.cssLoader
+ type: RelaxedAtomicBool
+ value: @IS_EARLY_BETA_OR_EARLIER@
+ mirror: always
+
# Whether we can send send OnDataFinished only after dispatching
# all the progress events on the main thread
- name: network.send_OnDataFinished_after_progress_updates
@@ -11900,7 +12237,11 @@
# Use platform DNS APIs (where available) to resolve HTTPS queries
- name: network.dns.native_https_query
type: RelaxedAtomicBool
+#if defined(EARLY_BETA_OR_EARLIER) && !defined(XP_MACOSX)
+ value: true
+#else
value: false
+#endif
mirror: always
# DnsQuery_A is broken for HTTPS queries on Windows 10.
@@ -11957,6 +12298,18 @@
value: 5
mirror: always
+# Whether to use WPAD while configuring proxy with system settings
+- name: network.proxy.system_wpad
+ type: bool
+ value: false
+ mirror: always
+
+# Whether to allow the use of WPAD while configuring proxy with system settings
+- name: network.proxy.system_wpad.allowed
+ type: bool
+ value: false
+ mirror: always
+
# Whether the SOCKS proxy should be in charge of DNS resolution.
- name: network.proxy.socks_remote_dns
type: RelaxedAtomicBool
@@ -12713,22 +13066,18 @@
value: false
mirror: always
-# CacheStorageService::MemoryPool::PurgeByFrecency does a rather expensive
-# sort we cannot interrupt by an incoming cache operation, so we want the
-# purging to do some progress to not have just wasted cycles.
-# Initial default 0, see bug 1879814.
-- name: network.cache.purgebyfrecency_minprogress_disk
+# How much progress we want to do minimum when purging under pressure.
+# On disk, we may see blocking I/O, so for now we keep 0 here.
+- name: network.cache.purge_minprogress_disk
type: RelaxedAtomicUint32
value: 0
mirror: always
-# CacheStorageService::MemoryPool::PurgeByFrecency does a rather expensive
-# sort we cannot interrupt by an incoming cache operation, so we want the
-# purging to do at least some progress to not have just wasted cycles.
-# Initial default 0, see bug 1879814.
-- name: network.cache.purgebyfrecency_minprogress_memory
+# How much progress we want to do minimum when purging under pressure.
+# In memory, purging is cheap and memory is precious.
+- name: network.cache.purge_minprogress_memory
type: RelaxedAtomicUint32
- value: 0
+ value: 32
mirror: always
# When true we will dispatch a background task (separate process) to
@@ -12785,6 +13134,15 @@
value: true
mirror: always
+# When decompressing an archived entry we need to allocate a buffer
+# large enough to hold the uncompressed entry. This pref specifies the max
+# size of such a buffer.
+# When set to 0 there is no limit.
+- name: network.jar.max_entry_size
+ type: RelaxedAtomicUint32
+ value: 256*1024*1024 # 256 Mb
+ mirror: always
+
# When this pref is true, we will use the HTTPS acceptable content encoding
# list for trustworthy domains such as http://localhost
- name: network.http.encoding.trustworthy_is_https
@@ -14285,7 +14643,11 @@
- name: security.tls.enable_kyber
type: RelaxedAtomicBool
+#ifdef ANDROID
value: false
+#else
+ value: @IS_NIGHTLY_BUILD@
+#endif
mirror: always
- name: security.ssl.treat_unsafe_negotiation_as_broken
@@ -14507,6 +14869,12 @@
value: @IS_NOT_EARLY_BETA_OR_EARLIER@
mirror: always
+# Whether SVGAElement.text is enabled.
+- name: svg.SVGAElement.text.enabled
+ type: bool
+ value: false
+ mirror: always
+
# Tweak which elements are allowed in <svg:use> subtrees, and in which
# circumstances. See RemoveForbiddenNodes in SVGUseElement.cpp for the spec
# text.
@@ -14858,6 +15226,12 @@
value: @IS_ANDROID@
mirror: always
+# Delay in milliseconds for tooltips
+- name: ui.tooltip.delay_ms
+ type: uint32_t
+ value: 500
+ mirror: always
+
# If the user puts a finger down on an element and we think the user might be
# executing a pan gesture, how long do we wait before tentatively deciding the
# gesture is actually a tap and activating the target element?
@@ -14867,11 +15241,10 @@
mirror: always
# If the user has clicked an element, how long do we keep the :active state
-# before it is cleared by the mouse sequences fired after a
-# touchstart/touchend.
+# before it is cleared.
- name: ui.touch_activation.duration_ms
type: int32_t
- value: 10
+ value: 50
mirror: always
# Prevent system colors from being exposed to CSS or canvas.
@@ -15577,6 +15950,23 @@
mirror: always
#endif
+# Whether native GTK global menubar support is enabled.
+# Disabled because there are some minor bugs and it needs deeper integration
+# with the front-end.
+- name: widget.gtk.global-menu.enabled
+ type: RelaxedAtomicBool
+ value: false
+ mirror: always
+
+# Whether GTK global menubar support is enabled using wayland's experimental
+# dbus_annotation protocol:
+# https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/52
+# Disabled until it has a final shape and it is available in compositors.
+- name: widget.gtk.global-menu.wayland.enabled
+ type: RelaxedAtomicBool
+ value: false
+ mirror: always
+
# Whether native GTK context menus are enabled.
# Disabled because at the very least there's missing custom icon support.
- name: widget.gtk.native-context-menus
@@ -15615,6 +16005,12 @@
value: false
mirror: always
+# Whether to ignore middle click events on widget level.
+- name: widget.gtk.middle-click-enabled
+ type: bool
+ value: true
+ mirror: always
+
# Whether we enable rounded bottom corners on GTK by default.
#
# The implementation is a bit hacky (see details in bug 1850827) so behind a
@@ -15625,6 +16021,12 @@
mirror: always
rust: true
+# Whether non-native titlebar buttons are enabled for lightweight themes.
+- name: widget.gtk.non-native-titlebar-buttons.enabled
+ type: RelaxedAtomicBool
+ value: true
+ mirror: always
+
# Whether selection colors for the non-system theme get passed from the system
# GTK theme.
- name: widget.gtk.alt-theme.selection
@@ -15665,6 +16067,12 @@
value: 2
mirror: always
+# Whether to use gtk legacy cursor API.
+- name: widget.gtk.legacy-cursors.enabled
+ type: bool
+ value: false
+ mirror: always
+
# Whether to use gtk high contrast themes to disable content styling like on
# windows high contrast mode.
- name: widget.content.gtk-high-contrast.enabled
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
index 6e68b4d1db..7157f197e8 100644
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
@@ -335,6 +335,12 @@ pref("media.videocontrols.keyboard-tab-to-all-controls", true);
pref("media.peerconnection.ice.proxy_only", false);
pref("media.peerconnection.ice.proxy_only_if_pbmode", false);
pref("media.peerconnection.turn.disable", false);
+ pref("media.peerconnection.treat_warnings_as_errors", false);
+ #ifdef NIGHTLY_BUILD
+ pref("media.peerconnection.description.legacy.enabled", false);
+ #else
+ pref("media.peerconnection.description.legacy.enabled", true);
+ #endif
// 770 = DTLS 1.0, 771 = DTLS 1.2, 772 = DTLS 1.3
pref("media.peerconnection.dtls.version.min", 771);
@@ -621,6 +627,19 @@ pref("toolkit.telemetry.dap_helper", "https://dap.services.mozilla.com");
pref("toolkit.telemetry.dap_helper_owner", "Mozilla");
pref("toolkit.telemetry.dap.logLevel", "Warn");
+// pref for mozilla to induce a new ping from users. This value should only ever be increased
+// and doing so will induce a new data ping from all users, so be careful. Mozilla may edit
+// this pref via our remote update/experimentation system
+pref("toolkit.telemetry.user_characteristics_ping.current_version", 0);
+// pref containing the value for the user of the last version of the ping we sent
+// if a user wants to disable this type of ping explicitly, set this to -1
+// firefox/mozilla will not modify this value if a negative number is present.
+pref("toolkit.telemetry.user_characteristics_ping.last_version_sent", 0);
+// A unique identifier for the user characteristics ping. This is not the same as
+// the telemetry client id (which is not sent in this ping), it is cleared when a
+// user opts-out of telemetry, it is set upon first telemetry submission
+pref("toolkit.telemetry.user_characteristics_ping.uuid", "");
+
// AsyncShutdown delay before crashing in case of shutdown freeze
// ASan, TSan and code coverage builds can be considerably slower. Extend the
// grace period for both the asyncshutdown and the terminator.
@@ -717,6 +736,7 @@ pref("devtools.performance.recording.threads.remote", "[\"GeckoMain\",\"Composit
// build artifacts of local builds.
pref("devtools.performance.recording.objdirs", "[]");
pref("devtools.performance.recording.power.external-url", "");
+pref("devtools.performance.recording.markers.external-url", "");
// The popup will display some introductory text the first time it is displayed.
pref("devtools.performance.popup.intro-displayed", false);
@@ -1010,6 +1030,14 @@ pref("javascript.options.mem.gc_helper_thread_ratio", 50);
// JSGC_MAX_HELPER_THREADS
pref("javascript.options.mem.gc_max_helper_threads", 8);
+// Eager nursery collection parameters:
+// JSGC_NURSERY_EAGER_COLLECTION_THRESHOLD_KB
+pref("javascript.options.mem.nursery_eager_collection_threshold_kb", 256);
+// JSGC_NURSERY_EAGER_COLLECTION_THRESHOLD_PERCENT
+pref("javascript.options.mem.nursery_eager_collection_threshold_percent", 25);
+// JSGC_NURSERY_EAGER_COLLECTION_TIMEOUT_MS
+pref("javascript.options.mem.nursery_eager_collection_timeout_ms", 5000);
+
pref("javascript.options.shared_memory", true);
pref("javascript.options.throw_on_debuggee_would_run", false);
@@ -1066,8 +1094,8 @@ 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", false);
-pref("network.protocol-handler.external.firefox-private", 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
@@ -1264,9 +1292,6 @@ pref("network.http.enforce-framing.http1", false); // should be named "strict"
pref("network.http.enforce-framing.soft", true);
pref("network.http.enforce-framing.strict_chunked_encoding", true);
-// Max size, in bytes, for received HTTP response header.
-pref("network.http.max_response_header_size", 393216);
-
// The ratio of the transaction count for the focused window and the count of
// all available active connections.
pref("network.http.focused_window_transaction_ratio", "0.9");
@@ -3625,6 +3650,11 @@ pref("browser.translations.simulateUnsupportedEngine", false);
pref("browser.translations.chaos.errors", false);
pref("browser.translations.chaos.timeoutMS", 0);
+// Enable the experimental machine learning inference engine.
+pref("browser.ml.enable", false);
+// Set to "All" to see all logs, which are useful for debugging.
+pref("browser.ml.logLevel", "Error");
+
// When a user cancels this number of authentication dialogs coming from
// a single web page in a row, all following authentication dialogs will
// be blocked (automatically canceled) for that page. The counter resets
@@ -3936,11 +3966,7 @@ pref("security.external_protocol_requires_permission", true);
pref("extensions.formautofill.available", "detect");
pref("extensions.formautofill.addresses.supported", "detect");
pref("extensions.formautofill.addresses.enabled", true);
-#if defined(NIGHTLY_BUILD)
- pref("extensions.formautofill.addresses.capture.enabled", true);
-#else
- pref("extensions.formautofill.addresses.capture.enabled", false);
-#endif
+pref("extensions.formautofill.addresses.capture.enabled", true);
#if defined(ANDROID)
// On android we have custom logic to control this. Ideally we should use nimbus there as well.
// https://github.com/mozilla-mobile/firefox-android/blob/d566743ea0f041ce27c1204da903de380f96b46e/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt#L1502-L1510
@@ -3987,7 +4013,7 @@ pref("toolkit.osKeyStore.loglevel", "Warn");
pref("extensions.formautofill.supportRTL", false);
-// Controls the log level for CookieBannerListService.jsm.
+// Controls the log level for CookieBannerListService.sys.mjs.
pref("cookiebanners.listService.logLevel", "Error");
// Controls the log level for Cookie Banner Auto Clicking.
diff --git a/modules/libpref/nsIPrefBranch.idl b/modules/libpref/nsIPrefBranch.idl
index 4d60a616b2..8f03078398 100644
--- a/modules/libpref/nsIPrefBranch.idl
+++ b/modules/libpref/nsIPrefBranch.idl
@@ -494,7 +494,6 @@ interface nsIPrefBranch : nsISupports
%{C++
-#define NS_PREFBRANCH_CONTRACTID "@mozilla.org/preferencesbranch;1"
/**
* Notification sent when a preference changes.
*/
diff --git a/modules/libpref/nsIPrefLocalizedString.idl b/modules/libpref/nsIPrefLocalizedString.idl
index 236ce7acdf..a61f8ea979 100644
--- a/modules/libpref/nsIPrefLocalizedString.idl
+++ b/modules/libpref/nsIPrefLocalizedString.idl
@@ -21,14 +21,6 @@ interface nsIPrefLocalizedString : nsISupportsString {};
%{C++
-#define NS_PREFLOCALIZEDSTRING_CID \
- { /* {064d9cee-1dd2-11b2-83e3-d25ab0193c26} */ \
- 0x064d9cee, \
- 0x1dd2, \
- 0x11b2, \
- { 0x83, 0xe3, 0xd2, 0x5a, 0xb0, 0x19, 0x3c, 0x26 } \
- }
-
#define NS_PREFLOCALIZEDSTRING_CONTRACTID "@mozilla.org/pref-localizedstring;1"
%}
diff --git a/modules/libpref/test/browser/browser_sanitization_events.js b/modules/libpref/test/browser/browser_sanitization_events.js
index f71bd04879..5373478523 100644
--- a/modules/libpref/test/browser/browser_sanitization_events.js
+++ b/modules/libpref/test/browser/browser_sanitization_events.js
@@ -51,7 +51,7 @@ add_task(async function sanitized_pref_test() {
await BrowserTestUtils.withNewTab(
{ gBrowser, url: PAGE_URL },
- async function (browser) {}
+ async function () {}
);
// Needed because otherwise we advance too quickly
diff --git a/modules/libpref/test/unit/test_bug345529.js b/modules/libpref/test/unit/test_bug345529.js
index 05fce35f57..21a4fa5fa7 100644
--- a/modules/libpref/test/unit/test_bug345529.js
+++ b/modules/libpref/test/unit/test_bug345529.js
@@ -9,7 +9,7 @@ function run_test() {
var observer = {
QueryInterface: ChromeUtils.generateQI(["nsIObserver"]),
- observe: function observe(aSubject, aTopic, aState) {
+ observe: function observe() {
Services.prefs.removeObserver(PREF_NAME, observer);
},
};
diff --git a/modules/libpref/test/unit/test_bug577950.js b/modules/libpref/test/unit/test_bug577950.js
index f9106a349f..0da37b3a78 100644
--- a/modules/libpref/test/unit/test_bug577950.js
+++ b/modules/libpref/test/unit/test_bug577950.js
@@ -6,7 +6,7 @@ function run_test() {
var observer = {
QueryInterface: ChromeUtils.generateQI(["nsIObserver"]),
- observe: function observe(aSubject, aTopic, aState) {
+ observe: function observe() {
// Don't do anything.
},
};