// -*- indent-tabs-mode: nil; js-indent-level: 2 -*- // 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/. */
// The prefs in this file are shipped with the GRE and should apply to all // embedding situations. Application-specific preferences belong somewhere // else, such as browser/app/profile/firefox.js or // mobile/android/app/geckoview-prefs.js. // // NOTE: Not all prefs should be defined in this (or any other) data file. // Static prefs are defined in StaticPrefList.yaml. Those prefs should *not* // appear in this file. // // For the syntax used by this file, consult the comments at the top of // modules/libpref/parser/src/lib.rs. // // Please indent all prefs defined within #ifdef/#ifndef conditions. This // improves readability, particular for conditional blocks that exceed a single // screen.
pref("security.tls.insecure_fallback_hosts", "");
pref("security.default_personal_cert", "Ask Every Time");
pref("security.remember_cert_checkbox_default_setting", true);
// This preference controls what signature algorithms are accepted for signed // apps (i.e. add-ons). The number is interpreted as a bit mask with the // following semantic: // The lowest order bit determines which PKCS#7 algorithms are accepted. // xxx_0_: SHA-1 and/or SHA-256 PKCS#7 allowed // xxx_1_: SHA-256 PKCS#7 allowed // The next two bits determine whether COSE is required and PKCS#7 is allowed // x_00_x: COSE disabled, ignore files, PKCS#7 must verify // x_01_x: COSE is verified if present, PKCS#7 must verify // x_10_x: COSE is required, PKCS#7 must verify if present // x_11_x: COSE is required, PKCS#7 disabled (fail when present)
pref("security.signed_app_signatures.policy", 2);
// Issuer we use to detect MitM proxies. Set to the issuer of the cert of the // Firefox update service. The string format is whatever NSS uses to print a DN. // This value is set and cleared automatically.
pref("security.pki.mitm_canary_issuer", ""); // Pref to disable the MitM proxy checks.
pref("security.pki.mitm_canary_issuer.enabled", true);
// It is set to true when a non-built-in root certificate is detected on a // Firefox update service's connection. // This value is set automatically. // The difference between security.pki.mitm_canary_issuer and this pref is that // here the root is trusted but not a built-in, whereas for // security.pki.mitm_canary_issuer.enabled, the root is not trusted.
pref("security.pki.mitm_detected", false);
// Whether middle button click with a modifier key starts to autoscroll or // does nothing.
pref("general.autoscroll.prevent_to_start.shiftKey", true); // Shift
pref("general.autoscroll.prevent_to_start.ctrlKey", false); // Control
pref("general.autoscroll.prevent_to_start.altKey", false); // Alt // Command on macOS, Windows key on Windows or Super key on Linux
pref("general.autoscroll.prevent_to_start.metaKey", false);
// When this pref is set to true, middle click on non-editable content keeps // selected range rather than collapsing selection at the clicked position. // This behavior is incompatible with Chrome, so enabling this could cause // breaking some web apps. // Note that this pref is ignored when "general.autoScroll" is set to false // or "middlemouse.paste" is set to true. For the former case, there is no // reason do be incompatible with Chrome. For the latter case, the selection // change is important for "paste" event listeners even if it's non-editable // content.
pref("general.autoscroll.prevent_to_collapse_selection_by_middle_mouse_down", false);
// maximum number of dated backups to keep at any time
pref("browser.bookmarks.max_backups", 5);
pref("browser.cache.disk_cache_ssl", true); // The half life used to re-compute cache entries frecency in hours.
pref("browser.cache.frecency_half_life_hours", 6);
// Don't show "Open with" option on download dialog if true.
pref("browser.download.forbid_open_with", false);
// Enable indexedDB logging.
pref("dom.indexedDB.logging.enabled", true); // Detailed output in log messages.
pref("dom.indexedDB.logging.details", true); // Enable profiler marks for indexedDB events.
pref("dom.indexedDB.logging.profiler-marks", false);
// The number of workers per domain allowed to run concurrently. // We're going for effectively infinite, while preventing abuse.
pref("dom.workers.maxPerDomain", 512);
// The amount of time (milliseconds) service workers keep running after each event.
pref("dom.serviceWorkers.idle_timeout", 30000);
// The amount of time (milliseconds) service workers can be kept running using waitUntil promises // or executing "long-running" JS after the "idle_timeout" period has expired.
pref("dom.serviceWorkers.idle_extended_timeout", 30000);
// The amount of time (milliseconds) an update request is delayed when triggered // by a service worker that doesn't control any clients.
pref("dom.serviceWorkers.update_delay", 1000);
// Enable test for 24 hours update, service workers will always treat last update check time is over 24 hours
pref("dom.serviceWorkers.testUpdateOverOneDay", false);
// Blacklist of domains of web apps which are not aware of strict keypress // dispatching behavior. This is comma separated list. If you need to match // all sub-domains, you can specify it as "*.example.com". Additionally, you // can limit the path. E.g., "example.com/foo" means "example.com/foo*". So, // if you need to limit under a directory, the path should end with "/" like // "example.com/foo/". Note that this cannot limit port number for now.
pref("dom.keyboardevent.keypress.hack.dispatch_non_printable_keys", "www.icloud.com"); // Pref for end-users and policy to add additional values.
pref("dom.keyboardevent.keypress.hack.dispatch_non_printable_keys.addl", "");
// Blacklist of domains of web apps which handle keyCode and charCode of // keypress events with a path only for Firefox (i.e., broken if we set // non-zero keyCode or charCode value to the other). The format is exactly // same as "dom.keyboardevent.keypress.hack.dispatch_non_printable_keys". So, // check its explanation for the detail.
pref("dom.keyboardevent.keypress.hack.use_legacy_keycode_and_charcode", "*.collabserv.com,*.gov.online.office365.us,*.officeapps-df.live.com,*.officeapps.live.com,*.online.office.de,*.partner.officewebapps.cn,*.scniris.com"); // Pref for end-users and policy to add additional values.
pref("dom.keyboardevent.keypress.hack.use_legacy_keycode_and_charcode.addl", "");
// Text recognition is a platform dependent feature, so even if this preference is // enabled here, the feature may not be visible in all browsers.
pref("dom.text-recognition.enabled", true);
// Fastback caching - if this pref is negative, then we calculate the number // of content viewers to cache based on the amount of available memory.
pref("browser.sessionhistory.max_total_viewers", -1);
// See http://whatwg.org/specs/web-apps/current-work/#ping
pref("browser.send_pings", false);
pref("browser.send_pings.max_per_link", 1); // limit the number of pings that are sent per link click
pref("browser.send_pings.require_same_host", false); // only send pings to the same host if this is true
// Disable support for MathML
pref("mathml.disabled", false);
// Enable scale transform for stretchy MathML operators. See bug 414277.
pref("mathml.scale_stretchy_operators.enabled", true);
// We'll throttle the download if the download rate is throttle-factor times // the estimated playback rate, AND we satisfy the cache readahead_limit // above. The estimated playback rate is time_duration/length_in_bytes. // This means we'll only throttle the download if there's no concern that // throttling would cause us to stop and buffer.
pref("media.throttle-factor", 2);
// Master HTML5 media volume scale.
pref("media.volume_scale", "1.0");
// Whether we should play videos opened in a "video document", i.e. videos // opened as top-level documents, as opposed to inside a media element.
pref("media.play-stand-alone", true);
// GMP storage version number. At startup we check the version against // media.gmp.storage.version.observed, and if the versions don't match, // we clear storage and set media.gmp.storage.version.observed=expected. // This provides a mechanism to clear GMP storage when non-compatible // changes are made.
pref("media.gmp.storage.version.expected", 1);
// Filter what triggers user notifications. // See DecoderDoctorDocumentWatcher::ReportAnalysis for details.
#ifdef NIGHTLY_BUILD
pref("media.decoder-doctor.notifications-allowed", "MediaWMFNeeded,MediaWidevineNoWMF,MediaCannotInitializePulseAudio,MediaCannotPlayNoDecoders,MediaUnsupportedLibavcodec,MediaPlatformDecoderNotFound,MediaDecodeError");
#else
pref("media.decoder-doctor.notifications-allowed", "MediaWMFNeeded,MediaWidevineNoWMF,MediaCannotInitializePulseAudio,MediaCannotPlayNoDecoders,MediaUnsupportedLibavcodec,MediaPlatformDecoderNotFound");
#endif
pref("media.decoder-doctor.decode-errors-allowed", "");
pref("media.decoder-doctor.decode-warnings-allowed", ""); // Whether we report partial failures.
pref("media.decoder-doctor.verbose", false); // URL to report decode issues
pref("media.decoder-doctor.new-issue-endpoint", "https://webcompat.com/issues/new");
// Whether to allow recording of AudioNodes with MediaRecorder
pref("media.recorder.audio_node.enabled", false);
// Whether MediaRecorder's video encoder should allow dropping frames in order // to keep up under load. Useful for tests but beware of memory consumption!
pref("media.recorder.video.frame_drops", true);
// The default number of decoded video frames that are enqueued in // MediaDecoderReader's mVideoQueue.
pref("media.video-queue.default-size", 10);
// The maximum number of queued frames to send to the compositor. // By default, send all of them.
pref("media.video-queue.send-to-compositor-size", 9999);
pref("media.cubeb.output_voice_routing", true);
// APZ preferences. For documentation/details on what these prefs do, check // gfx/layers/apz/src/AsyncPanZoomController.cpp.
pref("apz.overscroll.stop_velocity_threshold", "0.01");
pref("apz.overscroll.stretch_factor", "0.35");
#ifdef XP_MACOSX // Whether to run in native HiDPI mode on machines with "Retina"/HiDPI // display. // <= 0 : hidpi mode disabled, display will just use pixel-based upscaling. // == 1 : hidpi supported if all screens share the same backingScaleFactor. // >= 2 : hidpi supported even with mixed backingScaleFactors (somewhat // broken).
pref("gfx.hidpi.enabled", 2);
#endif
#if defined(XP_WIN) // comma separated list of backends to use in order of preference // e.g., pref("gfx.canvas.azure.backends", "direct2d,skia");
pref("gfx.canvas.azure.backends", "direct2d1.1,skia");
#elif defined(XP_MACOSX)
pref("gfx.canvas.azure.backends", "skia");
#else
pref("gfx.canvas.azure.backends", "skia");
#endif
pref("gfx.content.azure.backends", "skia");
// We follow the "Click in the scrollbar to:" system preference on OS X and // "gtk-primary-button-warps-slider" property with GTK (since 2.24 / 3.6), // unless this preference is explicitly set.
#if !defined(XP_MACOSX) && !defined(MOZ_WIDGET_GTK)
pref("ui.scrollToClick", 0);
#endif
// These are some selection-related colors which have no per platform // implementation.
#if !defined(XP_MACOSX)
pref("ui.textSelectDisabledBackground", "#b0b0b0");
#endif
// This makes the selection stand out when typeaheadfind is on. // Used with nsISelectionController::SELECTION_ATTENTION
pref("ui.textSelectAttentionBackground", "#38d878");
pref("ui.textSelectAttentionForeground", "#ffffff");
// This makes the matched text stand out when findbar highlighting is on. // Used with nsISelectionController::SELECTION_FIND
pref("ui.textHighlightBackground", "#ef0fff"); // The foreground color for the matched text in findbar highlighting // Used with nsISelectionController::SELECTION_FIND
pref("ui.textHighlightForeground", "#ffffff");
// We want the ability to forcibly disable platform a11y, because // some non-a11y-related components attempt to bring it up. See bug // 538530 for details about Windows; we have a pref here that allows it // to be disabled for performance and testing resons. // See bug 761589 for the crossplatform aspect. // // This pref is checked only once, and the browser needs a restart to // pick up any changes. // // Values are -1 always on. 1 always off, 0 is auto as some platform perform // further checks.
pref("accessibility.force_disabled", 0);
pref("focusmanager.testmode", false);
// Type Ahead Find
pref("accessibility.typeaheadfind", true); // Enable FAYT by pressing / or "
pref("accessibility.typeaheadfind.manual", true);
pref("accessibility.typeaheadfind.autostart", true); // casesensitive: controls the find bar's case-sensitivity // 0 - "never" (case-insensitive) // 1 - "always" (case-sensitive) // other - "auto" (case-sensitive for mixed-case input, insensitive otherwise)
pref("accessibility.typeaheadfind.casesensitive", 0);
pref("accessibility.typeaheadfind.linksonly", true);
pref("accessibility.typeaheadfind.startlinksonly", false); // timeout: controls the delay in milliseconds after which the quick-find dialog will close // if no further keystrokes are pressed // set to a zero or negative value to keep dialog open until it's manually closed
pref("accessibility.typeaheadfind.timeout", 4000);
pref("accessibility.typeaheadfind.soundURL", "beep");
pref("accessibility.typeaheadfind.wrappedSoundURL", "");
pref("accessibility.typeaheadfind.enablesound", true);
#ifdef XP_MACOSX
pref("accessibility.typeaheadfind.prefillwithselection", false);
#else
pref("accessibility.typeaheadfind.prefillwithselection", true);
#endif
pref("accessibility.typeaheadfind.matchesCountLimit", 1000);
pref("findbar.highlightAll", false);
pref("findbar.entireword", false);
pref("findbar.iteratorTimeout", 100); // matchdiacritics: controls the find bar's diacritic matching // 0 - "never" (ignore diacritics) // 1 - "always" (match diacritics) // other - "auto" (match diacritics if input has diacritics, ignore otherwise)
pref("findbar.matchdiacritics", 0);
pref("findbar.modalHighlight", false);
// use Mac OS X Appearance panel text smoothing setting when rendering text, disabled by default
pref("gfx.use_text_smoothing_setting", false);
// Number of characters to consider emphasizing for rich autocomplete results
pref("toolkit.autocomplete.richBoundaryCutoff", 200);
// Controls logging for Sqlite.sys.mjs.
pref("toolkit.sqlitejsm.loglevel", "Error");
pref("toolkit.tabbox.switchByScrolling", false);
// Telemetry settings. // Server to submit telemetry pings to.
pref("toolkit.telemetry.server", "https://incoming.telemetry.mozilla.org"); // Telemetry server owner. Please change if you set toolkit.telemetry.server to a different server
pref("toolkit.telemetry.server_owner", "Mozilla"); // Determines whether full SQL strings are returned when they might contain sensitive info // i.e. dynamically constructed SQL strings or SQL executed by addons against addon DBs
pref("toolkit.telemetry.debugSlowSql", false); // Whether to use the unified telemetry behavior, requires a restart.
pref("toolkit.telemetry.unified", true);
// DAP related preferences
pref("toolkit.telemetry.dap_enabled", false);
pref("toolkit.telemetry.dap.logLevel", "Warn"); // Verification tasks
pref("toolkit.telemetry.dap_task1_enabled", false);
pref("toolkit.telemetry.dap_task1_taskid", ""); // URL visit counting
pref("toolkit.telemetry.dap_visit_counting_enabled", false); // Note: format of patterns is "<proto>://<host>/<path>" // See https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Match_patterns
pref("toolkit.telemetry.dap_visit_counting_experiment_list", "[]"); // DAP protocol Leader endpoint. Operated by DivviUp/ISRG. // - HPKE key is base64url-encoded response of the /hpke_config path on server.
pref("toolkit.telemetry.dap.leader.url", "https://dap-09-3.api.divviup.org");
pref("toolkit.telemetry.dap.leader.hpke", "ACkAACAAAQABACDk8wgwe2-TqHyaL74uqjVWMcF1zi9pxiwQhu4aPwncYw"); // DAP protocol Helper endpoint. Operated by Mozilla. // - HPKE key is base64url-encoded response of the /hpke_config path on server.
pref("toolkit.telemetry.dap.helper.url", "https://dap.services.mozilla.com");
pref("toolkit.telemetry.dap.helper.hpke", "ACkAACAAAQABACAucqWdIQRN6BxumPBRXIlg2JsxcznwWX7vyqzM3cjuQA");
// Controls telemetry logs for the Translations feature throughout Firefox.
pref("toolkit.telemetry.translations.logLevel", "Error");
// 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
pref("toolkit.telemetry.user_characteristics_ping.last_version_sent", 0); // if a user wants to disable this type of ping explicitly, set this to true // firefox/mozilla will not modify this value.
pref("toolkit.telemetry.user_characteristics_ping.opt-out", false); // if a user wants to send a single ping of this type, they can set it // to true. It will be set to false again after a successfull ping.
pref("toolkit.telemetry.user_characteristics_ping.send-once", false); // 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", "");
pref("toolkit.telemetry.user_characteristics_ping.logLevel", "Warn");
// 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.
#if defined(MOZ_ASAN)
pref("toolkit.asyncshutdown.crash_timeout", 300000); // 5 minutes
#elif defined(MOZ_TSAN)
pref("toolkit.asyncshutdown.crash_timeout", 360000); // 6 minutes
#elif defined(MOZ_CODE_COVERAGE)
pref("toolkit.asyncshutdown.crash_timeout", 180000); // 3 minutes
#else
pref("toolkit.asyncshutdown.crash_timeout", 60000); // 1 minute
#endif // !defined(MOZ_ASAN) && !defined(MOZ_TSAN) // Extra logging for AsyncShutdown barriers and phases
pref("toolkit.asyncshutdown.log", false);
// Enable JS dump() function. // IMPORTANT: These prefs must be here even though they're also defined in // StaticPrefList.yaml. They are required because MOZILLA_OFFICIAL is false in // local full builds but true in artifact builds. Without these definitions // here, dumping is disabled in artifact builds (see Bug 1490412).
#ifdef MOZILLA_OFFICIAL
pref("browser.dom.window.dump.enabled", false, sticky);
pref("devtools.console.stdout.chrome", false, sticky);
#else
pref("browser.dom.window.dump.enabled", true, sticky);
pref("devtools.console.stdout.chrome", true, sticky);
#endif
// Controls whether EventEmitter module throws dump message on each emit
pref("toolkit.dump.emit", false);
// Preferences for the new performance panel. Note that some preferences are duplicated // with a ".remote" postfix. This is because we have one set of preference for local // profiling, and a second set for remote profiling.
// This pref configures the base URL for the profiler.firefox.com instance to // use. This is useful so that a developer can change it while working on // profiler.firefox.com, or in tests. This isn't exposed directly to the user.
pref("devtools.performance.recording.ui-base-url", "https://profiler.firefox.com"); // When gathering profiles from child processes, this is the longest time (in // seconds) allowed between two responses. 0 = Use internal default.
pref("devtools.performance.recording.child.timeout_s", 0); // The popup is only enabled by default on Nightly, Dev Edition, and debug buildsd since // it's a developer focused item. It can still be enabled by going to profiler.firefox.com, // but by default it is off on Release and Beta. Note that this only adds it to the // the customization palette, not to the navbar.
#if defined(NIGHTLY_BUILD) || defined(MOZ_DEV_EDITION) || defined(DEBUG)
pref("devtools.performance.popup.feature-flag", true);
#else
pref("devtools.performance.popup.feature-flag", false);
#endif // The preset to use for the recording settings. If set to "custom" then the pref // values below will be used.
#if defined(NIGHTLY_BUILD) || !defined(MOZILLA_OFFICIAL) // Use a more advanced preset on Nightly and local builds.
pref("devtools.performance.recording.preset", "firefox-platform");
pref("devtools.performance.recording.preset.remote", "firefox-platform");
#else
pref("devtools.performance.recording.preset", "web-developer");
pref("devtools.performance.recording.preset.remote", "web-developer");
#endif // The profiler's active tab view has a few issues. Disable it until the issues // are ironed out.
pref("devtools.performance.recording.active-tab-view.enabled", false); // Profiler buffer size. It is the maximum number of 8-bytes entries in the // profiler's buffer. 10000000 is ~80mb.
pref("devtools.performance.recording.entries", 10000000);
pref("devtools.performance.recording.entries.remote", 10000000); // Profiler interval in microseconds. 1000µs is 1ms
pref("devtools.performance.recording.interval", 1000);
pref("devtools.performance.recording.interval.remote", 1000); // Profiler duration of entries in the profiler's buffer in seconds. // `0` means no time limit for the markers, they roll off naturally from the // circular buffer.
pref("devtools.performance.recording.duration", 0);
pref("devtools.performance.recording.duration.remote", 0); // Profiler feature set. See tools/profiler/core/platform.cpp for features and // explanations. Remote profiling also includes the java feature by default. // If the remote debuggee isn't an Android phone, then this feature will // be ignored.
pref("devtools.performance.recording.features", "[\"js\",\"stackwalk\",\"cpu\",\"screenshots\",\"memory\"]");
pref("devtools.performance.recording.features.remote", "[\"js\",\"stackwalk\",\"cpu\",\"screenshots\",\"memory\",\"java\"]"); // Threads to be captured by the profiler.
pref("devtools.performance.recording.threads", "[\"GeckoMain\",\"Compositor\",\"Renderer\"]");
pref("devtools.performance.recording.threads.remote", "[\"GeckoMain\",\"Compositor\",\"Renderer\"]"); // A JSON array of strings, where each string is a file path to an objdir on // the host machine. This is used in order to look up symbol information from // 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);
// Compatibility preferences // Stringified array of target browsers that users investigate.
pref("devtools.inspector.compatibility.target-browsers", "");
// view source
pref("view_source.editor.path", ""); // allows to add further arguments to the editor; use the %LINE% placeholder // for jumping to a specific line (e.g. "/line:%LINE%" or "--goto %LINE%")
pref("view_source.editor.args", "");
// whether or not to draw images while dragging
pref("nglayout.enable_drag_images", true);
// NOTE: On most platforms we save print settins to prefs with the name of the // printer in the pref name (Android being the notable exception, where prefs // are saved "globally" without a printer name in the pref name). For those // platforms, the prefs below simply act as default values for when we // encounter a printer for the first time, but only a subset of prefs will be // used in this case. See nsPrintSettingsService::InitPrintSettingsFromPrefs // for the restrictions on which prefs can act as defaults.
// Whether we directly use the system print dialog to collect the user's print // settings rather than using the tab-modal print preview dialog. // Note: `print.always_print_silent` overrides this.
pref("print.prefer_system_dialog", false);
// Whether or not to force the Page Setup submenu of the File menu to shown
pref("print.show_page_setup_menu", false);
// Print header customization // Use the following codes: // &T - Title // &U - Document URL // &D - Date/Time // &P - Page Number // &PT - Page Number "of" Page total // Set each header to a string containing zero or one of these codes // and the code will be replaced in that string by the corresponding data
pref("print.print_headerleft", "&T");
pref("print.print_headercenter", "");
pref("print.print_headerright", "&U");
pref("print.print_footerleft", "&PT");
pref("print.print_footercenter", "");
pref("print.print_footerright", "&D");
// A list of comma separated key:value pairs, so: // // key1:value1,key2:value2 // // Which allows testing extra CUPS-related printer settings for monochrome // printing.
pref("print.cups.monochrome.extra_settings", "");
// xxxbsmedberg: more toolkit prefs
// Save the Printings after each print job
pref("print.save_print_settings", true);
// Enables the "more settings" in Print Preview to match previous // configuration.
pref("print.more-settings.open", false);
// Enables you to specify a user unwriteable margin, if a printer's actual // unwriteable margin is greater than this the printer one will be used. // This is used by both Printing and Print Preview // Units are in 1/100ths of an inch.
pref("print.print_edge_top", 0);
pref("print.print_edge_left", 0);
pref("print.print_edge_right", 0);
pref("print.print_edge_bottom", 0);
// Should this just be checking for MOZ_WIDGET_GTK?
#if defined(ANDROID) || defined(XP_UNIX) && !defined(XP_MACOSX)
pref("print.print_reversed", false); // This is the default. Probably just remove this.
pref("print.print_in_color", true);
#endif
// List of urls for which mutation events are enabled even if mutation events // in general are disabled. See nsContentUtils::IsURIInPrefList.
pref("dom.mutation_events.forceEnable", "");
// Enable time picker UI. By default, disabled.
pref("dom.forms.datetime.timepicker", false);
// Enable search in <select> dropdowns (more than 40 options)
pref("dom.forms.selectSearch", false); // Allow for webpages to provide custom styling for <select> // popups. // // Disabled on GTK (originally due to bug 1338283, but not enabled since, and // native appearance might be preferred). // Disabled on macOS because native appearance is preferred, see bug 1703866.
#if defined(MOZ_WIDGET_GTK) || defined(XP_MACOSX)
pref("dom.forms.select.customstyling", false);
#else
pref("dom.forms.select.customstyling", true);
#endif
pref("dom.cycle_collector.incremental", true);
// List of domains exempted from RFP. The list is comma separated domain list.
pref("privacy.resistFingerprinting.exemptedDomains", "*.example.invalid");
// If privacy.fingerprintingProtection is enabled, this pref can be used to add // or remove features from its effects
pref("privacy.fingerprintingProtection.overrides", "");
// If privacy.fingerprintingProtection is enabled, this pref can be used to add // or remove features on a domain granular level.
pref("privacy.fingerprintingProtection.granularOverrides", "");
// Fix cookie blocking breakage by providing ephemeral Paritioned LocalStorage // for a list of hosts when detected as trackers. // (See nsICookieService::BEHAVIOR_REJECT_TRACKER cookie behavior) // See: Bug 1505212, Bug 1659394, Bug 1631811, Bug 1665035.
pref("privacy.restrict3rdpartystorage.partitionedHosts", "accounts.google.com/o/oauth2/,d35nw2lg0ahg0v.cloudfront.net/,datastudio.google.com/embed/reporting/,d3qlaywcwingl6.cloudfront.net/");
// If a host is contained in this pref list, user-interaction is required // before granting the storage access permission.
pref("privacy.restrict3rdpartystorage.userInteractionRequiredForHosts", "");
// The url decoration tokens used to for stripping document referrers based on. // A list separated by spaces. This pref isn't meant to be changed by users.
pref("privacy.restrict3rdpartystorage.url_decorations", "");
// Excessive reporting of blocked popups can be a DOS vector, // by overloading the main process as popups get blocked and when // users try to restore all popups, which is the most visible // option in our UI at the time of writing. // We will invisibly drop any popups from a page that has already // opened more than this number of popups.
pref("privacy.popups.maxReported", 100);
// Allowable amount of cookies to purge in a batch.
pref("privacy.purge_trackers.max_purge_count", 100);
// Whether purging should not clear data from domains // that are associated with other domains which have // user interaction (even if they don't have user // interaction directly).
pref("privacy.purge_trackers.consider_entity_list", false);
pref("javascript.options.asyncstack", true); // Broadly capturing async stack data adds overhead that is only advisable for // developers, so we only enable it when the devtools are open, by default.
pref("javascript.options.asyncstack_capture_debuggee_only", true);
// This preference instructs the JS engine to discard the // source of any privileged JS after compilation. This saves // memory, but makes things like Function.prototype.toSource() // fail.
pref("javascript.options.discardSystemSource", false);
// Many of the the following preferences tune the SpiderMonkey GC, if you // change the defaults here please also consider changing them in // js/src/jsgc.cpp. They're documented in js/src/jsapi.h.
// JSGC_MAX_BYTES // SpiderMonkey defaults to 2^32-1 bytes, but this is measured in MB so that // cannot be represented directly in order to show it in about:config.
pref("javascript.options.mem.max", -1);
// JSGC_PARALLEL_MARKING_ENABLED // This only applies to the main runtime and does not affect workers.
#ifndef ANDROID
pref("javascript.options.mem.gc_parallel_marking", true);
#else
pref("javascript.options.mem.gc_parallel_marking", false);
#endif
// JSGC_PARALLEL_MARKING_THRESHOLD_MB // Minimum heap size at which to use parallel marking, if enabled.
#if defined(XP_WIN)
pref("javascript.options.mem.gc_parallel_marking_threshold_mb", 8);
#elif defined(XP_MACOSX)
pref("javascript.options.mem.gc_parallel_marking_threshold_mb", 4);
#elif defined(ANDROID)
pref("javascript.options.mem.gc_parallel_marking_threshold_mb", 16);
#elif defined(XP_UNIX)
pref("javascript.options.mem.gc_parallel_marking_threshold_mb", 16);
#endif
// If there is ever a security firedrill that requires // us to block certian ports global, this is the pref // to use. Is is a comma delimited list of port numbers // for example: // pref("network.security.ports.banned", "1,2,3,4,5"); // prevents necko connecting to ports 1-5 unless the protocol // overrides.
// Transmit UDP busy-work to the LAN when anticipating low latency // network reads and on wifi to mitigate 802.11 Power Save Polling delays
pref("network.tickle-wifi.enabled", false);
pref("network.tickle-wifi.duration", 400);
pref("network.tickle-wifi.delay", 16);
// Default action for unlisted external protocol handlers
pref("network.protocol-handler.external-default", true); // OK to load
pref("network.protocol-handler.warn-external-default", true); // warn before load
// An exposed protocol handler is one that can be used in all contexts. A // non-exposed protocol handler is one that can only be used internally by the // application. For example, a non-exposed protocol would not be loaded by the // application in response to a link click or a X-remote openURL command. // Instead, it would be deferred to the system's external protocol handler. // Only internal/built-in protocol handlers can be marked as exposed.
// This pref controls the default settings. Per protocol settings can be used // to override this value.
pref("network.protocol-handler.expose-all", true);
// Example: make IMAP an exposed protocol // pref("network.protocol-handler.expose.imap", true);
// Whether IOService.connectivity and NS_IsOffline depends on connectivity status
pref("network.manage-offline-status", true);
// <http>
pref("network.http.version", "1.1"); // default // pref("network.http.version", "1.0"); // uncomment this out in case of problems // pref("network.http.version", "0.9"); // it'll work too if you're crazy // keep-alive option is effectively obsolete. Nevertheless it'll work with // some older 1.0 servers:
pref("network.http.proxy.version", "1.1"); // default // pref("network.http.proxy.version", "1.0"); // uncomment this out in case of problems // (required if using junkbuster proxy)
// Whether we should respect the BE_CONSERVATIVE (aka nsIHttpChannelInternal.beConservative) // flag when connecting to a proxy. If the configured proxy accepts only TLS 1.3, system // requests like updates will not pass through. Setting this pref to false will fix that // problem. // Default at true to preserve the behavior we had before for backward compat.
pref("network.http.proxy.respect-be-conservative", true);
// this preference can be set to override the socket type used for normal // HTTP traffic. an empty value indicates the normal TCP/IP socket type.
pref("network.http.default-socket-type", "");
// There is a problem with some IIS7 servers that don't close the connection // properly after it times out (bug #491541). Default timeout on IIS7 is // 120 seconds. We need to reuse or drop the connection within this time. // We set the timeout a little shorter to keep a reserve for cases when // the packet is lost or delayed on the route.
pref("network.http.keep-alive.timeout", 115);
// Timeout connections if an initial response is not received after 5 mins.
pref("network.http.response.timeout", 300);
// Limit the absolute number of http connections. // Note: the socket transport service will clamp the number below this if the OS // cannot allocate that many FDs
#ifdef ANDROID
pref("network.http.max-connections", 128);
#else
pref("network.http.max-connections", 900);
#endif
// If NOT connecting via a proxy, then // a new connection will only be attempted if the number of active persistent // connections to the server is less then max-persistent-connections-per-server.
pref("network.http.max-persistent-connections-per-server", 6);
// Number of connections that we can open beyond the standard parallelism limit defined // by max-persistent-connections-per-server/-proxy to handle urgent-start marked requests
pref("network.http.max-urgent-start-excessive-connections-per-host", 3);
// If connecting via a proxy, then a // new connection will only be attempted if the number of active persistent // connections to the proxy is less then max-persistent-connections-per-proxy.
pref("network.http.max-persistent-connections-per-proxy", 32);
// amount of time (in seconds) to suspend pending requests, before spawning a // new connection, once the limit on the number of persistent connections per // host has been reached. however, a new connection will not be created if // max-connections or max-connections-per-server has also been reached.
pref("network.http.request.max-start-delay", 10);
// If a connection is reset, we will retry it max-attempts times.
pref("network.http.request.max-attempts", 10);
// Maximum number of consecutive redirects before aborting.
pref("network.http.redirection-limit", 20);
// Enable http compression: comment this out in case of problems with 1.1 // NOTE: support for "compress" has been disabled per bug 196406. // NOTE: separate values with comma+space (", "): see bug 576033
pref("network.http.accept-encoding", "gzip, deflate");
pref("network.http.accept-encoding.secure", "gzip, deflate, br, zstd");
// Prompt for redirects resulting in unsafe HTTP requests
pref("network.http.prompt-temp-redirect", false);
// If true generate CORRUPTED_CONTENT errors for entities that // contain an invalid Assoc-Req response header
pref("network.http.assoc-req.enforce", false);
// On networks deploying QoS, it is recommended that these be lockpref()'d, // since inappropriate marking can easily overwhelm bandwidth reservations // for certain services (i.e. EF for VoIP, AF4x for interactive video, // AF3x for broadcast/streaming video, etc)
// default value for HTTP // in a DSCP environment this should be 40 (0x28, or AF11), per RFC-4594, // Section 4.8 "High-Throughput Data Service Class"
pref("network.http.qos", 0);
// The number of milliseconds after sending a SYN for an HTTP connection, // to wait before trying a different connection. 0 means do not use a second // connection.
pref("network.http.connection-retry-timeout", 250);
// The number of seconds after sending initial SYN for an HTTP connection // to give up if the OS does not give up first
pref("network.http.connection-timeout", 90);
// Close a connection if tls handshake does not finish in given number of // seconds.
pref("network.http.tls-handshake-timeout", 30);
// The number of seconds after which we time out a connection of a retry (fallback) // socket when a certain IP family is already preferred. This shorter connection // timeout allows us to find out more quickly that e.g. an IPv6 host is no longer // available and let us try an IPv4 address, if provided for the host name. // Set to '0' to use the default connection timeout.
pref("network.http.fallback-connection-timeout", 5);
// The number of seconds to allow active connections to prove that they have // traffic before considered stalled, after a network change has been detected // and signalled.
pref("network.http.network-changed.timeout", 5);
// The maximum number of current global half open sockets allowable // when starting a new speculative connection.
#ifdef ANDROID
pref("network.http.speculative-parallel-limit", 6);
#else
pref("network.http.speculative-parallel-limit", 20);
#endif
// Whether or not to block requests for non head js/css items (e.g. media) // while those elements load.
pref("network.http.rendering-critical-requests-prioritization", true);
// Disable IPv6 for backup connections to workaround problems about broken // IPv6 connectivity.
pref("network.http.fast-fallback-to-IPv4", true);
// Http3 qpack table size.
pref("network.http.http3.default-qpack-table-size", 65536); // 64k // Maximal number of streams that can be blocked on waiting for qpack // instructions.
pref("network.http.http3.default-max-stream-blocked", 20);
// This is only for testing! // This adds alt-svc mapping and it has a form of <host-name>;<alt-svc-header> // Example: example1.com;h3=":443",example2.com;h3=":443"
pref("network.http.http3.alt-svc-mapping-for-testing", "");
// alt-svc allows separation of transport routing from // the origin host without using a proxy.
pref("network.http.altsvc.enabled", true);
pref("network.http.altsvc.oe", false);
// TCP Keepalive config for HTTP connections.
pref("network.http.tcp_keepalive.short_lived_connections", true); // Max time from initial request during which conns are considered short-lived.
pref("network.http.tcp_keepalive.short_lived_time", 60); // Idle time of TCP connection until first keepalive probe sent.
pref("network.http.tcp_keepalive.short_lived_idle_time", 10);
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);
// 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");
// This is the size of the flow control window (KB) (i.e., the amount of data // that the parent can send to the child before getting an ack). 0 for disable // the flow control.
pref("network.http.send_window_size", 1024);
// Whether or not we give more priority to active tab. // Note that this requires restart for changes to take effect.
#ifdef ANDROID // disabled because of bug 1382274
pref("network.http.active_tab_priority", false);
#else
pref("network.http.active_tab_priority", true);
#endif
// By default the Accept header sent for documents loaded over HTTP(S) is derived // by DocumentAcceptHeader() in nsHttpHandler.cpp. If set, this pref overrides it. // There is also image.http.accept which works in scope of image.
pref("network.http.accept", "");
// The max time to spend on xpcom events between two polls in ms.
pref("network.sts.max_time_for_events_between_two_polls", 100);
// The number of seconds we don't let poll() handing indefinitely after network // link change has been detected so we can detect breakout of the pollable event. // Expected in seconds, 0 to disable.
pref("network.sts.poll_busy_wait_period", 50);
// The number of seconds we cap poll() timeout to during the network link change // detection period. // Expected in seconds, 0 to disable.
pref("network.sts.poll_busy_wait_period_timeout", 7);
// During shutdown we limit PR_Close calls. If time exceeds this pref (in ms) // let sockets just leak.
pref("network.sts.max_time_for_pr_close_during_shutdown", 5000);
// When the polling socket pair we use to wake poll() up on demand doesn't // get signalled (is not readable) within this timeout, we try to repair it. // This timeout can be disabled by setting this pref to 0. // The value is expected in seconds.
pref("network.sts.pollable_event_timeout", 6);
// the number of seconds to wait for websocket connection to be opened
pref("network.websocket.timeout.open", 20);
// the number of seconds to wait for a clean close after sending the client // close message
pref("network.websocket.timeout.close", 20);
// the number of seconds of idle read activity to sustain before sending a // ping probe. 0 to disable.
pref("network.websocket.timeout.ping.request", 0);
// the deadline, expressed in seconds, for some read activity to occur after // generating a ping. If no activity happens then an error and unclean close // event is sent to the javascript websockets application
pref("network.websocket.timeout.ping.response", 10);
// the maximum number of concurrent websocket sessions. By specification there // is never more than one handshake oustanding to an individual host at // one time.
pref("network.websocket.max-connections", 200);
// by default scripts loaded from a https:// origin can only open secure // (i.e. wss://) websockets.
pref("network.websocket.allowInsecureFromHTTPS", false);
// by default we delay websocket reconnects to same host/port if previous // connection failed, per RFC 6455 section 7.2.3
pref("network.websocket.delay-failed-reconnects", true);
// </ws>
// enables the prefetch service (i.e., prefetching of <link rel="next"> and // <link rel="prefetch"> URLs).
pref("network.prefetch-next", true);
// The following prefs pertain to the negotiate-auth extension (see bug 17578), // which provides transparent Kerberos or NTLM authentication using the SPNEGO // protocol. Each pref is a comma-separated list of keys, where each key has // the format: // [scheme "://"] [host [":" port]] // For example, "foo.com" would match "http://www.foo.com/bar", etc.
// This list controls which URIs can use the negotiate-auth protocol. This // list should be limited to the servers you know you'll need to login to.
pref("network.negotiate-auth.trusted-uris", ""); // This list controls which URIs can support delegation.
pref("network.negotiate-auth.delegation-uris", "");
// Do not allow SPNEGO by default when challenged by a local server.
pref("network.negotiate-auth.allow-non-fqdn", false);
// Allow SPNEGO by default when challenged by a proxy server.
pref("network.negotiate-auth.allow-proxies", true);
// Path to a specific gssapi library
pref("network.negotiate-auth.gsslib", "");
// Specify if the gss lib comes standard with the OS
pref("network.negotiate-auth.using-native-gsslib", true);
#ifdef XP_WIN // Default to using the SSPI intead of GSSAPI on windows
pref("network.auth.use-sspi", true);
#endif
// Controls which NTLM authentication implementation we default to. True forces // the use of our generic (internal) NTLM authentication implementation vs. any // native implementation provided by the os. This pref is for diagnosing issues // with native NTLM. (See bug 520607 for details.) Using generic NTLM authentication // can expose the user to reflection attack vulnerabilities. Do not change this // unless you know what you're doing! // This pref should be removed 6 months after the release of firefox 3.6.
pref("network.auth.force-generic-ntlm", false);
// The following prefs are used to enable automatic use of the operating // system's NTLM implementation to silently authenticate the user with their // Window's domain logon. The trusted-uris pref follows the format of the // trusted-uris pref for negotiate authentication.
pref("network.automatic-ntlm-auth.allow-proxies", true);
pref("network.automatic-ntlm-auth.allow-non-fqdn", false);
pref("network.automatic-ntlm-auth.trusted-uris", "");
// The string to return to the server as the 'workstation' that the // user is using. Bug 1046421 notes that the previous default, of the // system hostname, could be used for user fingerprinting. // // However, in some network environments where allowedWorkstations is in use // to provide a level of host-based access control, it must be set to a string // that is listed in allowedWorkstations for the user's account in their // AD Domain.
pref("network.generic-ntlm-auth.workstation", "WORKSTATION");
// This preference controls whether to allow sending default credentials (SSO) to // NTLM/Negotiate servers allowed in the "trusted uri" list when navigating them // in a Private Browsing window. // If set to false, Private Browsing windows will not use default credentials and ask // for credentials from the user explicitly. // If set to true, and a server URL conforms other conditions for sending default // credentials, those will be sent automatically in Private Browsing windows. // // This preference has no effect when the browser is set to "Never Remember History", // in that case default credentials will always be used.
pref("network.auth.private-browsing-sso", false);
// Control how throttling of http responses works - number of ms that each // suspend and resume period lasts (prefs named appropriately) // This feature is occasionally causing visible regressions (download too slow for // too long time, jitter in video/audio in background tabs...)
--> --------------------
--> maximum size reached
--> --------------------
¤ Dauer der Verarbeitung: 0.57 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.