refactor: split and rename prefs files
Splits the `00-waterfox.js` file into several more focused preference files for better organization: - `00-general.js`: General settings. - `01-theme.js`: UI theme related settings. - `02-privacy.js`: Privacy settings. - `03-features.js`: Feature toggles. - `04-sidebar.js`: Sidebar settings. Also removes the unused `02-speed.js` and `03-privacy.js` files, and updates moz.build accordingly
This commit is contained in:
@@ -259,7 +259,11 @@
|
|||||||
; All the pref files must be part of base to prevent migration bugs
|
; All the pref files must be part of base to prevent migration bugs
|
||||||
@RESPATH@/browser/@PREF_DIR@/firefox.js
|
@RESPATH@/browser/@PREF_DIR@/firefox.js
|
||||||
@RESPATH@/browser/@PREF_DIR@/firefox-branding.js
|
@RESPATH@/browser/@PREF_DIR@/firefox-branding.js
|
||||||
@RESPATH@/browser/@PREF_DIR@/000-waterfox.js
|
@RESPATH@/browser/@PREF_DIR@/00-general.js
|
||||||
|
@RESPATH@/browser/@PREF_DIR@/01-theme.js
|
||||||
|
@RESPATH@/browser/@PREF_DIR@/02-privacy.js
|
||||||
|
@RESPATH@/browser/@PREF_DIR@/03-features.js
|
||||||
|
@RESPATH@/browser/@PREF_DIR@/04-sidebar.js
|
||||||
@RESPATH@/greprefs.js
|
@RESPATH@/greprefs.js
|
||||||
@RESPATH@/defaults/autoconfig/prefcalls.js
|
@RESPATH@/defaults/autoconfig/prefcalls.js
|
||||||
@RESPATH@/browser/defaults/permissions
|
@RESPATH@/browser/defaults/permissions
|
||||||
|
|||||||
128
waterfox/browser/app/profile/00-general.js
Normal file
128
waterfox/browser/app/profile/00-general.js
Normal file
@@ -0,0 +1,128 @@
|
|||||||
|
#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);
|
||||||
|
|
||||||
|
// --- 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.
|
||||||
@@ -1,259 +0,0 @@
|
|||||||
#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
|
|
||||||
|
|
||||||
# Default Preferences
|
|
||||||
# Waterfox
|
|
||||||
# All customised preferences should live here
|
|
||||||
|
|
||||||
pref("accessibility.support.url", "https://www.waterfox.net/support/accessibility-services");
|
|
||||||
pref("app.support.baseURL", "https://www.waterfox.net/support/%OS%/");
|
|
||||||
pref("app.update.badgeWaitTime", 0);
|
|
||||||
pref("app.update.enabled", true);
|
|
||||||
pref("app.update.notifyDuringDownload", true);
|
|
||||||
pref("app.update.promptWaitTime", 3600);
|
|
||||||
pref("app.update.url.override", "", sticky);
|
|
||||||
pref("browser.download.autohideButton", false);
|
|
||||||
pref("browser.download.panel.shown", true);
|
|
||||||
pref("browser.newtabpage.activity-stream.asrouter.providers.cfr", "{}", locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.asrouter.providers.cfr-fxa", "{}", locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.asrouter.providers.message-groups", "{}", locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.asrouter.providers.messaging-experiments", "{}", locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.asrouter.providers.snippets", "{}", locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.asrouter.providers.whats-new-panel", "{}", locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.asrouter.useRemoteL10n", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.debug", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.default.sites", "", locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.discoverystream.config", "{}");
|
|
||||||
pref("browser.newtabpage.activity-stream.discoverystream.enabled", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.discoverystream.hardcoded-basic-layout", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.discoverystream.personalization.modelKeys", "", locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.discoverystream.recs.personalized", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.discoverystream.spocs-endpoint", "", locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.discoverystream.spocs-endpoint-query", "", locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.feeds.section.highlights", true);
|
|
||||||
pref("browser.newtabpage.activity-stream.feeds.snippets", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.feeds.section.topstories", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.feeds.section.topstories", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.feeds.section.topstories.options", "{}", locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.feeds.system.topstories", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.feeds.telemetry", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar", false);
|
|
||||||
pref("browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts", false);
|
|
||||||
pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.section.highlights.rows", 2);
|
|
||||||
pref("browser.newtabpage.activity-stream.showSponsored", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.telemetry", false, locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.telemetry.structuredIngestion.endpoint", "", locked);
|
|
||||||
pref("browser.newtabpage.activity-stream.telemetry.ut.events", false, locked);
|
|
||||||
pref("browser.partnerlink.attributionURL", "", locked);
|
|
||||||
pref("browser.partnerlink.campaign.topsites", "", locked);
|
|
||||||
pref("browser.ping-centre.telemetry", false, locked);
|
|
||||||
pref("browser.search.separatePrivateDefault", true);
|
|
||||||
pref("browser.search.separatePrivateDefault.ui.enabled", true);
|
|
||||||
pref("browser.send_pings", false, locked);
|
|
||||||
pref("browser.tabs.pinnedIconOnly", false);
|
|
||||||
pref("browser.tabs.remote.separatedMozillaDomains", "", locked);
|
|
||||||
pref("browser.topsites.contile.enabled", false, locked);
|
|
||||||
pref("browser.topsites.contile.endpoint", "", locked);
|
|
||||||
pref("browser.topsites.useRemoteSetting", false, locked);
|
|
||||||
pref("browser.uiCustomization.state", "{\"placements\":{\"widget-overflow-fixed-list\":[],\"nav-bar\":[\"back-button\",\"forward-button\",\"stop-reload-button\",\"urlbar-container\",\"save-to-pocket-button\",\"downloads-button\",\"library-button\",\"fxa-toolbar-menu-button\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"PersonalToolbar\":[\"import-button\",\"personal-bookmarks\"]},\"seen\":[\"profiler-button\",\"developer-button\"],\"dirtyAreaCache\":[\"nav-bar\",\"PersonalToolbar\"],\"currentVersion\":17,\"newElementCount\":3}");
|
|
||||||
pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0, locked);
|
|
||||||
pref("browser.urlbar.eventTelemetry.enabled", false, locked);
|
|
||||||
pref("browser.urlbar.showSearchSuggestionsFirst", false);
|
|
||||||
pref("browser.urlbar.trimURLs", false);
|
|
||||||
pref("corroborator.enabled", false, locked);
|
|
||||||
pref("datareporting.healthreport.uploadEnabled", false, locked);
|
|
||||||
pref("datareporting.policy.dataSubmissionEnabled", false, locked);
|
|
||||||
pref("devtools.debugger.chrome-debugging-host", "127.0.0.1");
|
|
||||||
pref("devtools.webide.autoinstallADBExtension", false);
|
|
||||||
pref("dom.security.unexpected_system_load_telemetry_enabled", false, locked);
|
|
||||||
pref("extensions.allowPrivateBrowsingByDefault", true);
|
|
||||||
pref("extensions.getAddons.cache.enabled", false, locked); // https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/
|
|
||||||
pref("extensions.getAddons.showPane", false, locked);
|
|
||||||
pref("extensions.htmlaboutaddons.recommendations.enabled", false, locked);
|
|
||||||
pref("extensions.install_origins.enabled", true);
|
|
||||||
pref("extensions.pocket.api", "");
|
|
||||||
pref("extensions.pocket.enabled", false);
|
|
||||||
pref("extensions.pocket.oAuthConsumerKey", "");
|
|
||||||
pref("extensions.pocket.showHome", false);
|
|
||||||
pref("geo.provider.network.url", "");
|
|
||||||
pref("image.avif.enabled", true);
|
|
||||||
pref("image.jxl.enabled", true);
|
|
||||||
pref("intl.multilingual.downloadEnabled", false, locked);
|
|
||||||
pref("layout.css.backdrop-filter.enabled", true);
|
|
||||||
pref("layout.css.color-mix.enabled", true);
|
|
||||||
pref("layout.css.prefers-color-scheme.content-override", 3);
|
|
||||||
pref("media.eme.enabled", false);
|
|
||||||
pref("media.gmp-manager.url", "data:application/json,", locked);
|
|
||||||
pref("messaging-system.rsexperimentloader.enabled", false, locked);
|
|
||||||
pref("network.captive-portal-service.enabled", false);
|
|
||||||
pref("network.connectivity-service.enabled", false);
|
|
||||||
pref("network.http.connection-retry-timeout", 0);
|
|
||||||
pref("network.http.max-persistent-connections-per-proxy", 256);
|
|
||||||
pref("network.manage-offline-status", false);
|
|
||||||
pref("network.trr.confirmation_telemetry_enabled", false, locked);
|
|
||||||
pref("network.trr.exclude-etc-hosts", false, locked);
|
|
||||||
pref("network.trr.resolvers", "", locked);
|
|
||||||
pref("plugin.state.flash", 0, locked); // Disable for defense-in-depth
|
|
||||||
pref("privacy.resistFingerprinting.block_mozAddonManager", true); // This is set so that UA overrides work on AMO.
|
|
||||||
pref("privacy.trackingprotection.origin_telemetry.enabled", false, locked);
|
|
||||||
pref("privacy.userContext.enabled", true);
|
|
||||||
pref("privacy.userContext.ui.enabled", true);
|
|
||||||
pref("security.app_menu.recordEventTelemetry", false, locked);
|
|
||||||
pref("security.certerrors.mitm.priming.enabled", false, locked);
|
|
||||||
pref("security.certerrors.recordEventTelemetry", false, locked);
|
|
||||||
pref("security.family_safety.mode", 0, locked);
|
|
||||||
pref("security.identitypopup.recordEventTelemetry", false, locked);
|
|
||||||
pref("security.pki.crlite_mode", 0, locked);
|
|
||||||
pref("security.protectionspopup.recordEventTelemetry", false, locked);
|
|
||||||
pref("security.ssl.enable_false_start", true);
|
|
||||||
pref("security.ssl.errorReporting.enabled", false, locked);
|
|
||||||
pref("services.settings.server", "data:application/json,", locked); // 24H
|
|
||||||
pref("services.sync.engine.prefs", false, locked); // Never sync prefs, addons, or tabs with other browsers
|
|
||||||
pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.snippets", false, locked);
|
|
||||||
pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored", false, locked);
|
|
||||||
pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSites", false, locked);
|
|
||||||
pref("services.sync.telemetry.maxPayloadCount", "0", locked);
|
|
||||||
pref("services.sync.telemetry.submissionInterval", "0", locked);
|
|
||||||
pref("signon.management.page.mobileAndroidURL", "", locked);
|
|
||||||
pref("signon.management.page.mobileAppleURL", "", locked);
|
|
||||||
pref("signon.recipes.remoteRecipesEnabled", false, locked);
|
|
||||||
pref("svg.context-properties.content.enabled", true);
|
|
||||||
pref("telemetry.origin_telemetry_test_mode.enabled", false, locked);
|
|
||||||
pref("toolkit.legacyUserProfileCustomizations.stylesheets", true, locked);
|
|
||||||
pref("toolkit.telemetry.archive.enabled", false, locked);
|
|
||||||
pref("toolkit.telemetry.bhrPing.enabled", false, locked);
|
|
||||||
pref("toolkit.telemetry.enabled", false, locked);
|
|
||||||
pref("toolkit.telemetry.firstShutdownPing.enabled", false, locked);
|
|
||||||
pref("toolkit.telemetry.geckoview.streaming", false, locked);
|
|
||||||
pref("toolkit.telemetry.newProfilePing.enabled", false, locked);
|
|
||||||
pref("toolkit.telemetry.pioneer-new-studies-available", false, locked);
|
|
||||||
pref("toolkit.telemetry.reportingpolicy.firstRun", false, locked);
|
|
||||||
pref("toolkit.telemetry.server", "", locked);
|
|
||||||
pref("toolkit.telemetry.shutdownPingSender.enabled", false, locked);
|
|
||||||
pref("toolkit.telemetry.shutdownPingSender.enabledFirstSession", false, locked);
|
|
||||||
pref("toolkit.telemetry.testing.overrideProductsCheck", false, locked);
|
|
||||||
pref("toolkit.telemetry.unified", false, locked);
|
|
||||||
pref("toolkit.telemetry.updatePing.enabled", false, locked); // Make sure updater telemetry is disabled; see #25909.
|
|
||||||
pref("trailhead.firstrun.branches", "", locked);
|
|
||||||
pref("xpinstall.signatures.required", false);
|
|
||||||
|
|
||||||
// ** Theme Related Options ****************************************************
|
|
||||||
// == Theme Distribution Settings ==============================================
|
|
||||||
pref("userChrome.tab.connect_to_window", true); // Original, Photon
|
|
||||||
pref("userChrome.tab.color_like_toolbar", true); // Original, Photon
|
|
||||||
|
|
||||||
// pref("userChrome.tab.lepton_like_padding", true); // Original
|
|
||||||
pref("userChrome.tab.photon_like_padding", true); // Photon
|
|
||||||
|
|
||||||
pref("userChrome.tab.static_separator", true); // Photon
|
|
||||||
// pref("userChrome.tab.static_separator.selected_accent", true); // Just option
|
|
||||||
|
|
||||||
pref("userChrome.tab.newtab_button_smaller", true); // Photon
|
|
||||||
|
|
||||||
pref("userChrome.icon.panel_photon", true); // Photon
|
|
||||||
|
|
||||||
// Photon Only
|
|
||||||
pref("userChrome.tab.photon_like_contextline", true);
|
|
||||||
pref("userChrome.rounding.square_tab", true);
|
|
||||||
|
|
||||||
// == Theme Default Settings ===================================================
|
|
||||||
// -- User Chrome --------------------------------------------------------------
|
|
||||||
pref("userChrome.compatibility.accent_color", true);
|
|
||||||
pref("userChrome.compatibility.theme", true);
|
|
||||||
pref("userChrome.compatibility.os", true);
|
|
||||||
|
|
||||||
pref("userChrome.theme.built_in_contrast", true);
|
|
||||||
pref("userChrome.theme.system_default", true);
|
|
||||||
pref("userChrome.theme.proton_color", true);
|
|
||||||
pref("userChrome.theme.proton_chrome", true); // Need proton_color
|
|
||||||
pref("userChrome.theme.fully_color", true); // Need proton_color
|
|
||||||
pref("userChrome.theme.fully_dark", true); // Need proton_color
|
|
||||||
|
|
||||||
pref("userChrome.decoration.cursor", true);
|
|
||||||
pref("userChrome.decoration.field_border", true);
|
|
||||||
pref("userChrome.decoration.download_panel", true);
|
|
||||||
pref("userChrome.decoration.animate", true);
|
|
||||||
|
|
||||||
pref("userChrome.padding.tabbar_width", true);
|
|
||||||
pref("userChrome.padding.tabbar_height", true);
|
|
||||||
pref("userChrome.padding.toolbar_button", true);
|
|
||||||
pref("userChrome.padding.navbar_width", true);
|
|
||||||
pref("userChrome.padding.urlbar", true);
|
|
||||||
pref("userChrome.padding.bookmarkbar", true);
|
|
||||||
pref("userChrome.padding.infobar", true);
|
|
||||||
pref("userChrome.padding.menu", true);
|
|
||||||
pref("userChrome.padding.bookmark_menu", true);
|
|
||||||
pref("userChrome.padding.global_menubar", true);
|
|
||||||
pref("userChrome.padding.panel", true);
|
|
||||||
pref("userChrome.padding.popup_panel", true);
|
|
||||||
|
|
||||||
pref("userChrome.tab.multi_selected", true);
|
|
||||||
pref("userChrome.tab.unloaded", true);
|
|
||||||
pref("userChrome.tab.letters_cleary", true);
|
|
||||||
pref("userChrome.tab.close_button_at_hover", true);
|
|
||||||
pref("userChrome.tab.sound_hide_label", true);
|
|
||||||
pref("userChrome.tab.sound_with_favicons", true);
|
|
||||||
pref("userChrome.tab.pip", true);
|
|
||||||
pref("userChrome.tab.container", true);
|
|
||||||
pref("userChrome.tab.crashed", true);
|
|
||||||
|
|
||||||
pref("userChrome.fullscreen.overlap", true);
|
|
||||||
pref("userChrome.fullscreen.show_bookmarkbar", true);
|
|
||||||
|
|
||||||
pref("userChrome.icon.library", true);
|
|
||||||
pref("userChrome.icon.panel", true);
|
|
||||||
pref("userChrome.icon.menu", true);
|
|
||||||
pref("userChrome.icon.context_menu", true);
|
|
||||||
pref("userChrome.icon.global_menu", true);
|
|
||||||
pref("userChrome.icon.global_menubar", true);
|
|
||||||
|
|
||||||
// -- User Content -------------------------------------------------------------
|
|
||||||
pref("userContent.player.ui", true);
|
|
||||||
pref("userContent.player.icon", true);
|
|
||||||
pref("userContent.player.noaudio", true);
|
|
||||||
pref("userContent.player.size", true);
|
|
||||||
pref("userContent.player.click_to_play", true);
|
|
||||||
pref("userContent.player.animate", true);
|
|
||||||
|
|
||||||
pref("userContent.newTab.field_border", true);
|
|
||||||
pref("userContent.newTab.full_icon", true);
|
|
||||||
pref("userContent.newTab.animate", true);
|
|
||||||
pref("userContent.newTab.pocket_to_last", true);
|
|
||||||
pref("userContent.newTab.searchbar", true);
|
|
||||||
|
|
||||||
pref("userContent.page.illustration", true);
|
|
||||||
pref("userContent.page.proton_color", true);
|
|
||||||
pref("userContent.page.dark_mode", true); // Need proton_color
|
|
||||||
pref("userContent.page.proton", true); // Need proton_color
|
|
||||||
|
|
||||||
// ** Useful Options ***********************************************************
|
|
||||||
// Integrated calculator at urlbar
|
|
||||||
pref("browser.urlbar.suggest.calculator", true);
|
|
||||||
|
|
||||||
// Extensibles prefs
|
|
||||||
pref("browser.tabs.duplicateTab", true);
|
|
||||||
pref("browser.tabs.copyurl", true);
|
|
||||||
pref("browser.tabs.copyallurls", false);
|
|
||||||
pref("browser.tabs.copyurl.activetab", false);
|
|
||||||
pref("browser.tabs.unloadTab", false);
|
|
||||||
pref("browser.restart_menu.showpanelmenubtn", true);
|
|
||||||
pref("browser.restart_menu.purgecache", false);
|
|
||||||
pref("browser.restart_menu.requireconfirm", true);
|
|
||||||
pref("browser.statusbar.appendStatusText", true);
|
|
||||||
pref("browser.statusbar.enabled", false);
|
|
||||||
pref("browser.tabs.toolbarposition", "topabove");
|
|
||||||
pref("browser.bookmarks.toolbarposition", "top");
|
|
||||||
41
waterfox/browser/app/profile/01-theme.js
Normal file
41
waterfox/browser/app/profile/01-theme.js
Normal file
@@ -0,0 +1,41 @@
|
|||||||
|
#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/.
|
||||||
|
|
||||||
|
// --- General Browser Appearance & UI Density ---
|
||||||
|
// These preferences control the overall look and feel of the browser UI.
|
||||||
|
pref("browser.uidensity", 1); // 0=normal, 1=compact, 2=touch
|
||||||
|
pref("browser.theme.enableWaterfoxCustomizations", 1); // Enable Waterfox specific theme customizations
|
||||||
|
|
||||||
|
// Toolbar and UI Element Positions
|
||||||
|
pref("browser.bookmarks.toolbarposition", "top"); // Position of the bookmarks toolbar: "top" or "bottom"
|
||||||
|
pref("browser.tabs.toolbarposition", "topabove"); // Position of the tab toolbar (e.g., "topabove", "top", "bottom")
|
||||||
|
pref("browser.statusbar.enabled", false); // Show or hide the main status bar
|
||||||
|
pref("browser.statusbar.appendStatusText", true); // Append status text instead of replacing it (if statusbar is enabled)
|
||||||
|
|
||||||
|
// Tab Appearance (General Browser Settings)
|
||||||
|
pref("browser.tabs.closeButtons", false); // Controls display of close buttons on tabs. Behavior can be complex with userChrome.css.
|
||||||
|
|
||||||
|
// --- Custom Stylesheet Support ---
|
||||||
|
// Enables loading of userChrome.css (for browser UI) and userContent.css (for web content) for custom styling.
|
||||||
|
pref("toolkit.legacyUserProfileCustomizations.stylesheets", true, locked);
|
||||||
|
|
||||||
|
// --- OS-Specific Visual Integration ---
|
||||||
|
// These settings enhance visual integration with the underlying operating system.
|
||||||
|
#ifdef XP_MACOSX
|
||||||
|
// macOS specific visual settings for a more native look and feel.
|
||||||
|
pref("widget.macos.sidebar-blend-mode.behind-window", true); // Blends sidebar with window background.
|
||||||
|
pref("widget.macos.titlebar-blend-mode.behind-window", true); // Blends titlebar with window background.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XP_WIN
|
||||||
|
// Windows specific visual settings, e.g., for Mica effect (Windows 11).
|
||||||
|
pref("widget.windows.mica", true); // Enable Mica effect for the main window.
|
||||||
|
pref("widget.windows.mica.popups", 1); // Mica for popups: 0=none, 1=auto, 2=acrylic, 3=tabbed.
|
||||||
|
pref("widget.windows.mica.toplevel-backdrop", 3); // Mica for other top-level windows (e.g., Picture-in-Picture).
|
||||||
|
// Only load keyboard layout when first needed, which is more efficient for Windows.
|
||||||
|
pref("ui.key.layout.load_when_first_needed", true);
|
||||||
|
#endif
|
||||||
212
waterfox/browser/app/profile/02-privacy.js
Normal file
212
waterfox/browser/app/profile/02-privacy.js
Normal file
@@ -0,0 +1,212 @@
|
|||||||
|
#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/.
|
||||||
|
|
||||||
|
// --- Tracking Protection & Fingerprinting Resistance ---
|
||||||
|
// Lower the priority of network loads for resources on tracking protection lists.
|
||||||
|
pref("privacy.trackingprotection.lower_network_priority", true);
|
||||||
|
// Disable access to the Battery Status API to prevent fingerprinting.
|
||||||
|
pref("dom.battery.enabled", false);
|
||||||
|
// Disable UITour backend, which can be a fingerprinting vector or used for unwanted popups.
|
||||||
|
pref("browser.uitour.enabled", false);
|
||||||
|
pref("browser.uitour.url", ""); // Clear UITour URL
|
||||||
|
// Enable Global Privacy Control (GPC) to signal websites not to sell or share personal data.
|
||||||
|
pref("privacy.globalprivacycontrol.enabled", true);
|
||||||
|
pref("privacy.globalprivacycontrol.functionality.enabled", true);
|
||||||
|
// Block fingerprinting attempts via the mozAddonManager Web API.
|
||||||
|
pref("privacy.resistFingerprinting.block_mozAddonManager", true);
|
||||||
|
|
||||||
|
// --- Cookies & Site Data ---
|
||||||
|
// Enforce that SameSite=None cookies must also be Secure.
|
||||||
|
pref("network.cookie.sameSite.noneRequiresSecure", true);
|
||||||
|
// Prevent media cache from writing to disk in Private Browsing mode, forcing it to memory.
|
||||||
|
pref("browser.privatebrowsing.forceMediaMemoryCache", true);
|
||||||
|
pref("dom.cookieStore.extra.enabled", true);
|
||||||
|
// Whether to support CHIPS(Cookies Having Independent Partitioned State).
|
||||||
|
pref("network.cookie.CHIPS.enabled", true);
|
||||||
|
pref("network.cookie.sameSite.schemeful", true);
|
||||||
|
|
||||||
|
// --- Certificate & Connection Security ---
|
||||||
|
// OCSP (Online Certificate Status Protocol)
|
||||||
|
pref("security.OCSP.enabled", 0); // 0=disable, 1=validate good certs, 2=validate all certs (old default)
|
||||||
|
|
||||||
|
// CRLite (Compressed Revocation List)
|
||||||
|
// Enables a more private way to check for revoked certificates.
|
||||||
|
pref("security.remote_settings.crlite_filters.enabled", true);
|
||||||
|
pref("security.pki.crlite_mode", 2); // 0=off, 1=check only, 2=check and enforce.
|
||||||
|
|
||||||
|
// Intermediate Certificate Preloading
|
||||||
|
// Disable preloading of intermediate certificates to prevent remote downloads.
|
||||||
|
pref("security.remote_settings.intermediates.enabled", false);
|
||||||
|
|
||||||
|
// SSL/TLS Settings
|
||||||
|
// Display a warning on the padlock icon for connections with unsafe TLS negotiation.
|
||||||
|
pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
|
||||||
|
// Disable TLS 1.3 0-RTT (Zero Round Trip Time Resumption) to improve forward secrecy.
|
||||||
|
pref("security.tls.enable_0rtt_data", false);
|
||||||
|
|
||||||
|
// Error Pages
|
||||||
|
// Display more detailed technical information on "Insecure Connection" warning pages.
|
||||||
|
pref("browser.xul.error_pages.expert_bad_cert", true);
|
||||||
|
|
||||||
|
// --- History, Referrers, and URL Display ---
|
||||||
|
// Set History section in preferences to show all options, allowing for custom history settings.
|
||||||
|
pref("privacy.history.custom", true);
|
||||||
|
|
||||||
|
// Referrer Policy
|
||||||
|
// Control how much referrer information is sent with requests.
|
||||||
|
// 2 = Send origin, path, and querystring for same-origin, but only origin for cross-origin.
|
||||||
|
pref("network.http.referer.XOriginTrimmingPolicy", 2);
|
||||||
|
// Default Referrer Policy for trackers (1 = strict-origin-when-cross-origin).
|
||||||
|
pref("network.http.referer.defaultPolicy.trackers", 1);
|
||||||
|
pref("network.http.referer.defaultPolicy.trackers.pbmode", 1); // Same for private browsing.
|
||||||
|
|
||||||
|
// URL Bar
|
||||||
|
// Disable trimming of "http://", "https://", "www." etc. from URLs in the address bar.
|
||||||
|
pref("browser.urlbar.trimURLs", false);
|
||||||
|
// Enable UI option to add custom search engines.
|
||||||
|
pref("browser.urlbar.update2.engineAliasRefresh", true);
|
||||||
|
// Disable Firefox Suggest (sponsored and non-sponsored suggestions based on browsing).
|
||||||
|
pref("browser.urlbar.suggest.quicksuggest.sponsored", false);
|
||||||
|
pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false);
|
||||||
|
|
||||||
|
// --- HTTPS-Only Mode & Mixed Content ---
|
||||||
|
// Display "Not Secure" text on HTTP sites for better visual indication.
|
||||||
|
pref("security.insecure_connection_text.enabled", true);
|
||||||
|
pref("security.insecure_connection_text.pbmode.enabled", true); // Also in private browsing.
|
||||||
|
|
||||||
|
// HTTPS-First Policy (attempts to upgrade HTTP to HTTPS automatically)
|
||||||
|
pref("dom.security.https_first", true);
|
||||||
|
|
||||||
|
// HTTPS-Only Mode Settings
|
||||||
|
pref("dom.security.https_only_mode_error_page_user_suggestions", true); // Show suggestions on HTTPS-Only error pages.
|
||||||
|
pref("dom.security.https_only_mode.upgrade_local", false); // Do not attempt to upgrade local addresses (e.g., localhost).
|
||||||
|
|
||||||
|
// Mixed Content Blocking
|
||||||
|
// Block active mixed content (e.g., scripts) and passive mixed content (e.g., images).
|
||||||
|
pref("security.mixed_content.block_display_content", true); // Blocks passive mixed content
|
||||||
|
pref("security.mixed_content.upgrade_display_content", true); // Attempts to upgrade passive mixed content to HTTPS
|
||||||
|
|
||||||
|
// --- Passwords, Forms & Paste Handling ---
|
||||||
|
// Disable truncating user pastes into form fields (can interfere with long strings).
|
||||||
|
pref("editor.truncate_user_pastes", false);
|
||||||
|
// Enable the built-in reveal password button in password fields.
|
||||||
|
pref("layout.forms.reveal-password-button.enabled", true);
|
||||||
|
// Allow subresource HTTP authentication (1 = allow same-origin, 2 = allow cross-origin).
|
||||||
|
pref("network.auth.subresource-http-auth-allow", 1);
|
||||||
|
|
||||||
|
// --- PDF Viewer Security ---
|
||||||
|
// Disable JavaScript execution within the built-in PDF viewer for security.
|
||||||
|
pref("pdfjs.enableScripting", false);
|
||||||
|
|
||||||
|
// --- Extensions & Add-ons Security/Privacy ---
|
||||||
|
// Disable the prompt that appears after downloading a third-party extension (XPI file).
|
||||||
|
pref("extensions.postDownloadThirdPartyPrompt", false);
|
||||||
|
// Disable signing requirement for extensions (use with caution, for development or trusted sources only).
|
||||||
|
pref("xpinstall.signatures.required", false, locked);
|
||||||
|
// Disable the "Quarantined Domains" feature which restricts extension capabilities on certain domains.
|
||||||
|
pref("extensions.quarantinedDomains.enabled", false, locked);
|
||||||
|
// Disable personalized extension recommendations in about:addons and AMO.
|
||||||
|
pref("browser.discovery.enabled", false, locked); // Also affects other "discovery" features.
|
||||||
|
// Disable extension abuse reporting feature.
|
||||||
|
pref("extensions.abuseReport.enabled", false);
|
||||||
|
// Whether we block opening pickers from hidden extension pages in WebExtensions.
|
||||||
|
// This includes background pages and devtools pages, but not background tabs.
|
||||||
|
pref("browser.disable_pickers_in_hidden_extension_pages", true);
|
||||||
|
|
||||||
|
|
||||||
|
// --- Container Tabs ---
|
||||||
|
// Enable Container Tabs feature and its UI elements.
|
||||||
|
pref("privacy.userContext.ui.enabled", true);
|
||||||
|
pref("privacy.userContext.enabled", true);
|
||||||
|
// Control behavior of the "+ Tab" button regarding containers (false = default new tab).
|
||||||
|
pref("privacy.userContext.newTabContainerOnLeftClick.enabled", false);
|
||||||
|
|
||||||
|
// --- WebRTC Privacy ---
|
||||||
|
// Enable global mute toggles for microphone/camera in WebRTC.
|
||||||
|
pref("privacy.webrtc.globalMuteToggles", true);
|
||||||
|
// Force WebRTC connections to use a proxy if one is configured.
|
||||||
|
pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true);
|
||||||
|
// Force WebRTC to use only the default network interface for ICE candidates (can prevent IP leaks).
|
||||||
|
pref("media.peerconnection.ice.default_address_only", true);
|
||||||
|
|
||||||
|
// --- Geolocation Services ---
|
||||||
|
// Clear the URL for Mozilla's geolocation service, effectively disabling it if not manually re-enabled.
|
||||||
|
// (To use a specific provider, set this to its URL, or "" to rely on OS-level services if available)
|
||||||
|
pref("geo.provider.network.url", "");
|
||||||
|
|
||||||
|
// --- Safe Browsing ---
|
||||||
|
// Disable Safe Browsing features for downloads and remote checks.
|
||||||
|
pref("browser.safebrowsing.downloads.remote.enabled", false);
|
||||||
|
pref("browser.safebrowsing.downloads.remote.url", ""); // Clear remote check URL
|
||||||
|
pref("browser.safebrowsing.provider.google4.gethashURL", ""); // Clear Google Safe Browsing v4 gethash URL
|
||||||
|
pref("browser.safebrowsing.provider.google4.updateURL", ""); // Clear Google Safe Browsing v4 update URL
|
||||||
|
pref("browser.safebrowsing.provider.google.gethashURL", ""); // Clear Google Safe Browsing v2 gethash URL (legacy)
|
||||||
|
pref("browser.safebrowsing.provider.google.updateURL", ""); // Clear Google Safe Browsing v2 update URL (legacy)
|
||||||
|
pref("browser.safebrowsing.downloads.enabled", false); // Disable Safe Browsing checks for downloaded files.
|
||||||
|
|
||||||
|
// --- Telemetry, Experiments & Data Reporting ---
|
||||||
|
// These settings aim to disable various forms of data collection and reporting to Mozilla or third parties.
|
||||||
|
|
||||||
|
// Core Telemetry System
|
||||||
|
pref("toolkit.telemetry.unified", false, locked); // Master switch for new telemetry system.
|
||||||
|
pref("toolkit.telemetry.enabled", false, locked); // General telemetry enabled/disabled.
|
||||||
|
pref("toolkit.telemetry.server", "data:,", locked); // Send telemetry data to a null void.
|
||||||
|
pref("toolkit.telemetry.archive.enabled", false, locked); // Disable archiving of telemetry data.
|
||||||
|
pref("toolkit.telemetry.newProfilePing.enabled", false, locked); // Disable ping sent for new profiles.
|
||||||
|
pref("toolkit.telemetry.shutdownPingSender.enabled", false, locked); // Disable ping sent at shutdown.
|
||||||
|
pref("toolkit.telemetry.updatePing.enabled", false, locked); // Disable ping sent for updates.
|
||||||
|
pref("toolkit.telemetry.bhrPing.enabled", false, locked); // Disable Background Hang Reporter pings.
|
||||||
|
pref("toolkit.telemetry.firstShutdownPing.enabled", false, locked); // Disable first shutdown ping.
|
||||||
|
pref("toolkit.telemetry.dap_enabled", false, locked); // Disable Data Aggregation Platform related telemetry.
|
||||||
|
|
||||||
|
// Telemetry Coverage (additional telemetry for measuring code coverage by telemetry)
|
||||||
|
pref("toolkit.telemetry.coverage.opt-out", true, locked);
|
||||||
|
pref("toolkit.coverage.opt-out", true, locked);
|
||||||
|
pref("toolkit.coverage.endpoint.base", "", locked);
|
||||||
|
|
||||||
|
// Health Reports & Data Reporting Policy
|
||||||
|
pref("datareporting.healthreport.uploadEnabled", false, locked); // Disable Firefox Health Report (FHR).
|
||||||
|
pref("datareporting.policy.dataSubmissionEnabled", false, locked); // General policy switch for data submission.
|
||||||
|
|
||||||
|
// Studies, Normandy & Shield (Mozilla's system for deploying studies, features, and fixes)
|
||||||
|
pref("app.shield.optoutstudies.enabled", false, locked); // Opt-out of Shield studies.
|
||||||
|
pref("app.normandy.enabled", false, locked); // Disable Normandy (Shield's successor).
|
||||||
|
pref("app.normandy.api_url", "", locked); // Clear Normandy API URL.
|
||||||
|
|
||||||
|
// Crash Reporting
|
||||||
|
pref("breakpad.reportURL", "", locked); // Clear URL for sending crash reports.
|
||||||
|
pref("browser.tabs.crashReporting.sendReport", false, locked); // Don't send reports for tab crashes.
|
||||||
|
pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false, locked); // Don't auto-submit unsent crash reports.
|
||||||
|
|
||||||
|
// Component-Specific Telemetry
|
||||||
|
pref("browser.newtabpage.activity-stream.feeds.telemetry", false, locked); // Disable telemetry for New Tab Page feeds.
|
||||||
|
pref("browser.newtabpage.activity-stream.telemetry", false, locked); // Disable general New Tab Page telemetry.
|
||||||
|
pref("dom.security.unexpected_system_load_telemetry_enabled", false, locked); // Telemetry for unexpected system load.
|
||||||
|
pref("network.trr.confirmation_telemetry_enabled", false, locked); // Telemetry for TRR/DoH confirmation.
|
||||||
|
pref("security.app_menu.recordEventTelemetry", false, locked); // Telemetry for app menu interactions.
|
||||||
|
pref("security.certerrors.recordEventTelemetry", false, locked); // Telemetry for certificate error page interactions.
|
||||||
|
pref("security.identitypopup.recordEventTelemetry", false, locked); // Telemetry for identity popup (site info) interactions.
|
||||||
|
pref("security.protectionspopup.recordEventTelemetry", false, locked); // Telemetry for protections popup interactions.
|
||||||
|
|
||||||
|
// --- Miscellaneous Privacy & Security Settings ---
|
||||||
|
// Check bundled omni.ja JAR files for corruption (can be disabled for minor performance gain, security implications if disabled).
|
||||||
|
pref("corroborator.enabled", false);
|
||||||
|
// Allow the OS to check for captive portals
|
||||||
|
pref("network.captive-portal-service.enabled", false);
|
||||||
|
// Enforce Punycode display for Internationalized Domain Names (IDNs) to prevent homograph attacks.
|
||||||
|
pref("network.IDN_show_punycode", true);
|
||||||
|
// Clear the webchannel whitelist, restricting its use (WebChannel allows web pages to communicate with specific XPCOM components).
|
||||||
|
pref("webchannel.allowObject.urlWhitelist", "");
|
||||||
|
// Enable the HTML Sanitizer API, which provides a standards-based way to sanitize HTML fragments.
|
||||||
|
pref("dom.security.sanitizer.enabled", true);
|
||||||
|
pref("dom.w3c_pointer_events.getcoalescedevents_only_in_securecontext", true);
|
||||||
|
|
||||||
|
// --- Content Blocking Reports ---
|
||||||
|
// Disable various promotional features in the content blocking report.
|
||||||
|
pref("browser.contentblocking.report.lockwise.enabled", false, locked);
|
||||||
|
pref("browser.contentblocking.report.monitor.enabled", false, locked);
|
||||||
|
pref("browser.contentblocking.report.show_mobile_app", false, locked);
|
||||||
278
waterfox/browser/app/profile/03-features.js
Normal file
278
waterfox/browser/app/profile/03-features.js
Normal file
@@ -0,0 +1,278 @@
|
|||||||
|
// -*- 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/.
|
||||||
|
|
||||||
|
// --- Mozilla & Waterfox Services Integration ---
|
||||||
|
// Controls for features and promotions related to Mozilla or Waterfox services.
|
||||||
|
|
||||||
|
// Mozilla VPN Promotion
|
||||||
|
pref("browser.privatebrowsing.vpnpromourl", ""); // Clear URL for VPN promo in private browsing context.
|
||||||
|
pref("browser.vpn_promo.enabled", false, locked); // Disable the VPN promotion.
|
||||||
|
pref("browser.promo.focus.enabled", false, locked); // Disable Focus mode promotion.
|
||||||
|
pref("browser.promo.pin.enabled", false, locked); // Disable Pin mode promotion (assuming "pomo" was a typo).
|
||||||
|
pref("browser.contentblocking.report.vpn-promo.url", "", locked); // Clear URL for VPN promo in content blocking report.
|
||||||
|
|
||||||
|
// Firefox Accounts Toolbar Integration (Controls visibility of Monitor, Relay, VPN in FxA menu)
|
||||||
|
pref("identity.fxaccounts.toolbar.pxiToolbarEnabled.monitorEnabled", false);
|
||||||
|
pref("identity.fxaccounts.toolbar.pxiToolbarEnabled.relayEnabled", false);
|
||||||
|
pref("identity.fxaccounts.toolbar.pxiToolbarEnabled.vpnEnabled", false);
|
||||||
|
|
||||||
|
// --- Add-ons & Extension Recommendations ---
|
||||||
|
// Settings related to the display and suggestion of extensions.
|
||||||
|
|
||||||
|
// Disable "Recommendations" pane in about:addons (this pane sometimes uses Google Analytics).
|
||||||
|
pref("extensions.getAddons.showPane", false, locked);
|
||||||
|
// Disable recommendations in the "Extensions" and "Themes" panes of about:addons.
|
||||||
|
pref("extensions.htmlaboutaddons.recommendations.enabled", false, locked);
|
||||||
|
// Disable personalized extension recommendations in about:addons and on the AMO website.
|
||||||
|
pref("browser.discovery.enabled", false, locked); // This is a broader switch impacting "discovery" features.
|
||||||
|
|
||||||
|
// Disable Contextual Feature Recommender (CFR) for add-ons and features.
|
||||||
|
// CFR suggests extensions or browser features based on user activity patterns.
|
||||||
|
// [1] https://support.mozilla.org/en-US/kb/extension-recommendations
|
||||||
|
pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
|
||||||
|
pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
|
||||||
|
|
||||||
|
// --- New Tab Page (Activity Stream) Configuration ---
|
||||||
|
// These settings control the various sections and content sources for the New Tab Page (about:newtab).
|
||||||
|
|
||||||
|
// Activity Stream Router (ASRouter) Provider Settings
|
||||||
|
// These typically disable specific content providers that feed into the New Tab Page.
|
||||||
|
pref("browser.newtabpage.activity-stream.asrouter.providers.cfr", "{}", locked); // Contextual Feature Recommender provider.
|
||||||
|
pref("browser.newtabpage.activity-stream.asrouter.providers.cfr-fxa", "{}", locked); // CFR FxA integration provider.
|
||||||
|
pref("browser.newtabpage.activity-stream.asrouter.providers.message-groups", "{}", locked); // Message groups provider.
|
||||||
|
pref("browser.newtabpage.activity-stream.asrouter.providers.messaging-experiments", "{}", locked); // Messaging experiments provider.
|
||||||
|
pref("browser.newtabpage.activity-stream.asrouter.providers.snippets", "{}", locked); // Snippets provider (Mozilla news/tips) via ASRouter.
|
||||||
|
pref("browser.newtabpage.activity-stream.asrouter.providers.whats-new-panel", "{}", locked); // Provider for the "What's New" panel content.
|
||||||
|
pref("browser.newtabpage.activity-stream.asrouter.useRemoteL10n", false, locked); // Disable use of remote localization for ASRouter content.
|
||||||
|
|
||||||
|
// General New Tab Page Content & Features
|
||||||
|
pref("browser.newtabpage.activity-stream.discoverystream.enabled", false, locked); // Disable Pocket/Discovery Stream integration on NTP.
|
||||||
|
pref("browser.newtabpage.activity-stream.discoverystream.config", "{}", locked); // Configuration for Discovery Stream (relevant if enabled elsewhere).
|
||||||
|
pref("browser.newtabpage.activity-stream.showSearch", false); // Hide the search bar on the New Tab Page.
|
||||||
|
pref("browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts", false); // Show search shortcuts (e.g., @bookmarks) on Top Sites.
|
||||||
|
pref("browser.newtabpage.activity-stream.feeds.topsites", true); // Show the Top Sites section.
|
||||||
|
pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false, locked); // Hide sponsored Top Sites.
|
||||||
|
pref("browser.newtabpage.activity-stream.system.showSponsored", false, locked); // Hide sponsored checkbox
|
||||||
|
pref("browser.newtabpage.activity-stream.system.showSponsoredCheckboxes", false, locked); // Hide sponsored checkbox
|
||||||
|
pref("browser.newtabpage.activity-stream.feeds.system.topstories", false, locked); // Disable system-provided top stories feed (Pocket integration).
|
||||||
|
pref("browser.newtabpage.activity-stream.feeds.section.topstories", false, locked); // Disable the "Recommended by Pocket" section.
|
||||||
|
pref("browser.newtabpage.activity-stream.showSponsored", false, locked); // Disable general sponsored content on the New Tab Page.
|
||||||
|
|
||||||
|
// Weather Widget on New Tab Page
|
||||||
|
pref("browser.newtabpage.activity-stream.showWeather", false); // Hide the weather widget.
|
||||||
|
pref("browser.newtabpage.activity-stream.system.showWeather", true); // Show "Weather" as a configurable UI option in NTP settings.
|
||||||
|
|
||||||
|
// Highlights Section (Recent Activity: Bookmarks, History, Downloads)
|
||||||
|
pref("browser.newtabpage.activity-stream.feeds.section.highlights", true); // Show the Highlights section.
|
||||||
|
pref("browser.newtabpage.activity-stream.section.highlights.includeBookmarks", true); // Include bookmarks in Highlights.
|
||||||
|
pref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false); // Do not include downloads in Highlights.
|
||||||
|
pref("browser.newtabpage.activity-stream.section.highlights.includeVisited", true); // Include recently visited sites in Highlights.
|
||||||
|
pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false, locked); // Do not include Pocket saves in Highlights.
|
||||||
|
pref("browser.newtabpage.activity-stream.section.highlights.rows", 2); // Number of rows displayed for Highlights.
|
||||||
|
|
||||||
|
// Other New Tab Page Settings
|
||||||
|
pref("browser.newtabpage.activity-stream.feeds.snippets", false); // Disable Mozilla/Firefox related news/tips snippets feed directly on NTP.
|
||||||
|
pref("browser.newtabpage.activity-stream.default.sites", "", locked); // Clear the list of default Top Sites (locked to prevent override).
|
||||||
|
pref("browser.newtabpage.activity-stream.logowordmark.alwaysVisible", false); // Control visibility of Waterfox logo/wordmark on NTP.
|
||||||
|
|
||||||
|
// --- Browser UI & Interaction ---
|
||||||
|
// Miscellaneous settings affecting the browser's user interface and behavior.
|
||||||
|
|
||||||
|
// "More from Mozilla" section in Preferences/Settings
|
||||||
|
pref("browser.preferences.moreFromMozilla", false); // Hide this promotional section.
|
||||||
|
|
||||||
|
// Warnings & Notices
|
||||||
|
pref("browser.aboutConfig.showWarning", false); // Disable the warning dialog when accessing about:config..
|
||||||
|
|
||||||
|
// Profile Management
|
||||||
|
pref("browser.profiles.enabled", true); // Enable the new profile switcher UI.
|
||||||
|
|
||||||
|
// --- Sidebar Revamp Features ---
|
||||||
|
// Controls for an alternative sidebar implementation or major update.
|
||||||
|
pref("sidebar.revamp", true);
|
||||||
|
// Should the sidebar launcher default to visible or not with horizontal tabs
|
||||||
|
pref("sidebar.revamp.defaultLauncherVisible", false);
|
||||||
|
|
||||||
|
// Linux Specific UI
|
||||||
|
#ifdef XP_UNIX
|
||||||
|
#ifndef XP_MACOSX
|
||||||
|
// Use native-style title bar buttons on GTK environments for better desktop integration.
|
||||||
|
pref("widget.gtk.non-native-titlebar-buttons.enabled", true);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Cookie Banner Handling
|
||||||
|
// Controls the browser's automated interaction with cookie consent banners.
|
||||||
|
// 0 = disable all handling.
|
||||||
|
// 1 = reject banners if a one-click "reject all" option is available; otherwise, keep banners on screen.
|
||||||
|
// 2 = reject banners if a one-click "reject all" is available; otherwise, fall back to an "accept all" option.
|
||||||
|
pref("cookiebanners.service.mode", 1);
|
||||||
|
pref("cookiebanners.service.mode.privateBrowsing", 1); // Same setting for Private Browsing mode.
|
||||||
|
|
||||||
|
// --- URL Bar (AwesomeBar) & Search Functionality ---\n// Settings for the address bar, search suggestions, and related features.
|
||||||
|
|
||||||
|
// URL Bar Suggestions (what types of suggestions appear in the dropdown)
|
||||||
|
pref("browser.urlbar.suggest.history", true); // Suggest from browsing history.
|
||||||
|
pref("browser.urlbar.suggest.bookmark", true); // Suggest from bookmarks.
|
||||||
|
pref("browser.urlbar.suggest.clipboard", true); // Suggest content from the clipboard (if enabled by user).
|
||||||
|
pref("browser.urlbar.suggest.openpage", true); // Suggest currently open tabs.
|
||||||
|
pref("browser.urlbar.suggest.engines", true); // Suggest installed search engines.
|
||||||
|
pref("browser.urlbar.suggest.searches", true); // Suggest past search terms.
|
||||||
|
pref("browser.urlbar.suggest.topsites", true); // Disable suggesting top sites when the URL bar is empty and focused.
|
||||||
|
|
||||||
|
// URL Bar Quick Actions & Utilities
|
||||||
|
pref("browser.urlbar.quickactions.enabled", false); // Disable quick actions (e.g., "view downloads", "manage extensions").
|
||||||
|
pref("browser.urlbar.shortcuts.quickactions", false); // Disable shortcuts for quick actions (e.g., typing "downloads").
|
||||||
|
pref("browser.urlbar.suggest.weather", false); // Disable weather forecast suggestions in the URL bar.
|
||||||
|
pref("browser.urlbar.weather.ignoreVPN", false); // If weather suggestions are enabled, setting to true ignores VPN status for location.
|
||||||
|
pref("browser.urlbar.suggest.calculator", true); // Enable the built-in calculator in the URL bar (e.g., "5*5").
|
||||||
|
pref("browser.urlbar.unitConversion.enabled", true); // Enable unit conversion in the URL bar (e.g., "10ft to m").
|
||||||
|
|
||||||
|
// URL Bar Feature Gates (Disabling specific third-party or experimental integrations)
|
||||||
|
pref("browser.urlbar.trending.featureGate", false); // Disable trending search suggestions from search providers.
|
||||||
|
pref("browser.urlbar.addons.featureGate", false); // Disable suggestions for add-ons.
|
||||||
|
pref("browser.urlbar.fakespot.featureGate", false); // Disable Fakespot integration (product review analysis).
|
||||||
|
pref("browser.urlbar.mdn.featureGate", false); // Disable MDN (Mozilla Developer Network) suggestions for web development terms.
|
||||||
|
pref("browser.urlbar.weather.featureGate", false); // Master feature gate for weather suggestions.
|
||||||
|
pref("browser.urlbar.clipboard.featureGate", false); // Master feature gate for clipboard suggestions.
|
||||||
|
pref("browser.urlbar.yelp.featureGate", false); // Disable Yelp integration for local business suggestions.
|
||||||
|
|
||||||
|
// Search Settings
|
||||||
|
pref("browser.search.separatePrivateDefault.ui.enabled", true); // Enable UI to set a different default search engine for Private Windows.
|
||||||
|
|
||||||
|
// --- Web Content Handling & Features ---
|
||||||
|
// Settings related to how specific web content or browser features behave.
|
||||||
|
|
||||||
|
// Text Fragments (Scroll-to-text links)
|
||||||
|
pref("dom.text_fragments.create_text_fragment.enabled", true); // Allow creating and navigating to links that scroll to specific text on a page.
|
||||||
|
|
||||||
|
// PDF Handling
|
||||||
|
pref("browser.download.open_pdf_attachments_inline", true); // Open PDF attachments inline using the built-in PDF viewer by default.
|
||||||
|
|
||||||
|
// Download Behaviors
|
||||||
|
pref("browser.download.manager.addToRecentDocs", false); // Do not add downloaded files to the system's "Recent Documents" list (Windows).
|
||||||
|
pref("browser.download.always_ask_before_handling_new_types", true); // Always ask the user how to handle new MIME types, rather than automatically saving.
|
||||||
|
|
||||||
|
// JavaScript Pop-up Window Behavior
|
||||||
|
// Controls how new windows opened by JavaScript are handled.
|
||||||
|
// 0 = force all new windows into tabs.
|
||||||
|
// 1 = let all JavaScript windows open as new windows.
|
||||||
|
// 2 = default Firefox behavior (catches some popups, lets others open as new windows based on features).
|
||||||
|
// [1] https://kb.mozillazine.org/About:config_entries (browser.link.open_newwindow.restriction)
|
||||||
|
pref("browser.link.open_newwindow.restriction", 0);
|
||||||
|
|
||||||
|
// --- Menus, Find Bar, and Text Selection ---
|
||||||
|
// UI elements related to navigation and content interaction.
|
||||||
|
|
||||||
|
// Bookmarks Menu
|
||||||
|
pref("browser.bookmarks.openInTabClosesMenu", false); // Keep the Bookmarks Menu open when selecting an item to open in a new tab.
|
||||||
|
|
||||||
|
// Context Menus
|
||||||
|
pref("browser.menu.showViewImageInfo", true); // Restore "View Image Info" to the image context menu.
|
||||||
|
|
||||||
|
// Find Bar
|
||||||
|
pref("findbar.highlightAll", true); // Highlight all occurrences of the searched text in the Find Bar.
|
||||||
|
|
||||||
|
// Text Selection Behavior
|
||||||
|
pref("layout.word_select.eat_space_to_next_word", false); // When double-clicking a word, do not automatically select the space that follows it.
|
||||||
|
|
||||||
|
// --- Tab Features & Behavior ---
|
||||||
|
// Settings controlling tab previews, actions, and states.
|
||||||
|
|
||||||
|
// Tab Previews (on hover)
|
||||||
|
pref("browser.tabs.hoverPreview.enabled", true); // Enable previews of tab content when hovering over a tab.
|
||||||
|
pref("browser.tabs.hoverPreview.showThumbnails", true); // Show thumbnails (screenshots) in tab hover previews.
|
||||||
|
|
||||||
|
// Tab Actions (from context menu or elsewhere)
|
||||||
|
pref("browser.tabs.duplicateTab", true); // Enable the "Duplicate Tab" option in the tab context menu.
|
||||||
|
pref("browser.tabs.copyurl", true); // Enable "Copy URL" in the tab context menu.
|
||||||
|
pref("browser.tabs.copyallurls", false); // Enable "Copy All URLs" in the tab context menu (copies URLs of all open tabs).
|
||||||
|
pref("browser.tabs.copyurl.activetab", false); // If true, "Copy URL" might specifically target only the active tab (less common).
|
||||||
|
pref("browser.tabs.unloadTab", false); // May enable an option to unload a tab from its context menu (often extension-dependent or for future features).
|
||||||
|
|
||||||
|
// --- Source Viewer & Developer Tools ---
|
||||||
|
// Settings for web development and inspection tools.
|
||||||
|
|
||||||
|
// Enable `@-moz-document` rules, which can be used by user styles (e.g., via Stylus) to target specific sites.
|
||||||
|
// [1] https://reddit.com/r/FirefoxCSS/comments/8x2q97/reenabling_mozdocument_rules_in_firefox_61/
|
||||||
|
pref("layout.css.moz-document.content.enabled", true);
|
||||||
|
// Wrap long lines in the View Source window.
|
||||||
|
pref("view_source.wrap_long_lines", true);
|
||||||
|
// Wrap long lines in the code editor within the DevTools debugger.
|
||||||
|
pref("devtools.debugger.ui.editor-wrapping", true);
|
||||||
|
pref("layout.dynamic-reflow-roots.enabled", true); // Enable dynamic reflow roots for improved rendering performance.
|
||||||
|
|
||||||
|
// --- AI & Machine Learning Features ---
|
||||||
|
// Controls for features utilizing AI or Machine Learning.
|
||||||
|
pref("browser.ml.chat.enabled", false); // Disable built-in ML chat features.
|
||||||
|
|
||||||
|
// --- Miscellaneous Feature Toggles ---
|
||||||
|
// Various standalone feature settings.
|
||||||
|
|
||||||
|
// Image Format Support
|
||||||
|
pref("image.jxl.enabled", true); // Enable support for the JPEG XL image format.
|
||||||
|
|
||||||
|
// Restart Menu (often provided by extensions or custom builds, not a standard Firefox feature)
|
||||||
|
pref("browser.restart_menu.showpanelmenubtn", true); // If a restart menu is present, show its button in a panel menu.
|
||||||
|
pref("browser.restart_menu.purgecache", false); // If true, purges caches upon restart initiated via this menu.
|
||||||
|
pref("browser.restart_menu.requireconfirm", true); // Require confirmation before restarting via this menu.
|
||||||
|
|
||||||
|
// --- Experimental Web Platform Features ---
|
||||||
|
// These features are typically under development and might be unstable or change in future releases.
|
||||||
|
// Use with caution.
|
||||||
|
|
||||||
|
// Enable CSS Masonry Layout (if available in the current browser version).
|
||||||
|
pref("layout.css.grid-template-masonry-value.enabled", true);
|
||||||
|
// Enable the Prioritized Task Scheduling API for web pages.
|
||||||
|
pref("dom.enable_web_task_scheduling", true); // Whether the scheduler interface will be exposed
|
||||||
|
|
||||||
|
// --- DOM Experimental Features ---
|
||||||
|
// https://whatpr.org/html/10168/interaction.html#closewatcher
|
||||||
|
pref("dom.closewatcher.enabled", true);
|
||||||
|
// WebCodecs API - H265
|
||||||
|
pref("dom.media.webcodecs.h265.enabled", true);
|
||||||
|
// Enable Screen Orientation lock
|
||||||
|
pref("dom.screenorientation.allow-lock", true);
|
||||||
|
// Whether allowing selection across the boundary
|
||||||
|
// between shadow DOM and light DOM.
|
||||||
|
// This is based on https://github.com/mfreed7/shadow-dom-selection
|
||||||
|
pref("dom.shadowdom.selection_across_boundary.enabled", true);
|
||||||
|
// When this pref is enabled:
|
||||||
|
// - Shadow DOM is not pierced by default anymore
|
||||||
|
// - The method accepts optional CaretPositionFromPointOptions to allow piercing
|
||||||
|
// certain ShadowRoots
|
||||||
|
//
|
||||||
|
// https://drafts.csswg.org/cssom-view/#dom-document-caretpositionfrompoint
|
||||||
|
pref("dom.shadowdom.new_caretPositionFromPoint_behavior.enabled", true);
|
||||||
|
pref("dom.webnotifications.actions.enabled", true);
|
||||||
|
pref("dom.webgpu.enabled", true); // Enable WebGPU API.
|
||||||
|
pref("dom.webgpu.workers.enabled", true); // Enable WebGPU in Web Workers.
|
||||||
|
pref("dom.webshare.enabled", true); // Enable Web Share API.
|
||||||
|
|
||||||
|
// --- CSS Experimental Features ---
|
||||||
|
// Is support for shape() enabled?
|
||||||
|
pref("layout.css.basic-shape-shape.enabled", true);
|
||||||
|
// Whether to use tight bounds for floating ::first-letter (legacy Gecko behavior)
|
||||||
|
// or loose bounds based on overall font metrics (WebKit/Blink-like behavior)?
|
||||||
|
// Values mean:
|
||||||
|
// 1 legacy Gecko behavior (tight bounds)
|
||||||
|
// 0 loose typographic bounds (similar to webkit/blink)
|
||||||
|
// -1 auto behavior: use loose bounds if reduced line-height (<1em) or negative
|
||||||
|
// block-start margin is present; otherwise use tight bounds.
|
||||||
|
pref("layout.css.floating-first-letter.tight-glyph-bounds", -1);
|
||||||
|
// Is support for font-variant-emoji enabled?
|
||||||
|
pref("layout.css.font-variant-emoji.enabled", true);
|
||||||
|
// Whether @scope rule is enabled
|
||||||
|
pref("layout.css.at-scope.enabled", true);
|
||||||
|
// Whether the scroll-driven animations generated by CSS is enabled. This
|
||||||
|
// also include animation-timeline property.
|
||||||
|
pref("layout.css.scroll-driven-animations.enabled", true);
|
||||||
|
|
||||||
|
// --- SVG Experimental Features ---
|
||||||
|
// Is support for the new getBBox method from SVG 2 enabled?
|
||||||
|
// See https://svgwg.org/svg2-draft/single-page.html#types-SVGBoundingBoxOptions
|
||||||
|
pref("svg.new-getBBox.enabled", true);
|
||||||
|
// Whether we use Moz2D Path::GetStrokedBounds to get the stroke bounds.
|
||||||
|
pref("svg.Moz2D.strokeBounds.enabled", true);
|
||||||
28
waterfox/browser/app/profile/04-sidebar.js
Normal file
28
waterfox/browser/app/profile/04-sidebar.js
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
#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/.
|
||||||
|
|
||||||
|
pref("browser.sidebar.enabled", false);
|
||||||
|
pref("browser.sidebar.autoAttach", true);
|
||||||
|
pref("browser.sidebar.syncParentTabAndOpenerTab", true);
|
||||||
|
pref("browser.sidebar.faviconizePinnedTabs", true);
|
||||||
|
pref("browser.sidebar.stickyActiveTab", false);
|
||||||
|
pref("browser.sidebar.stickySoundPlayingTab", false);
|
||||||
|
pref("browser.sidebar.stickySharingTab", false);
|
||||||
|
pref("browser.sidebar.autoCollapseExpandSubtreeOnAttach", true);
|
||||||
|
pref("browser.sidebar.autoCollapseExpandSubtreeOnSelect", true);
|
||||||
|
pref("browser.sidebar.treeDoubleClickBehavior", "0");
|
||||||
|
pref("browser.sidebar.successorTabControlLevel", "2");
|
||||||
|
pref("browser.sidebar.dropLinksOnTabBehavior", "0");
|
||||||
|
pref("browser.sidebar.autoAttachOnOpenedWithOwner", "5");
|
||||||
|
pref("browser.sidebar.insertNewTabFromPinnedTabAt", "3");
|
||||||
|
pref("browser.sidebar.autoAttachOnNewTabCommand", "-1");
|
||||||
|
pref("browser.sidebar.autoAttachOnNewTabButtonMiddleClick", "3");
|
||||||
|
pref("browser.sidebar.autoAttachOnDuplicated", "3");
|
||||||
|
pref("browser.sidebar.autoAttachSameSiteOrphan", "3");
|
||||||
|
pref("browser.sidebar.autoAttachOnOpenedFromExternal", "-1");
|
||||||
|
pref("browser.sidebar.autoAttachOnAnyOtherTrigger", "-1");
|
||||||
|
pref("browser.sidebar.insertNewTabFromFirefoxViewAt", "3");
|
||||||
@@ -15,5 +15,9 @@ DIST_SUBDIR = "browser"
|
|||||||
export("DIST_SUBDIR")
|
export("DIST_SUBDIR")
|
||||||
|
|
||||||
JS_PREFERENCE_PP_FILES += [
|
JS_PREFERENCE_PP_FILES += [
|
||||||
"app/profile/000-waterfox.js",
|
"app/profile/00-general.js",
|
||||||
|
"app/profile/01-theme.js",
|
||||||
|
"app/profile/02-privacy.js",
|
||||||
|
"app/profile/03-features.js",
|
||||||
|
"app/profile/04-sidebar.js",
|
||||||
]
|
]
|
||||||
|
|||||||
Reference in New Issue
Block a user