From 500e8f793d4a7de6851cb4f66a6700c1fc497765 Mon Sep 17 00:00:00 2001 From: Bert van der Weerd Date: Mon, 3 May 2021 09:30:09 +0200 Subject: [PATCH] updates --- util/cfgdiff/StaticPrefList.yaml | 10942 ----------------------------- util/cfgdiff/librewolf.cfg | 2782 -------- util/cfgdiff/oakenpants.cfg | 1706 ----- util/cfgdiff/permissive.cfg | 2782 -------- util/cfgdiff/user.js | 1706 ----- 5 files changed, 19918 deletions(-) delete mode 100644 util/cfgdiff/StaticPrefList.yaml delete mode 100644 util/cfgdiff/librewolf.cfg delete mode 100644 util/cfgdiff/oakenpants.cfg delete mode 100644 util/cfgdiff/permissive.cfg delete mode 100644 util/cfgdiff/user.js diff --git a/util/cfgdiff/StaticPrefList.yaml b/util/cfgdiff/StaticPrefList.yaml deleted file mode 100644 index b2ebd34..0000000 --- a/util/cfgdiff/StaticPrefList.yaml +++ /dev/null @@ -1,10942 +0,0 @@ -# This Source Code Form is subject to the terms of the Mozilla Public -# License, v. 2.0. If a copy of the MPL was not distributed with this -# file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -# This file defines static prefs, i.e. those that are defined at startup and -# used entirely or mostly from C++ and/or Rust code. -# -# The file is separated into sections, where each section contains a group of -# prefs that all share the same first segment of their name -- all the "gfx.*" -# prefs are together, all the "network.*" prefs are together, etc. Sections -# must be kept in alphabetical order, but prefs within sections need not be. -# -# Basics -# ------ -# Any pref defined in one of the files included here should *not* be defined -# in a data file such as all.js; that would just be useless duplication. -# -# (Except under unusual circumstances where the value defined here must be -# overridden, e.g. for some Thunderbird prefs. In those cases the default -# value from the data file will override the static default value defined -# here.) -# -# Please follow the existing prefs naming convention when considering adding a -# new pref, and don't create a new pref group unless it's appropriate and there -# are likely to be multiple prefs within that group. (If you do, you'll need to -# update the `pref_groups` variable in modules/libpref/moz.build.) -# -# Definitions -# ----------- -# A pref definition looks like this: -# -# - name: # mandatory -# type: # mandatory -# value: # mandatory -# mirror: # mandatory -# do_not_use_directly: # optional -# include: # optional -# rust: # optional -# -# - `name` is the name of the pref, without double-quotes, as it appears -# in about:config. It is used in most libpref API functions (from both C++ -# and JS code). -# -# - `type` is one of `bool`, `int32_t`, `uint32_t`, `float`, an atomic version -# of one of those, or `String`. Note that float prefs are stored internally -# as strings. The C++ preprocessor doesn't like template syntax in a macro -# argument, so use the typedefs defined in StaticPrefsBase.h; for example, -# use `RelaxedAtomicBool` instead of `Atomic`. -# -# - `value` is the default value. Its type should be appropriate for -# , otherwise the generated code will fail to compile. A complex -# C++ numeric expressions like `60 * 60` (which the YAML parser cannot treat -# as an integer or float) is treated as a string and passed through without -# change, which is useful. -# -# - `mirror` indicates how the pref value is mirrored into a C++ variable. -# -# * `never`: There is no C++ mirror variable. The pref value can only be -# accessed via the standard libpref API functions. -# -# * `once`: The pref value is mirrored into a variable at startup; the -# mirror variable is left unchanged after that. (The exact point at which -# all `once` mirror variables are set is when the first `once` mirror -# variable is accessed, via its getter function.) This is mostly useful for -# graphics prefs where we often don't want a new pref value to apply until -# restart. Otherwise, this update policy is best avoided because its -# behaviour can cause confusion and bugs. -# -# * `always`: The mirror variable is always kept in sync with the pref value. -# This is the most common choice. -# -# When a mirror variable is present, a getter will be created that can access -# it. Using the getter function to read the pref's value has the two -# following advantages over the normal API functions. -# -# * A direct variable access is faster than a hash table lookup. -# -# * A mirror variable can be accessed off the main thread. If a pref *is* -# accessed off the main thread, it should have an atomic type. Assertions -# enforce this. -# -# Note that Rust code must access the mirror variable directly, rather than -# via the getter function. -# -# - `do_not_use_directly` indicates if `_DoNotUseDirectly` should be appended to -# the name of the getter function. This is simply a naming convention -# indicating that there is some other wrapper getter function that should be -# used in preference to the normal static pref getter. Defaults to `false` if -# not present. Cannot be used with a `never` mirror value, because there is -# no getter function in that case. -# -# - `include` names a header file that must be included for the pref value to -# compile correctly, e.g. because it refers to a code constant. System -# headers should be surrounded with angle brackets, e.g. ``. -# -# - `rust` indicates if the mirror variable is used by Rust code. If so, it -# will be usable via the `static_prefs::pref!` macro, e.g. -# `static_prefs::pref!("layout.css.font-display.enabled")`. -# -# The getter function's base name is the same as the pref's name, but with -# '.' or '-' chars converted to '_', to make a valid identifier. For example, -# the getter for `foo.bar_baz` is `foo_bar_baz()`. This is ugly but clear, -# and you can search for both the pref name and the getter using the regexp -# /foo.bar.baz/. Suffixes are added as follows: -# -# - If the `mirror` value is `once`, `_AtStartup` is appended, to indicate the -# value was obtained at startup. -# -# - If the `do_not_use_directly` value is true, `_DoNotUseDirectly` is -# appended. -# -# Preprocessor -# ------------ -# Note finally that this file is preprocessed by preprocessor.py, not the C++ -# preprocessor. As a result, the following things may be surprising. -# -# - YAML comments start with a '#', so putting a comment on the same line as a -# preprocessor directive is dubious. E.g. avoid lines like `#define X 3 # -# three` because the ` # three` will be part of `X`. -# -# - '@' use is required for substitutions to occur. E.g. with `#define FOO 1`, -# `FOO` won't be replaced with `1` unless it has '@' chars around it. -# -# - Spaces aren't permitted between the leading '#' and the name of a -# directive, e.g. `#ifdef XYZ` works but `# ifdef XYZ` does not. -# -# Please indent all prefs defined within #ifdef/#ifndef conditions. This -# improves readability, particular for conditional blocks that exceed a single -# screen. But note that the leading '-' in a definition must remain in the -# first column for it to be valid YAML. - -#ifdef RELEASE_OR_BETA -#define IS_NOT_RELEASE_OR_BETA false -#else -#define IS_NOT_RELEASE_OR_BETA true -#endif - -#ifdef NIGHTLY_BUILD -#define IS_NIGHTLY_BUILD true -#define IS_NOT_NIGHTLY_BUILD false -#else -#define IS_NIGHTLY_BUILD false -#define IS_NOT_NIGHTLY_BUILD true -#endif - -#if defined(NIGHTLY_BUILD) || defined(MOZ_DEV_EDITION) -#define IS_NIGHTLY_OR_DEV_EDITION true -#else -#define IS_NIGHTLY_OR_DEV_EDITION false -#endif - -#ifdef MOZILLA_OFFICIAL -#define IS_NOT_MOZILLA_OFFICIAL false -#else -#define IS_NOT_MOZILLA_OFFICIAL true -#endif - -#ifdef EARLY_BETA_OR_EARLIER -#define IS_EARLY_BETA_OR_EARLIER true -#define IS_NOT_EARLY_BETA_OR_EARLIER false -#else -#define IS_EARLY_BETA_OR_EARLIER false -#define IS_NOT_EARLY_BETA_OR_EARLIER true -#endif - -#ifdef ANDROID -#define IS_ANDROID true -#define IS_NOT_ANDROID false -#else -#define IS_ANDROID false -#define IS_NOT_ANDROID true -#endif - -#--------------------------------------------------------------------------- -# Prefs starting with "accessibility." -#--------------------------------------------------------------------------- - -- name: accessibility.accesskeycausesactivation - type: bool - value: true - mirror: always - -- name: accessibility.monoaudio.enable - type: RelaxedAtomicBool - value: false - mirror: always - -- name: accessibility.browsewithcaret - type: RelaxedAtomicBool - value: false - mirror: always - -- name: accessibility.AOM.enabled - type: bool - value: false - mirror: always - -- name: accessibility.ARIAReflection.enabled - type: bool - value: false - mirror: always - -# Whether form controls and images should be focusable with mouse, in content -# documents. -# -# This matches historical macOS / Safari behavior. -# -# * 0: never -# * 1: always -# * 2: on content documents -- name: accessibility.mouse_focuses_formcontrol - type: int32_t -#ifdef XP_MACOSX - value: 2 -#else - value: 1 -#endif - mirror: always - -#--------------------------------------------------------------------------- -# Prefs starting with "alerts." -#--------------------------------------------------------------------------- - -# Whether to use platform-specific backends for showing desktop notifications. -# If no such backend is available, or if the pref is false, then XUL -# notifications are used. -- name: alerts.useSystemBackend - type: bool -#ifdef XP_WIN - # Linux and macOS turn on system level notification as default, but Windows is - # disabled due to instability (dependencies of bug 1497425). - value: false -#else - value: true -#endif - mirror: always - - -#ifdef ANDROID - #--------------------------------------------------------------------------- - # Prefs starting with "android." - #--------------------------------------------------------------------------- - - # On Android, we want an opaque background to be visible under the page, - # so layout should not force a default background. -- name: android.widget_paints_background - type: bool - value: true - mirror: always - -- name: android.touch_resampling.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -#endif - -#--------------------------------------------------------------------------- -# Prefs starting with "apz." -# The apz prefs are explained in AsyncPanZoomController.cpp -#--------------------------------------------------------------------------- - -- name: apz.scrollbarbuttonrepeat.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.wr.activate_all_scroll_frames - type: RelaxedAtomicBool - value: false - mirror: always - -- name: apz.wr.activate_all_scroll_frames_when_fission - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.nonwr.activate_all_scroll_frames - type: RelaxedAtomicBool - value: false - mirror: always - -- name: apz.nonwr.activate_all_scroll_frames_when_fission - type: RelaxedAtomicBool - value: false - mirror: always - -- name: apz.prefer_jank_minimal_displayports - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.allow_double_tap_zooming - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.mac.enable_double_tap_zoom_touchpad_gesture - type: RelaxedAtomicBool - value: @IS_NIGHTLY_BUILD@ - mirror: always - -- name: apz.allow_immediate_handoff - type: RelaxedAtomicBool - value: false - mirror: always - -- name: apz.allow_zooming - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.allow_zooming_out - type: RelaxedAtomicBool - value: false - mirror: always - -- name: apz.android.chrome_fling_physics.friction - type: AtomicFloat - value: 0.015f - mirror: always - -- name: apz.android.chrome_fling_physics.inflexion - type: AtomicFloat - value: 0.35f - mirror: always - -- name: apz.android.chrome_fling_physics.stop_threshold - type: AtomicFloat - value: 0.1f - mirror: always - -- name: apz.autoscroll.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.axis_lock.breakout_angle - type: AtomicFloat - value: float(M_PI / 8.0) # 22.5 degrees - mirror: always - include: - -- name: apz.axis_lock.breakout_threshold - type: AtomicFloat - value: 1.0f / 32.0f - mirror: always - -- name: apz.axis_lock.direct_pan_angle - type: AtomicFloat - value: float(M_PI / 3.0) # 60 degrees - mirror: always - include: - -- name: apz.axis_lock.lock_angle - type: AtomicFloat - value: float(M_PI / 6.0) # 30 degrees - mirror: always - include: - -# Whether to lock touch scrolling to one axis at a time. -# 0 = FREE (No locking at all) -# 1 = STANDARD (Once locked, remain locked until scrolling ends) -# 2 = STICKY (Allow lock to be broken, with hysteresis) -- name: apz.axis_lock.mode - type: RelaxedAtomicInt32 - value: 2 - mirror: always - -- name: apz.content_response_timeout - type: RelaxedAtomicInt32 - value: 400 - mirror: always - -- name: apz.danger_zone_x - type: RelaxedAtomicInt32 - value: 50 - mirror: always - -- name: apz.danger_zone_y - type: RelaxedAtomicInt32 - value: 100 - mirror: always - -- name: apz.disable_for_scroll_linked_effects - type: RelaxedAtomicBool - value: false - mirror: always - -- name: apz.displayport_expiry_ms - type: RelaxedAtomicUint32 - value: 15000 - mirror: always - -- name: apz.drag.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.drag.initial.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.drag.touch.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.enlarge_displayport_when_clipped - type: RelaxedAtomicBool - value: @IS_ANDROID@ - mirror: always - -# Test only. -- name: apz.fixed-margin-override.enabled - type: RelaxedAtomicBool - value: false - mirror: always - -# Test only. -- name: apz.fixed-margin-override.bottom - type: RelaxedAtomicInt32 - value: 0 - mirror: always - -# Test only. -- name: apz.fixed-margin-override.top - type: RelaxedAtomicInt32 - value: 0 - mirror: always - -- name: apz.fling_accel_base_mult - type: AtomicFloat - value: 1.0f - mirror: always - -- name: apz.fling_accel_supplemental_mult - type: AtomicFloat - value: 1.0f - mirror: always - -- name: apz.fling_accel_min_fling_velocity - type: AtomicFloat - value: 1.5f - mirror: always - -- name: apz.fling_accel_min_pan_velocity - type: AtomicFloat - value: 0.8f - mirror: always - -- name: apz.fling_accel_max_pause_interval_ms - type: RelaxedAtomicInt32 - value: 50 - mirror: always - -- name: apz.fling_curve_function_x1 - type: float - value: 0.0f - mirror: once - -- name: apz.fling_curve_function_x2 - type: float - value: 1.0f - mirror: once - -- name: apz.fling_curve_function_y1 - type: float - value: 0.0f - mirror: once - -- name: apz.fling_curve_function_y2 - type: float - value: 1.0f - mirror: once - -- name: apz.fling_curve_threshold_inches_per_ms - type: AtomicFloat - value: -1.0f - mirror: always - -- name: apz.fling_friction - type: AtomicFloat - value: 0.002f - mirror: always - -- name: apz.fling_min_velocity_threshold - type: AtomicFloat - value: 0.5f - mirror: always - -- name: apz.fling_stop_on_tap_threshold - type: AtomicFloat - value: 0.05f - mirror: always - -- name: apz.fling_stopped_threshold - type: AtomicFloat - value: 0.01f - mirror: always - -- name: apz.touch_acceleration_factor_x - type: float - value: 1.0f - mirror: always - -- name: apz.touch_acceleration_factor_y - type: float - value: 1.0f - mirror: always - -# new scrollbar code for desktop zooming -- name: apz.force_disable_desktop_zooming_scrollbars - type: RelaxedAtomicBool - value: false - mirror: always - -#ifdef MOZ_WIDGET_GTK -- name: apz.gtk.kinetic_scroll.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.gtk.touchpad_pinch.enabled - type: RelaxedAtomicBool - value: true - mirror: always -#endif - -- name: apz.keyboard.enabled - type: bool - value: @IS_NOT_ANDROID@ - mirror: once - -- name: apz.keyboard.passive-listeners - type: RelaxedAtomicBool - value: @IS_NOT_ANDROID@ - mirror: always - -- name: apz.max_tap_time - type: RelaxedAtomicInt32 - value: 300 - mirror: always - -- name: apz.max_velocity_inches_per_ms - type: AtomicFloat - value: -1.0f - mirror: always - -- name: apz.max_velocity_queue_size - type: uint32_t - value: 5 - mirror: once - -- name: apz.min_skate_speed - type: AtomicFloat - value: 1.0f - mirror: always - -- name: apz.minimap.enabled - type: RelaxedAtomicBool - value: false - mirror: always - -- name: apz.mvm.force-enabled - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.one_touch_pinch.enabled - type: RelaxedAtomicBool - value: @IS_ANDROID@ - mirror: always - -- name: apz.overscroll.enabled - type: RelaxedAtomicBool - value: false - mirror: always - -- name: apz.overscroll.min_pan_distance_ratio - type: AtomicFloat - value: 1.0f - mirror: always - -- name: apz.overscroll.stop_distance_threshold - type: AtomicFloat - value: 5.0f - mirror: always - -- name: apz.paint_skipping.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.peek_messages.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -# Fetch displayport updates early from the message queue. -- name: apz.pinch_lock.mode - type: RelaxedAtomicInt32 - value: 1 - mirror: always - -- name: apz.pinch_lock.scroll_lock_threshold - type: AtomicFloat - value: 1.0f / 32.0f # 1/32 inches - mirror: always - -- name: apz.pinch_lock.span_breakout_threshold - type: AtomicFloat - value: 1.0f / 32.0f # 1/32 inches - mirror: always - -- name: apz.pinch_lock.span_lock_threshold - type: AtomicFloat - value: 1.0f / 32.0f # 1/32 inches - mirror: always - -- name: apz.pinch_lock.buffer_max_age - type: int32_t - value: 50 # milliseconds - mirror: once - -- name: apz.popups.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -# Whether to print the APZC tree for debugging. -- name: apz.printtree - type: RelaxedAtomicBool - value: false - mirror: always - -- name: apz.record_checkerboarding - type: RelaxedAtomicBool - value: @IS_NIGHTLY_BUILD@ - mirror: always - -- name: apz.second_tap_tolerance - type: AtomicFloat - value: 0.5f - mirror: always - -- name: apz.test.fails_with_native_injection - type: RelaxedAtomicBool - value: false - mirror: always - -- name: apz.test.logging_enabled - type: RelaxedAtomicBool - value: false - mirror: always - -- name: apz.touch_move_tolerance - type: AtomicFloat - value: 0.1f - mirror: always - -- name: apz.touch_start_tolerance - type: AtomicFloat - value: 0.1f - mirror: always - -- name: apz.velocity_bias - type: AtomicFloat - value: 0.0f - mirror: always - -- name: apz.velocity_relevance_time_ms - type: RelaxedAtomicUint32 - value: 100 - mirror: always - -- name: apz.windows.force_disable_direct_manipulation - type: RelaxedAtomicBool - value: false - mirror: always - -- name: apz.windows.use_direct_manipulation - type: RelaxedAtomicBool - value: true - mirror: always - -- name: apz.x_skate_highmem_adjust - type: AtomicFloat - value: 0.0f - mirror: always - -- name: apz.x_skate_size_multiplier - type: AtomicFloat - value: 1.25f - mirror: always - -- name: apz.x_stationary_size_multiplier - type: AtomicFloat - value: 1.5f - mirror: always - -- name: apz.y_skate_highmem_adjust - type: AtomicFloat - value: 0.0f - mirror: always - -- name: apz.y_skate_size_multiplier - type: AtomicFloat -#if defined(MOZ_WIDGET_ANDROID) - value: 1.5f -#else - value: 3.5f -#endif - mirror: always - -- name: apz.y_stationary_size_multiplier - type: AtomicFloat -#if defined(MOZ_WIDGET_ANDROID) - value: 1.5f -#else - value: 3.5f -#endif - mirror: always - -- name: apz.zoom_animation_duration_ms - type: RelaxedAtomicInt32 - value: 250 - mirror: always - -- name: apz.scale_repaint_delay_ms - type: RelaxedAtomicInt32 - value: 500 - mirror: always - -#--------------------------------------------------------------------------- -# Prefs starting with "beacon." -#--------------------------------------------------------------------------- - -# Is support for Navigator.sendBeacon enabled? -- name: beacon.enabled - type: bool - value: true - mirror: always - -#--------------------------------------------------------------------------- -# Prefs starting with "bidi." -#--------------------------------------------------------------------------- - -# Whether delete and backspace should immediately delete characters not -# visually adjacent to the caret, or adjust the visual position of the caret -# on the first keypress and delete the character on a second keypress -- name: bidi.edit.delete_immediately - type: bool - value: true - mirror: always - -# Bidi caret movement style: -# 0 = logical -# 1 = visual -# 2 = visual, but logical during selection -- name: bidi.edit.caret_movement_style - type: int32_t -#if !defined(XP_LINUX) && defined(NIGHTLY_BUILD) - value: 1 -#else - value: 2 # See Bug 1638240 -#endif - mirror: always - -#--------------------------------------------------------------------------- -# Prefs starting with "browser." -#--------------------------------------------------------------------------- - -- name: browser.active_color - type: String - value: "#EE0000" - mirror: never - -- name: browser.anchor_color - type: String - value: "#0000EE" - mirror: never - -# See http://dev.w3.org/html5/spec/forms.html#attr-fe-autofocus -- name: browser.autofocus - type: bool - value: true - mirror: always - -- name: browser.cache.offline.enable - type: bool - value: @IS_NOT_EARLY_BETA_OR_EARLIER@ - mirror: always - -- name: browser.cache.offline.storage.enable - type: bool - value: false - mirror: always - -- name: browser.cache.disk.enable - type: RelaxedAtomicBool - value: true - mirror: always - -- name: browser.cache.memory.enable - type: RelaxedAtomicBool - value: true - mirror: always - -# Limit of recent metadata we keep in memory for faster access, in KB. -- name: browser.cache.disk.metadata_memory_limit - type: RelaxedAtomicUint32 - value: 250 # 0.25 MB - mirror: always - -# Does the user want smart-sizing? -- name: browser.cache.disk.smart_size.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -# Disk cache capacity in kilobytes. It's used only when -# browser.cache.disk.smart_size.enabled == false -- name: browser.cache.disk.capacity - type: RelaxedAtomicUint32 - value: 256000 - mirror: always - -# -1 = determine dynamically, 0 = none, n = memory capacity in kilobytes. -- name: browser.cache.memory.capacity - type: RelaxedAtomicInt32 - value: -1 - mirror: always - -# When smartsizing is disabled we could potentially fill all disk space by -# cache data when the disk capacity is not set correctly. To avoid that we -# check the free space every time we write some data to the cache. The free -# space is checked against two limits. Once the soft limit is reached we start -# evicting the least useful entries, when we reach the hard limit writing to -# the entry fails. -- name: browser.cache.disk.free_space_soft_limit - type: RelaxedAtomicUint32 - value: 5 * 1024 # 5MB - mirror: always - -- name: browser.cache.disk.free_space_hard_limit - type: RelaxedAtomicUint32 - value: 1024 # 1MB - mirror: always - -# The number of chunks we preload ahead of read. One chunk currently has -# 256kB. -- name: browser.cache.disk.preload_chunk_count - type: RelaxedAtomicUint32 - value: 4 # 1 MB of read ahead - mirror: always - -# Max-size (in KB) for entries in disk cache. Set to -1 for no limit. -# (Note: entries bigger than 1/8 of disk-cache are never cached) -- name: browser.cache.disk.max_entry_size - type: RelaxedAtomicUint32 - value: 50 * 1024 # 50 MB - mirror: always - -# Max-size (in KB) for entries in memory cache. Set to -1 for no limit. -# (Note: entries bigger than than 90% of the mem-cache are never cached.) -- name: browser.cache.memory.max_entry_size - type: RelaxedAtomicInt32 - value: 5 * 1024 - mirror: always - -# Memory limit (in kB) for new cache data not yet written to disk. Writes to -# the cache are buffered and written to disk on background with low priority. -# With a slow persistent storage these buffers may grow when data is coming -# fast from the network. When the amount of unwritten data is exceeded, new -# writes will simply fail. We have two buckets, one for important data -# (priority) like html, css, fonts and js, and one for other data like images, -# video, etc. -# Note: 0 means no limit. -- name: browser.cache.disk.max_chunks_memory_usage - type: RelaxedAtomicUint32 - value: 40 * 1024 - mirror: always -- name: browser.cache.disk.max_priority_chunks_memory_usage - type: RelaxedAtomicUint32 - value: 40 * 1024 - mirror: always - -# Number of seconds the cache spends writing pending data and closing files -# after shutdown has been signalled. Past that time data is not written and -# files are left open for the OS to clean up. -- name: browser.cache.max_shutdown_io_lag - type: RelaxedAtomicUint32 - value: 2 - mirror: always - -# A percentage limit for media content type in the disk cache. When some entries -# need to be evicted and media is over the limit, it's evicted first. -- name: browser.cache.disk.content_type_media_limit - type: RelaxedAtomicInt32 - value: 50 - mirror: always - -# How often to validate document in cache -# 0 = once-per-session, -# 1 = each-time, -# 2 = never, -# 3 = when-appropriate/automatically -- name: browser.cache.check_doc_frequency - type: RelaxedAtomicUint32 - value: 3 - mirror: always - -- name: browser.contentblocking.database.enabled - type: bool - value: false - mirror: always - -# How many recent block/unblock actions per origins we remember in the -# Content Blocking log for each top-level window. -- name: browser.contentblocking.originlog.length - type: uint32_t - value: 32 - mirror: always - -- name: browser.display.background_color - type: String - value: "#FFFFFF" - mirror: never - -# 0 = always, except in high contrast mode -# 1 = always -# 2 = never -# -# Default to 0 on windows, 1 elsewhere. -- name: browser.display.document_color_use - type: RelaxedAtomicUint32 -#ifdef XP_WIN - value: 0 -#else - value: 1 -#endif - mirror: always - rust: true - -# This pref dictates whether or not backplates and background images -# are to be drawn, when in high-contrast mode: -# false: do not draw backplates or render background images -# true: render background images and draw backplates -# This condition is only considered when high-contrast mode is enabled -# in Firefox, ie. when the user has: -# (1) mUseAccessibilityMode set to true (Widows high-contrast mode is on) -# AND browser.display.document_color_use set to 0 -# (only with high-contrast themes) OR -# (2) browser.display.document_color_use set to 2 (always) -- name: browser.display.permit_backplate - type: RelaxedAtomicBool - value: true - mirror: always - rust: true - -# Whether we should suppress the background-image of the canvas (the root -# frame) if we're in forced colors mode. -# -# This is important because some sites use background-image with a plain color -# and it causes undesirable results in high-contrast mode. -# -# See bug 1614921 for example. -- name: browser.display.suppress_canvas_background_image_on_forced_colors - type: bool - value: true - mirror: always - -- name: browser.display.focus_ring_on_anything - type: bool - value: false - mirror: always - -- name: browser.display.focus_ring_width - type: uint32_t - value: 1 - mirror: always - -- name: browser.display.focus_background_color - type: String - value: "#117722" - mirror: never - -# Focus ring border style. -# 0 = solid border, 1 = dotted border -- name: browser.display.focus_ring_style - type: uint32_t - value: 1 - mirror: always - -- name: browser.display.focus_text_color - type: String - value: "#ffffff" - mirror: never -- name: browser.display.foreground_color - type: String - value: "#000000" - mirror: never - -# Whether focus rings are always shown by default. -# -# This is the initial value of nsWindowRoot::mShowFocusRings, but it can be -# overridden by system preferences. -- name: browser.display.show_focus_rings - type: bool - value: false - mirror: always - -# Whether we should always enable focus rings after focus was moved by keyboard. -# -# This behavior matches both historical and GTK / Windows focus behavior. -# -# :focus-visible is intended to provide better heuristics than this. -- name: browser.display.always_show_rings_after_key_focus - type: bool - value: false - mirror: always - -# In theory: 0 = never, 1 = quick, 2 = always, though we always just use it as -# a bool! -- name: browser.display.use_document_fonts - type: RelaxedAtomicInt32 - value: 1 - mirror: always - rust: true - -- name: browser.display.use_focus_colors - type: bool - value: false - mirror: always - -- name: browser.display.use_system_colors - type: bool - value: false - mirror: always - -- name: browser.dom.window.dump.enabled - type: RelaxedAtomicBool - value: @IS_NOT_MOZILLA_OFFICIAL@ - mirror: always - -- name: browser.download.sanitize_non_media_extensions - type: bool - value: true - mirror: always - -# Image document's automatic image sizing. -- name: browser.enable_automatic_image_resizing - type: bool - value: true - mirror: always - -# Image document's click-to-resize. -- name: browser.enable_click_image_resizing - type: bool - value: @IS_NOT_ANDROID@ - mirror: always - -# The max url length we'll store in history. -# -# The default value is mostly a guess based on various facts: -# -# * IE didn't support urls longer than 2083 chars -# * Sitemaps protocol used to support a maximum of 2048 chars -# * Various SEO guides suggest to not go over 2000 chars -# * Various apps/services are known to have issues over 2000 chars -# * RFC 2616 - HTTP/1.1 suggests being cautious about depending -# on URI lengths above 255 bytes -# -- name: browser.history.maxUrlLength - type: uint32_t - value: 2000 - mirror: always - -# Render animations and videos as a solid color -- name: browser.measurement.render_anims_and_video_solid - type: RelaxedAtomicBool - value: false - mirror: always - -- name: browser.navigation.requireUserInteraction - type: bool - value: false - mirror: always - -# Indicates if about:newtab shows content (enabled) or just blank. -- name: browser.newtabpage.enabled - type: bool - value: true - mirror: always - -# Open PDFs in Edge with the --app flag if it is the default. -- name: browser.pdf.launchDefaultEdgeAsApp - type: bool - value: true - mirror: always - -# Force usage of in-memory (rather than file on disk) media cache for video streaming when private browsing -- name: browser.privatebrowsing.forceMediaMemoryCache - type: bool - value: false - mirror: always - -# Blocked plugin content -- name: browser.safebrowsing.blockedURIs.enabled - type: bool - value: true - mirror: always - -# Malware protection -- name: browser.safebrowsing.malware.enabled - type: bool - value: true - mirror: always - -# Password protection -- name: browser.safebrowsing.passwords.enabled - type: bool - value: false - mirror: always - -# Phishing protection -- name: browser.safebrowsing.phishing.enabled - type: bool - value: true - mirror: always - -# Maximum size for an array to store the safebrowsing prefixset. -- name: browser.safebrowsing.prefixset_max_array_size - type: RelaxedAtomicUint32 - value: 512*1024 - mirror: always - -# ContentSessionStore prefs -# Maximum number of bytes of DOMSessionStorage data we collect per origin. -- name: browser.sessionstore.dom_storage_limit - type: uint32_t - value: 2048 - mirror: always - -# If set, use DocumentChannel to directly initiate loads entirely -# from parent-process BrowsingContexts -- name: browser.tabs.documentchannel.parent-controlled - type: bool - value: false - mirror: always - -- name: browser.tabs.remote.desktopbehavior - type: bool - value: false - mirror: always - -- name: browser.tabs.remote.force-paint - type: bool - value: true - mirror: always - -# When this pref is enabled document loads with a mismatched -# Cross-Origin-Embedder-Policy header will fail to load -- name: browser.tabs.remote.useCrossOriginEmbedderPolicy - type: RelaxedAtomicBool -#if !defined(ANDROID) - value: true -#else - value: false # Blocked by DocumentChannel, see Bug 1589982. -#endif - mirror: always - -# When this pref is enabled top level loads with a mismatched -# Cross-Origin-Opener-Policy header will be loaded in a separate process. -- name: browser.tabs.remote.useCrossOriginOpenerPolicy - type: RelaxedAtomicBool -#if !defined(ANDROID) - value: true -#else - value: false # Blocked by DocumentChannel, see Bug 1589982. -#endif - mirror: always - -# When true, zooming will be enabled on all sites, even ones that declare -# user-scalable=no. -- name: browser.ui.zoom.force-user-scalable - type: RelaxedAtomicBool - value: false - mirror: always - -- name: browser.underline_anchors - type: bool - value: true - mirror: always - -- name: browser.viewport.desktopWidth - type: RelaxedAtomicInt32 - value: 980 - mirror: always - -- name: browser.visited_color - type: String - value: "#551A8B" - mirror: never - -#--------------------------------------------------------------------------- -# Prefs starting with "canvas." -#--------------------------------------------------------------------------- - -# Limit for the canvas image cache. 0 means unlimited. -- name: canvas.image.cache.limit - type: int32_t - value: 0 - mirror: always - -# Add support for canvas path objects -- name: canvas.path.enabled - type: bool - value: true - mirror: always - -- name: canvas.capturestream.enabled - type: bool - value: true - mirror: always - -# Is support for CanvasRenderingContext2D.filter enabled? -- name: canvas.filters.enabled - type: bool - value: true - mirror: always - -# Provide ability to turn on support for canvas focus rings. -- name: canvas.focusring.enabled - type: bool - value: true - mirror: always - -# Is support for CanvasRenderingContext2D's hitRegion APIs enabled? -- name: canvas.hitregions.enabled - type: bool - value: false - mirror: always - -# Is support for CanvasRenderingContext2D's createConicGradient API enabled? -- name: canvas.createConicGradient.enabled - type: RelaxedAtomicBool - value: @IS_NIGHTLY_BUILD@ - mirror: always - -# Provide ability to turn on support for canvas mozGetAsFile API. -- name: canvas.mozgetasfile.enabled - type: bool - value: false - mirror: always - -#--------------------------------------------------------------------------- -# Prefs starting with "channelclassifier." -#--------------------------------------------------------------------------- - -- name: channelclassifier.allowlist_example - type: bool - value: false - mirror: always - -#--------------------------------------------------------------------------- -# Prefs starting with "clipboard." -#--------------------------------------------------------------------------- - -# Clipboard behavior. -- name: clipboard.autocopy - type: bool -#if !defined(ANDROID) && !defined(XP_MACOSX) && defined(XP_UNIX) - value: true -#else - value: false -#endif - mirror: always - -#--------------------------------------------------------------------------- -# Prefs starting with "consoleservice." -#--------------------------------------------------------------------------- - -#if defined(ANDROID) - # Disable sending console to logcat on release builds. -- name: consoleservice.logcat - type: RelaxedAtomicBool - value: @IS_NOT_RELEASE_OR_BETA@ - mirror: always -#endif - -#--------------------------------------------------------------------------- -# Prefs starting with "content." -#--------------------------------------------------------------------------- - -- name: content.cors.disable - type: bool - value: false - mirror: always - -# Back off timer notification after count. -# -1 means never. -- name: content.notify.backoffcount - type: int32_t - value: -1 - mirror: always - -# Notification interval in microseconds. -# The notification interval has a dramatic effect on how long it takes to -# initially display content for slow connections. The current value -# provides good incremental display of content without causing an increase -# in page load time. If this value is set below 1/10 of a second it starts -# to impact page load performance. -# See bugzilla bug 72138 for more info. -- name: content.notify.interval - type: int32_t - value: 120000 - mirror: always - -# Do we notify based on time? -- name: content.notify.ontimer - type: bool - value: true - mirror: always - -# How many times to deflect in interactive mode. -- name: content.sink.interactive_deflect_count - type: int32_t - value: 0 - mirror: always - -# How many times to deflect in perf mode. -- name: content.sink.perf_deflect_count - type: int32_t - value: 200 - mirror: always - -# Parse mode for handling pending events. -# 0 = don't check for pending events -# 1 = don't deflect if there are pending events -# 2 = bail if there are pending events -- name: content.sink.pending_event_mode - type: int32_t -# ifdef XP_WIN - value: 1 -# else - value: 0 -# endif - mirror: always - -# How often to probe for pending events. 1 = every token. -- name: content.sink.event_probe_rate - type: int32_t - value: 1 - mirror: always - -# How long to stay off the event loop in interactive mode. -- name: content.sink.interactive_parse_time - type: int32_t - value: 3000 - mirror: always - -# How long to stay off the event loop in perf mode. -- name: content.sink.perf_parse_time - type: int32_t - value: 360000 - mirror: always - -# How long to be in interactive mode after an event. -- name: content.sink.interactive_time - type: uint32_t - value: 750000 - mirror: always - -# How long to stay in perf mode after initial loading. -- name: content.sink.initial_perf_time - type: uint32_t - value: 2000000 - mirror: always - -# Should we switch between perf-mode and interactive-mode? -# 0 = Switch -# 1 = Interactive mode -# 2 = Perf mode -- name: content.sink.enable_perf_mode - type: int32_t - value: 0 - mirror: always - -#--------------------------------------------------------------------------- -# Prefs starting with "converter." -#--------------------------------------------------------------------------- - -# Whether we include ruby annotation in the text despite whether it -# is requested. This was true because we didn't explicitly strip out -# annotations. Set false by default to provide a better behavior, but -# we want to be able to pref-off it if user doesn't like it. -- name: converter.html2txt.always_include_ruby - type: bool - value: false - mirror: always - -#--------------------------------------------------------------------------- -# Prefs starting with "datareporting." -#--------------------------------------------------------------------------- - -- name: datareporting.healthreport.uploadEnabled - type: RelaxedAtomicBool - value: false - mirror: always - rust: true - -#--------------------------------------------------------------------------- -# Prefs starting with "device." -#--------------------------------------------------------------------------- - -# Is support for the device sensors API enabled? -- name: device.sensors.enabled - type: bool - value: true - mirror: always - -- name: device.sensors.ambientLight.enabled - type: bool - value: false - mirror: always - -- name: device.sensors.motion.enabled - type: bool - value: true - mirror: always - -- name: device.sensors.orientation.enabled - type: bool - value: true - mirror: always - -- name: device.sensors.proximity.enabled - type: bool - value: false - mirror: always - -- name: device.sensors.test.events - type: bool - value: false - mirror: always - -#--------------------------------------------------------------------------- -# Prefs starting with "devtools." -#--------------------------------------------------------------------------- - -# Tells if DevTools have been explicitely enabled by the user. This pref -# allows to disable all features related to DevTools for users that never use -# them. Until bug 1361080 lands, we always consider them enabled. -- name: devtools.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -- name: devtools.console.stdout.chrome - type: RelaxedAtomicBool - value: @IS_NOT_MOZILLA_OFFICIAL@ - mirror: always - -- name: devtools.console.stdout.content - type: RelaxedAtomicBool - value: false - mirror: always - -- name: devtools.toolbox.force-chrome-prefs - type: RelaxedAtomicBool - value: true - mirror: always - -#--------------------------------------------------------------------------- -# Prefs starting with "docshell." -#--------------------------------------------------------------------------- - -# Used to indicate whether session history listeners should be notified -# about content viewer eviction. Used only for testing. -- name: docshell.shistory.testing.bfevict - type: bool - value: false - mirror: always - -# If true, pages with an opener won't be bfcached. -- name: docshell.shistory.bfcache.require_no_opener - type: bool - value: false - mirror: always - -# If true, page with beforeunload or unload event listeners can be bfcached. -- name: docshell.shistory.bfcache.allow_unload_listeners - type: bool - value: false - mirror: always - -#--------------------------------------------------------------------------- -# Prefs starting with "dom." -#--------------------------------------------------------------------------- - -# Whether window.mozPaintCount is exposed to the web. -- name: dom.mozPaintCount.enabled - type: bool - value: false - mirror: always - -# Allow cut/copy -- name: dom.allow_cut_copy - type: bool - value: true - mirror: always - -- name: dom.allow_XUL_XBL_for_file - type: bool - value: false - mirror: always - -# Checks if offscreen animation throttling is enabled. -- name: dom.animations.offscreen-throttling - type: bool - value: true - mirror: always - -# Is support for automatically removing replaced filling animations enabled? -- name: dom.animations-api.autoremove.enabled - type: bool - value: true - mirror: always - -# Is support for composite operations from the Web Animations API enabled? -- name: dom.animations-api.compositing.enabled - type: bool - value: true - mirror: always - -# Is support for the core interfaces of Web Animations API enabled? -- name: dom.animations-api.core.enabled - type: bool - value: true - mirror: always - -# Is support for Document.getAnimations() and Element.getAnimations() -# supported? -- name: dom.animations-api.getAnimations.enabled - type: bool - value: true - mirror: always - -# Is support for animations from the Web Animations API without 0%/100% -# keyframes enabled? -- name: dom.animations-api.implicit-keyframes.enabled - type: bool - value: true - mirror: always - -# Is support for timelines from the Web Animations API enabled? -- name: dom.animations-api.timelines.enabled - type: bool - value: true - mirror: always - -# Synchronize transform animations with geometric animations on the -# main thread. -- name: dom.animations.mainthread-synchronization-with-geometric-animations - type: bool - value: @IS_NOT_NIGHTLY_BUILD@ - mirror: always - -# Is support for AudioWorklet enabled? -- name: dom.audioworklet.enabled - type: bool - value: true - mirror: always - -# Is support for Navigator.getBattery enabled? -- name: dom.battery.enabled - type: bool - value: true - mirror: always - -# Block multiple external protocol URLs in iframes per single event. -- name: dom.block_external_protocol_in_iframes - type: bool - value: true - mirror: always - -# Block Insecure downloads from Secure Origins -- name: dom.block_download_insecure - type: bool - value: @IS_NIGHTLY_BUILD@ - mirror: always - -# Block all downloads in iframes with the sandboxed attribute -- name: dom.block_download_in_sandboxed_iframes - type: bool - value: true - mirror: always - -# Block multiple window.open() per single event. -- name: dom.block_multiple_popups - type: bool - value: true - mirror: always - -# The maximum number of popup that is allowed to be opened. Set to -1 for no -# limit. -- name: dom.popup_maximum - type: int32_t - value: 20 - mirror: always - -# Whether window.location.reload() and window.history.go(0) should be blocked -# if called directly from a window resize event handler. -# -# This used to be necessary long ago to prevent terrible UX when using stuff -# like TypeAheadFind (bug 258917), but it also causes compat issues on mobile -# (bug 1570566). -# -# So for now disable it on Android and Desktop Nightly, to see if we have any -# desktop regression before removing it completely. Note that this means that -# non-nightly RDM behaves different than Android in this case. -- name: dom.block_reload_from_resize_event_handler - type: bool -#if defined(MOZ_WIDGET_ANDROID) || defined(NIGHTLY_BUILD) - value: false -#else - value: true -#endif - mirror: always - -# SW Cache API -- name: dom.caches.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -- name: dom.caches.testing.enabled - type: RelaxedAtomicBool - value: false - mirror: always - -# Disable capture attribute for input elements; only supported on GeckoView. -- name: dom.capture.enabled - type: bool - value: false - mirror: always - -# Allow control characters appear in composition string. -# When this is false, control characters except -# CHARACTER TABULATION (horizontal tab) are removed from -# both composition string and data attribute of compositionupdate -# and compositionend events. -- name: dom.compositionevent.allow_control_characters - type: bool - value: false - mirror: always - -# Is support for CSSPseudoElement enabled? -- name: dom.css_pseudo_element.enabled - type: bool - value: false - mirror: always - -# After how many seconds we allow external protocol URLs in iframe when not in -# single events -- name: dom.delay.block_external_protocol_in_iframes - type: uint32_t - value: 10 # in seconds - mirror: always - -# Whether the above pref has any effect at all. -- name: dom.delay.block_external_protocol_in_iframes.enabled - type: bool - value: @IS_NOT_NIGHTLY_BUILD@ - mirror: always - -# HTML element -- name: dom.dialog_element.enabled - type: bool - value: @IS_NIGHTLY_BUILD@ - mirror: always - -# Only propagate the open window click permission if the setTimeout() is equal -# to or less than this value. -- name: dom.disable_open_click_delay - type: int32_t - value: 1000 - mirror: always - -- name: dom.disable_open_during_load - type: bool - value: false - mirror: always - -- name: dom.disable_beforeunload - type: bool - value: false - mirror: always - -- name: dom.require_user_interaction_for_beforeunload - type: bool - value: true - mirror: always - -# If set this to true, `Document.execCommand` may be performed nestedly. -# Otherwise, nested calls just return false. -- name: dom.document.exec_command.nested_calls_allowed - type: bool - value: false - mirror: always - -- name: dom.enable_window_print - type: bool - value: @IS_NOT_ANDROID@ - mirror: always - -# Only intended for fuzzing purposes, this will break mozPrintCallback, etc. -- name: dom.window_print.fuzzing.block_while_printing - type: bool - value: false - mirror: always - -- name: dom.element.transform-getters.enabled - type: bool - value: false - mirror: always - -# Is support for Performance.mozMemory enabled? -- name: dom.enable_memory_stats - type: bool - value: false - mirror: always - -# Enable Performance API -# Whether nonzero values can be returned from performance.timing.* -- name: dom.enable_performance - type: RelaxedAtomicBool - value: true - mirror: always - -# Enable Performance Observer API -- name: dom.enable_performance_observer - type: RelaxedAtomicBool - value: true - mirror: always - -# Whether resource timing will be gathered and returned by performance.GetEntries* -- name: dom.enable_resource_timing - type: bool - value: true - mirror: always - -# Whether event timing will be gathered and returned by performance observer* -- name: dom.enable_event_timing - type: RelaxedAtomicBool - value: @IS_NIGHTLY_BUILD@ - mirror: always - -# Whether performance.GetEntries* will contain an entry for the active document -- name: dom.enable_performance_navigation_timing - type: bool - value: true - mirror: always - -# If this is true, it's allowed to fire "cut", "copy" and "paste" events. -# Additionally, "input" events may expose clipboard content when inputType -# is "insertFromPaste" or something. -- name: dom.event.clipboardevents.enabled - type: bool - value: true - mirror: always - -# Whether touch event listeners are passive by default. -- name: dom.event.default_to_passive_touch_listeners - type: bool - value: true - mirror: always - -# Whether wheel listeners are passive by default. -- name: dom.event.default_to_passive_wheel_listeners - type: bool - value: true - mirror: always - -# Whether WheelEvent should return pixels instead of lines for -# WheelEvent.deltaX/Y/Z, when deltaMode hasn't been checked. -# -# Other browsers don't use line deltas and websites forget to check for it, see -# bug 1392460. -- name: dom.event.wheel-deltaMode-lines.disabled - type: bool - value: true - mirror: always - -# Mostly for debugging. Whether we should do the same as -# dom.event.wheel-deltaMode-lines.disabled, but unconditionally rather than -# only when deltaMode hasn't been checked. -- name: dom.event.wheel-deltaMode-lines.always-disabled - type: bool - value: false - mirror: always - -# A blocklist (list of domains) for the -# dom.event.wheel-deltaMode-lines.disabled behavior, in case potential -# unforeseen problems with it arrive. -- name: dom.event.wheel-deltaMode-lines.always-enabled - type: String - value: "" - mirror: never - -#if defined(XP_MACOSX) -# Whether to disable treating ctrl click as right click -- name: dom.event.treat_ctrl_click_as_right_click.disabled - type: bool - value: @IS_NIGHTLY_BUILD@ - mirror: always -#endif - -# Whether .offset{X,Y} for events targeted at SVG nodes returns bounds relative -# to the outer SVG. -- name: dom.events.offset-in-svg-relative-to-svg-root - type: bool - value: true - mirror: always - -# Enable clipboard readText() and writeText() by default -- name: dom.events.asyncClipboard - type: bool - value: true - mirror: always - -# Disable ClipboardItem and clipboard.read/write by default -- name: dom.events.asyncClipboard.clipboardItem - type: bool - value: false - mirror: always - -# Should only be enabled in tests. -# Access with Clipboard::IsTestingPrefEnabled(). -- name: dom.events.testing.asyncClipboard - type: bool - value: false - mirror: always - do_not_use_directly: true - -# This pref controls whether or not the `protected` dataTransfer state is -# enabled. If the `protected` dataTransfer stae is disabled, then the -# DataTransfer will be read-only whenever it should be protected, and will not -# be disconnected after a drag event is completed. -- name: dom.events.dataTransfer.protected.enabled - type: bool - value: false - mirror: always - -# User interaction timer interval, in ms -- name: dom.events.user_interaction_interval - type: uint32_t - value: 5000 - mirror: always - -# Whether to try to compress touchmove events on IPC layer. -- name: dom.events.compress.touchmove - type: bool - value: true - mirror: always - -# Whether to expose test interfaces of various sorts -- name: dom.expose_test_interfaces - type: bool - value: false - mirror: always - -- name: dom.fetchObserver.enabled - type: RelaxedAtomicBool - value: false - mirror: always - -# Allow the content process to create a File from a path. This is allowed just -# on parent process, on 'file' Content process, or for testing. -- name: dom.file.createInChild - type: RelaxedAtomicBool - value: false - mirror: always - -# Support @autocomplete values for form autofill feature. -- name: dom.forms.autocomplete.formautofill - type: bool - value: false - mirror: always - -# Only trusted submit event could trigger form submission. -- name: dom.forms.submit.trusted_event_only - type: bool - value: false - mirror: always - -# This pref just controls whether we format the number with grouping separator -# characters when the internal value is set or updated. It does not stop the -# user from typing in a number and using grouping separators. -- name: dom.forms.number.grouping - type: bool - value: false - mirror: always - -# Whether the Gamepad API is enabled -- name: dom.gamepad.enabled - type: bool - value: true - mirror: always - -# Is Gamepad Extension API enabled? -- name: dom.gamepad.extensions.enabled - type: bool - value: true - mirror: always - -# Is LightIndicator API enabled in Gamepad Extension API? -- name: dom.gamepad.extensions.lightindicator - type: bool - value: false - mirror: always - -# Is MultiTouch API enabled in Gamepad Extension API? -- name: dom.gamepad.extensions.multitouch - type: bool - value: false - mirror: always - -# Is Gamepad vibrate haptic feedback function enabled? -- name: dom.gamepad.haptic_feedback.enabled - type: bool - value: true - mirror: always - -- name: dom.gamepad.non_standard_events.enabled - type: bool - value: @IS_NOT_RELEASE_OR_BETA@ - mirror: always - -- name: dom.gamepad.test.enabled - type: bool - value: false - mirror: always - -# W3C draft ImageCapture API -- name: dom.imagecapture.enabled - type: bool - value: false - mirror: always - -# -# -# See https://github.com/whatwg/html/pull/3752 -- name: dom.image-lazy-loading.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -# The root margin for image lazy loading, defined as four (value, percentage) -# pairs. -# -# (0px, 0px, 0px, 0px) by default, for now. We could also consider an -# adaptative version of this. -- name: dom.image-lazy-loading.root-margin.top - type: float - value: 300 - mirror: always - -- name: dom.image-lazy-loading.root-margin.top.percentage - type: bool - value: false - mirror: always - -- name: dom.image-lazy-loading.root-margin.bottom - type: float - value: 300 - mirror: always - -- name: dom.image-lazy-loading.root-margin.bottom.percentage - type: bool - value: false - mirror: always - -- name: dom.image-lazy-loading.root-margin.left - type: float - value: 300 - mirror: always - -- name: dom.image-lazy-loading.root-margin.left.percentage - type: bool - value: false - mirror: always - -- name: dom.image-lazy-loading.root-margin.right - type: float - value: 300 - mirror: always - -- name: dom.image-lazy-loading.root-margin.right.percentage - type: bool - value: false - mirror: always - -# Enable passing the "storage" option to indexedDB.open. -- name: dom.indexedDB.storageOption.enabled - type: RelaxedAtomicBool - value: false - mirror: always - -# Enable indexedDB in private browsing mode. -- name: dom.indexedDB.privateBrowsing.enabled - type: RelaxedAtomicBool - value: false - mirror: always - -- name: dom.input_events.beforeinput.enabled - type: bool - value: true - mirror: always - -# Whether innerWidth / innerHeight return rounded or fractional sizes. -# -# NOTE(emilio): Fractional sizes are not web-compatible, see the regressions -# from bug 1676843, but we want to expose the fractional sizes (probably in -# another API) one way or another, see [1], so we're keeping the code for the -# time being. -# -# [1]: https://github.com/w3c/csswg-drafts/issues/5260 -- name: dom.innerSize.rounded - type: bool - value: true - mirror: always - -# Whether we conform to Input Events Level 1 or Input Events Level 2. -# true: conforming to Level 1 -# false: conforming to Level 2 -- name: dom.input_events.conform_to_level_1 - type: bool - value: true - mirror: always - -# Whether we allow BrowsingContextGroup to suspend input events -- name: dom.input_events.canSuspendInBCG.enabled - type: bool - value: false - mirror: always - -# Enable not moving the cursor to end when a text input or textarea has .value -# set to the value it already has. By default, enabled. -- name: dom.input.skip_cursor_move_for_same_value_set - type: bool - value: true - mirror: always - -- name: dom.IntersectionObserver.enabled - type: bool - value: true - mirror: always - -- name: dom.IntersectionObserverExplicitDocumentRoot.enabled - type: bool - value: true - mirror: always - -- name: dom.ipc.cancel_content_js_when_navigating - type: bool - value: true - mirror: always - -# How often to check for CPOW timeouts (ms). CPOWs are only timed -# out by the hang monitor. -- name: dom.ipc.cpow.timeout - type: uint32_t - value: 500 - mirror: always - -#ifdef MOZ_ENABLE_FORKSERVER -- name: dom.ipc.forkserver.enable - type: bool - value: false - mirror: once -#endif - -# Whether or not to collect a paired minidump when force-killing a -# content process. -- name: dom.ipc.tabs.createKillHardCrashReports - type: bool - value: @IS_NOT_RELEASE_OR_BETA@ - mirror: once - -# Allow Flash async drawing mode in 64-bit release builds. -- name: dom.ipc.plugins.asyncdrawing.enabled - type: RelaxedAtomicBool - value: true - mirror: always - -# How long we wait before unloading an idle plugin process. -- name: dom.ipc.plugins.unloadTimeoutSecs - type: RelaxedAtomicUint32 - value: 30 - mirror: always - -- name: dom.ipc.plugins.allow_dxgi_surface - type: bool - value: true - mirror: always - -# Enable e10s hang monitoring (slow script checking and plugin hang detection). -- name: dom.ipc.processHangMonitor - type: bool - value: true - mirror: once - -# Whether we report such process hangs -- name: dom.ipc.reportProcessHangs - type: RelaxedAtomicBool -# Don't report hangs in DEBUG builds. They're too slow and often a -# debugger is attached. -#ifdef DEBUG - value: false -#else - value: true -#endif - mirror: always - -- name: dom.ipc.tabs.disabled - type: bool - value: false - mirror: always - -# Process launch delay (in milliseconds). -- name: dom.ipc.processPrelaunch.delayMs - type: uint32_t -# This number is fairly arbitrary ... the intention is to put off -# launching another app process until the last one has finished -# loading its content, to reduce CPU/memory/IO contention. - value: 1000 - mirror: always - -- name: dom.ipc.processPrelaunch.startupDelayMs - type: uint32_t -# delay starting content processes for a short time after browser start -# to provide time for the UI to come up - value: 1000 - mirror: always - -# Process preallocation cache -# Only used in fission; in e10s we use 1 always -- name: dom.ipc.processPrelaunch.fission.number - type: uint32_t - value: 3 - mirror: always - -- name: dom.ipc.processPriorityManager.enabled - type: bool - value: false - mirror: always - -- name: dom.ipc.processPriorityManager.testMode - type: bool - value: false - mirror: always - -- name: dom.ipc.processPriorityManager.backgroundPerceivableGracePeriodMS - type: uint32_t - value: 0 - mirror: always - -- name: dom.ipc.processPriorityManager.backgroundGracePeriodMS - type: uint32_t - value: 0 - mirror: always - -# Is support for HTMLElement.autocapitalize enabled? -- name: dom.forms.autocapitalize - type: bool - value: @IS_NIGHTLY_BUILD@ - mirror: always - -# Support for input type=month, type=week and type=datetime-local. By default, -# disabled. -- name: dom.forms.datetime.others - type: bool - value: @IS_ANDROID@ - mirror: always - -# Is support for HTMLElement.enterKeyHint enabled? -- name: dom.forms.enterkeyhint - type: bool - value: @IS_NIGHTLY_BUILD@ - mirror: always - -# Is support for HTMLElement.inputMode enabled? -- name: dom.forms.inputmode - type: bool -#if defined(ANDROID) - value: true -#else - value: @IS_NOT_RELEASE_OR_BETA@ -#endif - mirror: always - -# Enable Directory API. By default, disabled. -- name: dom.input.dirpicker - type: bool - value: false - mirror: always - -# Whether to allow or disallow web apps to cancel `beforeinput` events caused -# by MozEditableElement#setUserInput() which is used by autocomplete, autofill -# and password manager. -- name: dom.input_event.allow_to_cancel_set_user_input - type: bool - value: false - mirror: always - -# How long a content process can take before closing its IPC channel -# after shutdown is initiated. If the process exceeds the timeout, -# we fear the worst and kill it. -- name: dom.ipc.tabs.shutdownTimeoutSecs - type: RelaxedAtomicUint32 -#if !defined(DEBUG) && !defined(MOZ_ASAN) && !defined(MOZ_VALGRIND) && !defined(MOZ_TSAN) - value: 20 -#else - value: 0 -#endif - mirror: always - -# Whether a native event loop should be used in the content process. -- name: dom.ipc.useNativeEventProcessing.content - type: RelaxedAtomicBool -#if defined(XP_WIN) || defined(XP_MACOSX) - value: false -#else - value: true -#endif - mirror: always - -# If this is true, TextEventDispatcher dispatches keydown and keyup events -# even during composition (keypress events are never fired during composition -# even if this is true). -- name: dom.keyboardevent.dispatch_during_composition - type: bool - value: true - mirror: always - -# If this is true, keypress events for non-printable keys are dispatched only -# for event listeners of the system event group in web content. -- name: dom.keyboardevent.keypress.dispatch_non_printable_keys_only_system_group_in_content - type: bool - value: true - mirror: always - -# If this is true, "keypress" event's keyCode value and charCode value always -# become same if the event is not created/initialized by JS. -- name: dom.keyboardevent.keypress.set_keycode_and_charcode_to_same_value - type: bool - value: true - mirror: always - -# Whether the Large-Allocation header is enabled. -- name: dom.largeAllocationHeader.enabled - type: bool - value: true - mirror: always - -- name: dom.largeAllocation.forceEnable - type: bool - value: false - mirror: always - -# Whether "W3C Web Manifest" processing is enabled -- name: dom.manifest.enabled - type: bool - value: true - mirror: always - -# Enable mapped array buffer by default. -- name: dom.mapped_arraybuffer.enabled - type: bool - value: true - mirror: always - -# This pref is used to enable/disable the `document.autoplayPolicy` API which -# returns a enum string which presents current autoplay policy and can change -# overtime based on user session activity. -- name: dom.media.autoplay.autoplay-policy-api - type: bool - value: false - mirror: always - -# Media Session API -- name: dom.media.mediasession.enabled - type: bool - value: true - mirror: always - -# Number of seconds of very quiet or silent audio before considering the audio -# inaudible. -- name: dom.media.silence_duration_for_audibility - type: AtomicFloat - value: 2.0f - mirror: always - -- name: dom.menuitem.enabled - type: bool - value: false - mirror: always - -# Enable meta-viewport support in remote APZ-enabled frames. -- name: dom.meta-viewport.enabled - type: RelaxedAtomicBool - value: false - mirror: always - -# Timeout clamp in ms for timeouts we clamp. -- name: dom.min_timeout_value - type: RelaxedAtomicInt32 - value: 4 - mirror: always - -# Timeout clamp in ms for background windows. -- name: dom.min_background_timeout_value - type: int32_t - value: 1000 - mirror: always - -# Timeout clamp in ms for background windows when throttling isn't enabled. -- name: dom.min_background_timeout_value_without_budget_throttling - type: int32_t - value: 1000 - mirror: always - -# Are missing-property use counters for certain DOM attributes enabled? -- name: dom.missing_prop_counters.enabled - type: bool - value: true - mirror: always - -# Is support for module scripts (