firefox.js (173976B)
1 #filter dumbComments emptyLines substitution 2 3 // -*- indent-tabs-mode: nil; js-indent-level: 2 -*- 4 // This Source Code Form is subject to the terms of the Mozilla Public 5 // License, v. 2.0. If a copy of the MPL was not distributed with this 6 // file, You can obtain one at http://mozilla.org/MPL/2.0/. 7 8 // Non-static prefs that are specific to desktop Firefox belong in this file 9 // (unless there is a compelling and documented reason for them to belong in 10 // another file). 11 // 12 // Please indent all prefs defined within #ifdef/#ifndef conditions. This 13 // improves readability, particular for conditional blocks that exceed a single 14 // screen. 15 16 #ifdef XP_UNIX 17 #ifndef XP_MACOSX 18 #define UNIX_BUT_NOT_MAC 19 #endif 20 #endif 21 22 #ifdef XP_MACOSX 23 pref("browser.hiddenWindowChromeURL", "chrome://browser/content/hiddenWindowMac.xhtml"); 24 #endif 25 26 // Set add-ons abuse report related prefs specific to Firefox Desktop. 27 pref("extensions.abuseReport.enabled", true); 28 29 // Enables some extra Extension System Logging (can reduce performance) 30 pref("extensions.logging.enabled", false); 31 32 // Disables strict compatibility, making addons compatible-by-default. 33 pref("extensions.strictCompatibility", false); 34 35 pref("extensions.webextOptionalPermissionPrompts", true); 36 // If enabled, install origin permission verification happens after addons are downloaded. 37 pref("extensions.postDownloadThirdPartyPrompt", true); 38 39 // Preferences for AMO integration 40 pref("extensions.getAddons.cache.enabled", true); 41 pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/api/v4/addons/search/?guid=%IDS%&lang=%LOCALE%"); 42 pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION%"); 43 pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/firefox/"); 44 pref("extensions.getAddons.langpacks.url", "https://services.addons.mozilla.org/api/v4/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%"); 45 pref("extensions.getAddons.discovery.api_url", "https://services.addons.mozilla.org/api/v4/discovery/?lang=%LOCALE%&edition=%DISTRIBUTION%"); 46 pref("extensions.getAddons.browserMappings.url", "https://services.addons.mozilla.org/api/v5/addons/browser-mappings/?browser=%BROWSER%"); 47 48 // The URL for the privacy policy related to recommended extensions. 49 pref("extensions.recommendations.privacyPolicyUrl", "https://www.mozilla.org/privacy/firefox/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_content=privacy-policy-link#addons"); 50 // The URL for Firefox Color, recommended on the theme page in about:addons. 51 pref("extensions.recommendations.themeRecommendationUrl", "https://color.firefox.com/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_content=theme-footer-link"); 52 53 pref("extensions.update.autoUpdateDefault", true); 54 55 // No AUS check for system add-on updates for Tor Browser users. 56 pref("extensions.systemAddon.update.url", ""); 57 pref("extensions.systemAddon.update.enabled", false); 58 59 // Disable add-ons that are not installed by the user in all scopes by default. 60 // See the SCOPE constants in AddonManager.sys.mjs for values to use here. 61 pref("extensions.autoDisableScopes", 15); 62 // Scopes to scan for changes at startup. 63 pref("extensions.startupScanScopes", 0); 64 65 pref("extensions.geckoProfiler.acceptedExtensionIds", "geckoprofiler@mozilla.com,quantum-foxfooding@mozilla.com,raptor@mozilla.org"); 66 67 68 pref("extensions.webextensions.remote", true); 69 70 // Require signed add-ons by default 71 pref("extensions.langpacks.signatures.required", true); 72 pref("xpinstall.signatures.required", true); 73 74 // Enable data collection permissions. 75 pref("extensions.dataCollectionPermissions.enabled", true); 76 77 // Dictionary download preference 78 pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/language-tools/"); 79 80 // At startup, should we check to see if the installation 81 // date is older than some threshold 82 pref("app.update.checkInstallTime", true); 83 84 // The number of days a binary is permitted to be old without checking is defined in 85 // firefox-branding.js (app.update.checkInstallTime.days) 86 87 // The minimum delay in seconds for the timer to fire between the notification 88 // of each consumer of the timer manager. 89 // minimum=30 seconds, default=120 seconds, and maximum=300 seconds 90 pref("app.update.timerMinimumDelay", 120); 91 92 // The minimum delay in milliseconds for the first firing after startup of the timer 93 // to notify consumers of the timer manager. 94 // minimum=10 seconds, default=30 seconds, and maximum=120 seconds 95 pref("app.update.timerFirstInterval", 30000); 96 97 // App-specific update preferences 98 99 // The interval to check for updates (app.update.interval) is defined in 100 // firefox-branding.js 101 102 // Enables some extra Application Update Logging (can reduce performance) 103 pref("app.update.log", false); 104 // Causes Application Update Logging to be sent to a file in the profile 105 // directory. This preference is automatically disabled on application start to 106 // prevent it from being left on accidentally. Turning this pref on enables 107 // logging, even if app.update.log is false. 108 pref("app.update.log.file", false); 109 110 // The number of general background check failures to allow before notifying the 111 // user of the failure. User initiated update checks always notify the user of 112 // the failure. 113 pref("app.update.backgroundMaxErrors", 10); 114 115 // How many times we should let downloads fail before prompting the user to 116 // download a fresh installer. 117 pref("app.update.download.maxAttempts", 2); 118 119 // How many times we should let an elevation prompt fail before prompting the user to 120 // download a fresh installer. 121 pref("app.update.elevate.maxAttempts", 2); 122 123 #ifdef NIGHTLY_BUILD 124 // Whether to delay popup notifications when an update is available and 125 // suppress them when an update is installed and waiting for user to restart. 126 // If set to true, these notifications will immediately be shown as banners in 127 // the app menu and as badges on the app menu button. Update available 128 // notifications will not create popup prompts until a week has passed without 129 // the user installing the update. Update restart notifications will not 130 // create popup prompts at all. This doesn't affect update notifications 131 // triggered by errors/failures or manual install prompts. 132 pref("app.update.suppressPrompts", false); 133 #endif 134 135 // If set to true, a message will be displayed in the hamburger menu while 136 // an update is being downloaded. 137 pref("app.update.notifyDuringDownload", false); 138 139 // If set to true, the Update Service will automatically download updates if the 140 // user can apply updates. This pref is no longer used on Windows, except as the 141 // default value to migrate to the new location that this data is now stored 142 // (which is in a file in the update directory). Because of this, this pref 143 // should no longer be used directly. Instead, getAppUpdateAutoEnabled and 144 // getAppUpdateAutoEnabled from UpdateUtils.sys.mjs should be used. 145 #ifndef XP_WIN 146 pref("app.update.auto", true); 147 #endif 148 149 // If set to true, the Update Service will apply updates in the background 150 // when it finishes downloading them. 151 pref("app.update.staging.enabled", true); 152 153 // Update service URL: 154 // app.update.url was removed in Bug 1568994 155 // app.update.url.manual is in branding section 156 // app.update.url.details is in branding section 157 158 // app.update.badgeWaitTime is in branding section 159 // app.update.interval is in branding section 160 // app.update.promptWaitTime is in branding section 161 162 // Whether or not to attempt using the service for updates. 163 #ifdef MOZ_MAINTENANCE_SERVICE 164 pref("app.update.service.enabled", true); 165 #endif 166 167 #ifdef MOZ_BITS_DOWNLOAD 168 // If set to true, the Update Service will attempt to use Windows BITS to 169 // download updates and will fallback to downloading internally if that fails. 170 pref("app.update.BITS.enabled", true); 171 #endif 172 173 pref("app.update.langpack.enabled", true); 174 175 #if defined(MOZ_UPDATE_AGENT) 176 pref("app.update.background.loglevel", "error"); 177 pref("app.update.background.timeoutSec", 600); 178 // By default, check for updates when the browser is not running every 7 hours. 179 pref("app.update.background.interval", 25200); 180 // By default, snapshot Firefox Messaging System targeting for use by the 181 // background update task every 60 minutes. 182 pref("app.update.background.messaging.targeting.snapshot.intervalSec", 3600); 183 // For historical reasons, the background update process requires the Mozilla 184 // Maintenance Service to be available and enabled via the service registry 185 // key. When this value is `true`, allow the background update process to 186 // update unelevated installations (that are writeable, etc). 187 // 188 // N.b. This feature impacts the `applications: firefox_desktop` Nimbus 189 // application ID (and not the `firefox_desktop_background_task` application 190 // ID). However, the pref will be automatically mirrored to the background 191 // update task profile. This means that experiments and enrollment impact the 192 // Firefox Desktop browsing profile that _schedules_ the background update 193 // task, and then the background update task collects telemetry in accordance 194 // with the mirrored pref. 195 pref("app.update.background.allowUpdatesForUnelevatedInstallations", false); 196 #endif 197 198 #ifdef XP_MACOSX 199 // If set to true, Firefox will automatically restart if it is left running 200 // with no browser windows open. 201 pref("app.update.noWindowAutoRestart.enabled", true); 202 // How long to wait after all browser windows are closed before restarting, 203 // in milliseconds. 5 min = 300000 ms 204 pref("app.update.noWindowAutoRestart.delayMs", 300000); 205 #endif 206 207 #if defined(MOZ_BACKGROUNDTASKS) 208 // The amount of time, in seconds, before background tasks time out and exit. 209 // Tasks can override this default (10 minutes). 210 pref("toolkit.backgroundtasks.defaultTimeoutSec", 600); 211 212 #if defined(ENABLE_TESTS) 213 // Test prefs to verify background tasks inheret and override browser prefs 214 // correctly. 215 pref("toolkit.backgroundtasks.tests.browserPrefsInherited", 15); 216 pref("toolkit.backgroundtasks.tests.browserPrefsOverriden", 16); 217 #endif 218 #endif 219 220 // Symmetric (can be overridden by individual extensions) update preferences. 221 // e.g. 222 // extensions.{GUID}.update.enabled 223 // extensions.{GUID}.update.url 224 // .. etc .. 225 // 226 pref("extensions.update.enabled", true); 227 pref("extensions.update.url", "https://versioncheck.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); 228 pref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); 229 pref("extensions.update.interval", 86400); // Check for updates to Extensions and 230 // Themes every day 231 232 pref("lightweightThemes.getMoreURL", "https://addons.mozilla.org/%LOCALE%/firefox/themes"); 233 234 #if defined(MOZ_WIDEVINE_EME) 235 pref("browser.eme.ui.enabled", true); 236 #else 237 pref("browser.eme.ui.enabled", false); 238 #endif 239 240 // UI tour experience. 241 pref("browser.uitour.enabled", true); 242 pref("browser.uitour.loglevel", "Error"); 243 pref("browser.uitour.url", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/tour/"); 244 // How long to show a Hearbeat survey (two hours, in seconds) 245 pref("browser.uitour.surveyDuration", 7200); 246 247 #ifdef UNIX_BUT_NOT_MAC 248 pref("general.autoScroll", false); 249 #else 250 pref("general.autoScroll", true); 251 #endif 252 253 // UI density of the browser chrome. This mostly affects toolbarbutton 254 // and urlbar spacing. The possible values are 0=normal, 1=compact, 2=touch. 255 pref("browser.uidensity", 0); 256 // Whether Firefox will automatically override the uidensity to "touch" 257 // while the user is in a touch environment (such as Windows tablet mode). 258 pref("browser.touchmode.auto", true); 259 // Whether Firefox will show the Compact Mode UIDensity option. 260 pref("browser.compactmode.show", false); 261 262 // At startup, check if we're the default browser and prompt user if not. 263 pref("browser.shell.checkDefaultBrowser", true); 264 pref("browser.shell.shortcutFavicons",true); 265 pref("browser.shell.mostRecentDateSetAsDefault", ""); 266 pref("browser.shell.skipDefaultBrowserCheckOnFirstRun", true); 267 pref("browser.shell.didSkipDefaultBrowserCheckOnFirstRun", false); 268 pref("browser.shell.defaultBrowserCheckCount", 0); 269 #if defined(XP_WIN) 270 // Attempt to set the default browser on Windows 10 using the UserChoice registry keys, 271 // before falling back to launching the modern Settings dialog. 272 pref("browser.shell.setDefaultBrowserUserChoice", true); 273 // When setting default via UserChoice, temporarily rename an ancestor registry key to 274 // prevent kernel drivers from locking the UserChoice subkeys. 275 pref("browser.shell.setDefaultBrowserUserChoice.regRename", true); 276 // When setting the default browser on Windows 10 using the UserChoice 277 // registry keys, also try to set Firefox as the default PDF handler. 278 pref("browser.shell.setDefaultPDFHandler", true); 279 // When setting Firefox as the default PDF handler (subject to conditions 280 // above), only set Firefox as the default PDF handler when the existing handler 281 // is a known browser, and not when existing handler is another PDF handler such 282 // as Acrobat Reader or Nitro PDF. 283 pref("browser.shell.setDefaultPDFHandler.onlyReplaceBrowsers", true); 284 // Whether or not to we are allowed to prompt the user to set Firefox as their 285 // default PDF handler. 286 pref("browser.shell.checkDefaultPDF", true); 287 // Will be set to `true` if the user indicates that they don't want to be asked 288 // again about Firefox being their default PDF handler any more. 289 pref("browser.shell.checkDefaultPDF.silencedByUser", false); 290 // Whether or not the user should be shown the guidance notifications when 291 // setting Firefox as their default browser. 292 pref("browser.shell.setDefaultGuidanceNotifications", true); 293 #endif 294 295 296 // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session 297 // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore 298 pref("browser.startup.page", 1); 299 pref("browser.startup.homepage", "about:home"); 300 pref("browser.startup.homepage.abouthome_cache.enabled", true); 301 pref("browser.startup.homepage.abouthome_cache.loglevel", "Warn"); 302 303 // Whether we should skip the homepage when opening the first-run page 304 pref("browser.startup.firstrunSkipsHomepage", true); 305 306 // Whether we should show the session-restore infobar on startup 307 pref("browser.startup.couldRestoreSession.count", 0); 308 309 // Show an about:blank window as early as possible for quick startup feedback. 310 // Held to nightly on Linux due to bug 1450626. 311 // Disabled on Mac because the bouncing dock icon already provides feedback. 312 #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK) && defined(NIGHTLY_BUILD) 313 pref("browser.startup.blankWindow", true); 314 #else 315 pref("browser.startup.blankWindow", false); 316 #endif 317 318 // Show a skeleton UI window prior to loading libxul. Only visible for windows 319 // users as it is not implemented anywhere else. 320 #if defined(XP_WIN) 321 pref("browser.startup.preXulSkeletonUI", true); 322 323 // Whether the checkbox to enable Windows launch on login is shown 324 pref("browser.startup.windowsLaunchOnLogin.enabled", true); 325 // Whether to show the launch on login infobar notification 326 pref("browser.startup.windowsLaunchOnLogin.disableLaunchOnLoginPrompt", false); 327 #endif 328 329 // Show an upgrade dialog on major upgrades. 330 pref("browser.startup.upgradeDialog.enabled", false); 331 332 pref("browser.chrome.site_icons", true); 333 // browser.warnOnQuit == false will override all other possible prompts when quitting or restarting 334 pref("browser.warnOnQuit", true); 335 336 // Whether to warn when quitting when using the shortcut key. 337 #if defined(XP_WIN) 338 pref("browser.warnOnQuitShortcut", false); 339 #else 340 pref("browser.warnOnQuitShortcut", true); 341 #endif 342 343 // TODO bug 1702563: Renable fullscreen autohide by default on macOS. 344 #ifdef XP_MACOSX 345 pref("browser.fullscreen.autohide", false); 346 #else 347 pref("browser.fullscreen.autohide", true); 348 #endif 349 350 pref("browser.overlink-delay", 80); 351 352 #if defined(XP_WIN) 353 pref("browser.taskbarTabs.enabled", true); 354 #else 355 pref("browser.taskbarTabs.enabled", false); 356 #endif 357 358 // Whether using `ctrl` when hitting return/enter in the URL bar 359 // (or clicking 'go') should prefix 'www.' and suffix 360 // browser.fixup.alternate.suffix to the URL bar value prior to 361 // navigating. 362 pref("browser.urlbar.ctrlCanonizesURLs", true); 363 364 // Whether we announce to screen readers when tab-to-search results are 365 // inserted. 366 pref("browser.urlbar.accessibility.tabToSearch.announceResults", true); 367 368 // Control autoFill behavior 369 pref("browser.urlbar.autoFill", true); 370 371 // Whether enabling adaptive history autofill. 372 pref("browser.urlbar.autoFill.adaptiveHistory.enabled", false); 373 374 // Minimum char length of the user's search string to enable adaptive history 375 // autofill. 376 pref("browser.urlbar.autoFill.adaptiveHistory.minCharsThreshold", 0); 377 378 // Set default suggest intent threshold value of 0.5 379 pref("browser.urlbar.intentThreshold", "0.5"); 380 381 // Set default NER threshold value of 0.5 382 pref("browser.urlbar.nerThreshold", "0.5"); 383 384 // Whether to warm up network connections for autofill or search results. 385 pref("browser.urlbar.speculativeConnect.enabled", true); 386 387 // Whether bookmarklets should be filtered out of Address Bar matches. 388 // This is enabled for security reasons, when true it is still possible to 389 // search for bookmarklets typing "javascript: " followed by the actual query. 390 pref("browser.urlbar.filter.javascript", true); 391 392 // Focus the content document when pressing the Escape key, if there's no 393 // remaining typed history. 394 pref("browser.urlbar.focusContentDocumentOnEsc", true); 395 396 // Enable a certain level of urlbar logging to the Browser Console. See 397 // ConsoleInstance.webidl. 398 pref("browser.urlbar.loglevel", "Error"); 399 400 // the maximum number of results to show in autocomplete when doing richResults 401 pref("browser.urlbar.maxRichResults", 10); 402 403 // The maximum number of historical search results to show. 404 pref("browser.urlbar.maxHistoricalSearchSuggestions", 2); 405 406 // The default behavior for the urlbar can be configured to use any combination 407 // of the match filters with each additional filter adding more results (union). 408 pref("browser.urlbar.suggest.bookmark", true); 409 pref("browser.urlbar.suggest.clipboard", true); 410 pref("browser.urlbar.suggest.history", true); 411 pref("browser.urlbar.suggest.openpage", true); 412 pref("browser.urlbar.suggest.remotetab", true); 413 pref("browser.urlbar.suggest.searches", true); 414 pref("browser.urlbar.suggest.topsites", true); 415 pref("browser.urlbar.suggest.engines", true); 416 pref("browser.urlbar.suggest.calculator", true); 417 pref("browser.urlbar.suggest.recentsearches", true); 418 pref("browser.urlbar.suggest.quickactions", true); 419 420 pref("browser.urlbar.allowSearchSuggestionsForSimpleOrigins", true); 421 422 pref("browser.urlbar.deduplication.enabled", true); 423 pref("browser.urlbar.deduplication.thresholdDays", 0); 424 425 pref("browser.urlbar.scotchBonnet.enableOverride", true); 426 427 #ifdef NIGHTLY_BUILD 428 pref("browser.urlbar.trustPanel.featureGate", true); 429 #else 430 pref("browser.urlbar.trustPanel.featureGate", false); 431 #endif 432 433 // Once Perplexity has entered search mode at least once, 434 // we no longer show the Perplexity onboarding callout. 435 // This pref will be set to true when perplexity search mode is detected. 436 pref("browser.urlbar.perplexity.hasBeenInSearchMode", false); 437 438 // Whether or not Unified Search Button is shown always. 439 pref("browser.urlbar.unifiedSearchButton.always", false); 440 441 // Enable trending suggestions and recent searches. 442 pref("browser.urlbar.trending.featureGate", true); 443 pref("browser.urlbar.trending.requireSearchMode", false); 444 pref("browser.urlbar.recentsearches.featureGate", true); 445 446 // Enable Rich Entities. 447 pref("browser.urlbar.richSuggestions.featureGate", true); 448 449 // Feature gate pref for weather suggestions in the urlbar. 450 pref("browser.urlbar.weather.featureGate", false); 451 452 // Enable clipboard suggestions feature, the pref should be removed once stable. 453 pref("browser.urlbar.clipboard.featureGate", false); 454 455 // The minimum prefix length of a weather keyword the user must type to trigger 456 // the suggestion. 0 means the min length should be taken from Nimbus or remote 457 // settings. 458 pref("browser.urlbar.weather.minKeywordLength", 0); 459 460 // The UI treatment to use for weather suggestions. Possible values: 461 // 0: (default) Simplest UI with current temperature and location 462 // 1: Simpler UI, adds current conditions, high/low, and URL 463 // 2: Full UI, adds forecast 464 pref("browser.urlbar.weather.uiTreatment", 0); 465 466 // If `browser.urlbar.weather.featureGate` is true, this controls whether 467 // weather suggestions are turned on. 468 pref("browser.urlbar.suggest.weather", true); 469 470 // If `browser.urlbar.trending.featureGate` is true, this controls whether 471 // trending suggestions are turned on. 472 pref("browser.urlbar.suggest.trending", true); 473 474 // Whether results that are part of the Firefox Suggest brand are shown in the 475 // urlbar. This pref is exposed to the user in the UI, and it's sticky so that 476 // its user-branch value persists regardless of whatever Firefox Suggest 477 // scenarios, with their various default-branch values, the user is enrolled in 478 // over time. 479 pref("browser.urlbar.suggest.quicksuggest.all", false, sticky); 480 481 // Whether non-sponsored quick suggest results are shown in the urlbar. This 482 // pref is exposed to the user in the UI, and it's sticky so that its 483 // user-branch value persists regardless of whatever Firefox Suggest scenarios, 484 // with their various default-branch values, the user is enrolled in over time. 485 pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false, sticky); 486 487 // Whether sponsored quick suggest results are shown in the urlbar. This pref is 488 // exposed to the user in the UI, and it's sticky so that its user-branch value 489 // persists regardless of whatever Firefox Suggest scenarios, with their various 490 // default-branch values, the user is enrolled in over time. 491 pref("browser.urlbar.suggest.quicksuggest.sponsored", false, sticky); 492 493 // Whether online Firefox Suggest is available to the user. This is only 494 // relevant when Suggest overall is enabled [1]. When true, a checkbox will be 495 // shown in the settings UI allowing to the user to toggle online Suggest. 496 // 497 // [1] browser.urlbar.quicksuggest.enabled 498 pref("browser.urlbar.quicksuggest.online.available", false); 499 500 // Whether Firefox Suggest retrieves online suggestions from Merino. This pref 501 // is only relevant when Suggest overall is enabled [1] and online Suggest is 502 // available to the user [2]; otherwise online suggestions are disabled. In 503 // addition, when the relevant Oblivious HTTP (OHTTP) prefs [3, 4] are set, 504 // online suggestions will be fetched over OHTTP. 505 // 506 // This pref corresponds to the online Suggest checkbox in the settings UI. It's 507 // sticky so that user choice is preserved regardless of its default value. 508 // 509 // [1] browser.urlbar.quicksuggest.enabled 510 // [2] browser.urlbar.quicksuggest.online.available 511 // [3] browser.urlbar.merino.ohttpConfigURL 512 // [4] browser.urlbar.merino.ohttpRelayURL 513 pref("browser.urlbar.quicksuggest.online.enabled", true, sticky); 514 515 // Whether the Firefox Suggest contextual opt-in result is enabled. 516 pref("browser.urlbar.quicksuggest.contextualOptIn", false); 517 518 // Number that the user dismissed the Firefox Suggest contextual opt-in result. 519 pref("browser.urlbar.quicksuggest.contextualOptIn.dismissedCount", 0); 520 521 // Period until reshow the Firefox Suggest contextual opt-in result when first dismissed. 522 pref("browser.urlbar.quicksuggest.contextualOptIn.firstReshowAfterPeriodDays", 7); 523 524 // Period until reshow the Firefox Suggest contextual opt-in result when second dismissed. 525 pref("browser.urlbar.quicksuggest.contextualOptIn.secondReshowAfterPeriodDays", 14); 526 527 // Period until reshow the Firefox Suggest contextual opt-in result when third dismissed. 528 pref("browser.urlbar.quicksuggest.contextualOptIn.thirdReshowAfterPeriodDays", 60); 529 530 // Number of impression for the Firefox Suggest contextual opt-in result. 531 pref("browser.urlbar.quicksuggest.contextualOptIn.impressionCount", 0); 532 533 // Limit for impression to dismiss the Firefox Suggest contextual opt-in result. 534 pref("browser.urlbar.quicksuggest.contextualOptIn.impressionLimit", 20); 535 536 // Days until dismiss the Firefox Suggest contextual opt-in result after first impression. 537 pref("browser.urlbar.quicksuggest.contextualOptIn.impressionDaysLimit", 5); 538 539 // Whether the quick suggest feature in the urlbar is enabled. 540 pref("browser.urlbar.quicksuggest.enabled", false); 541 542 // Ranking mode of QuickSuggest. Currently used for relevance ranking 543 // experimentation. It can be any of "default", "interest", and "random". 544 pref("browser.urlbar.quicksuggest.rankingMode", "default"); 545 546 // Whether Firefox Suggest will use the new Rust backend instead of the original 547 // JS backend. 548 pref("browser.urlbar.quicksuggest.rustEnabled", true); 549 550 // The index of sponsored Firefox Suggest results within the Firefox Suggest 551 // section when "Show search suggestions ahead of browsing history in address bar 552 // results" is checked. When not checked, the index is hardcoded as -1. Negative 553 // indexes are relative to the end of the section. 554 pref("browser.urlbar.quicksuggest.sponsoredIndex", 0); 555 pref("browser.urlbar.quicksuggest.nonSponsoredIndex", -1); 556 557 // Whether non-sponsored quick suggest results are subject to impression 558 // frequency caps. 559 pref("browser.urlbar.quicksuggest.impressionCaps.nonSponsoredEnabled", false); 560 561 // Whether sponsored quick suggest results are subject to impression frequency 562 // caps. 563 pref("browser.urlbar.quicksuggest.impressionCaps.sponsoredEnabled", false); 564 565 // When non-zero, this is the character-count threshold (inclusive) for showing 566 // AMP suggestions as top picks. If an AMP suggestion is triggered by a keyword 567 // at least this many characters long, it will be shown as a top pick. 568 pref("browser.urlbar.quicksuggest.ampTopPickCharThreshold", 5); 569 570 // The matching strategy for AMP suggestions. Zero is the usual default 571 // exact-keyword strategy. Other values are the integers defined on 572 // `AmpMatchingStrategy` in `RustSuggest.sys.mjs` (corresponding to the 573 // `AmpMatchingStrategy` enum in the Rust component coerced to a 1-based integer 574 // value). 575 pref("browser.urlbar.quicksuggest.ampMatchingStrategy", 0); 576 577 // Comma-separated list of Suggest dynamic suggestion types to enable. 578 pref("browser.urlbar.quicksuggest.dynamicSuggestionTypes", ""); 579 580 // Whether Suggest will use the ML backend in addition to Rust. 581 pref("browser.urlbar.quicksuggest.mlEnabled", false); 582 583 // How long to wait in seconds after startup before initializing the Suggest ML 584 // backend. 585 pref("browser.urlbar.quicksuggest.mlInitDelaySeconds", 0); 586 587 // Which Suggest settings to show in the settings UI, when Suggest is enabled. 588 // See `QuickSuggest.SETTINGS_UI` for values. 589 pref("browser.urlbar.quicksuggest.settingsUi", 1); 590 591 // Whether unit conversion is enabled. 592 pref("browser.urlbar.unitConversion.enabled", true); 593 594 // Whether to show search suggestions before general results like history and 595 // bookmarks. 596 pref("browser.urlbar.showSearchSuggestionsFirst", true); 597 598 // As a user privacy measure, don't fetch search suggestions if a pasted string 599 // is longer than this. 600 pref("browser.urlbar.maxCharsForSearchSuggestions", 100); 601 602 pref("browser.urlbar.trimURLs", true); 603 pref("browser.urlbar.trimHttps", false); 604 pref("browser.urlbar.untrimOnUserInteraction.featureGate", false); 605 606 // If changed to true, copying the entire URL from the location bar will put the 607 // human readable (percent-decoded) URL on the clipboard. 608 pref("browser.urlbar.decodeURLsOnCopy", false); 609 610 // Whether or not to move tabs into the active window when using the "Switch to 611 // Tab" feature of the awesomebar. 612 pref("browser.urlbar.switchTabs.adoptIntoActiveWindow", false); 613 614 // Controls whether searching for open tabs returns tabs from any container 615 // or only from the current container. 616 pref("browser.urlbar.switchTabs.searchAllContainers", true); 617 618 // Whether addresses and search results typed into the address bar 619 // should be opened in new tabs by default. 620 pref("browser.urlbar.openintab", false); 621 622 // Allow the result menu button to be reached with the Tab key. 623 pref("browser.urlbar.resultMenu.keyboardAccessible", true); 624 625 // If true, we show tail suggestions when available. 626 pref("browser.urlbar.richSuggestions.tail", true); 627 628 // If true, top sites may include sponsored ones. 629 pref("browser.urlbar.sponsoredTopSites", false); 630 631 // Global toggle for whether the show search terms feature 632 // can be used at all, and enabled/disabled by the user. 633 pref("browser.urlbar.showSearchTerms.featureGate", false); 634 635 // If true, show the search term in the Urlbar while on 636 // a default search engine results page. 637 pref("browser.urlbar.showSearchTerms.enabled", true); 638 639 // Whether the urlbar displays one-offs to filter searches to history, 640 // bookmarks, or tabs. 641 pref("browser.urlbar.shortcuts.bookmarks", true); 642 pref("browser.urlbar.shortcuts.tabs", true); 643 pref("browser.urlbar.shortcuts.history", true); 644 645 // When we send events to Urlbar extensions, we wait this amount of time in 646 // milliseconds for them to respond before timing out. 647 pref("browser.urlbar.extension.timeout", 400); 648 649 // Controls when to DNS resolve single word search strings, after they were 650 // searched for. If the string is resolved as a valid host, show a 651 // "Did you mean to go to 'host'" prompt. 652 // 0 - never resolve; 1 - use heuristics (default); 2 - always resolve 653 pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0); 654 655 // Whether the results panel should be kept open during IME composition. 656 // The default value is false because some IME open a picker panel, and we end 657 // up with two panels on top of each other. Since for now we can't detect that 658 // we leave this choice to the user, hopefully in the future this can be flipped 659 // for everyone. 660 pref("browser.urlbar.keepPanelOpenDuringImeComposition", false); 661 662 // Whether Firefox Suggest group labels are shown in the urlbar view. 663 pref("browser.urlbar.groupLabels.enabled", true); 664 665 // The Merino endpoint URL, not including parameters. 666 pref("browser.urlbar.merino.endpointURL", "https://merino.services.mozilla.com/api/v1/suggest"); 667 668 // Timeout for Merino fetches (ms). 669 pref("browser.urlbar.merino.timeoutMs", 200); 670 671 // Comma-separated list of providers to request from Merino 672 pref("browser.urlbar.merino.providers", ""); 673 674 // Comma-separated list of client variants to send to Merino 675 pref("browser.urlbar.merino.clientVariants", ""); 676 677 // OHTTP config URL for Merino requests 678 pref("browser.urlbar.merino.ohttpConfigURL", ""); 679 680 // OHTTP relay URL for Merino requests 681 pref("browser.urlbar.merino.ohttpRelayURL", ""); 682 683 // OHTTP hpke for DAP 684 pref("dap.ohttp.hpke", "gAAgJSO22Y3HKzRSese15JtQVuuFfOIcTrZ56lQ5kDQwS0oABAABAAE"); 685 686 // OHTTP relay URL for DAP 687 pref("dap.ohttp.relayURL", "https://mozilla-ohttp-dap.mozilla.fastly-edge.com/"); 688 689 // Enable site specific search result. 690 pref("browser.urlbar.contextualSearch.enabled", true); 691 692 // Feature gate pref for addon suggestions in the urlbar. 693 pref("browser.urlbar.addons.featureGate", false); 694 695 // Feature gate pref for semanticHistory 696 #if defined(EARLY_BETA_OR_EARLIER) || defined(MOZ_DEV_EDITION) 697 pref("places.semanticHistory.featureGate", true); 698 #else 699 pref("places.semanticHistory.featureGate", false); 700 #endif 701 pref("places.semanticHistory.supportedRegions", "[[\"AU\",[\"en-*\"]],[\"CA\",[\"en-*\"]],[\"GB\",[\"en-*\"]],[\"IE\",[\"en-*\"]],[\"NZ\",[\"en-*\"]],[\"PH\",[\"en-*\"]],[\"US\",[\"en-*\"]]]"); 702 703 // Minimum length threshold for semantic history search 704 pref("browser.urlbar.suggest.semanticHistory.minLength", 5); 705 706 // If `browser.urlbar.addons.featureGate` is true, this controls whether 707 // addons suggestions are turned on. 708 pref("browser.urlbar.suggest.addons", true); 709 710 // Feature gate pref for MDN suggestions in the urlbar. 711 pref("browser.urlbar.mdn.featureGate", false); 712 713 // If `browser.urlbar.mdn.featureGate` is true, this controls whether 714 // mdn suggestions are turned on. 715 pref("browser.urlbar.suggest.mdn", true); 716 717 // Feature gate pref for Yelp suggestions in the urlbar. 718 pref("browser.urlbar.yelp.featureGate", false); 719 720 // The minimum prefix length of a Yelp keyword the user must type to trigger the 721 // suggestion. 0 means the min length should be taken from Nimbus. 722 pref("browser.urlbar.yelp.minKeywordLength", 4); 723 724 // Whether Yelp suggestions should be shown as top picks. 725 pref("browser.urlbar.yelp.priority", false); 726 727 // Whether Yelp suggestions will be served from the Suggest ML backend instead 728 // of Rust. 729 pref("browser.urlbar.yelp.mlEnabled", false); 730 731 // Whether to distinguish service type subjects. If true, we show special titile 732 // for the suggestion. 733 pref("browser.urlbar.yelp.serviceResultDistinction", false); 734 735 // If `browser.urlbar.yelp.featureGate` is true, this controls whether 736 // Yelp suggestions are turned on. 737 pref("browser.urlbar.suggest.yelp", true); 738 739 // Feature gate pref for Fakespot suggestions in the urlbar. 740 // TODO Bug 1982966: Remove this after all experiments and rollouts using it 741 // finish. 742 pref("browser.urlbar.fakespot.featureGate", false); 743 744 // The minimum prefix length of addons keyword the user must type to trigger 745 // the suggestion. 0 means the min length should be taken from Nimbus. 746 pref("browser.urlbar.addons.minKeywordLength", 0); 747 748 // Feature gate pref for AMP suggestions in the urlbar. 749 pref("browser.urlbar.amp.featureGate", false); 750 751 // If `browser.urlbar.amp.featureGate` is true, this controls whether AMP 752 // suggestions are turned on. 753 pref("browser.urlbar.suggest.amp", true); 754 755 // Feature gate pref for Wikipedia suggestions in the urlbar (part of Firefox 756 // Suggest). 757 pref("browser.urlbar.wikipedia.featureGate", false); 758 759 // If `browser.urlbar.wikipedia.featureGate` is true, this controls whether 760 // Wikipedia suggestions are turned on. 761 pref("browser.urlbar.suggest.wikipedia", true); 762 763 // Controls whether realtime opt-in suggestions are turned on. 764 pref("browser.urlbar.suggest.realtimeOptIn", true); 765 766 // Feature gate pref for stock market suggestions in the urlbar. 767 pref("browser.urlbar.market.featureGate", false); 768 769 // The minimum prefix length of a market keyword the user must type to trigger 770 // the suggestion. 0 means the min length should be taken from Nimbus or remote 771 // settings. 772 pref("browser.urlbar.market.minKeywordLength", 0); 773 774 // Feature gate pref for important-dates suggestions in the urlbar. 775 pref("browser.urlbar.importantDates.featureGate", false); 776 777 // If `browser.urlbar.importantDates.featureGate` is true, this controls whether 778 // important-dates suggestions are turned on. 779 pref("browser.urlbar.suggest.importantDates", true); 780 781 // Feature gate pref for Yelp realtime suggestions in the urlbar. 782 pref("browser.urlbar.yelpRealtime.featureGate", false); 783 784 // If `browser.urlbar.yelpRealtime.featureGate` is true, this controls whether 785 // Yelp realtime suggestions are turned on. 786 pref("browser.urlbar.suggest.yelpRealtime", true); 787 788 // The minimum prefix length of a Yelp keyword the user must type to trigger 789 // the suggestion. 0 means the min length should be taken from Nimbus or remote 790 // settings. 791 pref("browser.urlbar.yelpRealtime.minKeywordLength", 0); 792 793 // Feature gate pref for flight status suggestions in the urlbar. 794 pref("browser.urlbar.flightStatus.featureGate", false); 795 796 // Feature gate pref for sports suggestions in the urlbar. 797 pref("browser.urlbar.sports.featureGate", false); 798 799 // If `browser.urlbar.sports.featureGate` is true, this controls whether sports 800 // suggestions are turned on. 801 pref("browser.urlbar.suggest.sports", true); 802 803 // Timestamp of the time the user last performed a search via the urlbar 804 // so that experiments can target users who have / have not performed 805 // urlbar searches. 806 pref("browser.urlbar.lastUrlbarSearchSeconds", 0); 807 808 pref("browser.altClickSave", false); 809 810 // Number of milliseconds to wait for the http headers (and thus 811 // the Content-Disposition filename) before giving up and falling back to 812 // picking a filename without that info in hand so that the user sees some 813 // feedback from their action. 814 pref("browser.download.saveLinkAsFilenameTimeout", 4000); 815 816 pref("browser.download.useDownloadDir", true); 817 pref("browser.download.folderList", 1); 818 pref("browser.download.manager.addToRecentDocs", true); 819 pref("browser.download.manager.resumeOnWakeDelay", 10000); 820 821 // This records whether or not the panel has been shown at least once. 822 pref("browser.download.panel.shown", false); 823 824 // This records whether or not to show the 'Open in system viewer' context menu item when appropriate 825 pref("browser.download.openInSystemViewerContextMenuItem", true); 826 827 // This records whether or not to show the 'Always open...' context menu item when appropriate 828 pref("browser.download.alwaysOpenInSystemViewerContextMenuItem", true); 829 830 // Open downloaded file types internally for the given types. 831 // This is a comma-separated list, the empty string ("") means no types are 832 // viewable internally. 833 pref("browser.download.viewableInternally.enabledTypes", "xml,svg,webp,avif,jxl"); 834 835 836 // This controls whether the button is automatically shown/hidden depending 837 // on whether there are downloads to show. 838 pref("browser.download.autohideButton", true); 839 840 // Controls whether to open the downloads panel every time a download begins. 841 // The first download ever run in a new profile will still open the panel. 842 pref("browser.download.alwaysOpenPanel", true); 843 844 // Determines the behavior of the "Delete" item in the downloads context menu. 845 // Valid values are 0, 1, and 2. 846 // 0 - Don't remove the download from session list or history. 847 // 1 - Remove the download from session list, but not history. 848 // 2 - Remove the download from both session list and history. 849 pref("browser.download.clearHistoryOnDelete", 0); 850 851 #ifndef XP_MACOSX 852 pref("browser.helperApps.deleteTempFileOnExit", true); 853 #endif 854 855 // This controls the visibility of the radio button in the 856 // Unknown Content Type (Helper App) dialog that will open 857 // the content in the browser for PDF and for other 858 // Viewable Internally types 859 // (see browser.download.viewableInternally.enabledTypes) 860 pref("browser.helperApps.showOpenOptionForPdfJS", true); 861 pref("browser.helperApps.showOpenOptionForViewableInternally", true); 862 863 // search engines URL 864 pref("browser.search.searchEnginesURL", "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/"); 865 866 // search bar results always open in a new tab 867 pref("browser.search.openintab", false); 868 869 // context menu searches open in the foreground 870 pref("browser.search.context.loadInBackground", false); 871 872 // Enables display of the options for the user using a separate default search 873 // engine in private browsing mode. 874 pref("browser.search.separatePrivateDefault.ui.enabled", false); 875 // The maximum amount of times the private default banner is shown. 876 pref("browser.search.separatePrivateDefault.ui.banner.max", 0); 877 878 // Enables search SERP telemetry page categorization. 879 pref("browser.search.serpEventTelemetryCategorization.enabled", true); 880 881 // A count of Glean SERP categorization event metrics that have been recorded 882 // but not yet submitted in a ping. Needed to prevent sending a ping with only 883 // experiment info (and not actual SERP categorizations) at startup. 884 pref("browser.search.serpMetricsRecordedCounter", 0); 885 886 // Search Bar removal from the toolbar for users who haven’t used it in 120 887 // days 888 pref("browser.search.widget.removeAfterDaysUnused", 120); 889 890 #ifdef NIGHTLY_BUILD 891 pref("browser.search.widget.new", true); 892 #else 893 pref("browser.search.widget.new", false); 894 #endif 895 896 // The number of times the search function in the URL bar has been used, 897 // capped at 100. 898 pref("browser.search.totalSearches", 0); 899 900 // Feature gate for visual search. 901 pref("browser.search.visualSearch.featureGate", true); 902 903 // Spin the cursor while the page is loading 904 pref("browser.spin_cursor_while_busy", false); 905 906 // Enable display of contextual-password-manager option in browser sidebar 907 pref("browser.contextual-password-manager.enabled", true); 908 909 // Whether the user has opted-in to recommended settings for data features. 910 pref("browser.dataFeatureRecommendations.enabled", false); 911 912 // Use dark theme variant for PBM windows. This is only supported if the theme 913 // sets darkTheme data. 914 pref("browser.theme.dark-private-windows", true); 915 916 // Whether to override themes in forced-colors mode and just use the 917 // system theme and forced-colors palette to style the chrome. 918 pref("browser.theme.forced-colors-override.enabled", true); 919 920 // Pref to control whether or not Private Browsing windows show up 921 // as separate icons in the Windows taskbar. 922 pref("browser.privateWindowSeparation.enabled", true); 923 924 // Controls visibility of the privacy segmentation preferences section. 925 pref("browser.privacySegmentation.preferences.show", false); 926 927 pref("browser.sessionhistory.max_entries", 50); 928 929 // Built-in default permissions. 930 pref("permissions.manager.defaultsUrl", "resource://app/defaults/permissions"); 931 932 // Set default fallback values for site permissions we want 933 // the user to be able to globally change. 934 pref("permissions.default.camera", 0); 935 pref("permissions.default.microphone", 0); 936 pref("permissions.default.geo", 0); 937 pref("permissions.default.localhost", 0); 938 pref("permissions.default.local-network", 0); 939 pref("permissions.default.xr", 0); 940 pref("permissions.default.desktop-notification", 0); 941 pref("permissions.default.shortcuts", 0); 942 943 pref("permissions.desktop-notification.postPrompt.enabled", true); 944 pref("permissions.desktop-notification.notNow.enabled", false); 945 946 pref("permissions.fullscreen.allowed", false); 947 948 #ifdef MOZ_WEBRTC 949 // When users grant camera or microphone through a permission prompt 950 // and leave "☐ Remember this decision" unchecked, Gecko persists 951 // their choice to "Always ask" for this permission going forward. 952 // This is exposed to websites through the permissions.query() API 953 // as "granted", to ward off well-meaning attempts to further escalate 954 // permission to always grant, to help sites respect this user choice. 955 // 956 // By default, these permissions are only visible in Tools / Page Info. 957 // But turning this pref on also makes them show up as "Always Ask ✖" 958 // in the more prominent site permissions dropdown. 959 pref("permissions.media.show_always_ask.enabled", false); 960 #endif 961 962 // Force external link opens into the default user context ID instead of guessing 963 // the most appropriate one based on the URL (https://bugzilla.mozilla.org/show_bug.cgi?id=1874599#c8) 964 pref("browser.link.force_default_user_context_id_for_external_opens", false); 965 966 // handle links targeting new windows 967 // 1=current window/tab, 2=new window, 3=new tab in most recent window 968 pref("browser.link.open_newwindow", 3); 969 970 // handle external links (i.e. links opened from a different application) 971 // default: use browser.link.open_newwindow 972 // 1-3: see browser.link.open_newwindow for interpretation 973 pref("browser.link.open_newwindow.override.external", -1); 974 975 // 0: no restrictions - divert everything 976 // 1: don't divert window.open at all 977 // 2: don't divert window.open with features 978 pref("browser.link.open_newwindow.restriction", 2); 979 980 // If true, this pref causes windows opened by window.open to be forced into new 981 // tabs (rather than potentially opening separate windows, depending on 982 // window.open arguments) when the browser is in fullscreen mode. 983 // We set this differently on Mac because the fullscreen implementation there is 984 // different. 985 #ifdef XP_MACOSX 986 pref("browser.link.open_newwindow.disabled_in_fullscreen", true); 987 #else 988 pref("browser.link.open_newwindow.disabled_in_fullscreen", false); 989 #endif 990 991 // If true, opening javscript: URLs using middle-click, CTRL+click etc. are blocked. 992 pref("browser.link.alternative_click.block_javascript", true); 993 994 // Tabbed browser 995 pref("browser.tabs.closeTabByDblclick", false); 996 pref("browser.tabs.closeWindowWithLastTab", true); 997 pref("browser.tabs.allowTabDetach", true); 998 // Open related links to a tab, e.g., link in current tab, at next to the 999 // current tab if |insertRelatedAfterCurrent| is true. Otherwise, always 1000 // append new tab to the end. 1001 pref("browser.tabs.insertRelatedAfterCurrent", true); 1002 // Open all links, e.g., bookmarks, history items at next to current tab 1003 // if |insertAfterCurrent| is true. Otherwise, append new tab to the end 1004 // for non-related links. Note that if this is set to true, it will trump 1005 // the value of browser.tabs.insertRelatedAfterCurrent. 1006 pref("browser.tabs.insertAfterCurrent", false); 1007 // When |insertRelatedAfterCurrent| is true opening a link from a pinned tab 1008 // results in the tabbar scrolling back to the beginning. Setting 1009 // |insertAfterCurrentExceptPinned| to true will add tabs at the end of the 1010 // tabbar. 1011 pref("browser.tabs.insertAfterCurrentExceptPinned", false); 1012 pref("browser.tabs.warnOnClose", false); 1013 pref("browser.tabs.warnOnCloseOtherTabs", true); 1014 pref("browser.tabs.warnOnOpen", true); 1015 pref("browser.tabs.maxOpenBeforeWarn", 15); 1016 pref("browser.tabs.loadDivertedInBackground", false); 1017 pref("browser.tabs.loadBookmarksInBackground", false); 1018 pref("browser.tabs.loadBookmarksInTabs", false); 1019 pref("browser.tabs.tabClipWidth", 140); 1020 pref("browser.tabs.tabMinWidth", 76); 1021 // Users running in any of the following language codes will have the 1022 // secondary text on tabs hidden due to size constraints and readability 1023 // of the text at small font sizes. 1024 pref("browser.tabs.secondaryTextUnsupportedLocales", "ar,bn,bo,ckb,fa,gu,he,hi,ja,km,kn,ko,lo,mr,my,ne,pa,si,ta,te,th,ur,zh"); 1025 1026 // When tabs opened by links in other tabs via a combination of 1027 // browser.link.open_newwindow being set to 3 and target="_blank" etc are 1028 // closed: 1029 // true return to the tab that opened this tab (its owner) 1030 // false return to the adjacent tab (old default) 1031 pref("browser.tabs.selectOwnerOnClose", true); 1032 1033 // This should match Chromium's audio indicator delay. 1034 pref("browser.tabs.delayHidingAudioPlayingIconMS", 3000); 1035 1036 // Pref to control whether we use a separate privileged content process 1037 // for about: pages. This pref name did not age well: we will have multiple 1038 // types of privileged content processes, each with different privileges. 1039 // types of privleged content processes, each with different privleges. 1040 pref("browser.tabs.remote.separatePrivilegedContentProcess", true); 1041 1042 #if defined(NIGHTLY_BUILD) && !defined(MOZ_ASAN) 1043 // This pref will cause assertions when a remoteType triggers a process switch 1044 // to a new remoteType it should not be able to trigger. 1045 pref("browser.tabs.remote.enforceRemoteTypeRestrictions", true); 1046 #endif 1047 1048 // Pref to control whether we use a separate privileged content process 1049 // for certain mozilla webpages (which are listed in the pref 1050 // browser.tabs.remote.separatedMozillaDomains). 1051 pref("browser.tabs.remote.separatePrivilegedMozillaWebContentProcess", true); 1052 1053 #ifdef NIGHTLY_BUILD 1054 pref("browser.tabs.tooltipsShowPidAndActiveness", true); 1055 #else 1056 pref("browser.tabs.tooltipsShowPidAndActiveness", false); 1057 #endif 1058 1059 pref("browser.tabs.hoverPreview.enabled", true); 1060 pref("browser.tabs.hoverPreview.showThumbnails", true); 1061 1062 pref("browser.tabs.groups.enabled", true); 1063 pref("browser.tabs.groups.hoverPreview.enabled", true); 1064 1065 pref("browser.tabs.groups.smart.enabled", true); 1066 1067 #ifdef NIGHTLY_BUILD 1068 pref("browser.tabs.notes.enabled", true); 1069 #else 1070 pref("browser.tabs.notes.enabled", false); 1071 #endif 1072 1073 // KMEANS_WITH_ANCHOR or NEAREST_NEIGHBOR or LOGISTIC_REGRESSION 1074 pref("browser.tabs.groups.smart.suggestOtherTabsMethod", "LOGISTIC_REGRESSION"); 1075 pref("browser.tabs.groups.smart.topicModelRevision", "latest"); 1076 pref("browser.tabs.groups.smart.embeddingModelRevision", "latest"); 1077 // value should be <= 1000 to be correctly converted (275 -> 0.275) 1078 pref("browser.tabs.groups.smart.nearestNeighborThresholdInt", 275); 1079 pref("browser.tabs.groups.smart.optin", false); 1080 1081 pref("browser.tabs.dragDrop.createGroup.delayMS", 240); 1082 pref("browser.tabs.dragDrop.expandGroup.delayMS", 350); 1083 pref("browser.tabs.dragDrop.selectTab.delayMS", 350); 1084 pref("browser.tabs.dragDrop.pinInteractionCue.delayMS", 500); 1085 pref("browser.tabs.dragDrop.moveOverThresholdPercent", 80); 1086 pref("browser.tabs.dragDrop.multiselectStacking", true); 1087 1088 pref("browser.tabs.firefox-view.logLevel", "Warn"); 1089 1090 // Special case to use search term when making a group from a single page search 1091 pref("browser.tabs.groups.smart.searchTopicEnabled", true); 1092 1093 pref("browser.tabs.groups.smart.userEnabled", true); 1094 1095 pref("security.allow_parent_unrestricted_js_loads", false); 1096 pref("browser.unexpectedScriptLoad.logLevel", "Warn"); 1097 1098 // Unload tabs when available memory is running low 1099 #if defined(XP_MACOSX) || defined(XP_WIN) 1100 pref("browser.tabs.unloadOnLowMemory", true); 1101 #else 1102 pref("browser.tabs.unloadOnLowMemory", false); 1103 #endif 1104 1105 // Tab Unloader does not unload tabs whose last inactive period is longer than 1106 // this value (in milliseconds). 1107 pref("browser.tabs.min_inactive_duration_before_unload", 600000); 1108 1109 // Does middleclick paste of clipboard to new tab button 1110 #ifdef UNIX_BUT_NOT_MAC 1111 pref("browser.tabs.searchclipboardfor.middleclick", true); 1112 #else 1113 pref("browser.tabs.searchclipboardfor.middleclick", false); 1114 #endif 1115 1116 #if defined(XP_MACOSX) 1117 // During low memory periods, poll with this frequency (milliseconds) 1118 // until memory is no longer low. Changes to the pref take effect immediately. 1119 // Browser restart not required. Chosen to be consistent with the windows 1120 // implementation, but otherwise the 10s value is arbitrary. 1121 pref("browser.lowMemoryPollingIntervalMS", 10000); 1122 1123 // Pref to control the reponse taken on macOS when the OS is under memory 1124 // pressure. Changes to the pref take effect immediately. Browser restart not 1125 // required. The pref value is a bitmask: 1126 // 0x0: No response (other than recording for telemetry, crash reporting) 1127 // 0x1: Use the tab unloading feature to reduce memory use. Requires that 1128 // the above "browser.tabs.unloadOnLowMemory" pref be set to true for tab 1129 // unloading to occur. 1130 // 0x2: Issue the internal "memory-pressure" notification to reduce memory use 1131 // 0x3: Both 0x1 and 0x2. 1132 #if defined(NIGHTLY_BUILD) 1133 pref("browser.lowMemoryResponseMask", 3); 1134 #else 1135 pref("browser.lowMemoryResponseMask", 0); 1136 #endif 1137 1138 // Controls which macOS memory-pressure level triggers the browser low memory 1139 // response. Changes to the pref take effect immediately. Browser restart not 1140 // required. By default, use the "critical" level as that occurs after "warn" 1141 // and we only want to trigger the low memory reponse when necessary. 1142 // The macOS system memory-pressure level is either none, "warn", or 1143 // "critical". The OS notifies the browser when the level changes. A false 1144 // value for the pref indicates the low memory response should occur when 1145 // reaching the "critical" level. A true value indicates the response should 1146 // occur when reaching the "warn" level. 1147 pref("browser.lowMemoryResponseOnWarn", false); 1148 #endif 1149 1150 pref("browser.ctrlTab.sortByRecentlyUsed", false); 1151 1152 // By default, do not export HTML at shutdown. 1153 // If true, at shutdown the bookmarks in your menu and toolbar will 1154 // be exported as HTML to the bookmarks.html file. 1155 pref("browser.bookmarks.autoExportHTML", false); 1156 1157 // The maximum number of daily bookmark backups to 1158 // keep in {PROFILEDIR}/bookmarkbackups. Special values: 1159 // -1: unlimited 1160 // 0: no backups created (and deletes all existing backups) 1161 pref("browser.bookmarks.max_backups", 15); 1162 1163 // Whether menu should close after Ctrl-click, middle-click, etc. 1164 pref("browser.bookmarks.openInTabClosesMenu", true); 1165 1166 // Where new bookmarks go by default. 1167 // Use PlacesUIUtils.defaultParentGuid to read this; do NOT read the pref 1168 // directly. 1169 // The value is one of: 1170 // - a bookmarks guid 1171 // - "toolbar", "menu" or "unfiled" for those folders. 1172 // If we use the pref but the value isn't any of these, we'll fall back to 1173 // the bookmarks toolbar as a default. 1174 pref("browser.bookmarks.defaultLocation", "toolbar"); 1175 1176 pref("browser.tabs.allow_transparent_browser", false); 1177 1178 // Scripts & Windows prefs 1179 pref("dom.disable_open_during_load", true); 1180 1181 // allow JS to move and resize existing windows 1182 pref("dom.disable_window_move_resize", false); 1183 // prevent JS from monkeying with window focus, etc 1184 pref("dom.disable_window_flip", true); 1185 1186 pref("privacy.popups.showBrowserMessage", true); 1187 1188 pref("privacy.clearOnShutdown.history", true); 1189 pref("privacy.clearOnShutdown.formdata", true); 1190 pref("privacy.clearOnShutdown.downloads", true); 1191 pref("privacy.clearOnShutdown.cookies", true); 1192 pref("privacy.clearOnShutdown.cache", true); 1193 pref("privacy.clearOnShutdown.sessions", true); 1194 pref("privacy.clearOnShutdown.offlineApps", false); 1195 pref("privacy.clearOnShutdown.siteSettings", false); 1196 pref("privacy.clearOnShutdown.openWindows", false); 1197 // Clear on shutdown prefs used in the new dialog 1198 1199 // We can't remove the old pref yet since we need to use it to migrate the old 1200 // pref values to the new pref values. 1201 pref("privacy.clearOnShutdown_v2.historyFormDataAndDownloads", true); 1202 1203 pref("privacy.clearOnShutdown_v2.browsingHistoryAndDownloads", true); 1204 pref("privacy.clearOnShutdown_v2.cookiesAndStorage", true); 1205 pref("privacy.clearOnShutdown_v2.cache", true); 1206 pref("privacy.clearOnShutdown_v2.siteSettings", false); 1207 pref("privacy.clearOnShutdown_v2.formdata", false); 1208 1209 pref("privacy.cpd.history", true); 1210 pref("privacy.cpd.formdata", true); 1211 pref("privacy.cpd.passwords", false); 1212 pref("privacy.cpd.downloads", true); 1213 pref("privacy.cpd.cookies", true); 1214 pref("privacy.cpd.cache", true); 1215 pref("privacy.cpd.sessions", true); 1216 pref("privacy.cpd.offlineApps", false); 1217 pref("privacy.cpd.siteSettings", false); 1218 pref("privacy.cpd.openWindows", false); 1219 1220 // clearHistory and clearSiteData pref branches are used to 1221 // remember user pref options based on the two different entry points 1222 pref("privacy.clearHistory.historyFormDataAndDownloads", true); 1223 pref("privacy.clearHistory.browsingHistoryAndDownloads", true); 1224 pref("privacy.clearHistory.cookiesAndStorage", true); 1225 pref("privacy.clearHistory.cache", true); 1226 pref("privacy.clearHistory.siteSettings", false); 1227 pref("privacy.clearHistory.formdata", false); 1228 pref("privacy.clearSiteData.historyFormDataAndDownloads", false); 1229 pref("privacy.clearSiteData.browsingHistoryAndDownloads", false); 1230 pref("privacy.clearSiteData.cookiesAndStorage", true); 1231 pref("privacy.clearSiteData.cache", true); 1232 pref("privacy.clearSiteData.siteSettings", false); 1233 pref("privacy.clearSiteData.formdata", false); 1234 1235 pref("privacy.history.custom", false); 1236 1237 // What default should we use for the time span in the sanitizer: 1238 // 0 - Clear everything 1239 // 1 - Last Hour 1240 // 2 - Last 2 Hours 1241 // 3 - Last 4 Hours 1242 // 4 - Today 1243 // 5 - Last 5 minutes 1244 // 6 - Last 24 hours 1245 pref("privacy.sanitize.timeSpan", 1); 1246 1247 pref("privacy.sanitize.useOldClearHistoryDialog", false); 1248 1249 pref("privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs2", false); 1250 pref("privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs3", false); 1251 // flags to track migration of clear history dialog prefs, where cpd stands for 1252 // clear private data 1253 pref("privacy.sanitize.cpd.hasMigratedToNewPrefs2", false); 1254 pref("privacy.sanitize.cpd.hasMigratedToNewPrefs3", false); 1255 1256 pref("privacy.panicButton.enabled", true); 1257 1258 // Time until temporary permissions expire, in ms 1259 pref("privacy.temporary_permission_expire_time_ms", 3600000); 1260 1261 // Enables protection mechanism against password spoofing for cross domain auth requests 1262 // See bug 791594 1263 pref("privacy.authPromptSpoofingProtection", true); 1264 1265 // Enable GPC if the user turns it on in about:preferences 1266 pref("privacy.globalprivacycontrol.functionality.enabled", true); 1267 1268 // Enable GPC in private browsing mode 1269 pref("privacy.globalprivacycontrol.pbmode.enabled", true); 1270 1271 // What custom schemes to treat as accessing digital wallets, comma separated 1272 pref("privacy.wallet_schemes", "openid4vp,mdoc,mdoc-openid4vp,haip,eudi-wallet,eudi-openid4vp,openid-credential-offer"); 1273 1274 pref("network.proxy.share_proxy_settings", false); // use the same proxy settings for all protocols 1275 1276 // simple gestures support 1277 pref("browser.gesture.swipe.left", "Browser:BackOrBackDuplicate"); 1278 pref("browser.gesture.swipe.right", "Browser:ForwardOrForwardDuplicate"); 1279 pref("browser.gesture.swipe.up", "cmd_scrollTop"); 1280 pref("browser.gesture.swipe.down", "cmd_scrollBottom"); 1281 pref("browser.gesture.pinch.latched", false); 1282 pref("browser.gesture.pinch.threshold", 25); 1283 #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK) 1284 // Enabled for touch input display zoom. 1285 pref("browser.gesture.pinch.out", "cmd_fullZoomEnlarge"); 1286 pref("browser.gesture.pinch.in", "cmd_fullZoomReduce"); 1287 pref("browser.gesture.pinch.out.shift", "cmd_fullZoomReset"); 1288 pref("browser.gesture.pinch.in.shift", "cmd_fullZoomReset"); 1289 #else 1290 // Disabled by default due to issues with track pad input. 1291 pref("browser.gesture.pinch.out", ""); 1292 pref("browser.gesture.pinch.in", ""); 1293 pref("browser.gesture.pinch.out.shift", ""); 1294 pref("browser.gesture.pinch.in.shift", ""); 1295 #endif 1296 pref("browser.gesture.twist.latched", false); 1297 pref("browser.gesture.twist.threshold", 0); 1298 pref("browser.gesture.twist.right", "cmd_gestureRotateRight"); 1299 pref("browser.gesture.twist.left", "cmd_gestureRotateLeft"); 1300 pref("browser.gesture.twist.end", "cmd_gestureRotateEnd"); 1301 #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK) 1302 pref("browser.gesture.tap", "cmd_fullZoomReset"); 1303 #else 1304 pref("browser.gesture.tap", ""); 1305 #endif 1306 1307 pref("browser.history_swipe_animation.disabled", false); 1308 1309 // 0: Nothing happens 1310 // 1: Scrolling contents 1311 // 2: Go back or go forward, in your history 1312 // 3: Zoom in or out (reflowing zoom). 1313 // 4: Treat vertical wheel as horizontal scroll 1314 // 5: Zoom in or out (pinch zoom). 1315 #ifdef XP_MACOSX 1316 // On macOS, if the wheel has one axis only, shift+wheel comes through as a 1317 // horizontal scroll event. Thus, we can't assign anything other than normal 1318 // scrolling to shift+wheel. 1319 pref("mousewheel.with_shift.action", 1); 1320 pref("mousewheel.with_alt.action", 2); 1321 pref("mousewheel.with_control.action", 1); 1322 #else 1323 // On the other platforms (non-macOS), user may use legacy mouse which 1324 // supports only vertical wheel but want to scroll horizontally. For such 1325 // users, we should provide horizontal scroll with shift+wheel (same as 1326 // Chrome). However, shift+wheel was used for navigating history. For users 1327 // who want to keep using this feature, let's enable it with alt+wheel. This 1328 // is better for consistency with macOS users. 1329 pref("mousewheel.with_shift.action", 4); 1330 pref("mousewheel.with_alt.action", 2); 1331 #endif 1332 1333 pref("mousewheel.with_meta.action", 1); 1334 1335 pref("browser.xul.error_pages.expert_bad_cert", false); 1336 pref("browser.xul.error_pages.show_safe_browsing_details_on_load", false); 1337 1338 // Enable captive portal detection. 1339 pref("network.captive-portal-service.enabled", true); 1340 1341 // If true, network link events will change the value of navigator.onLine 1342 pref("network.manage-offline-status", true); 1343 1344 // timeout for local network access prompts 1345 pref("network.lna.prompt.timeout", 300000); // 5 minutes 1346 1347 // We want to make sure mail URLs are handled externally... 1348 pref("network.protocol-handler.external.mailto", true); // for mail 1349 1350 // ...without warning dialogs 1351 pref("network.protocol-handler.warn-external.mailto", false); 1352 1353 // By default, all protocol handlers are exposed. This means that 1354 // the browser will respond to openURL commands for all URL types. 1355 // It will also try to open link clicks inside the browser before 1356 // failing over to the system handlers. 1357 pref("network.protocol-handler.expose-all", true); 1358 pref("network.protocol-handler.expose.mailto", false); 1359 pref("network.protocol-handler.expose.news", false); 1360 pref("network.protocol-handler.expose.snews", false); 1361 pref("network.protocol-handler.expose.nntp", false); 1362 1363 pref("accessibility.typeaheadfind", false); 1364 pref("accessibility.typeaheadfind.timeout", 5000); 1365 pref("accessibility.typeaheadfind.linksonly", false); 1366 pref("accessibility.typeaheadfind.flashBar", 1); 1367 1368 // Whether we had to hide the "Firefox Labs" section because it would be empty. 1369 pref("browser.preferences.experimental.hidden", false); 1370 // Whether we show the "More from Mozilla" section. 1371 pref("browser.preferences.moreFromMozilla", true); 1372 1373 // Used by settings to track whether the user customized advanced 1374 // performance settings. Not used directly elsewhere. 1375 // If set to false, we show advanced performance settings. 1376 // If reset to true **by checking the box in the settings page**, 1377 // we will revert those to the default settings. 1378 pref("browser.preferences.defaultPerformanceSettings.enabled", true); 1379 1380 pref("browser.proton.toolbar.version", 0); 1381 1382 // Backspace and Shift+Backspace behavior 1383 // 0 goes Back/Forward 1384 // 1 act like PgUp/PgDown 1385 // 2 and other values, nothing 1386 pref("browser.backspace_action", 2); 1387 1388 pref("intl.regional_prefs.use_os_locales", false); 1389 1390 pref("browser.send_pings", false); 1391 1392 pref("browser.geolocation.warning.infoURL", "https://www.mozilla.org/%LOCALE%/firefox/geolocation/"); 1393 pref("browser.xr.warning.infoURL", "https://www.mozilla.org/%LOCALE%/firefox/xr/"); 1394 pref("browser.lna.warning.infoURL", "https://support.mozilla.org/%LOCALE%/kb/control-personal-device-local-network-permissions-firefox"); 1395 1396 pref("browser.sessionstore.resume_from_crash", true); 1397 pref("browser.sessionstore.resume_session_once", false); 1398 pref("browser.sessionstore.resuming_after_os_restart", false); 1399 1400 // Toggle for the behavior to include closed tabs from all windows in 1401 // recently-closed tab lists & counts, and re-open tabs into the current window 1402 pref("browser.sessionstore.closedTabsFromAllWindows", true); 1403 pref("browser.sessionstore.closedTabsFromClosedWindows", true); 1404 1405 // Minimal interval between two save operations in milliseconds (while the user is idle). 1406 pref("browser.sessionstore.interval.idle", 3600000); // 1h 1407 1408 // Time (seconds) before we assume that the user is idle and that we don't need to 1409 // collect/save the session quite as often. 1410 pref("browser.sessionstore.idleDelay", 180); // 3 minutes 1411 1412 // Fine-grained default logging levels for each log appender 1413 pref("browser.sessionstore.log.appender.console", "Fatal"); 1414 pref("browser.sessionstore.log.appender.dump", "Error"); 1415 pref("browser.sessionstore.log.appender.file.level", "Trace"); 1416 pref("browser.sessionstore.log.appender.file.logOnError", true); 1417 1418 // The default log level for all Session restore logs. 1419 pref("browser.sessionstore.loglevel", "Warn"); 1420 1421 #ifdef EARLY_BETA_OR_EARLIER 1422 pref("browser.sessionstore.loglevel", "Debug"); 1423 pref("browser.sessionstore.log.appender.file.logOnSuccess", true); 1424 #else 1425 pref("browser.sessionstore.log.appender.file.logOnSuccess", false); 1426 #endif 1427 // How old can a log file be before it gets deleted? 1428 pref("browser.sessionstore.log.appender.file.maxErrorAge", 864000); // 10 days 1429 1430 // Max time to wait between flushing any log messages to disk (defaults to 1hr.) 1431 pref("browser.sessionstore.logFlushIntervalSeconds", 3600); 1432 1433 // on which sites to save text data, POSTDATA and cookies 1434 // 0 = everywhere, 1 = unencrypted sites, 2 = nowhere 1435 pref("browser.sessionstore.privacy_level", 0); 1436 // how many tabs can be reopened (per window) 1437 pref("browser.sessionstore.max_tabs_undo", 25); 1438 // how many windows will be saved and can be reopened per session - on non-macOS platforms this 1439 // pref may be ignored when dealing with pop-up windows to ensure the user actually gets 1440 // at least one window with a menu bar. 1441 pref("browser.sessionstore.max_windows_undo", 5); 1442 // number of crashes that can occur before the about:sessionrestore page is displayed 1443 // (this pref has no effect if more than 6 hours have passed since the last crash) 1444 pref("browser.sessionstore.max_resumed_crashes", 1); 1445 // number of back button session history entries to restore (-1 = all of them) 1446 pref("browser.sessionstore.max_serialize_back", 10); 1447 // number of forward button session history entries to restore (-1 = all of them) 1448 pref("browser.sessionstore.max_serialize_forward", -1); 1449 // restore_on_demand overrides MAX_CONCURRENT_TAB_RESTORES (sessionstore constant) 1450 // and restore_hidden_tabs. When true, tabs will not be restored until they are 1451 // focused (also applies to tabs that aren't visible). When false, the values 1452 // for MAX_CONCURRENT_TAB_RESTORES and restore_hidden_tabs are respected. 1453 // Selected tabs are always restored regardless of this pref. 1454 pref("browser.sessionstore.restore_on_demand", true); 1455 // Whether to automatically restore hidden tabs (i.e., tabs in other tab groups) or not 1456 pref("browser.sessionstore.restore_hidden_tabs", false); 1457 // If restore_on_demand is set, pinned tabs are restored on startup by default. 1458 // When set to true, this pref overrides that behavior, and pinned tabs will only 1459 // be restored when they are focused. 1460 pref("browser.sessionstore.restore_pinned_tabs_on_demand", false); 1461 // The version at which we performed the latest upgrade backup 1462 pref("browser.sessionstore.upgradeBackup.latestBuildID", ""); 1463 // How many upgrade backups should be kept 1464 pref("browser.sessionstore.upgradeBackup.maxUpgradeBackups", 3); 1465 // Toggle some debug behavior; end-users should not run sessionstore in debug mode 1466 pref("browser.sessionstore.debug", false); 1467 // Forget closed windows/tabs after two weeks 1468 pref("browser.sessionstore.cleanup.forget_closed_after", 1209600000); 1469 1470 // temporary pref that will be removed in a future release, see bug 1836952 1471 pref("browser.sessionstore.persist_closed_tabs_between_sessions", true); 1472 1473 // Don't quit the browser when Ctrl + Q is pressed. 1474 pref("browser.quitShortcut.disabled", false); 1475 1476 // allow META refresh by default 1477 pref("accessibility.blockautorefresh", false); 1478 1479 // Whether history is enabled or not. 1480 pref("places.history.enabled", true); 1481 1482 // The default Places log level. 1483 pref("places.loglevel", "Error"); 1484 1485 // Whether or not diacritics must match in history text searches. 1486 pref("places.search.matchDiacritics", false); 1487 1488 // the (maximum) number of the recent visits to sample 1489 // when calculating frecency 1490 pref("places.frecency.numVisits", 10); 1491 1492 // buckets (in days) for frecency calculation 1493 pref("places.frecency.firstBucketCutoff", 4); 1494 pref("places.frecency.secondBucketCutoff", 14); 1495 pref("places.frecency.thirdBucketCutoff", 31); 1496 pref("places.frecency.fourthBucketCutoff", 90); 1497 1498 // weights for buckets for frecency calculations 1499 pref("places.frecency.firstBucketWeight", 100); 1500 pref("places.frecency.secondBucketWeight", 70); 1501 pref("places.frecency.thirdBucketWeight", 50); 1502 pref("places.frecency.fourthBucketWeight", 30); 1503 pref("places.frecency.defaultBucketWeight", 10); 1504 1505 // bonus (in percent) for visit transition types for frecency calculations 1506 pref("places.frecency.embedVisitBonus", 0); 1507 pref("places.frecency.framedLinkVisitBonus", 0); 1508 pref("places.frecency.linkVisitBonus", 100); 1509 pref("places.frecency.typedVisitBonus", 2000); 1510 // The bookmarks bonus is always added on top of any other bonus, including 1511 // the redirect source and the typed ones. 1512 pref("places.frecency.bookmarkVisitBonus", 75); 1513 // The redirect source bonus overwrites any transition bonus. 1514 // 0 would hide these pages, instead we want them low ranked. Thus we use 1515 // linkVisitBonus - bookmarkVisitBonus, so that a bookmarked source is in par 1516 // with a common link. 1517 pref("places.frecency.redirectSourceVisitBonus", 25); 1518 pref("places.frecency.downloadVisitBonus", 0); 1519 // The perm/temp redirects here relate to redirect targets, not sources. 1520 pref("places.frecency.permRedirectVisitBonus", 50); 1521 pref("places.frecency.tempRedirectVisitBonus", 40); 1522 pref("places.frecency.reloadVisitBonus", 0); 1523 pref("places.frecency.defaultVisitBonus", 0); 1524 1525 // bonus (in percent) for place types for frecency calculations 1526 pref("places.frecency.unvisitedBookmarkBonus", 140); 1527 pref("places.frecency.unvisitedTypedBonus", 200); 1528 1529 // Enables alternative frecency calculation for origins. 1530 pref("places.frecency.origins.alternative.featureGate", false); 1531 1532 // Whether to warm up network connections for places: menus and places: toolbar. 1533 pref("browser.places.speculativeConnect.enabled", true); 1534 1535 // if true, use full page zoom instead of text zoom 1536 pref("browser.zoom.full", true); 1537 1538 // Whether or not to update background tabs to the current zoom level. 1539 pref("browser.zoom.updateBackgroundTabs", true); 1540 1541 // The breakpad report server to link to in about:crashes 1542 pref("breakpad.reportURL", "https://crash-stats.mozilla.org/report/index/"); 1543 1544 // URL for "Learn More" for DataCollection 1545 pref("toolkit.datacollection.infoURL", 1546 "https://www.mozilla.org/legal/privacy/firefox.html"); 1547 1548 // base URL for web-based support pages 1549 pref("app.support.baseURL", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/"); 1550 1551 // base url for web-based feedback pages 1552 pref("app.feedback.baseURL", "https://ideas.mozilla.org/"); 1553 1554 pref("security.certerrors.permanentOverride", true); 1555 pref("security.certerrors.mitm.priming.enabled", true); 1556 pref("security.certerrors.mitm.priming.endpoint", "https://mitmdetection.services.mozilla.com/"); 1557 pref("security.certerrors.mitm.auto_enable_enterprise_roots", true); 1558 1559 // Whether the bookmark panel should be shown when bookmarking a page. 1560 pref("browser.bookmarks.editDialog.showForNewBookmarks", true); 1561 1562 // Don't try to alter this pref, it'll be reset the next time you use the 1563 // bookmarking dialog 1564 pref("browser.bookmarks.editDialog.firstEditField", "namePicker"); 1565 1566 // The number of recently selected folders in the edit bookmarks dialog. 1567 pref("browser.bookmarks.editDialog.maxRecentFolders", 7); 1568 1569 #if defined(XP_WIN) && defined(MOZ_SANDBOX) 1570 // This controls the strength of the Windows content process sandbox for 1571 // testing purposes. This will require a restart. 1572 // On windows these levels are: 1573 // See - security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp 1574 // SetSecurityLevelForContentProcess() for what the different settings mean. 1575 pref("security.sandbox.content.level", 9); 1576 1577 // Pref controlling if messages relevant to sandbox violations are logged. 1578 pref("security.sandbox.logging.enabled", false); 1579 #endif 1580 1581 #if defined(XP_MACOSX) && defined(MOZ_SANDBOX) 1582 // This pref is discussed in bug 1083344, the naming is inspired from its 1583 // Windows counterpart, but on Mac it's an integer which means: 1584 // 0 -> "no sandbox" (nightly only) 1585 // 1 -> "preliminary content sandboxing enabled: write access to 1586 // home directory is prevented" 1587 // 2 -> "preliminary content sandboxing enabled with profile protection: 1588 // write access to home directory is prevented, read and write access 1589 // to ~/Library and profile directories are prevented (excluding 1590 // $PROFILE/{extensions,chrome})" 1591 // 3 -> "no global read/write access, read access permitted to 1592 // $PROFILE/{extensions,chrome}" 1593 // This setting is read when the content process is started. On Mac the 1594 // content process is killed when all windows are closed, so a change will 1595 // take effect when the 1st window is opened. 1596 pref("security.sandbox.content.level", 3); 1597 1598 // Disconnect content processes from the window server. Depends on 1599 // out-of-process WebGL and non-native theming. i.e., both in-process WebGL 1600 // and native theming depend on content processes having a connection to the 1601 // window server. Window server disconnection is automatically disabled (and 1602 // this pref overridden) if OOP WebGL is disabled. OOP WebGL is disabled 1603 // for some tests. 1604 pref("security.sandbox.content.mac.disconnect-windowserver", true); 1605 1606 // Pref controlling if messages relevant to sandbox violations are logged. 1607 pref("security.sandbox.logging.enabled", false); 1608 #endif 1609 1610 #if defined(XP_LINUX) && defined(MOZ_SANDBOX) 1611 // This pref is introduced as part of bug 742434, the naming is inspired from 1612 // its Windows/Mac counterpart, but on Linux it's an integer which means: 1613 // 0 -> "no sandbox" 1614 // 1 -> no longer used; level will be clamped to 2 1615 // 2 -> "seccomp-bpf + write file broker" 1616 // 3 -> "seccomp-bpf + read/write file brokering" 1617 // 4 -> all of the above + network/socket restrictions + chroot 1618 // 5 -> blocks access to GL / DRI / display servers 1619 // (formerly the separate pref `security.sandbox.content.headless`) 1620 // (side effect: sets MOZ_HEADLESS for content processes) 1621 // 6 -> default-deny for ioctl 1622 // 1623 // The purpose of this setting is to allow Linux users or distros to disable 1624 // the sandbox while we fix their problems, or to allow running Firefox with 1625 // exotic configurations we can't reasonably support out of the box. 1626 // 1627 pref("security.sandbox.content.level", 6); 1628 pref("security.sandbox.content.write_path_whitelist", ""); 1629 pref("security.sandbox.content.read_path_whitelist", ""); 1630 pref("security.sandbox.content.syscall_whitelist", ""); 1631 // Introduced as part of bug 1608558. Linux is currently the only platform 1632 // that uses a sandbox level for the socket process. The following levels 1633 // are currently defined: 1634 // 0 -> "no sandbox" 1635 // 1 -> "sandboxed, allows socket operations and reading necessary certs" 1636 // 2 -> default-deny for ioctl 1637 pref("security.sandbox.socket.process.level", 2); 1638 #endif 1639 1640 #if defined(XP_OPENBSD) && defined(MOZ_SANDBOX) 1641 pref("security.sandbox.content.level", 1); 1642 #endif 1643 1644 #ifdef XP_WIN 1645 pref("browser.taskbar.previews.enable", false); 1646 pref("browser.taskbar.previews.max", 20); 1647 pref("browser.taskbar.previews.cachetime", 5); 1648 1649 pref("browser.taskbar.lists.enabled", true); 1650 pref("browser.taskbar.lists.frequent.enabled", true); 1651 pref("browser.taskbar.lists.recent.enabled", false); 1652 pref("browser.taskbar.lists.maxListItemCount", 7); 1653 pref("browser.taskbar.lists.tasks.enabled", true); 1654 pref("browser.taskbar.lists.refreshInSeconds", 120); 1655 pref("browser.startMenu.msixPinnedWhenLastChecked", false); 1656 #endif 1657 1658 // Preferences to be synced by default. 1659 // Preferences with the prefix `services.sync.prefs.sync-seen.` should have 1660 // a value of `false`, and means the value of the pref will be synced as soon 1661 // as a value for the pref is "seen", even if it is the default, and should be 1662 // used for prefs we sync but which have different values on different channels, 1663 // platforms or distributions. 1664 pref("services.sync.prefs.sync.accessibility.blockautorefresh", true); 1665 pref("services.sync.prefs.sync.accessibility.browsewithcaret", true); 1666 pref("services.sync.prefs.sync.accessibility.typeaheadfind", true); 1667 pref("services.sync.prefs.sync.accessibility.typeaheadfind.linksonly", true); 1668 pref("services.sync.prefs.sync.addons.ignoreUserEnabledChanges", true); 1669 pref("services.sync.prefs.sync.app.shield.optoutstudies.enabled", true); 1670 // The addons prefs related to repository verification are intentionally 1671 // not synced for security reasons. If a system is compromised, a user 1672 // could weaken the pref locally, install an add-on from an untrusted 1673 // source, and this would propagate automatically to other, 1674 // uncompromised Sync-connected devices. 1675 pref("services.sync.prefs.sync.browser.contentblocking.category", true); 1676 pref("services.sync.prefs.sync.browser.contentblocking.features.strict", true); 1677 pref("services.sync.prefs.sync.browser.crashReports.unsubmittedCheck.autoSubmit2", true); 1678 pref("services.sync.prefs.sync.browser.ctrlTab.sortByRecentlyUsed", true); 1679 pref("services.sync.prefs.sync.browser.download.useDownloadDir", true); 1680 pref("services.sync.prefs.sync.browser.firefox-view.feature-tour", true); 1681 pref("services.sync.prefs.sync.browser.formfill.enable", true); 1682 pref("services.sync.prefs.sync.browser.ipProtection.enabled", true); 1683 pref("services.sync.prefs.sync.browser.link.open_newwindow", true); 1684 pref("services.sync.prefs.sync.browser.menu.showViewImageInfo", true); 1685 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", true); 1686 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", true); 1687 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSearch", true); 1688 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored", true); 1689 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSites", true); 1690 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.topsites", true); 1691 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.topSitesRows", true); 1692 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.section.topstories", true); 1693 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.topstories.rows", true); 1694 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.section.highlights", true); 1695 // Some linux distributions disable all highlights by default. 1696 pref("services.sync.prefs.sync-seen.browser.newtabpage.activity-stream.section.highlights", false); 1697 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeVisited", true); 1698 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeBookmarks", true); 1699 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeDownloads", true); 1700 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.rows", true); 1701 pref("services.sync.prefs.sync.browser.newtabpage.enabled", true); 1702 pref("services.sync.prefs.sync.browser.newtabpage.pinned", true); 1703 pref("services.sync.prefs.sync.browser.pdfjs.feature-tour", true); 1704 pref("services.sync.prefs.sync.browser.safebrowsing.downloads.enabled", true); 1705 pref("services.sync.prefs.sync.browser.safebrowsing.downloads.remote.block_potentially_unwanted", true); 1706 pref("services.sync.prefs.sync.browser.safebrowsing.malware.enabled", true); 1707 pref("services.sync.prefs.sync.browser.safebrowsing.phishing.enabled", true); 1708 pref("services.sync.prefs.sync.browser.search.update", true); 1709 pref("services.sync.prefs.sync.browser.startup.homepage", true); 1710 pref("services.sync.prefs.sync.browser.startup.page", true); 1711 pref("services.sync.prefs.sync.browser.startup.upgradeDialog.enabled", true); 1712 pref("services.sync.prefs.sync.browser.tabs.loadInBackground", true); 1713 pref("services.sync.prefs.sync.browser.tabs.warnOnClose", true); 1714 pref("services.sync.prefs.sync.browser.tabs.warnOnOpen", true); 1715 pref("services.sync.prefs.sync.browser.taskbar.previews.enable", true); 1716 pref("services.sync.prefs.sync.browser.urlbar.maxRichResults", true); 1717 pref("services.sync.prefs.sync.browser.urlbar.showSearchSuggestionsFirst", true); 1718 pref("services.sync.prefs.sync.browser.urlbar.suggest.bookmark", true); 1719 pref("services.sync.prefs.sync.browser.urlbar.suggest.history", true); 1720 pref("services.sync.prefs.sync.browser.urlbar.suggest.openpage", true); 1721 pref("services.sync.prefs.sync.browser.urlbar.suggest.searches", true); 1722 pref("services.sync.prefs.sync.browser.urlbar.suggest.topsites", true); 1723 pref("services.sync.prefs.sync.browser.urlbar.suggest.engines", true); 1724 pref("services.sync.prefs.sync.dom.disable_open_during_load", true); 1725 pref("services.sync.prefs.sync.dom.disable_window_flip", true); 1726 pref("services.sync.prefs.sync.dom.disable_window_move_resize", true); 1727 pref("services.sync.prefs.sync.dom.event.contextmenu.enabled", true); 1728 pref("services.sync.prefs.sync.dom.security.https_only_mode", true); 1729 pref("services.sync.prefs.sync.dom.security.https_only_mode_ever_enabled", true); 1730 pref("services.sync.prefs.sync.dom.security.https_only_mode_ever_enabled_pbm", true); 1731 pref("services.sync.prefs.sync.dom.security.https_only_mode_pbm", true); 1732 pref("services.sync.prefs.sync.extensions.update.enabled", true); 1733 pref("services.sync.prefs.sync.extensions.activeThemeID", true); 1734 pref("services.sync.prefs.sync.general.autoScroll", true); 1735 // general.autoScroll has a different default on Linux vs elsewhere. 1736 pref("services.sync.prefs.sync-seen.general.autoScroll", false); 1737 // general.smoothScroll is not synced, bug 1851024 1738 pref("services.sync.prefs.sync.intl.accept_languages", true); 1739 pref("services.sync.prefs.sync.intl.regional_prefs.use_os_locales", true); 1740 pref("services.sync.prefs.sync.layout.spellcheckDefault", true); 1741 pref("services.sync.prefs.sync.media.autoplay.default", true); 1742 pref("services.sync.prefs.sync.media.eme.enabled", true); 1743 // Some linux distributions disable eme by default. 1744 pref("services.sync.prefs.sync-seen.media.eme.enabled", false); 1745 pref("services.sync.prefs.sync.media.videocontrols.picture-in-picture.video-toggle.enabled", true); 1746 pref("services.sync.prefs.sync.network.cookie.cookieBehavior", true); 1747 pref("services.sync.prefs.sync.permissions.default.image", true); 1748 pref("services.sync.prefs.sync.pref.downloads.disable_button.edit_actions", true); 1749 pref("services.sync.prefs.sync.pref.privacy.disable_button.cookie_exceptions", true); 1750 pref("services.sync.prefs.sync.privacy.clearOnShutdown.cache", true); 1751 pref("services.sync.prefs.sync.privacy.clearOnShutdown_v2.cache", true); 1752 pref("services.sync.prefs.sync.privacy.clearOnShutdown.cookies", true); 1753 pref("services.sync.prefs.sync.privacy.clearOnShutdown_v2.cookiesAndStorage", true); 1754 pref("services.sync.prefs.sync.privacy.clearOnShutdown.downloads", true); 1755 pref("services.sync.prefs.sync.privacy.clearOnShutdown_v2.downloads", true); 1756 pref("services.sync.prefs.sync.privacy.clearOnShutdown.formdata", true); 1757 pref("services.sync.prefs.sync.privacy.clearOnShutdown_v2.formdata", true); 1758 pref("services.sync.prefs.sync.privacy.clearOnShutdown.history", true); 1759 // We can't clear the old history pref until we're sure all clients have 1760 // migrated to the new pref. 1761 pref("services.sync.prefs.sync.privacy.clearOnShutdown_v2.historyFormDataAndDownloads", true); 1762 pref("services.sync.prefs.sync.privacy.clearOnShutdown_v2.browsingHistoryAndDownloads", true); 1763 pref("services.sync.prefs.sync.privacy.clearOnShutdown.offlineApps", true); 1764 pref("services.sync.prefs.sync.privacy.clearOnShutdown.sessions", true); 1765 pref("services.sync.prefs.sync.privacy.clearOnShutdown.siteSettings", true); 1766 pref("services.sync.prefs.sync.privacy.clearOnShutdown_v2.siteSettings", true); 1767 pref("services.sync.prefs.sync.privacy.donottrackheader.enabled", true); 1768 pref("services.sync.prefs.sync.privacy.globalprivacycontrol.enabled", true); 1769 pref("services.sync.prefs.sync.privacy.sanitize.sanitizeOnShutdown", true); 1770 pref("services.sync.prefs.sync.privacy.trackingprotection.enabled", true); 1771 pref("services.sync.prefs.sync.privacy.trackingprotection.harmfuladdon.enabled", true); 1772 pref("services.sync.prefs.sync.privacy.trackingprotection.cryptomining.enabled", true); 1773 pref("services.sync.prefs.sync.privacy.trackingprotection.fingerprinting.enabled", true); 1774 pref("services.sync.prefs.sync.privacy.trackingprotection.pbmode.enabled", true); 1775 // We do not sync `privacy.resistFingerprinting` by default as it's an undocumented, 1776 // not-recommended footgun - see bug 1763278 for more. 1777 pref("services.sync.prefs.sync.privacy.reduceTimerPrecision", true); 1778 pref("services.sync.prefs.sync.privacy.resistFingerprinting.reduceTimerPrecision.microseconds", true); 1779 pref("services.sync.prefs.sync.privacy.resistFingerprinting.reduceTimerPrecision.jitter", true); 1780 pref("services.sync.prefs.sync.privacy.userContext.enabled", true); 1781 pref("services.sync.prefs.sync.privacy.userContext.newTabContainerOnLeftClick.enabled", true); 1782 pref("services.sync.prefs.sync.security.default_personal_cert", true); 1783 pref("services.sync.prefs.sync.services.sync.syncedTabs.showRemoteIcons", true); 1784 pref("services.sync.prefs.sync.signon.autofillForms", true); 1785 pref("services.sync.prefs.sync.signon.generation.enabled", true); 1786 pref("services.sync.prefs.sync.signon.management.page.breach-alerts.enabled", true); 1787 pref("services.sync.prefs.sync.signon.rememberSignons", true); 1788 pref("services.sync.prefs.sync.spellchecker.dictionary", true); 1789 pref("services.sync.prefs.sync.ui.osk.enabled", true); 1790 1791 // A preference which, if false, means sync will only apply incoming preference 1792 // changes if there's already a local services.sync.prefs.sync.* control pref. 1793 // If true, all incoming preferences will be applied and the local "control 1794 // pref" updated accordingly. 1795 pref("services.sync.prefs.dangerously_allow_arbitrary", false); 1796 1797 // A preference that controls whether we should show the icon for a remote tab. 1798 // This pref has no UI but exists because some people may be concerned that 1799 // fetching these icons to show remote tabs may leak information about that 1800 // user's tabs and bookmarks. Note this pref is also synced. 1801 pref("services.sync.syncedTabs.showRemoteIcons", true); 1802 1803 // A preference (in milliseconds) controlling if we sync after a tab change and 1804 // how long to delay before we schedule the sync 1805 // Anything <= 0 means disabled 1806 pref("services.sync.syncedTabs.syncDelayAfterTabChange", 5000); 1807 1808 // Whether prompts should be content modal (1) tab modal (2) or window modal(3) by default 1809 // This is a fallback value for when prompt callers do not specify a modalType. 1810 pref("prompts.defaultModalType", 3); 1811 1812 // Whether to use the discrete Top Sites component. 1813 pref("browser.topsites.component.enabled", false); 1814 1815 pref("browser.topsites.useRemoteSetting", true); 1816 // Fetch sponsored Top Sites from Mozilla Tiles Service (Contile) 1817 pref("browser.topsites.contile.enabled", true); 1818 pref("browser.topsites.contile.endpoint", "https://contile.services.mozilla.com/v1/tiles"); 1819 1820 // The base URL for the Quick Suggest anonymizing proxy. To make a request to 1821 // the proxy, include a campaign ID in the path. 1822 pref("browser.partnerlink.attributionURL", "https://topsites.services.mozilla.com/cid/"); 1823 pref("browser.partnerlink.campaign.topsites", "amzn_2020_a1"); 1824 1825 // Activates preloading of the new tab url. 1826 pref("browser.newtab.preload", true); 1827 1828 // Do not enable the preonboarding experience on Linux 1829 #ifdef XP_LINUX 1830 pref("browser.preonboarding.enabled", false); 1831 #endif 1832 1833 // For further detail on the TOU prefs below, see the `preonboarding` feature in 1834 // FeatureManifest.yaml 1835 // Version of the TOU that the user last accepted 1836 pref("termsofuse.acceptedVersion", 0); 1837 // Stringified timestamp of when the user last accepted the TOU 1838 pref("termsofuse.acceptedDate", "0"); 1839 // Stringified timestamp of when the user first accepted the TOU, only set if 1840 // they have accepted more than one version. 1841 pref("termsofuse.firstAcceptedDate", "0"); 1842 // The most up-to-date version of the TOU, we set the minimum and current 1843 // version as 4 to distinguish it from version numbers used in previous TOU 1844 // experiments and rollouts 1845 pref("termsofuse.currentVersion", 4); 1846 // The minimum version of the TOU that a user must have accepted to not be 1847 // presented with the TOU modal 1848 pref("termsofuse.minimumVersion", 4); 1849 // Should we bypass the TOU modal notification completely, currently only true 1850 // for local/non-official builds 1851 #ifdef MOZILLA_OFFICIAL 1852 pref("termsofuse.bypassNotification", false); 1853 #else 1854 pref("termsofuse.bypassNotification", true); 1855 #endif 1856 1857 // Show "Download Firefox for mobile" QR code modal on newtab 1858 pref("browser.newtabpage.activity-stream.mobileDownloadModal.enabled", false); 1859 pref("browser.newtabpage.activity-stream.mobileDownloadModal.variant-a", false); 1860 pref("browser.newtabpage.activity-stream.mobileDownloadModal.variant-b", false); 1861 pref("browser.newtabpage.activity-stream.mobileDownloadModal.variant-c", false); 1862 1863 // Show refined card layout on newtab 1864 pref("browser.newtabpage.activity-stream.discoverystream.refinedCardsLayout.enabled", true); 1865 1866 /** 1867 * @backward-compat { version 148 } 1868 * 1869 * Temporary dual implementation to support train hopping. The old handoff UI 1870 * is kept alongside the new contentSearchHandoffUI.mjs custom element until 1871 * the module lands on all channels. Controlled by the pref 1872 * browser.newtabpage.activity-stream.search.useHandoffComponent. 1873 * Remove the old implementation and the pref once this ships to Release. 1874 */ 1875 pref("browser.newtabpage.activity-stream.search.useHandoffComponent", true); 1876 pref("browser.newtabpage.activity-stream.externalComponents.enabled", true); 1877 1878 // Mozilla Ad Routing Service (MARS) unified ads service 1879 pref("browser.newtabpage.activity-stream.unifiedAds.tiles.enabled", true); 1880 pref("browser.newtabpage.activity-stream.unifiedAds.spocs.enabled", true); 1881 pref("browser.newtabpage.activity-stream.unifiedAds.endpoint", "https://ads.mozilla.org/"); 1882 pref("browser.newtabpage.activity-stream.unifiedAds.adsFeed.enabled", false); 1883 #ifdef NIGHTLY_BUILD 1884 pref("browser.newtabpage.activity-stream.unifiedAds.ohttp.enabled", true); 1885 #else 1886 pref("browser.newtabpage.activity-stream.unifiedAds.ohttp.enabled", false); 1887 #endif 1888 1889 // Weather widget for newtab 1890 pref("browser.newtabpage.activity-stream.showWeather", true); 1891 pref("browser.newtabpage.activity-stream.weather.query", ""); 1892 pref("browser.newtabpage.activity-stream.weather.display", "simple"); 1893 1894 pref("browser.newtabpage.activity-stream.images.smart", true); 1895 1896 // enable location search for newtab weather widget 1897 pref("browser.newtabpage.activity-stream.weather.locationSearchEnabled", true); 1898 1899 // List of regions that get weather by default. 1900 pref("browser.newtabpage.activity-stream.discoverystream.region-weather-config", "US,CA"); 1901 1902 // List of locales that weather widget supports. 1903 pref("browser.newtabpage.activity-stream.discoverystream.locale-weather-config", "en-US,en-GB,en-CA"); 1904 1905 // Promo card visibility 1906 pref("browser.newtabpage.activity-stream.discoverystream.promoCard.visible", true); 1907 1908 // Preference to enable wallpaper selection in the Customize Menu of new tab page 1909 pref("browser.newtabpage.activity-stream.newtabWallpapers.enabled", true); 1910 pref("browser.newtabpage.activity-stream.newtabWallpapers.customColor.enabled", true); 1911 pref("browser.newtabpage.activity-stream.newtabWallpapers.customWallpaper.enabled", true); 1912 1913 // Utility preferences for custom wallpaper upload 1914 pref("browser.newtabpage.activity-stream.newtabWallpapers.customWallpaper.uuid", ""); 1915 pref("browser.newtabpage.activity-stream.newtabWallpapers.customWallpaper.fileSize", 0); 1916 pref("browser.newtabpage.activity-stream.newtabWallpapers.customWallpaper.fileSize.enabled", false); 1917 pref("browser.newtabpage.activity-stream.newtabWallpapers.customWallpaper.theme", ""); 1918 1919 // Current new tab page background images. 1920 pref("browser.newtabpage.activity-stream.newtabWallpapers.wallpaper", ""); 1921 1922 // Preference to show feature highlight about wallpaper on new tab page 1923 pref("browser.newtabpage.activity-stream.newtabWallpapers.highlightEnabled", false); 1924 pref("browser.newtabpage.activity-stream.newtabWallpapers.highlightDismissed", false); 1925 pref("browser.newtabpage.activity-stream.newtabWallpapers.highlightSeenCounter", 0); 1926 pref("browser.newtabpage.activity-stream.newtabWallpapers.highlightHeaderText", ""); 1927 pref("browser.newtabpage.activity-stream.newtabWallpapers.highlightContentText", ""); 1928 pref("browser.newtabpage.activity-stream.newtabWallpapers.highlightCtaText", ""); 1929 1930 pref("browser.newtabpage.activity-stream.newNewtabExperience.colors", "#004CA4,#009E97,#7550C2,#B63B39,#C96A00,#CA9600,#CC527F"); 1931 1932 // Activity Stream prefs that control to which page to redirect 1933 #ifndef RELEASE_OR_BETA 1934 pref("browser.newtabpage.activity-stream.debug", false); 1935 #endif 1936 1937 // The remote FxA root content URL for the Activity Stream firstrun page. 1938 pref("browser.newtabpage.activity-stream.fxaccounts.endpoint", "https://accounts.firefox.com/"); 1939 1940 // The pref that controls if the search shortcuts experiment is on 1941 pref("browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts", true); 1942 1943 // ASRouter provider configuration 1944 pref("browser.newtabpage.activity-stream.asrouter.providers.message-groups", "{\"id\":\"message-groups\",\"enabled\":true,\"type\":\"remote-settings\",\"collection\":\"message-groups\",\"updateCycleInMs\":3600000}"); 1945 pref("browser.newtabpage.activity-stream.asrouter.providers.onboarding", "{\"id\":\"onboarding\",\"type\":\"local\",\"localProvider\":\"OnboardingMessageProvider\",\"enabled\":true,\"exclude\":[]}"); 1946 pref("browser.newtabpage.activity-stream.asrouter.providers.cfr", "{\"id\":\"cfr\",\"enabled\":true,\"type\":\"remote-settings\",\"collection\":\"cfr\",\"updateCycleInMs\":3600000}"); 1947 pref("browser.newtabpage.activity-stream.asrouter.providers.messaging-experiments", "{\"id\":\"messaging-experiments\",\"enabled\":true,\"type\":\"remote-experiments\",\"updateCycleInMs\":3600000}"); 1948 1949 // ASRouter user prefs 1950 pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", true); 1951 pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", true); 1952 pref("messaging-system.askForFeedback", true); 1953 1954 // The pref that controls if ASRouter uses the remote fluent files. 1955 // It's enabled by default, but could be disabled to force ASRouter to use the local files. 1956 pref("browser.newtabpage.activity-stream.asrouter.useRemoteL10n", true); 1957 1958 // These prefs control if Discovery Stream is enabled. 1959 pref("browser.newtabpage.activity-stream.discoverystream.enabled", true); 1960 pref("browser.newtabpage.activity-stream.discoverystream.hardcoded-basic-layout", false); 1961 pref("browser.newtabpage.activity-stream.discoverystream.hybridLayout.enabled", false); 1962 pref("browser.newtabpage.activity-stream.discoverystream.hideCardBackground.enabled", false); 1963 pref("browser.newtabpage.activity-stream.discoverystream.fourCardLayout.enabled", false); 1964 pref("browser.newtabpage.activity-stream.discoverystream.newFooterSection.enabled", false); 1965 pref("browser.newtabpage.activity-stream.discoverystream.hideDescriptions.enabled", true); 1966 pref("browser.newtabpage.activity-stream.discoverystream.hideDescriptionsRegions", ""); 1967 pref("browser.newtabpage.activity-stream.discoverystream.compactGrid.enabled", false); 1968 pref("browser.newtabpage.activity-stream.discoverystream.compactImages.enabled", false); 1969 pref("browser.newtabpage.activity-stream.discoverystream.imageGradient.enabled", false); 1970 pref("browser.newtabpage.activity-stream.discoverystream.titleLines", 3); 1971 pref("browser.newtabpage.activity-stream.discoverystream.descLines", 3); 1972 pref("browser.newtabpage.activity-stream.discoverystream.readTime.enabled", true); 1973 pref("browser.newtabpage.activity-stream.discoverystream.newSponsoredLabel.enabled", false); 1974 pref("browser.newtabpage.activity-stream.discoverystream.spoc-positions", "2,4,8,13,17,20"); 1975 1976 // For both spoc and tiles, count corresponds to the matching placement. So the first placement in an array corresponds to the first count. 1977 pref("browser.newtabpage.activity-stream.discoverystream.placements.spocs", "newtab_stories_1, newtab_stories_2, newtab_stories_3, newtab_stories_4, newtab_stories_5, newtab_stories_6"); 1978 pref("browser.newtabpage.activity-stream.discoverystream.placements.spocs.counts", "1,1,1,1,1,1"); 1979 pref("browser.newtabpage.activity-stream.discoverystream.placements.contextualSpocs", "newtab_stories_1, newtab_stories_2, newtab_stories_3, newtab_stories_4, newtab_stories_5, newtab_stories_6"); 1980 pref("browser.newtabpage.activity-stream.discoverystream.placements.contextualSpocs.counts", "1, 1, 1, 1, 1, 1"); 1981 pref("browser.newtabpage.activity-stream.discoverystream.placements.tiles", "newtab_tile_1, newtab_tile_2, newtab_tile_3"); 1982 pref("browser.newtabpage.activity-stream.discoverystream.placements.tiles.counts", "1, 1, 1"); 1983 pref("browser.newtabpage.activity-stream.discoverystream.placements.contextualBanners", ""); 1984 pref("browser.newtabpage.activity-stream.discoverystream.placements.contextualBanners.counts", ""); 1985 1986 // This is a 0-based index, for consistency with the other position CSVs, 1987 // but Contile positions are a 1-based index, so we end up adding 1 to these before using them. 1988 pref("browser.newtabpage.activity-stream.discoverystream.contile-topsites-positions", "0,1,2"); 1989 pref("browser.newtabpage.activity-stream.discoverystream.widget-positions", ""); 1990 pref("browser.newtabpage.activity-stream.discoverystream.spocs-endpoint", ""); 1991 pref("browser.newtabpage.activity-stream.discoverystream.spocs-endpoint-query", ""); 1992 1993 // Changes the spoc content. 1994 pref("browser.newtabpage.activity-stream.discoverystream.spocAdTypes", ""); 1995 pref("browser.newtabpage.activity-stream.discoverystream.spocZoneIds", ""); 1996 pref("browser.newtabpage.activity-stream.discoverystream.spocSiteId", ""); 1997 pref("browser.newtabpage.activity-stream.discoverystream.ctaButtonSponsors", ""); 1998 pref("browser.newtabpage.activity-stream.discoverystream.ctaButtonVariant", ""); 1999 2000 // Pref enabling content reporting 2001 pref("browser.newtabpage.activity-stream.discoverystream.reportAds.enabled", true); 2002 2003 // List of regions that do not get stories, regardless of locale-list-config. 2004 pref("browser.newtabpage.activity-stream.discoverystream.region-stories-block", ""); 2005 // List of locales that get stories, regardless of region-stories-config. 2006 #ifdef NIGHTLY_BUILD 2007 pref("browser.newtabpage.activity-stream.discoverystream.locale-list-config", "en-US,en-CA,en-GB"); 2008 #else 2009 pref("browser.newtabpage.activity-stream.discoverystream.locale-list-config", ""); 2010 #endif 2011 // List of regions that get stories by default. 2012 pref("browser.newtabpage.activity-stream.discoverystream.region-stories-config", "US,DE,CA,GB,IE,CH,AT,BE,IN,FR,IT,ES"); 2013 2014 // List of regions that get topics selection by default. 2015 pref("browser.newtabpage.activity-stream.discoverystream.topicSelection.region-topics-config", ""); 2016 pref("browser.newtabpage.activity-stream.discoverystream.topicSelection.onboarding.enabled", false); 2017 2018 // List of locales that get topics selection by default. 2019 pref("browser.newtabpage.activity-stream.discoverystream.topicLabels.region-topic-label-config", "US, CA"); 2020 pref("browser.newtabpage.activity-stream.discoverystream.topicSelection.locale-topics-config", "en-US, en-GB, en-CA"); 2021 pref("browser.newtabpage.activity-stream.discoverystream.topicLabels.locale-topic-label-config", "en-US, en-GB, en-CA"); 2022 2023 // List of locales that get section layout by default 2024 pref("browser.newtabpage.activity-stream.discoverystream.sections.locale-content-config", "en-US,en-CA"); 2025 // List of regions that get section layout by default 2026 pref("browser.newtabpage.activity-stream.discoverystream.sections.region-content-config", "US"); 2027 2028 pref("browser.newtabpage.activity-stream.discoverystream.sections.cards.enabled", true); 2029 2030 // List of regions that use inferred personalization. 2031 pref("browser.newtabpage.activity-stream.discoverystream.sections.personalization.inferred.region-config", ""); 2032 // List of locales that use inferred personalization. 2033 pref("browser.newtabpage.activity-stream.discoverystream.sections.personalization.inferred.locale-config", "en-US,en-GB,en-CA"); 2034 2035 pref("browser.newtabpage.activity-stream.discoverystream.sections.personalization.inferred.user.enabled", true); 2036 2037 // Override inferred personalization model JSON string that typically comes from rec API. Or "TEST" for a test model. 2038 pref("browser.newtabpage.activity-stream.discoverystream.sections.personalization.inferred.model.override", ""); 2039 2040 pref("browser.newtabpage.activity-stream.discoverystream.sections.interestPicker.enabled", false); 2041 pref("browser.newtabpage.activity-stream.discoverystream.sections.interestPicker.visibleSections", ""); 2042 2043 // List of regions for contextual ads. 2044 pref("browser.newtabpage.activity-stream.discoverystream.sections.contextualAds.region-config", ""); 2045 // List of locales for contextual ads. 2046 pref("browser.newtabpage.activity-stream.discoverystream.sections.contextualAds.locale-config", "en-US,en-GB,en-CA"); 2047 2048 pref("browser.newtabpage.activity-stream.discoverystream.merino-provider.endpoint", "merino.services.mozilla.com"); 2049 pref("browser.newtabpage.activity-stream.discoverystream.merino-provider.ohttp.enabled", false); 2050 pref("browser.newtabpage.activity-stream.discoverystream.ohttp.relayURL", "https://mozilla-ohttp.fastly-edge.com/"); 2051 pref("browser.newtabpage.activity-stream.discoverystream.ohttp.configURL", "https://prod.ohttp-gateway.prod.webservices.mozgcp.net/ohttp-configs"); 2052 pref("browser.newtabpage.activity-stream.discoverystream.imageProxy.enabled", false); 2053 2054 // List of regions that get spocs by default. 2055 pref("browser.newtabpage.activity-stream.discoverystream.region-spocs-config", "US,CA,DE,GB,FR,IT,ES"); 2056 // List of regions that don't get the 7 row layout. 2057 pref("browser.newtabpage.activity-stream.discoverystream.region-basic-config", ""); 2058 2059 // Add parameters to Pocket feed URL. 2060 pref("browser.newtabpage.activity-stream.discoverystream.pocket-feed-parameters", ""); 2061 pref("browser.newtabpage.activity-stream.discoverystream.merino-feed-experiment", false); 2062 2063 pref("browser.newtabpage.activity-stream.discoverystream.personalization.enabled", false); 2064 pref("browser.newtabpage.activity-stream.discoverystream.personalization.override", false); 2065 // Configurable keys used by personalization. 2066 pref("browser.newtabpage.activity-stream.discoverystream.personalization.modelKeys", "nb_model_arts_and_entertainment, nb_model_autos_and_vehicles, nb_model_beauty_and_fitness, nb_model_blogging_resources_and_services, nb_model_books_and_literature, nb_model_business_and_industrial, nb_model_computers_and_electronics, nb_model_finance, nb_model_food_and_drink, nb_model_games, nb_model_health, nb_model_hobbies_and_leisure, nb_model_home_and_garden, nb_model_internet_and_telecom, nb_model_jobs_and_education, nb_model_law_and_government, nb_model_online_communities, nb_model_people_and_society, nb_model_pets_and_animals, nb_model_real_estate, nb_model_reference, nb_model_science, nb_model_shopping, nb_model_sports, nb_model_travel"); 2067 // System pref to allow Pocket stories personalization to be turned on/off. 2068 pref("browser.newtabpage.activity-stream.discoverystream.recs.personalized", false); 2069 // System pref to allow Pocket sponsored content personalization to be turned on/off. 2070 pref("browser.newtabpage.activity-stream.discoverystream.spocs.personalized", false); 2071 2072 // List of locales that get thumbs up/down on recommended stories by default. 2073 pref("browser.newtabpage.activity-stream.discoverystream.thumbsUpDown.locale-thumbs-config", "en-US, en-GB, en-CA"); 2074 2075 pref("browser.newtabpage.activity-stream.telemetry.privatePing.enabled", true); 2076 2077 // Redacts content interaction ids from original New Tab ping once data processing migrated to the Newtab_content private ping 2078 pref("browser.newtabpage.activity-stream.telemetry.privatePing.redactNewtabPing.enabled", true); 2079 pref("browser.newtabpage.activity-stream.telemetry.privatePing.maxSubmissionDelayMs", 5000); 2080 2081 // Include differentialy private inferred New Tab interests with New Tab content Ping. Only used when user has enabled personalization. 2082 pref("browser.newtabpage.activity-stream.telemetry.privatePing.inferredInterests.enabled", false); 2083 2084 // surface ID sent from merino to the client from the curated-recommendations request 2085 pref("browser.newtabpage.activity-stream.telemetry.surfaceId", ""); 2086 2087 // List of regions that get thumbs up/down on recommended stories by default. 2088 #ifdef EARLY_BETA_OR_EARLIER 2089 pref("browser.newtabpage.activity-stream.discoverystream.thumbsUpDown.region-thumbs-config", "US, CA"); 2090 #else 2091 pref("browser.newtabpage.activity-stream.discoverystream.thumbsUpDown.region-thumbs-config", "US"); 2092 #endif 2093 2094 // Shows users compact layout of Home New Tab page. Also requires region-thumbs-config. 2095 pref("browser.newtabpage.activity-stream.discoverystream.thumbsUpDown.searchTopsitesCompact", true); 2096 2097 // Displays publisher favicons on recommended stories of New Tab page 2098 pref("browser.newtabpage.activity-stream.discoverystream.publisherFavicon.enabled", true); 2099 2100 // User pref to show stories on newtab (feeds.system.topstories has to be set to true as well) 2101 pref("browser.newtabpage.activity-stream.feeds.section.topstories", true); 2102 2103 pref("browser.newtabpage.activity-stream.logowordmark.alwaysVisible", true); 2104 2105 // URLs from the user's history that contain this search param will be hidden 2106 // from the top sites. The value is a string with one of the following forms: 2107 // - "" (empty) - Disable this feature 2108 // - "key" - Search param named "key" with any or no value 2109 // - "key=" - Search param named "key" with no value 2110 // - "key=value" - Search param named "key" with value "value" 2111 pref("browser.newtabpage.activity-stream.hideTopSitesWithSearchParam", "mfadid=adm"); 2112 2113 // Set to true to enable debug logging for AboutNewTabResourceMapping. 2114 pref("browser.newtabpage.resource-mapping.log", false); 2115 2116 // Base URL for the newtab trainhop add-on version xpi downloads. 2117 pref("browser.newtabpage.trainhopAddon.xpiBaseURL", "https://archive.mozilla.org/pub/system-addons/newtab/"); 2118 2119 pref("browser.newtabpage.sponsor-protection.enabled", true); 2120 2121 // Separate about welcome 2122 pref("browser.aboutwelcome.enabled", true); 2123 // Used to set multistage welcome UX 2124 pref("browser.aboutwelcome.screens", ""); 2125 2126 // Disable singleProfile messaging mitigation (Bug 1963213) for multiProfile feature users 2127 pref("messaging-system.profile.singleProfileMessaging.disable", true); 2128 2129 // Experiment Manager 2130 // See Console.sys.mjs LOG_LEVELS for all possible values 2131 pref("messaging-system.log", "warn"); 2132 pref("messaging-system.rsexperimentloader.collection_id", "nimbus-desktop-experiments"); 2133 pref("nimbus.debug", false); 2134 pref("nimbus.validation.enabled", true); 2135 2136 // Should Nimbus write to the shared ProfilesDatastoreService? Only used by tests. 2137 // TODO(bug 1967779): Require the ProfileDatastoreService by default and remove 2138 // this pref. 2139 pref("nimbus.profilesdatastoreservice.enabled", true); 2140 2141 // Should Nimbus read from the shared ProfilesDatastoreService? 2142 // TODO(bug 1972426): Enable this behaviour by default and remove this pref. 2143 #if defined(NIGHTLY_BUILD) 2144 pref("nimbus.profilesdatastoreservice.read.enabled", true); 2145 #else 2146 pref("nimbus.profilesdatastoreservice.read.enabled", false); 2147 #endif 2148 2149 // Should Nimbus sync experiment unenrollments from other profiles? 2150 // TODO(bug 1956087): Enable this behaviour by default and remove this pref. 2151 #if defined(NIGHTLY_BUILD) 2152 pref("nimbus.profilesdatastoreservice.sync.enabled", true); 2153 #else 2154 pref("nimbus.profilesdatastoreservice.sync.enabled", false); 2155 #endif 2156 2157 // Enable the targeting context telemetry by default, but allow it to be 2158 // disabled, e.g., for artifact builds. 2159 // See-also: https://bugzilla.mozilla.org/show_bug.cgi?id=1936317 2160 // See-also: https://bugzilla.mozilla.org/show_bug.cgi?id=1936319 2161 #if defined(MOZ_ARTIFACT_BUILDS) 2162 pref("nimbus.telemetry.targetingContextEnabled", false); 2163 #else 2164 pref("nimbus.telemetry.targetingContextEnabled", true); 2165 #endif 2166 2167 // Nimbus QA prefs. Used to monitor pref-setting test experiments. 2168 pref("nimbus.qa.pref-1", "default"); 2169 pref("nimbus.qa.pref-2", "default"); 2170 2171 // Startup Crash Tracking 2172 // number of startup crashes that can occur before starting into safe mode automatically 2173 // (this pref has no effect if more than 6 hours have passed since the last crash) 2174 pref("toolkit.startup.max_resumed_crashes", 3); 2175 2176 // Whether to use RegisterApplicationRestart to restart the browser and resume 2177 // the session on next Windows startup 2178 #if defined(XP_WIN) 2179 pref("toolkit.winRegisterApplicationRestart", true); 2180 #endif 2181 2182 // The values of preferredAction and alwaysAskBeforeHandling before pdf.js 2183 // became the default. 2184 pref("pdfjs.previousHandler.preferredAction", 0); 2185 pref("pdfjs.previousHandler.alwaysAskBeforeHandling", false); 2186 2187 // Try to convert PDFs sent as octet-stream 2188 pref("pdfjs.handleOctetStream", true); 2189 2190 // Is the sidebar positioned ahead of the content browser 2191 pref("sidebar.position_start", true); 2192 #ifdef NIGHTLY_BUILD 2193 pref("sidebar.revamp", true); 2194 // This is nightly only for now, as we need to address bug 1933527 and bug 1934039. 2195 pref("sidebar.revamp.round-content-area", true); 2196 #else 2197 pref("sidebar.revamp", false); 2198 pref("sidebar.revamp.round-content-area", false); 2199 #endif 2200 pref("sidebar.animation.enabled", true); 2201 pref("sidebar.animation.duration-ms", 200); 2202 pref("sidebar.animation.expand-on-hover.duration-ms", 400); 2203 pref("sidebar.animation.expand-on-hover.delay-duration-ms", 200); 2204 2205 // This pref is used to store user customized tools in the sidebar launcher and shouldn't be changed. 2206 // See https://firefox-source-docs.mozilla.org/browser/components/sidebar/docs/index.html for ways 2207 // you can introduce a new tool to the sidebar launcher. 2208 pref("sidebar.main.tools", ""); 2209 pref("sidebar.installed.extensions", ""); 2210 pref("sidebar.verticalTabs", false); 2211 pref("sidebar.verticalTabs.dragToPinPromo.dismissed", false); 2212 pref("sidebar.visibility", "always-show"); 2213 // Sidebar UI state is stored per-window via session restore. Use this pref 2214 // as a backup to restore the sidebar UI state when a user has PPB mode on 2215 // or has history cleared on browser close. 2216 pref("sidebar.backupState", "{}"); 2217 pref("sidebar.expandOnHover", true); 2218 pref("sidebar.old-sidebar.has-used", false); 2219 pref("sidebar.new-sidebar.has-used", false); 2220 2221 pref("sidebar.notification.badge.aichat", false); 2222 2223 pref("browser.ml.chat.enabled", true); 2224 pref("browser.ml.chat.hideLocalhost", true); 2225 pref("browser.ml.chat.maxLength", 7000); 2226 pref("browser.ml.chat.menu", true); 2227 pref("browser.ml.chat.page", true); 2228 pref("browser.ml.chat.page.footerBadge", true); 2229 pref("browser.ml.chat.page.menuBadge", true); 2230 pref("browser.ml.chat.prompt.prefix", '{"l10nId":"genai-prompt-prefix-selection"}'); 2231 pref("browser.ml.chat.prompts.0", '{"id":"summarize","l10nId":"genai-prompts-summarize"}'); 2232 pref("browser.ml.chat.prompts.1", '{"id":"explain","l10nId":"genai-prompts-explain","targeting":"contentType != \'page\'"}'); 2233 pref("browser.ml.chat.prompts.3", '{"id":"quiz","l10nId":"genai-prompts-quiz","targeting":"(!provider|regExpMatch(\'gemini\') || region == \'US\') && contentType != \'page\'"}'); 2234 pref("browser.ml.chat.prompts.4", '{"id":"proofread", "l10nId":"genai-prompts-proofread","targeting":"contentType != \'page\'"}'); 2235 pref("browser.ml.chat.provider", ""); 2236 pref("browser.ml.chat.shortcuts", true); 2237 pref("browser.ml.chat.shortcuts.custom", true); 2238 pref("browser.ml.chat.shortcuts.longPress", 60000); 2239 pref("browser.ml.chat.shortcut.onboardingMouseoverCount", 0); 2240 pref("browser.ml.chat.sidebar", true); 2241 2242 pref("browser.ml.linkPreview.allowedLanguages", "en"); 2243 pref("browser.ml.linkPreview.blockListEnabled", true); 2244 pref("browser.ml.linkPreview.collapsed", false); 2245 pref("browser.ml.linkPreview.enabled", true); 2246 pref("browser.ml.linkPreview.ignoreMs", 2000); 2247 pref("browser.ml.linkPreview.longPress", true); 2248 pref("browser.ml.linkPreview.longPressMs", 1000); 2249 pref("browser.ml.linkPreview.noKeyPointsRegions", ""); 2250 pref("browser.ml.linkPreview.optin", false); 2251 pref("browser.ml.linkPreview.outputSentences", 3); 2252 pref("browser.ml.linkPreview.recentTypingMs", 1000); 2253 pref("browser.ml.linkPreview.shift", false); 2254 pref("browser.ml.linkPreview.shiftAlt", false); 2255 pref("browser.ml.linkPreview.supportedLocales", "en"); 2256 2257 pref("browser.ml.pageAssist.enabled", false); 2258 pref("browser.ml.smartAssist.apiKey", ""); 2259 pref("browser.ml.smartAssist.enabled", false); 2260 pref("browser.ml.smartAssist.endpoint", ""); 2261 pref("browser.ml.smartAssist.model", ""); 2262 pref("browser.ml.smartAssist.overrideNewTab", false); 2263 2264 // AI Window Feature 2265 pref("browser.aiwindow.apiKey", ''); 2266 pref("browser.aiwindow.chatStore.loglevel", "Error"); 2267 pref("browser.aiwindow.enabled", false); 2268 pref("browser.aiwindow.endpoint", "https://mlpa-prod-prod-mozilla.global.ssl.fastly.net/v1"); 2269 pref("browser.aiwindow.memories", false); 2270 pref("browser.aiwindow.memoriesLogLevel", "Warn"); 2271 pref("browser.aiwindow.firstrun.autoAdvanceMS", 3000); 2272 pref("browser.aiwindow.firstrun.modelChoice", ""); 2273 pref("browser.aiwindow.model", "qwen3-235b-a22b-instruct-2507-maas"); 2274 pref("browser.aiwindow.preferences.enabled", false); 2275 2276 // Block insecure active content on https pages 2277 pref("security.mixed_content.block_active_content", true); 2278 2279 // Show "Not Secure" text for http pages. 2280 pref("security.insecure_connection_text.enabled", true); 2281 pref("security.insecure_connection_text.pbmode.enabled", true); 2282 2283 // If this turns true, Moz*Gesture events are not called stopPropagation() 2284 // before content. 2285 pref("dom.debug.propagate_gesture_events_through_content", false); 2286 2287 // CustomizableUI debug logging. 2288 pref("browser.uiCustomization.debug", false); 2289 2290 // CustomizableUI state of the browser's user interface 2291 pref("browser.uiCustomization.state", ""); 2292 2293 // If set to false, FxAccounts and Sync will be unavailable. 2294 // A restart is mandatory after flipping that preference. 2295 pref("identity.fxaccounts.enabled", true); 2296 2297 // The remote FxA root content URL. Must use HTTPS. 2298 pref("identity.fxaccounts.remote.root", "https://accounts.firefox.com/"); 2299 2300 // The value of the context query parameter passed in fxa requests. 2301 pref("identity.fxaccounts.contextParam", "oauth_webchannel_v1"); 2302 2303 // The remote URL of the FxA Profile Server 2304 pref("identity.fxaccounts.remote.profile.uri", "https://profile.accounts.firefox.com/v1"); 2305 2306 // The remote URL of the FxA OAuth Server 2307 pref("identity.fxaccounts.remote.oauth.uri", "https://oauth.accounts.firefox.com/v1"); 2308 2309 // Whether FxA pairing using QR codes is enabled. 2310 pref("identity.fxaccounts.pairing.enabled", true); 2311 2312 // The remote URI of the FxA pairing server 2313 pref("identity.fxaccounts.remote.pairing.uri", "wss://channelserver.services.mozilla.com"); 2314 2315 // Token server used by the FxA Sync identity. 2316 pref("identity.sync.tokenserver.uri", "https://token.services.mozilla.com/1.0/sync/1.5"); 2317 2318 // Auto-config URL for FxA self-hosters, makes an HTTP request to 2319 // [identity.fxaccounts.autoconfig.uri]/.well-known/fxa-client-configuration 2320 // This is now the prefered way of pointing to a custom FxA server, instead 2321 // of making changes to "identity.fxaccounts.*.uri". 2322 pref("identity.fxaccounts.autoconfig.uri", ""); 2323 2324 // URL for help link about Send Tab. 2325 pref("identity.sendtabpromo.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/send-tab"); 2326 2327 // URLs for promo links to mobile browsers. Note that consumers are expected to 2328 // append a value for utm_campaign. 2329 pref("identity.mobilepromo.android", "https://www.mozilla.org/firefox/android/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_campaign="); 2330 pref("identity.mobilepromo.ios", "https://www.mozilla.org/firefox/ios/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_campaign="); 2331 2332 // How often should we try to fetch missed FxA commands on sync (in seconds). 2333 // Default is 24 hours. 2334 pref("identity.fxaccounts.commands.missed.fetch_interval", 86400); 2335 2336 // Controls whether this client can send and receive "close tab" 2337 // commands from other FxA clients 2338 pref("identity.fxaccounts.commands.remoteTabManagement.enabled", true); 2339 2340 // Controls whether or not the client association ping has values set on it 2341 // when the sync-ui-state:update notification fires. 2342 pref("identity.fxaccounts.telemetry.clientAssociationPing.enabled", true); 2343 2344 // Note: when media.gmp-*.visible is true, provided we're running on a 2345 // supported platform/OS version, the corresponding CDM appears in the 2346 // plugins list, Firefox will download the GMP/CDM if enabled, and our 2347 // UI to re-enable EME prompts the user to re-enable EME if it's disabled 2348 // and script requests EME. If *.visible is false, we won't show the UI 2349 // to enable the CDM if its disabled; it's as if the keysystem is completely 2350 // unsupported. 2351 2352 #ifdef MOZ_WIDEVINE_EME 2353 pref("media.gmp-manager.chromium-update-url", "https://update.googleapis.com/service/update2/crx?response=redirect&x=id%3D%GUID%%26uc&acceptformat=crx3&updaterversion=999"); 2354 pref("media.gmp-widevinecdm.visible", true); 2355 pref("media.gmp-widevinecdm.enabled", true); 2356 pref("media.gmp-widevinecdm.chromium-guid", "oimompecagnajdejgnnjijobebaeigek"); 2357 pref("media.gmp-widevinecdm.force-chromium-update", false); 2358 pref("media.gmp-widevinecdm.force-chromium-beta", false); 2359 #if defined(MOZ_WMF_CDM) && defined(_M_AMD64) 2360 pref("media.gmp-widevinecdm-l1.forceInstall", false); 2361 pref("media.gmp-widevinecdm-l1.chromium-guid", "neifaoindggfcjicffkgpmnlppeffabd"); 2362 pref("media.gmp-widevinecdm-l1.force-chromium-update", false); 2363 pref("media.gmp-widevinecdm-l1.force-chromium-beta", false); 2364 #ifdef NIGHTLY_BUILD 2365 pref("media.gmp-widevinecdm-l1.visible", true); 2366 pref("media.gmp-widevinecdm-l1.enabled", true); 2367 #else 2368 pref("media.gmp-widevinecdm-l1.visible", false); 2369 pref("media.gmp-widevinecdm-l1.enabled", false); 2370 #endif 2371 #endif 2372 #endif 2373 2374 pref("media.gmp-gmpopenh264.visible", true); 2375 pref("media.gmp-gmpopenh264.enabled", true); 2376 2377 pref("media.videocontrols.picture-in-picture.enabled", true); 2378 pref("media.videocontrols.picture-in-picture.audio-toggle.enabled", true); 2379 pref("media.videocontrols.picture-in-picture.video-toggle.enabled", true); 2380 pref("media.videocontrols.picture-in-picture.video-toggle.visibility-threshold", "1.0"); 2381 pref("media.videocontrols.picture-in-picture.keyboard-controls.enabled", true); 2382 pref("media.videocontrols.picture-in-picture.urlbar-button.enabled", true); 2383 pref("media.videocontrols.picture-in-picture.enable-when-switching-tabs.enabled", false); 2384 2385 // TODO (Bug 1817084) - This pref is used for managing translation preferences 2386 // in the Firefox Translations addon. It should be removed when the addon is 2387 // removed. 2388 pref("browser.translation.neverForLanguages", ""); 2389 2390 // Enable Firefox translations powered by the Bergamot translations 2391 // engine https://browser.mt/. 2392 pref("browser.translations.enable", true); 2393 2394 // Enable Firefox Select translations powered by Bergamot translations 2395 // engine https://browser.mt/. 2396 pref("browser.translations.select.enable", true); 2397 2398 // Enable the Translations QuickAction in the URL bar. 2399 #ifdef NIGHTLY_BUILD 2400 pref("browser.translations.quickAction.enabled", true); 2401 #else 2402 pref("browser.translations.quickAction.enabled", false); 2403 #endif 2404 2405 // Telemetry settings. 2406 // Determines if Telemetry pings can be archived locally. 2407 pref("toolkit.telemetry.archive.enabled", true); 2408 // Enables sending the shutdown ping when Firefox shuts down. 2409 pref("toolkit.telemetry.shutdownPingSender.enabled", true); 2410 // Enables using the `pingsender` background task. 2411 pref("toolkit.telemetry.shutdownPingSender.backgroundtask.enabled", false); 2412 // Enables sending the shutdown ping using the pingsender from the first session. 2413 pref("toolkit.telemetry.shutdownPingSender.enabledFirstSession", false); 2414 // Enables sending a duplicate of the first shutdown ping from the first session. 2415 pref("toolkit.telemetry.firstShutdownPing.enabled", true); 2416 // Enables sending the 'new-profile' ping on new profiles. 2417 pref("toolkit.telemetry.newProfilePing.enabled", true); 2418 // Enables sending 'update' pings on Firefox updates. 2419 pref("toolkit.telemetry.updatePing.enabled", true); 2420 // Enables sending 'bhr' pings when the browser hangs. 2421 pref("toolkit.telemetry.bhrPing.enabled", true); 2422 2423 // Enable GMP support in the addon manager. 2424 pref("media.gmp-provider.enabled", true); 2425 2426 // Enable Dynamic First-Party Isolation by default. 2427 pref("network.cookie.cookieBehavior", 5 /* BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN */); 2428 2429 // Enable Dynamic First-Party Isolation in the private browsing mode. 2430 pref("network.cookie.cookieBehavior.pbmode", 5 /* BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN */); 2431 2432 // Enable harmful addon URL blocking by default for all channels, only on desktop. 2433 pref("privacy.trackingprotection.harmfuladdon.enabled", true); 2434 2435 // Enable fingerprinting blocking by default for all channels, only on desktop. 2436 pref("privacy.trackingprotection.fingerprinting.enabled", true); 2437 2438 // Enable cryptomining blocking by default for all channels, only on desktop. 2439 pref("privacy.trackingprotection.cryptomining.enabled", true); 2440 2441 // Skip earlyBlankFirstPaint by default if resistFingerprinting is enabled. 2442 pref("privacy.resistFingerprinting.skipEarlyBlankFirstPaint", true); 2443 2444 pref("browser.contentblocking.database.enabled", true); 2445 2446 // Enable Strip on Share by default on desktop 2447 pref("privacy.query_stripping.strip_on_share.enabled", true); 2448 2449 pref("browser.contentblocking.cryptomining.preferences.ui.enabled", true); 2450 pref("browser.contentblocking.fingerprinting.preferences.ui.enabled", true); 2451 // Enable cookieBehavior = BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN as an option in the custom category ui 2452 pref("browser.contentblocking.reject-and-isolate-cookies.preferences.ui.enabled", true); 2453 2454 // Possible values for browser.contentblocking.features.strict pref: 2455 // Tracking Protection: 2456 // "tp": tracking protection enabled 2457 // "-tp": tracking protection disabled 2458 // Tracking Protection in private windows: 2459 // "tpPrivate": tracking protection in private windows enabled 2460 // "-tpPrivate": tracking protection in private windows disabled 2461 // Fingerprinting: 2462 // "fp": fingerprinting blocking enabled 2463 // "-fp": fingerprinting blocking disabled 2464 // Cryptomining Tracking Protection: 2465 // "cryptoTP": cryptomining blocking enabled 2466 // "-cryptoTP": cryptomining blocking disabled 2467 // Social Tracking Protection: 2468 // "stp": social tracking protection enabled 2469 // "-stp": social tracking protection disabled 2470 // Email Tracking Protection: 2471 // "emailTP": email tracking protection enabled 2472 // "-emailTP": email tracking protection disabled 2473 // Email Tracking Protection in private windows: 2474 // "emailTPPrivate": email tracking protection in private windows enabled 2475 // "-emailTPPrivate": email tracking protection in private windows disabled 2476 // Consent Manager Skipping: 2477 // "consentmanagerSkip": consent manager skipping enabled 2478 // "-consentmanagerSkip": consent manager skipping disabled 2479 // Consent Manager Skipping in private windows: 2480 // "consentmanagerSkipPrivate": consent manager skipping in private windows enabled 2481 // "-consentmanagerSkipPrivate": consent manager skipping in private windows disabled 2482 // Level 2 Tracking list in normal windows: 2483 // "lvl2": Level 2 tracking list enabled 2484 // "-lvl2": Level 2 tracking list disabled 2485 // Restrict relaxing default referrer policy: 2486 // "rp": Restrict relaxing default referrer policy enabled 2487 // "-rp": Restrict relaxing default referrer policy disabled 2488 // Restrict relaxing default referrer policy for top navigation: 2489 // "rpTop": Restrict relaxing default referrer policy enabled 2490 // "-rpTop": Restrict relaxing default referrer policy disabled 2491 // OCSP cache partitioning: 2492 // "ocsp": OCSP cache partitioning enabled 2493 // "-ocsp": OCSP cache partitioning disabled 2494 // Query parameter stripping: 2495 // "qps": Query parameter stripping enabled 2496 // "-qps": Query parameter stripping disabled 2497 // Query parameter stripping for private windows: 2498 // "qpsPBM": Query parameter stripping enabled in private windows 2499 // "-qpsPBM": Query parameter stripping disabled in private windows 2500 // Fingerprinting Protection: 2501 // "fpp": Fingerprinting Protection enabled 2502 // "-fpp": Fingerprinting Protection disabled 2503 // Fingerprinting Protection for private windows: 2504 // "fppPrivate": Fingerprinting Protection enabled in private windows 2505 // "-fppPrivate": Fingerprinting Protection disabled in private windows 2506 // Cookie behavior: 2507 // "cookieBehavior0": cookie behaviour BEHAVIOR_ACCEPT 2508 // "cookieBehavior1": cookie behaviour BEHAVIOR_REJECT_FOREIGN 2509 // "cookieBehavior2": cookie behaviour BEHAVIOR_REJECT 2510 // "cookieBehavior3": cookie behaviour BEHAVIOR_LIMIT_FOREIGN 2511 // "cookieBehavior4": cookie behaviour BEHAVIOR_REJECT_TRACKER 2512 // "cookieBehavior5": cookie behaviour BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN 2513 // Cookie behavior for private windows: 2514 // "cookieBehaviorPBM0": cookie behaviour BEHAVIOR_ACCEPT 2515 // "cookieBehaviorPBM1": cookie behaviour BEHAVIOR_REJECT_FOREIGN 2516 // "cookieBehaviorPBM2": cookie behaviour BEHAVIOR_REJECT 2517 // "cookieBehaviorPBM3": cookie behaviour BEHAVIOR_LIMIT_FOREIGN 2518 // "cookieBehaviorPBM4": cookie behaviour BEHAVIOR_REJECT_TRACKER 2519 // "cookieBehaviorPBM5": cookie behaviour BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN 2520 // Third-party cookie deprecation behavior: 2521 // "3pcd": Third-party cookie deprecation enabled 2522 // "-3pcd": Third-party cookie deprecation disabled 2523 // Bounce Tracking Protection: 2524 // "btp": BTP enabled 2525 // "-btp": BTP disabled 2526 // Local Network Access Restrictions: 2527 // "lna": LNA enabled 2528 // "-lna": LNA disabled 2529 // One value from each section must be included in the browser.contentblocking.features.strict pref. 2530 pref("browser.contentblocking.features.strict", "tp,tpPrivate,cookieBehavior5,cookieBehaviorPBM5,cryptoTP,fp,stp,emailTP,emailTPPrivate,-consentmanagerSkip,-consentmanagerSkipPrivate,lvl2,rp,rpTop,ocsp,qps,qpsPBM,fpp,fppPrivate,btp,lna"); 2531 2532 // Enable Protections report's Lockwise card by default. 2533 pref("browser.contentblocking.report.lockwise.enabled", true); 2534 2535 // Disable rotections report's Monitor card by default. The new Monitor API does 2536 // not support this feature as of now. See Bug 1815751. 2537 pref("browser.contentblocking.report.monitor.enabled", false); 2538 2539 // Disable Protections report's Proxy card by default. 2540 pref("browser.contentblocking.report.proxy.enabled", false); 2541 2542 // Disable the mobile promotion by default. 2543 pref("browser.contentblocking.report.show_mobile_app", true); 2544 2545 // Locales in which Send to Device emails are supported 2546 // The most recent list of supported locales can be found at https://github.com/mozilla/bedrock/blob/6a08c876f65924651554decc57b849c00874b4e7/bedrock/settings/base.py#L963 2547 pref("browser.send_to_device_locales", "de,en-GB,en-US,es-AR,es-CL,es-ES,es-MX,fr,id,pl,pt-BR,ru,zh-TW"); 2548 2549 // Avoid advertising in certain regions. Comma separated string of two letter ISO 3166-1 country codes. 2550 pref("browser.vpn_promo.disallowed_regions", "ae,by,cn,cu,iq,ir,kp,om,ru,sd,sy,tm,tr"); 2551 2552 // Default to enabling VPN promo messages to be shown when specified and allowed 2553 pref("browser.vpn_promo.enabled", true); 2554 // Only show vpn card to certain regions. Comma separated string of two letter ISO 3166-1 country codes. 2555 // The most recent list of supported countries can be found at https://support.mozilla.org/en-US/kb/mozilla-vpn-countries-available-subscribe 2556 // The full lists of supported country codes can also be found at https://github.com/mozilla/bedrock/search?q=VPN_COUNTRY_CODES and https://github.com/mozilla/bedrock/search?q=VPN_MOBILE_SUB_COUNTRY_CODES 2557 pref("browser.contentblocking.report.vpn_regions", "as,at,au,bd,be,bg,br,ca,ch,cl,co,cy,cz,de,dk,ee,eg,es,fi,fr,gb,gg,gr,hr,hu,id,ie,im,in,io,it,je,ke,kr,lt,lu,lv,ma,mp,mt,mx,my,ng,nl,no,nz,pl,pr,pt,ro,sa,se,sg,si,sk,sn,th,tr,tw,ua,ug,uk,um,us,vg,vi,vn,za"); 2558 2559 // Avoid advertising Focus in certain regions. Comma separated string of two letter 2560 // ISO 3166-1 country codes. 2561 pref("browser.promo.focus.disallowed_regions", "cn"); 2562 2563 // Default to enabling focus promos to be shown where allowed. 2564 pref("browser.promo.focus.enabled", true); 2565 2566 // Default to enabling pin promos to be shown where allowed. 2567 pref("browser.promo.pin.enabled", true); 2568 2569 // Default to enabling cookie banner reduction promos to be shown where allowed. 2570 // Set to true for Fx113 (see bug 1808611) 2571 pref("browser.promo.cookiebanners.enabled", false); 2572 2573 pref("browser.contentblocking.report.hide_vpn_banner", false); 2574 pref("browser.contentblocking.report.vpn_sub_id", "sub_HrfCZF7VPHzZkA"); 2575 2576 pref("browser.contentblocking.report.monitor.url", "https://monitor.firefox.com/?entrypoint=protection_report_monitor&utm_source=about-protections"); 2577 pref("browser.contentblocking.report.monitor.how_it_works.url", "https://monitor.firefox.com/about"); 2578 pref("browser.contentblocking.report.monitor.sign_in_url", "https://monitor.firefox.com/oauth/init?entrypoint=protection_report_monitor&utm_source=about-protections&email="); 2579 pref("browser.contentblocking.report.monitor.preferences_url", "https://monitor.firefox.com/user/preferences"); 2580 pref("browser.contentblocking.report.monitor.home_page_url", "https://monitor.firefox.com/user/dashboard"); 2581 pref("browser.contentblocking.report.manage_devices.url", "https://accounts.firefox.com/settings/clients"); 2582 pref("browser.contentblocking.report.endpoint_url", "https://monitor.firefox.com/user/breach-stats?includeResolved=true"); 2583 pref("browser.contentblocking.report.proxy_extension.url", "https://fpn.firefox.com/browser?utm_source=firefox-desktop&utm_medium=referral&utm_campaign=about-protections&utm_content=about-protections"); 2584 pref("browser.contentblocking.report.mobile-ios.url", "https://apps.apple.com/app/firefox-private-safe-browser/id989804926"); 2585 pref("browser.contentblocking.report.mobile-android.url", "https://play.google.com/store/apps/details?id=org.mozilla.firefox&referrer=utm_source%3Dprotection_report%26utm_content%3Dmobile_promotion"); 2586 pref("browser.contentblocking.report.vpn.url", "https://vpn.mozilla.org/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_campaign=about-protections-card"); 2587 pref("browser.contentblocking.report.vpn-promo.url", "https://vpn.mozilla.org/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_campaign=about-protections-top-promo"); 2588 pref("browser.contentblocking.report.vpn-android.url", "https://play.google.com/store/apps/details?id=org.mozilla.firefox.vpn&referrer=utm_source%3Dfirefox-browser%26utm_medium%3Dfirefox-browser%26utm_campaign%3Dabout-protections-mobile-vpn%26anid%3D--"); 2589 pref("browser.contentblocking.report.vpn-ios.url", "https://apps.apple.com/us/app/firefox-private-network-vpn/id1489407738"); 2590 2591 // Protection Report's SUMO urls 2592 pref("browser.contentblocking.report.lockwise.how_it_works.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/password-manager-report"); 2593 pref("browser.contentblocking.report.social.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/social-media-tracking-report"); 2594 pref("browser.contentblocking.report.cookie.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/cross-site-tracking-report"); 2595 pref("browser.contentblocking.report.tracker.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/tracking-content-report"); 2596 pref("browser.contentblocking.report.fingerprinter.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/fingerprinters-report"); 2597 pref("browser.contentblocking.report.cryptominer.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/cryptominers-report"); 2598 2599 pref("browser.contentblocking.cfr-milestone.enabled", true); 2600 pref("browser.contentblocking.cfr-milestone.milestone-achieved", 0); 2601 // Milestones should always be in increasing order 2602 pref("browser.contentblocking.cfr-milestone.milestones", "[1000, 5000, 10000, 25000, 50000, 100000, 250000, 314159, 500000, 750000, 1000000, 1250000, 1500000, 1750000, 2000000, 2250000, 2500000, 8675309]"); 2603 2604 // Controls the initial state of the protections panel collapsible info message. 2605 pref("browser.protections_panel.infoMessage.seen", false); 2606 2607 // Always enable newtab segregation using containers 2608 pref("privacy.usercontext.about_newtab_segregation.enabled", true); 2609 // Enable Contextual Identity Containers 2610 #ifdef NIGHTLY_BUILD 2611 pref("privacy.userContext.enabled", true); 2612 pref("privacy.userContext.ui.enabled", true); 2613 #else 2614 pref("privacy.userContext.enabled", false); 2615 pref("privacy.userContext.ui.enabled", false); 2616 #endif 2617 pref("privacy.userContext.extension", ""); 2618 // allows user to open container menu on a left click instead of a new 2619 // tab in the default container 2620 pref("privacy.userContext.newTabContainerOnLeftClick.enabled", false); 2621 2622 // Set to true to allow the user to silence all notifications when 2623 // sharing the screen. 2624 pref("privacy.webrtc.allowSilencingNotifications", true); 2625 pref("privacy.webrtc.hideGlobalIndicator", false); 2626 2627 // Set to true to add toggles to the WebRTC indicator for globally 2628 // muting the camera and microphone. 2629 pref("privacy.webrtc.globalMuteToggles", false); 2630 2631 // Set to true to enable a warning displayed when attempting 2632 // to switch tabs in a window that's being shared over WebRTC. 2633 pref("privacy.webrtc.sharedTabWarning", false); 2634 2635 // Defines a grace period after camera or microphone use ends, where permission 2636 // is granted (even past navigation) to this tab + origin + device. This avoids 2637 // re-prompting without the user having to persist permission to the site, in a 2638 // common case of a web conference asking them for the camera in a lobby page, 2639 // before navigating to the actual meeting room page. Doesn't survive tab close. 2640 pref("privacy.webrtc.deviceGracePeriodTimeoutMs", 3600000); 2641 2642 // Bug 1857254 - MacOS 14 displays two (microphone/camera/screen share) icons in the menu bar 2643 // This pref can be used to hide the firefox camera icon on macos 14 and above to avoid 2644 // duplicating the macos camera icon. We show the icon by default, users can choose to flip 2645 // the pref to hide the icons 2646 pref("privacy.webrtc.showIndicatorsOnMacos14AndAbove", true); 2647 2648 // Testing pref: adds artificial delay (in ms) to gUM requests in webrtc-preview. 2649 // Used for testing abort logic. 0 means no delay. 2650 pref("privacy.webrtc.preview.testGumDelayMs", 0); 2651 2652 // Enable Smartblock embed placeholders 2653 pref("extensions.webcompat.smartblockEmbeds.enabled", true); 2654 2655 // Enable including the content in the window title. 2656 // PBM users might want to disable this to avoid a possible source of disk 2657 // leaks. 2658 pref("privacy.exposeContentTitleInWindow", true); 2659 pref("privacy.exposeContentTitleInWindow.pbm", true); 2660 2661 // Run media transport in a separate process? 2662 pref("media.peerconnection.mtransport_process", true); 2663 2664 // Whether the "Close duplicate tabs" tab context menu is enabled. 2665 pref("browser.tabs.context.close-duplicate.enabled", true); 2666 2667 // For speculatively warming up tabs to improve perceived 2668 // performance while using the async tab switcher. 2669 pref("browser.tabs.remote.warmup.enabled", true); 2670 2671 // Caches tab layers to improve perceived performance 2672 // of tab switches. 2673 pref("browser.tabs.remote.tabCacheSize", 0); 2674 2675 pref("browser.tabs.remote.warmup.maxTabs", 3); 2676 pref("browser.tabs.remote.warmup.unloadDelayMs", 2000); 2677 2678 // For the about:tabcrashed page 2679 pref("browser.tabs.crashReporting.sendReport", true); 2680 pref("browser.tabs.crashReporting.includeURL", false); 2681 2682 // Enables the "Unload Tab" context menu item 2683 pref("browser.tabs.unloadTabInContextMenu", true); 2684 2685 // Whether tabs that have been explicitly unloaded 2686 // are faded out in the tab bar. 2687 pref("browser.tabs.fadeOutExplicitlyUnloadedTabs", true); 2688 2689 // Whether unloaded tabs (either from session restore or because 2690 // they are explicitly unloaded) are faded out in the tab bar. 2691 pref("browser.tabs.fadeOutUnloadedTabs", false); 2692 2693 // Whether tabs can be "split" or displayed side by side at once. 2694 #ifdef NIGHTLY_BUILD 2695 pref("browser.tabs.splitView.enabled", true); 2696 #else 2697 pref("browser.tabs.splitView.enabled", false); 2698 #endif 2699 2700 // Whether SVG favicons should be safely re-encoded using the moz-remote-image:// protocol. 2701 pref("browser.tabs.remoteSVGIconDecoding", false); 2702 2703 // If true, unprivileged extensions may use experimental APIs on 2704 // nightly and developer edition. 2705 pref("extensions.experiments.enabled", false); 2706 2707 #if defined(XP_WIN) 2708 pref("dom.ipc.processPriorityManager.backgroundUsesEcoQoS", true); 2709 #endif 2710 2711 // Don't limit how many nodes we care about on desktop: 2712 pref("reader.parse-node-limit", 0); 2713 2714 // On desktop, we want the URLs to be included here for ease of debugging, 2715 // and because (normally) these errors are not persisted anywhere. 2716 pref("reader.errors.includeURLs", true); 2717 2718 pref("view_source.tab", true); 2719 2720 // These are the thumbnail width/height set in about:newtab. 2721 // If you change this, ENSURE IT IS THE SAME SIZE SET 2722 // by about:newtab. These values are in CSS pixels. 2723 pref("toolkit.pageThumbs.minWidth", 280); 2724 pref("toolkit.pageThumbs.minHeight", 190); 2725 2726 pref("browser.esedbreader.loglevel", "Error"); 2727 2728 pref("browser.laterrun.enabled", false); 2729 2730 #ifdef FUZZING_SNAPSHOT 2731 pref("dom.ipc.processPrelaunch.enabled", false); 2732 #else 2733 pref("dom.ipc.processPrelaunch.enabled", true); 2734 #endif 2735 2736 pref("browser.migrate.bookmarks-file.enabled", true); 2737 pref("browser.migrate.brave.enabled", true); 2738 pref("browser.migrate.canary.enabled", true); 2739 2740 pref("browser.migrate.chrome.enabled", true); 2741 // See comments in bug 1340115 on how we got to this number. 2742 pref("browser.migrate.chrome.history.limit", 2000); 2743 pref("browser.migrate.chrome.payment_methods.enabled", true); 2744 pref("browser.migrate.chrome.extensions.enabled", true); 2745 pref("browser.migrate.chrome.get_permissions.enabled", true); 2746 2747 pref("browser.migrate.chrome-beta.enabled", true); 2748 pref("browser.migrate.chrome-dev.enabled", true); 2749 pref("browser.migrate.chromium.enabled", true); 2750 pref("browser.migrate.chromium-360se.enabled", true); 2751 pref("browser.migrate.chromium-edge.enabled", true); 2752 pref("browser.migrate.chromium-edge-beta.enabled", true); 2753 pref("browser.migrate.edge.enabled", true); 2754 pref("browser.migrate.firefox.enabled", true); 2755 pref("browser.migrate.ie.enabled", false); 2756 pref("browser.migrate.opera.enabled", true); 2757 pref("browser.migrate.opera-gx.enabled", true); 2758 pref("browser.migrate.safari.enabled", true); 2759 pref("browser.migrate.vivaldi.enabled", true); 2760 2761 pref("browser.migrate.content-modal.import-all.enabled", true); 2762 2763 // Values can be: "default", "autoclose", "standalone", "embedded". 2764 pref("browser.migrate.content-modal.about-welcome-behavior", "embedded"); 2765 2766 // The maximum age of history entries we'll import, in days. 2767 pref("browser.migrate.history.maxAgeInDays", 180); 2768 2769 // These following prefs are set to true if the user has at some 2770 // point in the past migrated one of these resource types from 2771 // another browser. We also attempt to transfer these preferences 2772 // across profile resets. 2773 pref("browser.migrate.interactions.bookmarks", false); 2774 pref("browser.migrate.interactions.csvpasswords", false); 2775 pref("browser.migrate.interactions.history", false); 2776 pref("browser.migrate.interactions.passwords", false); 2777 2778 pref("browser.migrate.preferences-entrypoint.enabled", true); 2779 2780 // "available" - user can see feature offer. 2781 // "offered" - we have offered feature to user and they have not yet made a decision. 2782 // "enabled" - user opted in to the feature. 2783 // "disabled" - user opted out of the feature. 2784 pref("signon.firefoxRelay.feature", "available"); 2785 // Should Firefox show Relay to all browsers, or only those signed-in to FxA? 2786 // Keep it hidden from about:config for now. 2787 // pref("signon.firefoxRelay.showToAllBrowsers", false); 2788 pref("signon.firefoxRelay.firstOfferVersionFallback", "control"); 2789 pref("signon.management.page.breach-alerts.enabled", true); 2790 pref("signon.management.page.vulnerable-passwords.enabled", true); 2791 pref("signon.management.page.sort", "name"); 2792 2793 pref("signon.management.page.os-auth.locked.enabled", false); 2794 pref("extensions.formautofill.creditCards.os-auth.locked.enabled", false); 2795 2796 // The utm_creative value is appended within the code (specific to the location on 2797 // where it is clicked). Be sure that if these two prefs are updated, that 2798 // the utm_creative param be last. 2799 pref("signon.management.page.breachAlertUrl", 2800 "https://monitor.firefox.com/breach-details/"); 2801 pref("signon.passwordEditCapture.enabled", true); 2802 pref("signon.relatedRealms.enabled", false); 2803 pref("signon.showAutoCompleteFooter", true); 2804 pref("signon.showAutoCompleteImport", "import"); 2805 pref("signon.suggestImportCount", 3); 2806 2807 // Whether or not the browser should scan for unsubmitted 2808 // crash reports, and then show a notification for submitting 2809 // those reports. 2810 #ifdef NIGHTLY_BUILD 2811 pref("browser.crashReports.unsubmittedCheck.enabled", true); 2812 #else 2813 pref("browser.crashReports.unsubmittedCheck.enabled", false); 2814 #endif 2815 2816 // chancesUntilSuppress is how many times we'll show the unsubmitted 2817 // crash report notification across different days and shutdown 2818 // without a user choice before we suppress the notification for 2819 // some number of days. 2820 pref("browser.crashReports.unsubmittedCheck.chancesUntilSuppress", 4); 2821 pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); 2822 2823 // Preferences for the form autofill toolkit component. 2824 // Checkbox in sync options for credit card data sync service 2825 pref("services.sync.engine.creditcards.available", true); 2826 2827 // Whether or not to restore a session with lazy-browser tabs. 2828 pref("browser.sessionstore.restore_tabs_lazily", true); 2829 2830 pref("browser.suppress_first_window_animation", true); 2831 2832 // Preference that determines whether Screenshots uses the dedicated browser component 2833 pref("screenshots.browser.component.enabled", true); 2834 2835 // Preference that determines what button to focus 2836 pref("screenshots.browser.component.last-saved-method", "download"); 2837 2838 // Preference that prevents events from reaching the content page. 2839 pref("screenshots.browser.component.preventContentEvents", true); 2840 2841 // Determines the default save location for screenshots 2842 // Valid values are 0, 1, 2, 3 and 4. 2843 // 0 - Use the desktop as the default save location. 2844 // 1 - Use the system's downloads folder as the default save location. 2845 // 2 - Use the folder set in browser.screenshots.dir as the default save location. 2846 // 3 - Use system's screenshot folder as the default save location. 2847 // 4 - Use browser.download.folderList 2848 // Options 2 and 3 will fallback to the system downloads folder if their specified folder is not found. 2849 pref("browser.screenshots.folderList", 4); 2850 pref("browser.screenshots.dir", ""); 2851 2852 // DoH Rollout: whether to clear the mode value at shutdown. 2853 pref("doh-rollout.clearModeOnShutdown", false); 2854 2855 // DoH UI: default the fallback checkbox to on. 2856 pref("network.trr_ui.fallback_was_checked", true); 2857 2858 // Normandy client preferences 2859 pref("app.normandy.api_url", "https://normandy.cdn.mozilla.net/api/v1"); 2860 pref("app.normandy.dev_mode", false); 2861 pref("app.normandy.enabled", true); 2862 pref("app.normandy.first_run", true); 2863 pref("app.normandy.logging.level", 50); // Warn 2864 pref("app.normandy.run_interval_seconds", 21600); // 6 hours 2865 pref("app.normandy.shieldLearnMoreUrl", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/shield"); 2866 pref("app.normandy.last_seen_buildid", ""); 2867 pref("app.normandy.onsync_skew_sec", 600); 2868 #ifdef MOZ_DATA_REPORTING 2869 pref("app.shield.optoutstudies.enabled", true); 2870 #else 2871 pref("app.shield.optoutstudies.enabled", false); 2872 #endif 2873 2874 // Multi-lingual preferences: 2875 // *.enabled - Are langpacks available for the build of Firefox? 2876 // *.downloadEnabled - Langpacks are allowed to be downloaded from AMO. AMO only serves 2877 // langpacks for release and beta. Unsupported releases (like Nightly) can be 2878 // manually tested with the following preference: 2879 // extensions.getAddons.langpacks.url: https://mock-amo-language-tools.glitch.me/?app=firefox&type=language&appversion=%VERSION% 2880 // *.liveReload - Switching a langpack will change the language without a restart. 2881 // *.liveReloadBidirectional - Allows switching when moving between LTR and RTL 2882 // languages without a full restart. 2883 // *.aboutWelcome.languageMismatchEnabled - Enables an onboarding menu in about:welcome 2884 // to allow a user to change their language when there is a language mismatch between 2885 // the app and browser. 2886 #if defined(RELEASE_OR_BETA) && !defined(MOZ_DEV_EDITION) 2887 pref("intl.multilingual.enabled", true); 2888 pref("intl.multilingual.downloadEnabled", true); 2889 pref("intl.multilingual.liveReload", true); 2890 pref("intl.multilingual.liveReloadBidirectional", false); 2891 pref("intl.multilingual.aboutWelcome.languageMismatchEnabled", true); 2892 #else 2893 pref("intl.multilingual.enabled", false); 2894 pref("intl.multilingual.downloadEnabled", false); 2895 pref("intl.multilingual.liveReload", false); 2896 pref("intl.multilingual.liveReloadBidirectional", false); 2897 pref("intl.multilingual.aboutWelcome.languageMismatchEnabled", false); 2898 #endif 2899 2900 // Coverage ping is disabled by default. 2901 pref("toolkit.coverage.enabled", false); 2902 pref("toolkit.coverage.endpoint.base", "https://coverage.mozilla.org"); 2903 2904 // Discovery prefs 2905 pref("browser.discovery.enabled", true); 2906 pref("browser.discovery.containers.enabled", true); 2907 pref("browser.discovery.sites", "addons.mozilla.org"); 2908 2909 pref("browser.engagement.recent_visited_origins.expiry", 86400); // 24 * 60 * 60 (24 hours in seconds) 2910 pref("browser.engagement.downloads-button.has-used", false); 2911 pref("browser.engagement.fxa-toolbar-menu-button.has-used", false); 2912 pref("browser.engagement.home-button.has-used", false); 2913 pref("browser.engagement.sidebar-button.has-used", false); 2914 pref("browser.engagement.library-button.has-used", false); 2915 pref("browser.engagement.ctrlTab.has-used", false); 2916 2917 pref("browser.aboutConfig.showWarning", true); 2918 2919 pref("browser.toolbars.keyboard_navigation", true); 2920 2921 // The visibility of the bookmarks toolbar. 2922 // "newtab": Show on the New Tab Page 2923 // "always": Always show 2924 // "never": Never show 2925 pref("browser.toolbars.bookmarks.visibility", "newtab"); 2926 2927 // Visibility of the "Show Other Bookmarks" menuitem in the 2928 // bookmarks toolbar contextmenu. 2929 pref("browser.toolbars.bookmarks.showOtherBookmarks", true); 2930 2931 2932 // Felt Privacy pref to control simplified private browsing UI 2933 pref("browser.privatebrowsing.felt-privacy-v1", false); 2934 pref("security.certerrors.felt-privacy-v1", true); 2935 2936 // Prefs to control the Firefox Account toolbar menu. 2937 // This pref will surface existing Firefox Account information 2938 // as a button next to the hamburger menu. It allows 2939 // quick access to sign-in and manage your Firefox Account. 2940 pref("identity.fxaccounts.toolbar.enabled", true); 2941 pref("identity.fxaccounts.toolbar.accessed", false); 2942 pref("identity.fxaccounts.toolbar.defaultVisible", true); 2943 2944 // Prefs to control Firefox Account panels that shows call to actions 2945 // for other supported Mozilla products 2946 pref("identity.fxaccounts.toolbar.pxiToolbarEnabled", true); 2947 pref("identity.fxaccounts.toolbar.pxiToolbarEnabled.monitorEnabled", true); 2948 pref("identity.fxaccounts.toolbar.pxiToolbarEnabled.relayEnabled", true); 2949 pref("identity.fxaccounts.toolbar.pxiToolbarEnabled.vpnEnabled", true); 2950 2951 // Prefs to control Mozilla account panels that shows an updated flow 2952 // for users who don't have sync enabled 2953 pref("identity.fxaccounts.toolbar.syncSetup.panelAccessed", false); 2954 2955 // Toolbox preferences 2956 pref("devtools.toolbox.footer.height", 250); 2957 pref("devtools.toolbox.sidebar.width", 500); 2958 pref("devtools.toolbox.host", "bottom"); 2959 pref("devtools.toolbox.previousHost", "right"); 2960 pref("devtools.toolbox.selectedTool", "inspector"); 2961 pref("devtools.toolbox.zoomValue", "1"); 2962 pref("devtools.toolbox.splitconsole.enabled", true); 2963 pref("devtools.toolbox.splitconsole.open", false); 2964 pref("devtools.toolbox.splitconsoleHeight", 100); 2965 pref("devtools.toolbox.tabsOrder", ""); 2966 // This is only used for local Web Extension debugging, 2967 // and allows to keep the window on top of all others, 2968 // so that you can debug the Firefox window, while keeping the devtools 2969 // always visible 2970 pref("devtools.toolbox.alwaysOnTop", true); 2971 2972 // When the Multiprocess Browser Toolbox is enabled, you can configure the scope of it: 2973 // - "everything" will enable debugging absolutely everything in the browser 2974 // All processes, all documents, all workers, all add-ons. 2975 // - "parent-process" will restrict debugging to the parent process 2976 // All privileged javascript, documents and workers running in the parent process. 2977 pref("devtools.browsertoolbox.scope", "parent-process"); 2978 2979 // This preference will enable watching top-level targets from the server side. 2980 pref("devtools.target-switching.server.enabled", true); 2981 2982 // Controls the hability to debug popups from the same DevTools 2983 // of the original tab the popups are coming from 2984 pref("devtools.popups.debug", false); 2985 2986 // Toolbox Button preferences 2987 pref("devtools.command-button-pick.enabled", true); 2988 pref("devtools.command-button-frames.enabled", true); 2989 pref("devtools.command-button-responsive.enabled", true); 2990 pref("devtools.command-button-screenshot.enabled", false); 2991 pref("devtools.command-button-rulers.enabled", false); 2992 pref("devtools.command-button-measure.enabled", false); 2993 pref("devtools.command-button-noautohide.enabled", false); 2994 pref("devtools.command-button-errorcount.enabled", true); 2995 #ifndef MOZILLA_OFFICIAL 2996 pref("devtools.command-button-experimental-prefs.enabled", true); 2997 #endif 2998 2999 // Inspector preferences 3000 // Enable the Inspector 3001 pref("devtools.inspector.enabled", true); 3002 // What was the last active sidebar in the inspector 3003 pref("devtools.inspector.selectedSidebar", "layoutview"); 3004 pref("devtools.inspector.activeSidebar", "layoutview"); 3005 pref("devtools.inspector.remote", false); 3006 3007 // Enable the 3 pane mode in the inspector 3008 pref("devtools.inspector.three-pane-enabled", true); 3009 // Enable the 3 pane mode in the chrome inspector 3010 pref("devtools.inspector.chrome.three-pane-enabled", false); 3011 // Collapse pseudo-elements by default in the rule-view 3012 pref("devtools.inspector.show_pseudo_elements", false); 3013 // The default size for image preview tooltips in the rule-view/computed-view/markup-view 3014 pref("devtools.inspector.imagePreviewTooltipSize", 300); 3015 // Enable user agent style inspection in rule-view 3016 pref("devtools.inspector.showUserAgentStyles", false); 3017 // Show native anonymous content and user agent shadow roots 3018 pref("devtools.inspector.showAllAnonymousContent", false); 3019 // Enable overflow debugging in the inspector. 3020 pref("devtools.overflow.debugging.enabled", true); 3021 // Enable drag to edit properties in the inspector rule view. 3022 pref("devtools.inspector.draggable_properties", true); 3023 3024 // Grid highlighter preferences 3025 pref("devtools.gridinspector.gridOutlineMaxColumns", 50); 3026 pref("devtools.gridinspector.gridOutlineMaxRows", 50); 3027 pref("devtools.gridinspector.showGridAreas", false); 3028 pref("devtools.gridinspector.showGridLineNumbers", false); 3029 pref("devtools.gridinspector.showInfiniteLines", false); 3030 // Max number of grid highlighters that can be displayed 3031 pref("devtools.gridinspector.maxHighlighters", 3); 3032 3033 // Whether or not simplified highlighters should be used when 3034 // prefers-reduced-motion is enabled. 3035 pref("devtools.inspector.simple-highlighters-reduced-motion", false); 3036 // Wheter or not Enter on inplace editor in the Rules view moves focus and activates 3037 // next inplace editor. 3038 pref("devtools.inspector.rule-view.focusNextOnEnter", true); 3039 3040 // Whether or not the box model panel is opened in the layout view 3041 pref("devtools.layout.boxmodel.opened", true); 3042 // Whether or not the flexbox panel is opened in the layout view 3043 pref("devtools.layout.flexbox.opened", true); 3044 // Whether or not the flexbox container panel is opened in the layout view 3045 pref("devtools.layout.flex-container.opened", true); 3046 // Whether or not the flexbox item panel is opened in the layout view 3047 pref("devtools.layout.flex-item.opened", true); 3048 // Whether or not the grid inspector panel is opened in the layout view 3049 pref("devtools.layout.grid.opened", true); 3050 3051 // Enable hovering Box Model values and jumping to their source CSS rule in the 3052 // rule-view. 3053 #if defined(NIGHTLY_BUILD) 3054 pref("devtools.layout.boxmodel.highlightProperty", true); 3055 #else 3056 pref("devtools.layout.boxmodel.highlightProperty", false); 3057 #endif 3058 3059 // By how many times eyedropper will magnify pixels 3060 pref("devtools.eyedropper.zoom", 6); 3061 3062 // Enable to collapse attributes that are too long. 3063 pref("devtools.markup.collapseAttributes", true); 3064 // Length to collapse attributes 3065 pref("devtools.markup.collapseAttributeLength", 120); 3066 // Whether to auto-beautify the HTML on copy. 3067 pref("devtools.markup.beautifyOnCopy", false); 3068 3069 // DevTools default color unit 3070 pref("devtools.defaultColorUnit", "authored"); 3071 3072 // Enable the Memory tools 3073 pref("devtools.memory.enabled", true); 3074 3075 pref("devtools.memory.custom-census-displays", "{}"); 3076 pref("devtools.memory.custom-label-displays", "{}"); 3077 pref("devtools.memory.custom-tree-map-displays", "{}"); 3078 3079 pref("devtools.memory.max-individuals", 1000); 3080 pref("devtools.memory.max-retaining-paths", 10); 3081 3082 // Enable the Performance tools 3083 pref("devtools.performance.enabled", true); 3084 3085 // The default cache UI setting 3086 pref("devtools.cache.disabled", false); 3087 3088 // The default service workers UI setting 3089 pref("devtools.serviceWorkers.testing.enabled", false); 3090 3091 // Enable the Network Monitor 3092 pref("devtools.netmonitor.enabled", true); 3093 3094 pref("devtools.netmonitor.features.requestBlocking", true); 3095 3096 // Enable the Application panel 3097 pref("devtools.application.enabled", true); 3098 3099 // The internal Anti tracking debugging panel 3100 pref("devtools.anti-tracking.enabled", false); 3101 3102 // Enable the custom formatters feature 3103 // This preference represents the user's choice to enable the custom formatters feature. 3104 // While the preference above will be removed once the feature is stable, this one is menat to stay. 3105 pref("devtools.custom-formatters.enabled", false); 3106 3107 // The default Network Monitor UI settings 3108 pref("devtools.netmonitor.panes-network-details-width", 550); 3109 pref("devtools.netmonitor.panes-network-details-height", 450); 3110 pref("devtools.netmonitor.panes-search-width", 550); 3111 pref("devtools.netmonitor.panes-search-height", 450); 3112 pref("devtools.netmonitor.filters", "[\"all\"]"); 3113 pref("devtools.netmonitor.requestfilter", ""); 3114 pref("devtools.netmonitor.visibleColumns", 3115 "[\"override\",\"status\",\"method\",\"domain\",\"file\",\"initiator\",\"type\",\"transferred\",\"contentSize\",\"waterfall\"]" 3116 ); 3117 pref("devtools.netmonitor.columnsData", 3118 '[{"name":"override","minWidth":20,"width":2}, {"name":"status","minWidth":30,"width":5}, {"name":"method","minWidth":30,"width":5}, {"name":"domain","minWidth":30,"width":10}, {"name":"file","minWidth":30,"width":25}, {"name":"url","minWidth":30,"width":25},{"name":"initiator","minWidth":30,"width":10},{"name":"type","minWidth":30,"width":5},{"name":"transferred","minWidth":30,"width":10},{"name":"contentSize","minWidth":30,"width":5},{"name":"waterfall","minWidth":150,"width":15}]'); 3119 pref("devtools.netmonitor.msg.payload-preview-height", 128); 3120 pref("devtools.netmonitor.msg.visibleColumns", 3121 '["data", "time"]' 3122 ); 3123 pref("devtools.netmonitor.msg.displayed-messages.limit", 500); 3124 3125 pref("devtools.netmonitor.ui.default-raw-response", false); 3126 3127 // Save request/response bodies yes/no. 3128 pref("devtools.netmonitor.saveRequestAndResponseBodies", true); 3129 3130 // The default Network monitor HAR export setting 3131 pref("devtools.netmonitor.har.defaultLogDir", ""); 3132 pref("devtools.netmonitor.har.defaultFileName", "%hostname_Archive [%date]"); 3133 pref("devtools.netmonitor.har.jsonp", false); 3134 pref("devtools.netmonitor.har.jsonpCallback", ""); 3135 pref("devtools.netmonitor.har.includeResponseBodies", true); 3136 pref("devtools.netmonitor.har.compress", false); 3137 pref("devtools.netmonitor.har.forceExport", false); 3138 pref("devtools.netmonitor.har.pageLoadedTimeout", 1500); 3139 pref("devtools.netmonitor.har.enableAutoExportToFile", false); 3140 pref("devtools.netmonitor.har.multiple-pages", false); 3141 3142 // netmonitor audit 3143 pref("devtools.netmonitor.audits.slow", 500); 3144 3145 // Enable the new Edit and Resend panel 3146 pref("devtools.netmonitor.features.newEditAndResend", true); 3147 3148 pref("devtools.netmonitor.customRequest", '{}'); 3149 3150 // Enable Netmonitor Web Transport Support 3151 pref("devtools.netmonitor.features.webtransport", false); 3152 3153 // Enable the Storage Inspector 3154 pref("devtools.storage.enabled", true); 3155 3156 // Enable the Style Editor. 3157 pref("devtools.styleeditor.enabled", true); 3158 pref("devtools.styleeditor.autocompletion-enabled", true); 3159 pref("devtools.styleeditor.showAtRulesSidebar", true); 3160 pref("devtools.styleeditor.atRulesSidebarWidth", 238); 3161 pref("devtools.styleeditor.navSidebarWidth", 245); 3162 pref("devtools.styleeditor.transitions", true); 3163 3164 // Screenshot Option Settings. 3165 pref("devtools.screenshot.clipboard.enabled", false); 3166 pref("devtools.screenshot.audio.enabled", true); 3167 3168 // Make sure the DOM panel is hidden by default 3169 pref("devtools.dom.enabled", false); 3170 3171 // Enable the Accessibility panel. 3172 pref("devtools.accessibility.enabled", true); 3173 3174 // Web console filters 3175 pref("devtools.webconsole.filter.error", true); 3176 pref("devtools.webconsole.filter.warn", true); 3177 pref("devtools.webconsole.filter.info", true); 3178 pref("devtools.webconsole.filter.log", true); 3179 pref("devtools.webconsole.filter.debug", true); 3180 pref("devtools.webconsole.filter.css", false); 3181 pref("devtools.webconsole.filter.net", false); 3182 pref("devtools.webconsole.filter.netxhr", false); 3183 3184 // Webconsole autocomplete preference 3185 pref("devtools.webconsole.input.autocomplete",true); 3186 3187 // Set to true to eagerly show the results of webconsole terminal evaluations 3188 // when they don't have side effects. 3189 pref("devtools.webconsole.input.eagerEvaluation", true); 3190 3191 // Browser console filters 3192 pref("devtools.browserconsole.filter.error", true); 3193 pref("devtools.browserconsole.filter.warn", true); 3194 pref("devtools.browserconsole.filter.info", true); 3195 pref("devtools.browserconsole.filter.log", true); 3196 pref("devtools.browserconsole.filter.debug", true); 3197 pref("devtools.browserconsole.filter.css", false); 3198 pref("devtools.browserconsole.filter.net", false); 3199 pref("devtools.browserconsole.filter.netxhr", false); 3200 3201 // Max number of inputs to store in web console history. 3202 pref("devtools.webconsole.inputHistoryCount", 300); 3203 3204 // Persistent logging: |true| if you want the relevant tool to keep all of the 3205 // logged messages after reloading the page, |false| if you want the output to 3206 // be cleared each time page navigation happens. 3207 pref("devtools.webconsole.persistlog", false); 3208 pref("devtools.netmonitor.persistlog", false); 3209 3210 // Web Console timestamp: |true| if you want the logs and instructions 3211 // in the Web Console to display a timestamp, or |false| to not display 3212 // any timestamps. 3213 pref("devtools.webconsole.timestampMessages", false); 3214 3215 // Enable the webconsole sidebar toggle in Nightly builds. 3216 #if defined(NIGHTLY_BUILD) 3217 pref("devtools.webconsole.sidebarToggle", true); 3218 #else 3219 pref("devtools.webconsole.sidebarToggle", false); 3220 #endif 3221 3222 // Saved editor mode state in the console. 3223 pref("devtools.webconsole.input.editor", false); 3224 pref("devtools.browserconsole.input.editor", false); 3225 3226 // Editor width for webconsole and browserconsole. 3227 pref("devtools.webconsole.input.editorWidth", 0); 3228 pref("devtools.browserconsole.input.editorWidth", 0); 3229 3230 // Display an onboarding UI for the Editor mode. 3231 pref("devtools.webconsole.input.editorOnboarding", true); 3232 3233 // Enable grouping/repeating similar messages in the console, true by default 3234 pref("devtools.webconsole.groupSimilarMessages", true); 3235 3236 // Enable network monitoring the browser toolbox console/browser console. 3237 pref("devtools.browserconsole.enableNetworkMonitoring", false); 3238 3239 // Enable client-side mapping service for source maps 3240 pref("devtools.source-map.client-service.enabled", true); 3241 3242 // The number of lines that are displayed in the web console. 3243 pref("devtools.hud.loglimit", 10000); 3244 3245 // The developer tools editor configuration: 3246 // - tabsize: how many spaces to use when a Tab character is displayed. 3247 // - expandtab: expand Tab characters to spaces. 3248 // - keymap: which keymap to use (can be 'default', 'emacs' or 'vim') 3249 // - autoclosebrackets: whether to permit automatic bracket/quote closing. 3250 // - detectindentation: whether to detect the indentation from the file 3251 // - enableCodeFolding: Whether to enable code folding or not. 3252 pref("devtools.editor.tabsize", 2); 3253 pref("devtools.editor.expandtab", true); 3254 pref("devtools.editor.keymap", "default"); 3255 pref("devtools.editor.autoclosebrackets", true); 3256 pref("devtools.editor.detectindentation", true); 3257 pref("devtools.editor.enableCodeFolding", true); 3258 pref("devtools.editor.autocomplete", true); 3259 3260 // The angle of the viewport. 3261 pref("devtools.responsive.viewport.angle", 0); 3262 // The width of the viewport. 3263 pref("devtools.responsive.viewport.width", 320); 3264 // The height of the viewport. 3265 pref("devtools.responsive.viewport.height", 480); 3266 // The pixel ratio of the viewport. 3267 pref("devtools.responsive.viewport.pixelRatio", 0); 3268 // Whether or not the viewports are left aligned. 3269 pref("devtools.responsive.leftAlignViewport.enabled", false); 3270 // Whether to reload when touch simulation is toggled 3271 pref("devtools.responsive.reloadConditions.touchSimulation", false); 3272 // Whether to reload when user agent is changed 3273 pref("devtools.responsive.reloadConditions.userAgent", false); 3274 // Whether to show the notification about reloading to apply emulation 3275 pref("devtools.responsive.reloadNotification.enabled", true); 3276 // Whether or not touch simulation is enabled. 3277 pref("devtools.responsive.touchSimulation.enabled", false); 3278 // The user agent of the viewport. 3279 pref("devtools.responsive.userAgent", ""); 3280 // Show the custom user agent input by default 3281 pref("devtools.responsive.showUserAgentInput", true); 3282 // Show the Dynamic Toolbar dummy by default 3283 pref("devtools.responsive.dynamicToolbar.enabled", false); 3284 3285 // Show tab debug targets for This Firefox (on by default for local builds). 3286 #ifdef MOZILLA_OFFICIAL 3287 pref("devtools.aboutdebugging.local-tab-debugging", false); 3288 #else 3289 pref("devtools.aboutdebugging.local-tab-debugging", true); 3290 #endif 3291 3292 // Show process debug targets. 3293 pref("devtools.aboutdebugging.process-debugging", true); 3294 // Stringified array of network locations that users can connect to. 3295 pref("devtools.aboutdebugging.network-locations", "[]"); 3296 // Debug target pane collapse/expand settings. 3297 pref("devtools.aboutdebugging.collapsibilities.installedExtension", false); 3298 pref("devtools.aboutdebugging.collapsibilities.otherWorker", false); 3299 pref("devtools.aboutdebugging.collapsibilities.serviceWorker", false); 3300 pref("devtools.aboutdebugging.collapsibilities.sharedWorker", false); 3301 pref("devtools.aboutdebugging.collapsibilities.tab", false); 3302 pref("devtools.aboutdebugging.collapsibilities.temporaryExtension", false); 3303 3304 // about:debugging: only show system and hidden extensions in local builds by 3305 // default. 3306 #ifdef MOZILLA_OFFICIAL 3307 pref("devtools.aboutdebugging.showHiddenAddons", false); 3308 #else 3309 pref("devtools.aboutdebugging.showHiddenAddons", true); 3310 #endif 3311 3312 // Add some extra logging to the console, for debugging 3313 pref("devtools.aboutdebugging.showReduxActionsInConsole", false); 3314 3315 // Map top-level await expressions in the console 3316 pref("devtools.debugger.features.map-await-expression", true); 3317 3318 // This relies on javascript.options.asyncstack as well or it has no effect. 3319 pref("devtools.debugger.features.async-captured-stacks", true); 3320 pref("devtools.debugger.features.async-live-stacks", false); 3321 3322 // When debugging a website, this pref controls if extension content scripts applied 3323 // to the currently debugged page should be shown in the Debugger Source Tree 3324 pref("devtools.debugger.show-content-scripts", false); 3325 3326 pref("devtools.debugger.hide-ignored-sources", false); 3327 3328 // Disable autohide for DevTools popups and tooltips. 3329 // This is currently not exposed by any UI to avoid making 3330 // about:devtools-toolbox tabs unusable by mistake. 3331 pref("devtools.popup.disable_autohide", false); 3332 3333 // Add support for high contrast mode 3334 #if defined(NIGHTLY_BUILD) 3335 pref("devtools.high-contrast-mode-support", true); 3336 #else 3337 pref("devtools.high-contrast-mode-support", false); 3338 #endif 3339 3340 // FirstStartup service time-out in ms 3341 pref("first-startup.timeout", 30000); 3342 pref("first-startup.category-tasks-enabled", true); 3343 3344 // Enable the default browser agent. 3345 // The agent still runs as scheduled if this pref is disabled, 3346 // but it exits immediately before taking any action. 3347 #ifdef XP_WIN 3348 pref("default-browser-agent.enabled", true); 3349 #endif 3350 3351 // Test Prefs that do nothing for testing 3352 #if defined(EARLY_BETA_OR_EARLIER) 3353 pref("app.normandy.test-prefs.bool", false); 3354 pref("app.normandy.test-prefs.integer", 0); 3355 pref("app.normandy.test-prefs.string", ""); 3356 #endif 3357 3358 // Shows 'View Image Info' item in the image context menu 3359 #ifdef MOZ_DEV_EDITION 3360 pref("browser.menu.showViewImageInfo", true); 3361 #else 3362 pref("browser.menu.showViewImageInfo", false); 3363 #endif 3364 3365 // Handing URLs to external apps via the "Share URL" menu item could allow a proxy bypass 3366 #ifdef MOZ_PROXY_BYPASS_PROTECTION 3367 pref("browser.menu.share_url.allow", false); 3368 #endif 3369 3370 // Mozilla-controlled domains that are allowed to use non-standard 3371 // context properties for SVG images for use in the browser UI. Please 3372 // keep this list short. This preference (and SVG `context-` keyword support) 3373 // are expected to go away once a standardized alternative becomes 3374 // available. 3375 pref("svg.context-properties.content.allowed-domains", "profile.accounts.firefox.com,profile.stage.mozaws.net"); 3376 3377 // Preference that allows individual users to disable Firefox Translations. 3378 #ifdef NIGHTLY_BUILD 3379 pref("extensions.translations.disabled", true); 3380 #endif 3381 3382 #if defined(XP_MACOSX) || defined(XP_WIN) 3383 pref("browser.firefoxbridge.enabled", false); 3384 pref("browser.firefoxbridge.extensionOrigins", 3385 "chrome-extension://gkcbmfjnnjoambnfmihmnkneakghogca/" 3386 ); 3387 #endif 3388 3389 // Turn on interaction measurements 3390 pref("browser.places.interactions.enabled", true); 3391 3392 // If the user has seen the Firefox View feature tour this value reflects 3393 // the id of the last screen they saw and whether they completed the tour 3394 pref("browser.firefox-view.feature-tour", "{\"screen\":\"FIREFOX_VIEW_SPOTLIGHT\",\"complete\":false}"); 3395 // Number of times the user visited about:firefoxview 3396 pref("browser.firefox-view.view-count", 0); 3397 // Maximum number of rows to show on the "History" page (0 = unlimited). 3398 pref("browser.firefox-view.max-history-rows", 0); 3399 // Enables virtual list functionality in Firefox View. 3400 pref("browser.firefox-view.virtual-list.enabled", true); 3401 3402 // If the user has seen the pdf.js feature tour this value reflects the tour 3403 // message id, the id of the last screen they saw, and whether they completed the tour 3404 pref("browser.pdfjs.feature-tour", "{\"screen\":\"\",\"complete\":false}"); 3405 3406 3407 pref("cookiebanners.ui.desktop.enabled", false); 3408 3409 // When true, shows a one-time feature callout for cookie banner blocking. 3410 pref("cookiebanners.ui.desktop.showCallout", false); 3411 3412 // Controls which variant of the cookie banner CFR the user is presented with. 3413 pref("cookiebanners.ui.desktop.cfrVariant", 0); 3414 3415 // Parameters for the swipe-to-navigation icon. 3416 // 3417 // `navigation-icon-{start|end}-position` is the start or the end position of 3418 // the icon movement in response to the user's swipe gesture. `0` means the icon 3419 // positions at the left edge of the browser window. For example on Mac, when 3420 // the user started swipe gesture left to right, the icon appears at a point 3421 // where left side 20px of the icon is outside of the browser window's view. 3422 // 3423 // `navigation-icon-{min|max}-radius` is the minimum or the maximum radius of 3424 // the icon's outer circle size in response to the user's swipe gesture. `-1` 3425 // means that the circle radius never changes. 3426 #ifdef XP_MACOSX 3427 pref("browser.swipe.navigation-icon-start-position", -20); 3428 pref("browser.swipe.navigation-icon-end-position", 0); 3429 pref("browser.swipe.navigation-icon-min-radius", -1); 3430 pref("browser.swipe.navigation-icon-max-radius", -1); 3431 #else 3432 pref("browser.swipe.navigation-icon-start-position", -40); 3433 pref("browser.swipe.navigation-icon-end-position", 60); 3434 pref("browser.swipe.navigation-icon-min-radius", 12); 3435 pref("browser.swipe.navigation-icon-max-radius", 20); 3436 #endif 3437 3438 // Trigger FOG's Artifact Build support on artifact builds. 3439 #ifdef MOZ_ARTIFACT_BUILDS 3440 pref("telemetry.fog.artifact_build", true); 3441 #endif 3442 3443 #ifdef NIGHTLY_BUILD 3444 pref("dom.security.credentialmanagement.identity.enabled", true); 3445 #endif 3446 3447 pref("ui.new-webcompat-reporter.enabled", true); 3448 3449 #if defined(EARLY_BETA_OR_EARLIER) 3450 pref("ui.new-webcompat-reporter.send-more-info-link", true); 3451 #else 3452 pref("ui.new-webcompat-reporter.send-more-info-link", false); 3453 #endif 3454 3455 # 0 = disabled, 1 = reason optional, 2 = reason required. 3456 pref("ui.new-webcompat-reporter.reason-dropdown", 2); 3457 3458 pref("ui.new-webcompat-reporter.reason-dropdown.randomized", true); 3459 3460 // Reset Private Browsing Session feature 3461 #if defined(NIGHTLY_BUILD) 3462 pref("browser.privatebrowsing.resetPBM.enabled", true); 3463 #else 3464 pref("browser.privatebrowsing.resetPBM.enabled", false); 3465 #endif 3466 // Whether the reset private browsing panel should ask for confirmation before 3467 // performing the clear action. 3468 pref("browser.privatebrowsing.resetPBM.showConfirmationDialog", true); 3469 3470 // the preferences related to the Nimbus experiment, to activate and deactivate 3471 // the the entire rollout (see: bug 1864216 - two prompts, 1877500 - set two in one prompt) 3472 pref("browser.mailto.dualPrompt", false); 3473 // Display a reminder prompt for known webmailers if the prompt was not 3474 // dismissed before the next visit of that webmailer. 3475 pref("browser.mailto.dualPrompt.onLocationChange", false); 3476 // configures after how many minutes is the prompt shown again after it was 3477 // dismissed. This differs from clicking the 'x' button and 'not now' (forever=0) 3478 pref("browser.mailto.dualPrompt.dismissNotNowMinutes", 525600); // one year 3479 pref("browser.mailto.dualPrompt.dismissXClickMinutes", 1440); // one day 3480 3481 // Pref to initialize the BackupService soon after startup. 3482 pref("browser.backup.enabled", true); 3483 // Pref to control whether scheduled backups run or not. 3484 pref("browser.backup.scheduled.enabled", false); 3485 3486 // Prefs to control visibility and usability of the create backup and restore from backup features. 3487 #ifdef XP_WIN 3488 pref("browser.backup.archive.enabled", true); 3489 pref("browser.backup.restore.enabled", true); 3490 #else 3491 pref("browser.backup.archive.enabled", false); 3492 pref("browser.backup.restore.enabled", false); 3493 #endif 3494 3495 // The number of SQLite database pages to backup per step. 3496 pref("browser.backup.sqlite.pages_per_step", 50); 3497 // The delay between SQLite database backup steps in milliseconds. 3498 pref("browser.backup.sqlite.step_delay_ms", 50); 3499 pref("browser.backup.scheduled.idle-threshold-seconds", 15); 3500 pref("browser.backup.scheduled.minimum-time-between-backups-seconds", 86400); 3501 pref("browser.backup.template.fallback-download.release", "https://www.firefox.com/?utm_medium=firefox-desktop&utm_source=html-backup"); 3502 pref("browser.backup.template.fallback-download.beta", "https://www.firefox.com/channel/desktop/?utm_medium=firefox-desktop&utm_source=html-backup"); 3503 pref("browser.backup.template.fallback-download.aurora", "https://www.firefox.com/channel/desktop/?utm_medium=firefox-desktop&utm_source=html-backup"); 3504 pref("browser.backup.template.fallback-download.nightly", "https://www.firefox.com/channel/desktop/?utm_medium=firefox-desktop&utm_source=html-backup"); 3505 pref("browser.backup.template.fallback-download.esr", " https://www.firefox.com/download/all/desktop-esr/?utm_medium=firefox-desktop&utm_source=html-backup"); 3506 pref("browser.backup.errorCode", 0); 3507 pref("browser.backup.backup-retry-limit", 10); 3508 pref("browser.backup.disabled-on-idle-backup-retry", false); 3509 // Limit of number of unremovable staging directories and archives that are 3510 // permitted before backup will stop making additional backups. Unremovable 3511 // staging directories/archives are ones that the file system prevents us from 3512 // removing for any reason. 3513 pref("browser.backup.max-num-unremovable-staging-items", 5); 3514 pref("browser.backup.scheduled.user-disabled", false); 3515 // How many milliseconds to wait for tab state to flush before continuing the 3516 // backup process. 3517 pref("browser.backup.tab-flush-timeout", 5000); 3518 3519 #ifdef NIGHTLY_BUILD 3520 // Pref to enable the new profiles 3521 pref("browser.profiles.enabled", true); 3522 #else 3523 pref("browser.profiles.enabled", false); 3524 #endif 3525 pref("browser.profiles.profile-name.updated", false); 3526 // Whether to allow the user to merge profile data 3527 pref("browser.profiles.sync.allow-danger-merge", false); 3528 // Allow Firefox Refresh even if profile is ineligible, see Bug 1928138 3529 pref("browser.profiles.forceEnableRefresh", false); 3530 3531 pref("startup.homepage_override_url_nimbus", ""); 3532 // These prefs are referring to the Fx update version 3533 pref("startup.homepage_override_nimbus_maxVersion", ""); 3534 pref("startup.homepage_override_nimbus_minVersion", ""); 3535 // Pref to disable all What's New pages 3536 pref("startup.homepage_override_nimbus_disable_wnp", false); 3537 3538 // Pref to enable the content relevancy feature. 3539 pref("toolkit.contentRelevancy.enabled", false); 3540 // Pref to enable the ingestion through the Rust component. 3541 pref("toolkit.contentRelevancy.ingestEnabled", false); 3542 // Pref to enable extra logging for the content relevancy feature 3543 pref("toolkit.contentRelevancy.log", false); 3544 3545 // The number of days after which to rotate the context ID. 0 means to disable 3546 // rotation altogether. 3547 pref("browser.contextual-services.contextId.rotation-in-days", 3); 3548 pref("browser.contextual-services.contextId.rust-component.enabled", true); 3549 3550 // Pref to enable the IP protection feature 3551 pref("browser.ipProtection.enabled", false); 3552 // Pref to track whether the user has opted out of using IP Protection 3553 pref("browser.ipProtection.optedOut", false); 3554 // Pref to enable the autoStart feature 3555 pref("browser.ipProtection.features.autoStart", false); 3556 // Prefs to track the user turning on autostart preference 3557 pref("browser.ipProtection.autoStartEnabled", false); 3558 pref("browser.ipProtection.autoStartPrivateEnabled", false); 3559 // Pref to track whether the user has turned IP protection on 3560 pref("browser.ipProtection.userEnabled", false); 3561 // Pref to track which experiment version the user is enrolled in 3562 pref("browser.ipProtection.variant", ""); 3563 // Pref to track number of times the VPN panel is opened 3564 pref("browser.ipProtection.panelOpenCount", 0); 3565 // Pref to enable support for site exceptions 3566 pref("browser.ipProtection.features.siteExceptions", false); 3567 pref("browser.ipProtection.log", false); 3568 pref("browser.ipProtection.guardian.endpoint", "https://vpn.mozilla.org/"); 3569 pref("browser.ipProtection.added", false); 3570 3571 // Pref to enable aboug:glean redesign. 3572 pref("about.glean.redesign.enabled", false); 3573 3574 // Forward Rust component logs to the JS console (comma separate list of crate names) 3575 // The empty string defaults to forwarding error-level messages. 3576 // If your crate needs to log more by default, for example persistent logging to a file like Sync, 3577 // contact the application-services developers and we can work with you to implement this. 3578 pref("toolkit.rust-components.logging.crates", ""); 3579 3580 // Log level for the internal logs in `AppServicesTracing.sys.mjs` 3581 pref("toolkit.rust-components.logging.internal-level", "Warn"); 3582 3583 // Settings Redesign 2025 prefs 3584 pref("browser.settings-redesign.enabled", false); 3585 3586 // A preference that will be locked to reflect whether this build has support 3587 // for XDG Config Home handling. Mostly used to be able to keep tests around 3588 // in case of a backout of the feature 3589 #if defined(MOZ_WIDGET_GTK) 3590 pref("widget.support-xdg-config", true, locked); 3591 #endif