148 lines
9.7 KiB
JavaScript
148 lines
9.7 KiB
JavaScript
#filter dumbComments emptyLines substitution
|
|
|
|
// -*- 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/.
|
|
|
|
#ifdef XP_UNIX
|
|
#ifndef XP_MACOSX
|
|
#define UNIX_BUT_NOT_MAC
|
|
#endif
|
|
#endif
|
|
|
|
// --- Waterfox Specific URLs and Services ---
|
|
// Defines URLs for Waterfox support pages and services.
|
|
pref("accessibility.support.url", "https://www.waterfox.net/support/accessibility-services");
|
|
pref("app.support.baseURL", "https://www.waterfox.net/support/");
|
|
// URL for updating system add-ons specific to Waterfox.
|
|
pref("extensions.systemAddon.update.url", "https://aus1.waterfox.net/update/SystemAddons/%DISPLAY_VERSION%/%OS%_%ARCH%/%CHANNEL%/%OS_VERSION%/%SYSTEM_CAPABILITIES%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml");
|
|
// Waterfox-specific relay for Oblivious HTTP (OHTTP) used with DNS-over-HTTPS (DoH).
|
|
pref("network.trr.ohttp.relay_uri", "https://dooh.waterfox.net/");
|
|
|
|
// --- Application Updates ---
|
|
// Configuration for how Waterfox handles updates.
|
|
pref("app.update.badgeWaitTime", 0); // Time (ms) to wait before showing update badge.
|
|
pref("app.update.enabled", true); // Enable automatic application updates.
|
|
pref("app.update.notifyDuringDownload", true); // Notify user during update download.
|
|
pref("app.update.promptWaitTime", 3600); // Time (seconds) to wait before prompting for update.
|
|
pref("app.update.url.override", "", sticky); // Override URL for application updates (sticky: user set).
|
|
|
|
// --- Startup, Session, and Basic UI Elements ---
|
|
// Defines browser behavior on startup and general UI settings.
|
|
pref("browser.startup.page", 3); // 0=blank, 1=home, 2=last visited page, 3=resume previous session.
|
|
pref("browser.privateTab.showNewTabButton", false); // Show new private tab button next to existing new tab buttons
|
|
pref("browser.tabs.pinnedIconOnly", true); // Pinned tabs show only an icon, no text.
|
|
pref("browser.tabs.warnOnClose", true); // Warn user when attempting to close multiple tabs.
|
|
// Stores the state of toolbar customizations (e.g., button placements).
|
|
// It's a JSON string, generally best modified through the UI.
|
|
pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[],\"unified-extensions-area\":[],\"nav-bar\":[\"sidebar-button\",\"back-button\",\"forward-button\",\"vertical-spacer\",\"stop-reload-button\",\"urlbar-container\",\"save-to-pocket-button\",\"downloads-button\",\"fxa-toolbar-menu-button\",\"unified-extensions-button\",\"reset-pbm-toolbar-button\"],\"TabsToolbar\":[\"firefox-view-button\",\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"vertical-tabs\":[],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"],\"status-bar\":[\"screenshot-button\",\"fullscreen-button\",\"status-text\"]},\"seen\":[\"developer-button\",\"screenshot-button\"],\"dirtyAreaCache\":[\"nav-bar\",\"status-bar\",\"PersonalToolbar\",\"TabsToolbar\",\"vertical-tabs\"],\"currentVersion\":22,\"newElementCount\":4}");
|
|
// Alternative smooth scroll physics. ("MSD" = Mass-Spring-Damper)
|
|
pref("general.smoothScroll.msdPhysics.enabled", true);
|
|
|
|
// --- URL Bar Behavior ---
|
|
// Platform-specific settings for how clicks interact with the URL bar.
|
|
#ifdef UNIX_BUT_NOT_MAC
|
|
// On Linux (excluding macOS), a single click does not select all text in the URL bar.
|
|
pref("browser.urlbar.clickSelectsAll", false);
|
|
// On Linux (excluding macOS), a double click selects all text.
|
|
pref("browser.urlbar.doubleClickSelectsAll", true);
|
|
#else
|
|
// On other operating systems (Windows, macOS), a single click selects all text.
|
|
pref("browser.urlbar.clickSelectsAll", true);
|
|
// On other operating systems, double click behavior might be different or not specifically set to select all.
|
|
pref("browser.urlbar.doubleClickSelectsAll", false);
|
|
#endif
|
|
|
|
#ifdef XP_MACOSX
|
|
// Whether to disable treating ctrl click as right click
|
|
pref("dom.event.treat_ctrl_click_as_right_click.disabled", true);
|
|
#endif
|
|
|
|
// --- Top Sites and Partner Integrations ---
|
|
// Settings related to "Top Sites" on the New Tab Page and partner integrations.
|
|
pref("browser.partnerlink.attributionURL", "", locked); // URL for partner attribution (locked).
|
|
pref("browser.partnerlink.campaign.topsites", "", locked); // Campaign info for partner top sites (locked).
|
|
pref("browser.topsites.contile.enabled", false, locked); // Disable content tile suggestions (e.g., sponsored content) on Top Sites.
|
|
pref("browser.topsites.contile.endpoint", "", locked); // Endpoint for content tile suggestions.
|
|
pref("browser.topsites.useRemoteSetting", false, locked); // Do not use remote settings for Top Sites.
|
|
|
|
// --- Network Configuration ---
|
|
// Controls various aspects of network requests and connections.
|
|
|
|
// DNS Prefetching
|
|
// Disables prefetching of DNS records for links on a page.
|
|
pref("network.dns.disablePrefetch", true);
|
|
pref("network.dns.disablePrefetchFromHTTPS", true); // Also disable for links on HTTPS pages.
|
|
|
|
// DNS-over-HTTPS (DoH) & Trusted Recursive Resolver (TRR)
|
|
// Configuration for encrypted DNS lookups.
|
|
pref("doh-rollout.enabled", false, locked); // Disable automatic rollout/enablement of DoH.
|
|
pref("doh-rollout.disable-heuristics", true, locked); // Disable heuristics that might enable DoH.
|
|
pref("network.trr.max-fails", 5); // Max number of TRR failures before fallback.
|
|
pref("network.trr.mode", 2); // DoH mode: 0=Off, 1=Race, 2=TRR first, 3=TRR only, 4=Shadow, 5=Off by user choice.
|
|
pref("network.trr.ohttp.config_uri", "https://dooh.cloudflare-dns.com/.well-known/doohconfig"); // Config URI for OHTTP.
|
|
pref("network.trr.ohttp.uri", "https://dooh.cloudflare-dns.com/dns-query"); // URI for OHTTP DoH queries.
|
|
pref("network.trr.request_timeout_mode_trronly_ms", 1500); // Timeout (ms) when TRR mode is TRR-only.
|
|
pref("network.trr.use_ohttp", true); // Enable Oblivious HTTP for DoH requests.
|
|
// Include an idempotency-key header for POST requests
|
|
pref("network.http.idempotencyKey.enabled", true);
|
|
// Disable requests to 0.0.0.0
|
|
pref("network.socket.ip_addr_any.disabled", true);
|
|
pref("network.http.http3.ecn_mark", true);
|
|
pref("network.http.http3.retry_different_ip_family", true);
|
|
pref("network.http.retry_with_another_half_open", true);
|
|
|
|
// --- Extension System and Web Compatibility ---
|
|
// Settings related to browser extensions and web compatibility measures.
|
|
pref("extensions.experiments.enabled", true); // Allow Mozilla to run studies/experiments using the extension system.
|
|
pref("extensions.install_origins.enabled", true); // Allow extensions to be installed from specified origins beyond default stores.
|
|
pref("extensions.webcompat.enable_shims", true); // Enable web compatibility shims that fix site-specific issues.
|
|
// Defines domains where WebExtension APIs might be restricted, typically for protecting Mozilla services.
|
|
pref("extensions.webextensions.restrictedDomains", "accounts-static.cdn.mozilla.net,accounts.firefox.com,addons.cdn.mozilla.net,api.accounts.firefox.com,content.cdn.mozilla.net,discovery.addons.mozilla.org,install.mozilla.org,oauth.accounts.firefox.com,profile.accounts.firefox.com,support.mozilla.org,sync.services.mozilla.com");
|
|
|
|
// --- Miscellaneous Features & Integrations ---
|
|
// Various feature toggles and integration settings.
|
|
pref("intl.multilingual.downloadEnabled", false, locked); // Disable automatic download of language packs for multilingual features.
|
|
pref("messaging-system.rsexperimentloader.enabled", false, locked); // Disable loading of experiments via the Normandy/Shield messaging system.
|
|
// Controls process separation for specific Mozilla domains. Empty means default behavior.
|
|
pref("browser.tabs.remote.separatedMozillaDomains", "", locked);
|
|
|
|
// Sign-On Services and Firefox Relay integration
|
|
pref("signon.firefoxRelay.feature", "unavailable"); // Mark Firefox Relay feature as unavailable.
|
|
pref("signon.management.page.mobileAndroidURL", "", locked); // URL for managing passwords on Android (locked).
|
|
pref("signon.management.page.mobileAppleURL", "", locked); // URL for managing passwords on iOS (locked).
|
|
pref("identity.mobilepromo.android", "", locked);
|
|
pref("identity.mobilepromo.ios", "", locked);
|
|
pref("signon.recipes.remoteRecipes.enabled", false, locked); // Disable fetching of remote recipes for password generation.
|
|
|
|
// SVG Rendering
|
|
pref("svg.context-properties.content.enabled", true); // Enable use of CSS context-properties within SVG content.
|
|
|
|
// --- MathML Rendering ---
|
|
// Whether to disable legacy names "thickmathspace", "mediummathspace",
|
|
// "thickmathspace" etc for length attributes.
|
|
pref("mathml.mathspace_names.disabled", true);
|
|
// Whether to disable the MathML3 support for the mathvariant attribute. For
|
|
// MathML Core, support is restricted to the <mi> element and to value "normal".
|
|
// Corresponding automatic italicization on single-char <mi> element is also
|
|
// implemented via text-transform: auto when that flag is enabled.
|
|
pref("mathml.legacy_mathvariant_attribute.disabled", true);
|
|
|
|
// --- Media Features ---
|
|
// Use MediaDataDecoder API for VP8/VP9 in WebRTC. This includes hardware
|
|
// acceleration for decoding.
|
|
pref("media.navigator.mediadatadecoder_vpx_enabled", true);
|
|
// HTMLMediaElement.allowedToPlay should be exposed to web content when
|
|
// block autoplay rides the trains to release. Until then, Nightly only.
|
|
pref("media.allowed-to-play.enabled", true);
|
|
pref("media.webrtc.enable_pq_dtls", true);
|
|
pref("media.webrtc.simulcast.vp9.enabled", true);
|
|
|
|
// --- Security Settings (General) ---
|
|
// General security preferences not fitting into more specific categories.
|
|
// Disable priming for Man-in-the-Middle (MITM) detection for certificate errors (locked).
|
|
pref("security.certerrors.mitm.priming.enabled", false, locked);
|
|
// Configuration for Microsoft Family Safety integration on Windows.
|
|
pref("security.family_safety.mode", 0); // 0=off, 1=parental controls, 2=filter inappropriate content.
|