Backed out changeset e95ff11012c5 (bug 1910360) as requested for causing Android...
[gecko.git] / browser / app / profile / firefox.js
blob1c3553804ddbaedd9084809d028febae25909c54
1 #filter dumbComments emptyLines substitution
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/.
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).
12 // Please indent all prefs defined within #ifdef/#ifndef conditions. This
13 // improves readability, particular for conditional blocks that exceed a single
14 // screen.
16 #ifdef XP_UNIX
17   #ifndef XP_MACOSX
18     #define UNIX_BUT_NOT_MAC
19   #endif
20 #endif
22 pref("browser.hiddenWindowChromeURL", "chrome://browser/content/hiddenWindowMac.xhtml");
24 // Set add-ons abuse report related prefs specific to Firefox Desktop.
25 pref("extensions.abuseReport.enabled", true);
27 // Enables some extra Extension System Logging (can reduce performance)
28 pref("extensions.logging.enabled", false);
30 // Disables strict compatibility, making addons compatible-by-default.
31 pref("extensions.strictCompatibility", false);
33 pref("extensions.webextOptionalPermissionPrompts", true);
34 // If enabled, install origin permission verification happens after addons are downloaded.
35 pref("extensions.postDownloadThirdPartyPrompt", true);
37 // Preferences for AMO integration
38 pref("extensions.getAddons.cache.enabled", true);
39 pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/api/v4/addons/search/?guid=%IDS%&lang=%LOCALE%");
40 pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION%");
41 pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/firefox/");
42 pref("extensions.getAddons.langpacks.url", "https://services.addons.mozilla.org/api/v4/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%");
43 pref("extensions.getAddons.discovery.api_url", "https://services.addons.mozilla.org/api/v4/discovery/?lang=%LOCALE%&edition=%DISTRIBUTION%");
44 pref("extensions.getAddons.browserMappings.url", "https://services.addons.mozilla.org/api/v5/addons/browser-mappings/?browser=%BROWSER%");
46 // The URL for the privacy policy related to recommended extensions.
47 pref("extensions.recommendations.privacyPolicyUrl", "https://www.mozilla.org/privacy/firefox/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_content=privacy-policy-link#addons");
48 // The URL for Firefox Color, recommended on the theme page in about:addons.
49 pref("extensions.recommendations.themeRecommendationUrl", "https://color.firefox.com/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_content=theme-footer-link");
51 pref("extensions.update.autoUpdateDefault", true);
53 // Check AUS for system add-on updates.
54 pref("extensions.systemAddon.update.url", "https://aus5.mozilla.org/update/3/SystemAddons/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml");
55 pref("extensions.systemAddon.update.enabled", true);
57 // Disable add-ons that are not installed by the user in all scopes by default.
58 // See the SCOPE constants in AddonManager.sys.mjs for values to use here.
59 pref("extensions.autoDisableScopes", 15);
60 // Scopes to scan for changes at startup.
61 pref("extensions.startupScanScopes", 0);
63 pref("extensions.geckoProfiler.acceptedExtensionIds", "geckoprofiler@mozilla.com,quantum-foxfooding@mozilla.com,raptor@mozilla.org");
66 pref("extensions.webextensions.remote", true);
68 // Require signed add-ons by default
69 pref("extensions.langpacks.signatures.required", true);
70 pref("xpinstall.signatures.required", true);
72 // Dictionary download preference
73 pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/language-tools/");
75 // At startup, should we check to see if the installation
76 // date is older than some threshold
77 pref("app.update.checkInstallTime", true);
79 // The number of days a binary is permitted to be old without checking is defined in
80 // firefox-branding.js (app.update.checkInstallTime.days)
82 // The minimum delay in seconds for the timer to fire between the notification
83 // of each consumer of the timer manager.
84 // minimum=30 seconds, default=120 seconds, and maximum=300 seconds
85 pref("app.update.timerMinimumDelay", 120);
87 // The minimum delay in milliseconds for the first firing after startup of the timer
88 // to notify consumers of the timer manager.
89 // minimum=10 seconds, default=30 seconds, and maximum=120 seconds
90 pref("app.update.timerFirstInterval", 30000);
92 // App-specific update preferences
94 // The interval to check for updates (app.update.interval) is defined in
95 // firefox-branding.js
97 // Enables some extra Application Update Logging (can reduce performance)
98 pref("app.update.log", false);
99 // Causes Application Update Logging to be sent to a file in the profile
100 // directory. This preference is automatically disabled on application start to
101 // prevent it from being left on accidentally. Turning this pref on enables
102 // logging, even if app.update.log is false.
103 pref("app.update.log.file", false);
105 // The number of general background check failures to allow before notifying the
106 // user of the failure. User initiated update checks always notify the user of
107 // the failure.
108 pref("app.update.backgroundMaxErrors", 10);
110 // How many times we should let downloads fail before prompting the user to
111 // download a fresh installer.
112 pref("app.update.download.maxAttempts", 2);
114 // How many times we should let an elevation prompt fail before prompting the user to
115 // download a fresh installer.
116 pref("app.update.elevate.maxAttempts", 2);
118 #ifdef NIGHTLY_BUILD
119   // Whether to delay popup notifications when an update is available and
120   // suppress them when an update is installed and waiting for user to restart.
121   // If set to true, these notifications will immediately be shown as banners in
122   // the app menu and as badges on the app menu button. Update available
123   // notifications will not create popup prompts until a week has passed without
124   // the user installing the update. Update restart notifications will not
125   // create popup prompts at all. This doesn't affect update notifications
126   // triggered by errors/failures or manual install prompts.
127   pref("app.update.suppressPrompts", false);
128 #endif
130 // If set to true, a message will be displayed in the hamburger menu while
131 // an update is being downloaded.
132 pref("app.update.notifyDuringDownload", false);
134 // If set to true, the Update Service will automatically download updates if the
135 // user can apply updates. This pref is no longer used on Windows, except as the
136 // default value to migrate to the new location that this data is now stored
137 // (which is in a file in the update directory). Because of this, this pref
138 // should no longer be used directly. Instead, getAppUpdateAutoEnabled and
139 // getAppUpdateAutoEnabled from UpdateUtils.sys.mjs should be used.
140 #ifndef XP_WIN
141   pref("app.update.auto", true);
142 #endif
144 // If set to true, the Update Service will apply updates in the background
145 // when it finishes downloading them.
146 pref("app.update.staging.enabled", true);
148 // Update service URL:
149 // app.update.url was removed in Bug 1568994
150 // app.update.url.manual is in branding section
151 // app.update.url.details is in branding section
153 // app.update.badgeWaitTime is in branding section
154 // app.update.interval is in branding section
155 // app.update.promptWaitTime is in branding section
157 // Whether or not to attempt using the service for updates.
158 #ifdef MOZ_MAINTENANCE_SERVICE
159   pref("app.update.service.enabled", true);
160 #endif
162 #ifdef MOZ_BITS_DOWNLOAD
163   // If set to true, the Update Service will attempt to use Windows BITS to
164   // download updates and will fallback to downloading internally if that fails.
165   pref("app.update.BITS.enabled", true);
166 #endif
168 pref("app.update.langpack.enabled", true);
170 #if defined(MOZ_UPDATE_AGENT)
171   pref("app.update.background.loglevel", "error");
172   pref("app.update.background.timeoutSec", 600);
173   // By default, check for updates when the browser is not running every 7 hours.
174   pref("app.update.background.interval", 25200);
175   // By default, snapshot Firefox Messaging System targeting for use by the
176   // background update task every 60 minutes.
177   pref("app.update.background.messaging.targeting.snapshot.intervalSec", 3600);
178   // For historical reasons, the background update process requires the Mozilla
179   // Maintenance Service to be available and enabled via the service registry
180   // key.  When this value is `true`, allow the background update process to
181   // update unelevated installations (that are writeable, etc).
182   //
183   // N.b. This feature impacts the `applications: firefox_desktop` Nimbus
184   // application ID (and not the `firefox_desktop_background_task` application
185   // ID).  However, the pref will be automatically mirrored to the background
186   // update task profile. This means that experiments and enrollment impact the
187   // Firefox Desktop browsing profile that _schedules_ the background update
188   // task, and then the background update task collects telemetry in accordance
189   // with the mirrored pref.
190   pref("app.update.background.allowUpdatesForUnelevatedInstallations", false);
191 #endif
193 #ifdef XP_MACOSX
194   // If set to true, Firefox will automatically restart if it is left running
195   // with no browser windows open.
196   pref("app.update.noWindowAutoRestart.enabled", true);
197   // How long to wait after all browser windows are closed before restarting,
198   // in milliseconds. 5 min = 300000 ms
199   pref("app.update.noWindowAutoRestart.delayMs", 300000);
200 #endif
202 #if defined(MOZ_BACKGROUNDTASKS)
203   // The amount of time, in seconds, before background tasks time out and exit.
204   // Tasks can override this default (10 minutes).
205   pref("toolkit.backgroundtasks.defaultTimeoutSec", 600);
206 #endif
208 // Symmetric (can be overridden by individual extensions) update preferences.
209 // e.g.
210 //  extensions.{GUID}.update.enabled
211 //  extensions.{GUID}.update.url
212 //  .. etc ..
214 pref("extensions.update.enabled", true);
215 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%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
216 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%&currentAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%");
217 pref("extensions.update.interval", 86400);  // Check for updates to Extensions and
218                                             // Themes every day
220 pref("lightweightThemes.getMoreURL", "https://addons.mozilla.org/%LOCALE%/firefox/themes");
222 #if defined(MOZ_WIDEVINE_EME)
223   pref("browser.eme.ui.enabled", true);
224 #else
225   pref("browser.eme.ui.enabled", false);
226 #endif
228 // UI tour experience.
229 pref("browser.uitour.enabled", true);
230 pref("browser.uitour.loglevel", "Error");
231 pref("browser.uitour.requireSecure", true);
232 pref("browser.uitour.url", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/tour/");
233 // How long to show a Hearbeat survey (two hours, in seconds)
234 pref("browser.uitour.surveyDuration", 7200);
236 pref("keyword.enabled", true);
238 // Fixup whitelists, the urlbar won't try to search for these words, but will
239 // instead consider them valid TLDs. Don't check these directly, use
240 // Services.uriFixup.isDomainKnown() instead.
241 pref("browser.fixup.domainwhitelist.localhost", true);
242 // https://tools.ietf.org/html/rfc2606
243 pref("browser.fixup.domainsuffixwhitelist.test", true);
244 pref("browser.fixup.domainsuffixwhitelist.example", true);
245 pref("browser.fixup.domainsuffixwhitelist.invalid", true);
246 pref("browser.fixup.domainsuffixwhitelist.localhost", true);
247 // https://tools.ietf.org/html/draft-wkumari-dnsop-internal-00
248 pref("browser.fixup.domainsuffixwhitelist.internal", true);
249 // https://tools.ietf.org/html/rfc6762
250 pref("browser.fixup.domainsuffixwhitelist.local", true);
252 // Whether to always go through the DNS server before sending a single word
253 // search string, that may contain a valid host, to a search engine.
254 pref("browser.fixup.dns_first_for_single_words", false);
256 #ifdef UNIX_BUT_NOT_MAC
257   pref("general.autoScroll", false);
258 #else
259   pref("general.autoScroll", true);
260 #endif
262 // UI density of the browser chrome. This mostly affects toolbarbutton
263 // and urlbar spacing. The possible values are 0=normal, 1=compact, 2=touch.
264 pref("browser.uidensity", 0);
265 // Whether Firefox will automatically override the uidensity to "touch"
266 // while the user is in a touch environment (such as Windows tablet mode).
267 pref("browser.touchmode.auto", true);
268 // Whether Firefox will show the Compact Mode UIDensity option.
269 pref("browser.compactmode.show", false);
271 // At startup, check if we're the default browser and prompt user if not.
272 pref("browser.shell.checkDefaultBrowser", true);
273 pref("browser.shell.shortcutFavicons",true);
274 pref("browser.shell.mostRecentDateSetAsDefault", "");
275 pref("browser.shell.skipDefaultBrowserCheckOnFirstRun", true);
276 pref("browser.shell.didSkipDefaultBrowserCheckOnFirstRun", false);
277 pref("browser.shell.defaultBrowserCheckCount", 0);
278 #if defined(XP_WIN)
279 // Attempt to set the default browser on Windows 10 using the UserChoice registry keys,
280 // before falling back to launching the modern Settings dialog.
281 pref("browser.shell.setDefaultBrowserUserChoice", true);
282 // When setting default via UserChoice, temporarily rename an ancestor registry key to
283 // prevent kernel drivers from locking the UserChoice subkeys.
284 pref("browser.shell.setDefaultBrowserUserChoice.regRename", false);
285 // When setting the default browser on Windows 10 using the UserChoice
286 // registry keys, also try to set Firefox as the default PDF handler.
287 pref("browser.shell.setDefaultPDFHandler", true);
288 // When setting Firefox as the default PDF handler (subject to conditions
289 // above), only set Firefox as the default PDF handler when the existing handler
290 // is a known browser, and not when existing handler is another PDF handler such
291 // as Acrobat Reader or Nitro PDF.
292 pref("browser.shell.setDefaultPDFHandler.onlyReplaceBrowsers", true);
293 // Whether or not to we are allowed to prompt the user to set Firefox as their
294 // default PDF handler.
295 pref("browser.shell.checkDefaultPDF", true);
296 // Will be set to `true` if the user indicates that they don't want to be asked
297 // again about Firefox being their default PDF handler any more.
298 pref("browser.shell.checkDefaultPDF.silencedByUser", false);
299 // Whether or not the user should be shown the guidance notifications when
300 // setting Firefox as their default browser.
301 pref("browser.shell.setDefaultGuidanceNotifications", true);
302 #endif
305 // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
306 // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore
307 pref("browser.startup.page",                1);
308 pref("browser.startup.homepage",            "about:home");
309 pref("browser.startup.homepage.abouthome_cache.enabled", true);
310 pref("browser.startup.homepage.abouthome_cache.loglevel", "Warn");
312 // Whether we should skip the homepage when opening the first-run page
313 pref("browser.startup.firstrunSkipsHomepage", true);
315 // Whether we should show the session-restore infobar on startup
316 pref("browser.startup.couldRestoreSession.count", 0);
318 // Show an about:blank window as early as possible for quick startup feedback.
319 // Held to nightly on Linux due to bug 1450626.
320 // Disabled on Mac because the bouncing dock icon already provides feedback.
321 #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK) && defined(NIGHTLY_BUILD)
322   pref("browser.startup.blankWindow", true);
323 #else
324   pref("browser.startup.blankWindow", false);
325 #endif
327 // Show a skeleton UI window prior to loading libxul. Only visible for windows
328 // users as it is not implemented anywhere else.
329 #if defined(XP_WIN)
330 pref("browser.startup.preXulSkeletonUI", true);
332 // Whether the checkbox to enable Windows launch on login is shown
333 pref("browser.startup.windowsLaunchOnLogin.enabled", true);
334 // Whether to show the launch on login infobar notification
335 pref("browser.startup.windowsLaunchOnLogin.disableLaunchOnLoginPrompt", false);
336 #endif
338 // Show an upgrade dialog on major upgrades.
339 pref("browser.startup.upgradeDialog.enabled", false);
341 pref("browser.chrome.site_icons", true);
342 // browser.warnOnQuit == false will override all other possible prompts when quitting or restarting
343 pref("browser.warnOnQuit", true);
345 // Whether to warn when quitting when using the shortcut key.
346 #if defined(XP_WIN)
347   pref("browser.warnOnQuitShortcut", false);
348 #else
349   pref("browser.warnOnQuitShortcut", true);
350 #endif
352 // TODO bug 1702563: Renable fullscreen autohide by default on macOS.
353 #ifdef XP_MACOSX
354   pref("browser.fullscreen.autohide", false);
355 #else
356   pref("browser.fullscreen.autohide", true);
357 #endif
359 pref("browser.overlink-delay", 80);
361 pref("browser.theme.colorway-closet", true);
363 #ifdef XP_MACOSX
364 #ifdef NIGHTLY_BUILD
365 pref("browser.theme.macos.native-theme", true);
366 #else
367 pref("browser.theme.macos.native-theme", false);
368 #endif
369 #endif
371 // Whether expired built-in colorways themes that are active or retained
372 // should be allowed to check for updates and be updated to an AMO hosted
373 // theme with the same id (as part of preparing to remove from mozilla-central
374 // all the expired built-in colorways themes, after existing users have been
375 // migrated to colorways themes hosted on AMO).
376 pref("browser.theme.colorway-migration", true);
378 // Whether using `ctrl` when hitting return/enter in the URL bar
379 // (or clicking 'go') should prefix 'www.' and suffix
380 // browser.fixup.alternate.suffix to the URL bar value prior to
381 // navigating.
382 pref("browser.urlbar.ctrlCanonizesURLs", true);
384 // Whether we announce to screen readers when tab-to-search results are
385 // inserted.
386 pref("browser.urlbar.accessibility.tabToSearch.announceResults", true);
388 // Control autoFill behavior
389 pref("browser.urlbar.autoFill", true);
391 // Whether enabling adaptive history autofill.
392 pref("browser.urlbar.autoFill.adaptiveHistory.enabled", false);
394 // Minimum char length of the user's search string to enable adaptive history
395 // autofill.
396 pref("browser.urlbar.autoFill.adaptiveHistory.minCharsThreshold", 0);
398 // Whether to warm up network connections for autofill or search results.
399 pref("browser.urlbar.speculativeConnect.enabled", true);
401 // Whether bookmarklets should be filtered out of Address Bar matches.
402 // This is enabled for security reasons, when true it is still possible to
403 // search for bookmarklets typing "javascript: " followed by the actual query.
404 pref("browser.urlbar.filter.javascript", true);
406 // Enable a certain level of urlbar logging to the Browser Console. See
407 // ConsoleInstance.webidl.
408 pref("browser.urlbar.loglevel", "Error");
410 // the maximum number of results to show in autocomplete when doing richResults
411 pref("browser.urlbar.maxRichResults", 10);
413 // The maximum number of historical search results to show.
414 pref("browser.urlbar.maxHistoricalSearchSuggestions", 2);
416 // The default behavior for the urlbar can be configured to use any combination
417 // of the match filters with each additional filter adding more results (union).
418 pref("browser.urlbar.suggest.bookmark",             true);
419 pref("browser.urlbar.suggest.clipboard",            true);
420 pref("browser.urlbar.suggest.history",              true);
421 pref("browser.urlbar.suggest.openpage",             true);
422 pref("browser.urlbar.suggest.remotetab",            true);
423 pref("browser.urlbar.suggest.searches",             true);
424 pref("browser.urlbar.suggest.topsites",             true);
425 pref("browser.urlbar.suggest.engines",              true);
426 pref("browser.urlbar.suggest.calculator",           false);
427 pref("browser.urlbar.suggest.recentsearches",       true);
429 pref("browser.urlbar.scotchBonnet.enableOverride", false);
431 // Enable trending suggestions and recent searches.
432 pref("browser.urlbar.trending.featureGate", true);
433 pref("browser.urlbar.trending.requireSearchMode", false);
434 pref("browser.urlbar.recentsearches.featureGate", true);
436 // Enable Rich Entities.
437 pref("browser.urlbar.richSuggestions.featureGate", true);
438 pref("browser.search.param.search_rich_suggestions", "fen");
440 // Feature gate pref for weather suggestions in the urlbar.
441 pref("browser.urlbar.weather.featureGate", false);
443 // Enable clipboard suggestions feature, the pref should be removed once stable.
444 pref("browser.urlbar.clipboard.featureGate", false);
446 // When false, the weather suggestion will not be fetched when a VPN is
447 // detected. When true, it will be fetched anyway.
448 pref("browser.urlbar.weather.ignoreVPN", false);
450 // The minimum prefix length of a weather keyword the user must type to trigger
451 // the suggestion. 0 means the min length should be taken from Nimbus or remote
452 // settings.
453 pref("browser.urlbar.weather.minKeywordLength", 0);
455 // If `browser.urlbar.weather.featureGate` is true, this controls whether
456 // weather suggestions are turned on.
457 pref("browser.urlbar.suggest.weather", true);
459 // If `browser.urlbar.trending.featureGate` is true, this controls whether
460 // trending suggestions are turned on.
461 pref("browser.urlbar.suggest.trending", true);
463 // Whether non-sponsored quick suggest results are shown in the urlbar. This
464 // pref is exposed to the user in the UI, and it's sticky so that its
465 // user-branch value persists regardless of whatever Firefox Suggest scenarios,
466 // with their various default-branch values, the user is enrolled in over time.
467 pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false, sticky);
469 // Whether sponsored quick suggest results are shown in the urlbar. This pref is
470 // exposed to the user in the UI, and it's sticky so that its user-branch value
471 // persists regardless of whatever Firefox Suggest scenarios, with their various
472 // default-branch values, the user is enrolled in over time.
473 pref("browser.urlbar.suggest.quicksuggest.sponsored", false, sticky);
475 // Whether data collection is enabled for quick suggest results in the urlbar.
476 // This pref is exposed to the user in the UI, and it's sticky so that its
477 // user-branch value persists regardless of whatever Firefox Suggest scenarios,
478 // with their various default-branch values, the user is enrolled in over time.
479 pref("browser.urlbar.quicksuggest.dataCollection.enabled", false, sticky);
481 // Whether the Firefox Suggest contextual opt-in result is enabled. If true,
482 // this implicitly disables shouldShowOnboardingDialog.
483 pref("browser.urlbar.quicksuggest.contextualOptIn", false);
485 // Controls which variant of the copy is used for the Firefox Suggest
486 // contextual opt-in result.
487 pref("browser.urlbar.quicksuggest.contextualOptIn.sayHello", false);
489 // Controls whether the Firefox Suggest contextual opt-in result appears at
490 // the top of results or at the bottom, after one-off buttons.
491 pref("browser.urlbar.quicksuggest.contextualOptIn.topPosition", true);
493 // Whether the quick suggest feature in the urlbar is enabled.
494 pref("browser.urlbar.quicksuggest.enabled", false);
496 // Whether Firefox Suggest will use the new Rust backend instead of the original
497 // JS backend.
498 pref("browser.urlbar.quicksuggest.rustEnabled", true);
500 // Whether to show the QuickSuggest onboarding dialog.
501 pref("browser.urlbar.quicksuggest.shouldShowOnboardingDialog", true);
503 // Show QuickSuggest onboarding dialog on the nth browser restarts.
504 pref("browser.urlbar.quicksuggest.showOnboardingDialogAfterNRestarts", 0);
506 // The index of sponsored Firefox Suggest results within the Firefox Suggest
507 // section when "Show search suggestions ahead of browsing history in address bar
508 // results" is checked. When not checked, the index is hardcoded as -1. Negative
509 // indexes are relative to the end of the section.
510 pref("browser.urlbar.quicksuggest.sponsoredIndex", 0);
511 pref("browser.urlbar.quicksuggest.nonSponsoredIndex", -1);
513 // Whether quick suggest results can be shown in position specified in the
514 // suggestions.
515 pref("browser.urlbar.quicksuggest.allowPositionInSuggestions", true);
517 // Whether non-sponsored quick suggest results are subject to impression
518 // frequency caps.
519 pref("browser.urlbar.quicksuggest.impressionCaps.nonSponsoredEnabled", false);
521 // Whether sponsored quick suggest results are subject to impression frequency
522 // caps.
523 pref("browser.urlbar.quicksuggest.impressionCaps.sponsoredEnabled", false);
525 // Whether unit conversion is enabled.
526 #ifdef NIGHTLY_BUILD
527 pref("browser.urlbar.unitConversion.enabled", true);
528 #else
529 pref("browser.urlbar.unitConversion.enabled", false);
530 #endif
532 // Whether to show search suggestions before general results like history and
533 // bookmarks.
534 pref("browser.urlbar.showSearchSuggestionsFirst", true);
536 // As a user privacy measure, don't fetch search suggestions if a pasted string
537 // is longer than this.
538 pref("browser.urlbar.maxCharsForSearchSuggestions", 100);
540 pref("browser.urlbar.trimURLs", true);
542 #ifdef NIGHTLY_BUILD
543 pref("browser.urlbar.trimHttps", true);
544 pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
545 #else
546 pref("browser.urlbar.trimHttps", false);
547 pref("browser.urlbar.untrimOnUserInteraction.featureGate", false);
548 #endif
550 // If changed to true, copying the entire URL from the location bar will put the
551 // human readable (percent-decoded) URL on the clipboard.
552 pref("browser.urlbar.decodeURLsOnCopy", false);
554 // Whether or not to move tabs into the active window when using the "Switch to
555 // Tab" feature of the awesomebar.
556 pref("browser.urlbar.switchTabs.adoptIntoActiveWindow", false);
558 // Controls whether searching for open tabs returns tabs from any container
559 // or only from the current container.
560 pref("browser.urlbar.switchTabs.searchAllContainers", true);
562 // Whether addresses and search results typed into the address bar
563 // should be opened in new tabs by default.
564 pref("browser.urlbar.openintab", false);
566 // Allow the result menu button to be reached with the Tab key.
567 pref("browser.urlbar.resultMenu.keyboardAccessible", true);
569 // If true, we show tail suggestions when available.
570 pref("browser.urlbar.richSuggestions.tail", true);
572 // If true, top sites may include sponsored ones.
573 pref("browser.urlbar.sponsoredTopSites", false);
575 // Global toggle for whether the show search terms feature
576 // can be used at all, and enabled/disabled by the user.
577 #if defined(EARLY_BETA_OR_EARLIER)
578 pref("browser.urlbar.showSearchTerms.featureGate", true);
579 #else
580 pref("browser.urlbar.showSearchTerms.featureGate", false);
581 #endif
583 // If true, show the search term in the Urlbar while on
584 // a default search engine results page.
585 pref("browser.urlbar.showSearchTerms.enabled", true);
587 // Whether the urlbar displays one-offs to filter searches to history,
588 // bookmarks, or tabs.
589 pref("browser.urlbar.shortcuts.bookmarks", true);
590 pref("browser.urlbar.shortcuts.tabs", true);
591 pref("browser.urlbar.shortcuts.history", true);
593 // When we send events to Urlbar extensions, we wait this amount of time in
594 // milliseconds for them to respond before timing out.
595 pref("browser.urlbar.extension.timeout", 400);
597 // Controls when to DNS resolve single word search strings, after they were
598 // searched for. If the string is resolved as a valid host, show a
599 // "Did you mean to go to 'host'" prompt.
600 // 0 - never resolve; 1 - use heuristics (default); 2 - always resolve
601 pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0);
603 // Whether the results panel should be kept open during IME composition.
604 // The default value is false because some IME open a picker panel, and we end
605 // up with two panels on top of each other. Since for now we can't detect that
606 // we leave this choice to the user, hopefully in the future this can be flipped
607 // for everyone.
608 pref("browser.urlbar.keepPanelOpenDuringImeComposition", false);
610 // Whether Firefox Suggest group labels are shown in the urlbar view.
611 pref("browser.urlbar.groupLabels.enabled", true);
613 // The Merino endpoint URL, not including parameters.
614 pref("browser.urlbar.merino.endpointURL", "https://merino.services.mozilla.com/api/v1/suggest");
616 // Timeout for Merino fetches (ms).
617 pref("browser.urlbar.merino.timeoutMs", 200);
619 // Comma-separated list of providers to request from Merino
620 pref("browser.urlbar.merino.providers", "");
622 // Comma-separated list of client variants to send to Merino
623 pref("browser.urlbar.merino.clientVariants", "");
625 // Enable site specific search result.
626 pref("browser.urlbar.contextualSearch.enabled", true);
628 // Feature gate pref for addon suggestions in the urlbar.
629 pref("browser.urlbar.addons.featureGate", true);
631 // If `browser.urlbar.addons.featureGate` is true, this controls whether
632 // addons suggestions are turned on.
633 pref("browser.urlbar.suggest.addons", true);
635 // If `browser.urlbar.mdn.featureGate` is true, this controls whether
636 // mdn suggestions are turned on.
637 pref("browser.urlbar.suggest.mdn", true);
639 // Feature gate pref for Yelp suggestions in the urlbar.
640 pref("browser.urlbar.yelp.featureGate", true);
642 // The minimum prefix length of a Yelp keyword the user must type to trigger the
643 // suggestion. 0 means the min length should be taken from Nimbus.
644 pref("browser.urlbar.yelp.minKeywordLength", 4);
646 // Whether Yelp suggestions should be shown as top picks.
647 pref("browser.urlbar.yelp.priority", false);
649 // If `browser.urlbar.yelp.featureGate` is true, this controls whether
650 // Yelp suggestions are turned on.
651 pref("browser.urlbar.suggest.yelp", true);
653 // Feature gate pref for Fakespot suggestions in the urlbar.
654 pref("browser.urlbar.fakespot.featureGate", false);
656 // The minimum prefix length of a Fakespot keyword the user must type to trigger
657 // the suggestion. 0 means the min length should be taken from Nimbus.
658 pref("browser.urlbar.fakespot.minKeywordLength", 4);
660 // The index of Fakespot results within the Firefox Suggest section. A negative
661 // index is relative to the end of the section.
662 pref("browser.urlbar.fakespot.suggestedIndex", -1);
664 // If `browser.urlbar.fakespot.featureGate` is true, this controls whether
665 // Fakespot suggestions are turned on.
666 pref("browser.urlbar.suggest.fakespot", true);
668 // The minimum prefix length of addons keyword the user must type to trigger
669 // the suggestion. 0 means the min length should be taken from Nimbus.
670 pref("browser.urlbar.addons.minKeywordLength", 0);
672 // Feature gate pref for Pocket suggestions in the urlbar.
673 pref("browser.urlbar.pocket.featureGate", false);
675 // If `browser.urlbar.pocket.featureGate` is true, this controls whether Pocket
676 // suggestions are turned on.
677 pref("browser.urlbar.suggest.pocket", true);
679 pref("browser.altClickSave", false);
681 // Enable logging downloads operations to the Console.
682 pref("browser.download.loglevel", "Error");
684 // Number of milliseconds to wait for the http headers (and thus
685 // the Content-Disposition filename) before giving up and falling back to
686 // picking a filename without that info in hand so that the user sees some
687 // feedback from their action.
688 pref("browser.download.saveLinkAsFilenameTimeout", 4000);
690 pref("browser.download.useDownloadDir", true);
691 pref("browser.download.folderList", 1);
692 pref("browser.download.manager.addToRecentDocs", true);
693 pref("browser.download.manager.resumeOnWakeDelay", 10000);
695 // This records whether or not the panel has been shown at least once.
696 pref("browser.download.panel.shown", false);
698 // This records whether or not to show the 'Open in system viewer' context menu item when appropriate
699 pref("browser.download.openInSystemViewerContextMenuItem", true);
701 // This records whether or not to show the 'Always open...' context menu item when appropriate
702 pref("browser.download.alwaysOpenInSystemViewerContextMenuItem", true);
704 // Open downloaded file types internally for the given types.
705 // This is a comma-separated list, the empty string ("") means no types are
706 // viewable internally.
707 pref("browser.download.viewableInternally.enabledTypes", "xml,svg,webp,avif,jxl");
710 // This controls whether the button is automatically shown/hidden depending
711 // on whether there are downloads to show.
712 pref("browser.download.autohideButton", true);
714 // Controls whether to open the downloads panel every time a download begins.
715 // The first download ever run in a new profile will still open the panel.
716 pref("browser.download.alwaysOpenPanel", true);
718 // Determines the behavior of the "Delete" item in the downloads context menu.
719 // Valid values are 0, 1, and 2.
720 //   0 - Don't remove the download from session list or history.
721 //   1 - Remove the download from session list, but not history.
722 //   2 - Remove the download from both session list and history.
723 pref("browser.download.clearHistoryOnDelete", 0);
725 #ifndef XP_MACOSX
726   pref("browser.helperApps.deleteTempFileOnExit", true);
727 #endif
729 // This controls the visibility of the radio button in the
730 // Unknown Content Type (Helper App) dialog that will open
731 // the content in the browser for PDF and for other
732 // Viewable Internally types
733 // (see browser.download.viewableInternally.enabledTypes)
734 pref("browser.helperApps.showOpenOptionForPdfJS", true);
735 pref("browser.helperApps.showOpenOptionForViewableInternally", true);
737 // search engines URL
738 pref("browser.search.searchEnginesURL",      "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/");
740 // search bar results always open in a new tab
741 pref("browser.search.openintab", false);
743 // context menu searches open in the foreground
744 pref("browser.search.context.loadInBackground", false);
746 // Enables display of the options for the user using a separate default search
747 // engine in private browsing mode.
748 pref("browser.search.separatePrivateDefault.ui.enabled", false);
749 // The maximum amount of times the private default banner is shown.
750 pref("browser.search.separatePrivateDefault.ui.banner.max", 0);
752 // Enables search SERP telemetry page categorization.
753 #ifdef NIGHTLY_BUILD
754 pref("browser.search.serpEventTelemetryCategorization.enabled", true);
755 #else
756 pref("browser.search.serpEventTelemetryCategorization.enabled", false);
757 #endif
759 // A count of Glean SERP categorization event metrics that have been recorded
760 // but not yet submitted in a ping. Needed to prevent sending a ping with only
761 // experiment info (and not actual SERP categorizations) at startup.
762 pref("browser.search.serpMetricsRecordedCounter", 0);
764 // Search Bar removal from the toolbar for users who haven’t used it in 120
765 // days
766 pref("browser.search.widget.removeAfterDaysUnused", 120);
768 // Enable new experimental shopping features. This is solely intended as a
769 // rollout/"emergency stop" button - it will go away once the feature has
770 // rolled out. There will be separate controls for user opt-in/opt-out.
771 pref("browser.shopping.experience2023.enabled", false);
773 // Ternary int-valued pref indicating if the user has opted into the new
774 // experimental shopping feature.
775 // 0 means the user has not opted in or out.
776 // 1 means the user has opted in.
777 // 2 means the user has opted out.
778 pref("browser.shopping.experience2023.optedIn", 0);
780 // Activates the new experimental shopping sidebar.
781 // True by default. This is handled by ShoppingUtils.handleAutoActivateOnProduct
782 // to auto-activate the sidebar for non-opted-in users up to 2 times.
783 pref("browser.shopping.experience2023.active", true);
785 // Enables ad exposure telemetry for users opted in to the shopping experience:
786 // when this pref is true, each time a product is analyzed, we record if an ad
787 // was available for that product. This value will be toggled via a nimbus
788 // experiment, so that we can pause collection if the ads server struggles
789 // under load.
790 pref("browser.shopping.experience2023.ads.exposure", false);
792 // Enables the ad / recommended product feature for the shopping sidebar.
793 // If enabled, users can disable the ad card using the separate pref
794 // `browser.shopping.experience2023.ads.userEnabled` and visible toggle
795 // (this is just the feature flag).
796 pref("browser.shopping.experience2023.ads.enabled", false);
798 // Activates the ad card in the shopping sidebar.
799 // Unlike `browser.shopping.experience2023.ads.enabled`, this pref is controlled by users
800 // using the visible toggle.
801 pref("browser.shopping.experience2023.ads.userEnabled", true);
803 // Saves if shopping survey is enabled.
804 pref("browser.shopping.experience2023.survey.enabled", true);
806 // Saves if shopping survey is seen.
807 pref("browser.shopping.experience2023.survey.hasSeen", false);
809 // Number of PDP visits used to display shopping survey
810 pref("browser.shopping.experience2023.survey.pdpVisits", 0);
812 // Enables the auto-open feature for the shopping sidebar,
813 // including new callouts and settings UI changes
814 // (this is just the feature flag).
815 pref("browser.shopping.experience2023.autoOpen.enabled", false);
817 // Opens the shopping sidebar automatically when viewing a PDP.
818 pref("browser.shopping.experience2023.autoOpen.userEnabled", true);
820 // Number of times the sidebar has been closed in a session
821 pref("browser.shopping.experience2023.sidebarClosedCount", 0);
823 // When conditions are met, shows a prompt on the shopping sidebar asking users if they want to disable auto-open behavior
824 pref("browser.shopping.experience2023.showKeepSidebarClosedMessage", true);
826 // Spin the cursor while the page is loading
827 pref("browser.spin_cursor_while_busy", false);
829 // Enable display of megalist option in browser sidebar
830 // Keep it hidden from about:config for now.
831 // pref("browser.megalist.enabled", false);
833 // Enables the display of the Mozilla VPN banner in private browsing windows
834 pref("browser.privatebrowsing.vpnpromourl", "https://vpn.mozilla.org/?utm_source=firefox-browser&utm_medium=firefox-%CHANNEL%-browser&utm_campaign=private-browsing-vpn-link");
836 // Whether the user has opted-in to recommended settings for data features.
837 pref("browser.dataFeatureRecommendations.enabled", false);
839 // Use dark theme variant for PBM windows. This is only supported if the theme
840 // sets darkTheme data.
841 pref("browser.theme.dark-private-windows", true);
843 // Pref to control whether or not Private Browsing windows show up
844 // as separate icons in the Windows taskbar.
845 pref("browser.privateWindowSeparation.enabled", true);
847 // Controls visibility of the privacy segmentation preferences section.
848 pref("browser.privacySegmentation.preferences.show", false);
850 pref("browser.sessionhistory.max_entries", 50);
852 // Built-in default permissions.
853 pref("permissions.manager.defaultsUrl", "resource://app/defaults/permissions");
855 // Set default fallback values for site permissions we want
856 // the user to be able to globally change.
857 pref("permissions.default.camera", 0);
858 pref("permissions.default.microphone", 0);
859 pref("permissions.default.geo", 0);
860 pref("permissions.default.xr", 0);
861 pref("permissions.default.desktop-notification", 0);
862 pref("permissions.default.shortcuts", 0);
864 pref("permissions.desktop-notification.postPrompt.enabled", true);
865 pref("permissions.desktop-notification.notNow.enabled", false);
867 pref("permissions.fullscreen.allowed", false);
869 // Force external link opens into the default user context ID instead of guessing
870 // the most appropriate one based on the URL (https://bugzilla.mozilla.org/show_bug.cgi?id=1874599#c8)
871 pref("browser.link.force_default_user_context_id_for_external_opens", false);
873 // handle links targeting new windows
874 // 1=current window/tab, 2=new window, 3=new tab in most recent window
875 pref("browser.link.open_newwindow", 3);
877 // handle external links (i.e. links opened from a different application)
878 // default: use browser.link.open_newwindow
879 // 1-3: see browser.link.open_newwindow for interpretation
880 pref("browser.link.open_newwindow.override.external", -1);
882 // 0: no restrictions - divert everything
883 // 1: don't divert window.open at all
884 // 2: don't divert window.open with features
885 pref("browser.link.open_newwindow.restriction", 2);
887 // If true, this pref causes windows opened by window.open to be forced into new
888 // tabs (rather than potentially opening separate windows, depending on
889 // window.open arguments) when the browser is in fullscreen mode.
890 // We set this differently on Mac because the fullscreen implementation there is
891 // different.
892 #ifdef XP_MACOSX
893   pref("browser.link.open_newwindow.disabled_in_fullscreen", true);
894 #else
895   pref("browser.link.open_newwindow.disabled_in_fullscreen", false);
896 #endif
898 // Tabbed browser
899 pref("browser.tabs.closeTabByDblclick", false);
900 pref("browser.tabs.closeWindowWithLastTab", true);
901 pref("browser.tabs.allowTabDetach", true);
902 // Open related links to a tab, e.g., link in current tab, at next to the
903 // current tab if |insertRelatedAfterCurrent| is true.  Otherwise, always
904 // append new tab to the end.
905 pref("browser.tabs.insertRelatedAfterCurrent", true);
906 // Open all links, e.g., bookmarks, history items at next to current tab
907 // if |insertAfterCurrent| is true.  Otherwise, append new tab to the end
908 // for non-related links. Note that if this is set to true, it will trump
909 // the value of browser.tabs.insertRelatedAfterCurrent.
910 pref("browser.tabs.insertAfterCurrent", false);
911 pref("browser.tabs.warnOnClose", false);
912 pref("browser.tabs.warnOnCloseOtherTabs", true);
913 pref("browser.tabs.warnOnOpen", true);
914 pref("browser.tabs.maxOpenBeforeWarn", 15);
915 pref("browser.tabs.loadDivertedInBackground", false);
916 pref("browser.tabs.loadBookmarksInBackground", false);
917 pref("browser.tabs.loadBookmarksInTabs", false);
918 pref("browser.tabs.tabClipWidth", 140);
919 pref("browser.tabs.tabMinWidth", 76);
920 // Users running in any of the following language codes will have the
921 // secondary text on tabs hidden due to size constraints and readability
922 // of the text at small font sizes.
923 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");
925 //Control the visibility of Tab Manager Menu.
926 pref("browser.tabs.tabmanager.enabled", true);
928 // When tabs opened by links in other tabs via a combination of
929 // browser.link.open_newwindow being set to 3 and target="_blank" etc are
930 // closed:
931 // true   return to the tab that opened this tab (its owner)
932 // false  return to the adjacent tab (old default)
933 pref("browser.tabs.selectOwnerOnClose", true);
935 // This should match Chromium's audio indicator delay.
936 pref("browser.tabs.delayHidingAudioPlayingIconMS", 3000);
938 // Pref to control whether we use a separate privileged content process
939 // for about: pages. This pref name did not age well: we will have multiple
940 // types of privileged content processes, each with different privileges.
941 // types of privleged content processes, each with different privleges.
942 pref("browser.tabs.remote.separatePrivilegedContentProcess", true);
944 #if defined(NIGHTLY_BUILD) && !defined(MOZ_ASAN)
945   // This pref will cause assertions when a remoteType triggers a process switch
946   // to a new remoteType it should not be able to trigger.
947   pref("browser.tabs.remote.enforceRemoteTypeRestrictions", true);
948 #endif
950 // Pref to control whether we use a separate privileged content process
951 // for certain mozilla webpages (which are listed in the pref
952 // browser.tabs.remote.separatedMozillaDomains).
953 pref("browser.tabs.remote.separatePrivilegedMozillaWebContentProcess", true);
955 #ifdef NIGHTLY_BUILD
956 pref("browser.tabs.tooltipsShowPidAndActiveness", true);
957 #else
958 pref("browser.tabs.tooltipsShowPidAndActiveness", false);
959 #endif
961 #ifdef NIGHTLY_BUILD
962 pref("browser.tabs.hoverPreview.enabled", true);
963 #else
964 pref("browser.tabs.hoverPreview.enabled", false);
965 #endif
966 pref("browser.tabs.hoverPreview.showThumbnails", true);
968 pref("browser.tabs.firefox-view.logLevel", "Warn");
970 // allow_eval_* is enabled on Firefox Desktop only at this
971 // point in time
972 pref("security.allow_eval_with_system_principal", false);
973 pref("security.allow_eval_in_parent_process", false);
975 pref("security.allow_parent_unrestricted_js_loads", false);
977 // Unload tabs when available memory is running low
978 #if defined(XP_MACOSX) || defined(XP_WIN)
979     pref("browser.tabs.unloadOnLowMemory", true);
980 #else
981     pref("browser.tabs.unloadOnLowMemory", false);
982 #endif
984 // Tab Unloader does not unload tabs whose last inactive period is longer than
985 // this value (in milliseconds).
986 pref("browser.tabs.min_inactive_duration_before_unload", 600000);
988 // Does middleclick paste of clipboard to new tab button
989 #ifdef UNIX_BUT_NOT_MAC
990 pref("browser.tabs.searchclipboardfor.middleclick", true);
991 #else
992 pref("browser.tabs.searchclipboardfor.middleclick", false);
993 #endif
995 #if defined(XP_MACOSX)
996   // During low memory periods, poll with this frequency (milliseconds)
997   // until memory is no longer low. Changes to the pref take effect immediately.
998   // Browser restart not required. Chosen to be consistent with the windows
999   // implementation, but otherwise the 10s value is arbitrary.
1000   pref("browser.lowMemoryPollingIntervalMS", 10000);
1002   // Pref to control the reponse taken on macOS when the OS is under memory
1003   // pressure. Changes to the pref take effect immediately. Browser restart not
1004   // required. The pref value is a bitmask:
1005   // 0x0: No response (other than recording for telemetry, crash reporting)
1006   // 0x1: Use the tab unloading feature to reduce memory use. Requires that
1007   //      the above "browser.tabs.unloadOnLowMemory" pref be set to true for tab
1008   //      unloading to occur.
1009   // 0x2: Issue the internal "memory-pressure" notification to reduce memory use
1010   // 0x3: Both 0x1 and 0x2.
1011   #if defined(NIGHTLY_BUILD)
1012   pref("browser.lowMemoryResponseMask", 3);
1013   #else
1014   pref("browser.lowMemoryResponseMask", 0);
1015   #endif
1017   // Controls which macOS memory-pressure level triggers the browser low memory
1018   // response. Changes to the pref take effect immediately. Browser restart not
1019   // required. By default, use the "critical" level as that occurs after "warn"
1020   // and we only want to trigger the low memory reponse when necessary.
1021   // The macOS system memory-pressure level is either none, "warn", or
1022   // "critical". The OS notifies the browser when the level changes. A false
1023   // value for the pref indicates the low memory response should occur when
1024   // reaching the "critical" level. A true value indicates the response should
1025   // occur when reaching the "warn" level.
1026   pref("browser.lowMemoryResponseOnWarn", false);
1027 #endif
1029 pref("browser.ctrlTab.sortByRecentlyUsed", false);
1031 // By default, do not export HTML at shutdown.
1032 // If true, at shutdown the bookmarks in your menu and toolbar will
1033 // be exported as HTML to the bookmarks.html file.
1034 pref("browser.bookmarks.autoExportHTML",          false);
1036 // The maximum number of daily bookmark backups to
1037 // keep in {PROFILEDIR}/bookmarkbackups. Special values:
1038 // -1: unlimited
1039 //  0: no backups created (and deletes all existing backups)
1040 pref("browser.bookmarks.max_backups",             15);
1042 // Whether menu should close after Ctrl-click, middle-click, etc.
1043 pref("browser.bookmarks.openInTabClosesMenu", true);
1045 // Where new bookmarks go by default.
1046 // Use PlacesUIUtils.defaultParentGuid to read this; do NOT read the pref
1047 // directly.
1048 // The value is one of:
1049 // - a bookmarks guid
1050 // - "toolbar", "menu" or "unfiled" for those folders.
1051 // If we use the pref but the value isn't any of these, we'll fall back to
1052 // the bookmarks toolbar as a default.
1053 pref("browser.bookmarks.defaultLocation", "toolbar");
1055 pref("browser.tabs.allow_transparent_browser", false);
1057 // Scripts & Windows prefs
1058 pref("dom.disable_open_during_load",              true);
1060 // allow JS to move and resize existing windows
1061 pref("dom.disable_window_move_resize",            false);
1062 // prevent JS from monkeying with window focus, etc
1063 pref("dom.disable_window_flip",                   true);
1065 pref("privacy.popups.showBrowserMessage",   true);
1067 pref("privacy.clearOnShutdown.history",     true);
1068 pref("privacy.clearOnShutdown.formdata",    true);
1069 pref("privacy.clearOnShutdown.downloads",   true);
1070 pref("privacy.clearOnShutdown.cookies",     true);
1071 pref("privacy.clearOnShutdown.cache",       true);
1072 pref("privacy.clearOnShutdown.sessions",    true);
1073 pref("privacy.clearOnShutdown.offlineApps", false);
1074 pref("privacy.clearOnShutdown.siteSettings", false);
1075 pref("privacy.clearOnShutdown.openWindows", false);
1076 // Clear on shutdown prefs used in the new dialog
1077 pref("privacy.clearOnShutdown_v2.historyFormDataAndDownloads", true);
1078 pref("privacy.clearOnShutdown_v2.cookiesAndStorage", true);
1079 pref("privacy.clearOnShutdown_v2.cache", true);
1080 pref("privacy.clearOnShutdown_v2.siteSettings", false);
1082 pref("privacy.cpd.history",                 true);
1083 pref("privacy.cpd.formdata",                true);
1084 pref("privacy.cpd.passwords",               false);
1085 pref("privacy.cpd.downloads",               true);
1086 pref("privacy.cpd.cookies",                 true);
1087 pref("privacy.cpd.cache",                   true);
1088 pref("privacy.cpd.sessions",                true);
1089 pref("privacy.cpd.offlineApps",             false);
1090 pref("privacy.cpd.siteSettings",            false);
1091 pref("privacy.cpd.openWindows",             false);
1093 // clearHistory and clearSiteData pref branches are used to
1094 // remember user pref options based on the two different entry points
1095 pref("privacy.clearHistory.historyFormDataAndDownloads", true);
1096 pref("privacy.clearHistory.cookiesAndStorage", true);
1097 pref("privacy.clearHistory.cache", true);
1098 pref("privacy.clearHistory.siteSettings", false);
1099 pref("privacy.clearSiteData.historyFormDataAndDownloads", false);
1100 pref("privacy.clearSiteData.cookiesAndStorage", true);
1101 pref("privacy.clearSiteData.cache", true);
1102 pref("privacy.clearSiteData.siteSettings", false);
1104 pref("privacy.history.custom",              false);
1106 // What default should we use for the time span in the sanitizer:
1107 // 0 - Clear everything
1108 // 1 - Last Hour
1109 // 2 - Last 2 Hours
1110 // 3 - Last 4 Hours
1111 // 4 - Today
1112 // 5 - Last 5 minutes
1113 // 6 - Last 24 hours
1114 pref("privacy.sanitize.timeSpan", 1);
1116 pref("privacy.sanitize.useOldClearHistoryDialog", false);
1118 pref("privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs2", false);
1119 // flag to track migration of clear history dialog prefs, where cpd stands for
1120 // clear private data
1121 pref("privacy.sanitize.cpd.hasMigratedToNewPrefs2", false);
1123 pref("privacy.panicButton.enabled",         true);
1125 // Time until temporary permissions expire, in ms
1126 pref("privacy.temporary_permission_expire_time_ms",  3600000);
1128 // Enables protection mechanism against password spoofing for cross domain auth requests
1129 // See bug 791594
1130 pref("privacy.authPromptSpoofingProtection",         true);
1132 // Enable GPC if the user turns it on in about:preferences
1133 pref("privacy.globalprivacycontrol.functionality.enabled",  true);
1135 // Enable GPC in private browsing mode
1136 pref("privacy.globalprivacycontrol.pbmode.enabled", true);
1138 pref("network.proxy.share_proxy_settings",  false); // use the same proxy settings for all protocols
1140 // simple gestures support
1141 pref("browser.gesture.swipe.left", "Browser:BackOrBackDuplicate");
1142 pref("browser.gesture.swipe.right", "Browser:ForwardOrForwardDuplicate");
1143 pref("browser.gesture.swipe.up", "cmd_scrollTop");
1144 pref("browser.gesture.swipe.down", "cmd_scrollBottom");
1145 pref("browser.gesture.pinch.latched", false);
1146 pref("browser.gesture.pinch.threshold", 25);
1147 #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK)
1148   // Enabled for touch input display zoom.
1149   pref("browser.gesture.pinch.out", "cmd_fullZoomEnlarge");
1150   pref("browser.gesture.pinch.in", "cmd_fullZoomReduce");
1151   pref("browser.gesture.pinch.out.shift", "cmd_fullZoomReset");
1152   pref("browser.gesture.pinch.in.shift", "cmd_fullZoomReset");
1153 #else
1154   // Disabled by default due to issues with track pad input.
1155   pref("browser.gesture.pinch.out", "");
1156   pref("browser.gesture.pinch.in", "");
1157   pref("browser.gesture.pinch.out.shift", "");
1158   pref("browser.gesture.pinch.in.shift", "");
1159 #endif
1160 pref("browser.gesture.twist.latched", false);
1161 pref("browser.gesture.twist.threshold", 0);
1162 pref("browser.gesture.twist.right", "cmd_gestureRotateRight");
1163 pref("browser.gesture.twist.left", "cmd_gestureRotateLeft");
1164 pref("browser.gesture.twist.end", "cmd_gestureRotateEnd");
1165 #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK)
1166   pref("browser.gesture.tap", "cmd_fullZoomReset");
1167 #else
1168   pref("browser.gesture.tap", "");
1169 #endif
1171 pref("browser.history_swipe_animation.disabled", false);
1173 // 0: Nothing happens
1174 // 1: Scrolling contents
1175 // 2: Go back or go forward, in your history
1176 // 3: Zoom in or out (reflowing zoom).
1177 // 4: Treat vertical wheel as horizontal scroll
1178 // 5: Zoom in or out (pinch zoom).
1179 #ifdef XP_MACOSX
1180   // On macOS, if the wheel has one axis only, shift+wheel comes through as a
1181   // horizontal scroll event. Thus, we can't assign anything other than normal
1182   // scrolling to shift+wheel.
1183   pref("mousewheel.with_shift.action", 1);
1184   pref("mousewheel.with_alt.action", 2);
1185   pref("mousewheel.with_control.action", 1);
1186 #else
1187   // On the other platforms (non-macOS), user may use legacy mouse which
1188   // supports only vertical wheel but want to scroll horizontally.  For such
1189   // users, we should provide horizontal scroll with shift+wheel (same as
1190   // Chrome). However, shift+wheel was used for navigating history.  For users
1191   // who want to keep using this feature, let's enable it with alt+wheel.  This
1192   // is better for consistency with macOS users.
1193   pref("mousewheel.with_shift.action", 4);
1194   pref("mousewheel.with_alt.action", 2);
1195 #endif
1197 pref("mousewheel.with_meta.action", 1);
1199 pref("browser.xul.error_pages.expert_bad_cert", false);
1200 pref("browser.xul.error_pages.show_safe_browsing_details_on_load", false);
1202 // Enable captive portal detection.
1203 pref("network.captive-portal-service.enabled", true);
1205 // If true, network link events will change the value of navigator.onLine
1206 pref("network.manage-offline-status", true);
1208 // We want to make sure mail URLs are handled externally...
1209 pref("network.protocol-handler.external.mailto", true); // for mail
1210 pref("network.protocol-handler.external.news", true);   // for news
1211 pref("network.protocol-handler.external.snews", true);  // for secure news
1212 pref("network.protocol-handler.external.nntp", true);   // also news
1213 #ifdef XP_WIN
1214   pref("network.protocol-handler.external.ms-windows-store", true);
1215 #endif
1217 // ...without warning dialogs
1218 pref("network.protocol-handler.warn-external.mailto", false);
1219 pref("network.protocol-handler.warn-external.news", false);
1220 pref("network.protocol-handler.warn-external.snews", false);
1221 pref("network.protocol-handler.warn-external.nntp", false);
1222 #ifdef XP_WIN
1223   pref("network.protocol-handler.warn-external.ms-windows-store", false);
1224 #endif
1226 // By default, all protocol handlers are exposed.  This means that
1227 // the browser will respond to openURL commands for all URL types.
1228 // It will also try to open link clicks inside the browser before
1229 // failing over to the system handlers.
1230 pref("network.protocol-handler.expose-all", true);
1231 pref("network.protocol-handler.expose.mailto", false);
1232 pref("network.protocol-handler.expose.news", false);
1233 pref("network.protocol-handler.expose.snews", false);
1234 pref("network.protocol-handler.expose.nntp", false);
1236 pref("accessibility.typeaheadfind", false);
1237 pref("accessibility.typeaheadfind.timeout", 5000);
1238 pref("accessibility.typeaheadfind.linksonly", false);
1239 pref("accessibility.typeaheadfind.flashBar", 1);
1241 // Whether we can show the "Firefox Labs" section.
1242 pref("browser.preferences.experimental", true);
1243 // Whether we had to hide the "Firefox Labs" section because it would be empty.
1244 pref("browser.preferences.experimental.hidden", false);
1245 // Whether we show the "More from Mozilla" section.
1246 pref("browser.preferences.moreFromMozilla", true);
1248 // Used by settings to track whether the user customized advanced
1249 // performance settings. Not used directly elsewhere.
1250 // If set to false, we show advanced performance settings.
1251 // If reset to true **by checking the box in the settings page**,
1252 // we will revert those to the default settings.
1253 pref("browser.preferences.defaultPerformanceSettings.enabled", true);
1255 pref("browser.proton.toolbar.version", 0);
1257 // Backspace and Shift+Backspace behavior
1258 // 0 goes Back/Forward
1259 // 1 act like PgUp/PgDown
1260 // 2 and other values, nothing
1261 pref("browser.backspace_action", 2);
1263 pref("intl.regional_prefs.use_os_locales", false);
1265 // this will automatically enable inline spellchecking (if it is available) for
1266 // editable elements in HTML
1267 // 0 = spellcheck nothing
1268 // 1 = check multi-line controls [default]
1269 // 2 = check multi/single line controls
1270 pref("layout.spellcheckDefault", 1);
1272 pref("browser.send_pings", false);
1274 pref("browser.geolocation.warning.infoURL", "https://www.mozilla.org/%LOCALE%/firefox/geolocation/");
1275 pref("browser.xr.warning.infoURL", "https://www.mozilla.org/%LOCALE%/firefox/xr/");
1277 pref("browser.sessionstore.resume_from_crash", true);
1278 pref("browser.sessionstore.resume_session_once", false);
1279 pref("browser.sessionstore.resuming_after_os_restart", false);
1281 // Toggle for the behavior to include closed tabs from all windows in
1282 // recently-closed tab lists & counts, and re-open tabs into the current window
1283 pref("browser.sessionstore.closedTabsFromAllWindows", true);
1284 pref("browser.sessionstore.closedTabsFromClosedWindows", true);
1286 // Minimal interval between two save operations in milliseconds (while the user is idle).
1287 pref("browser.sessionstore.interval.idle", 3600000); // 1h
1289 // Time (seconds) before we assume that the user is idle and that we don't need to
1290 // collect/save the session quite as often.
1291 pref("browser.sessionstore.idleDelay", 180); // 3 minutes
1293 // Fine-grained default logging levels for each log appender
1294 pref("browser.sessionstore.log.appender.console", "Fatal");
1295 pref("browser.sessionstore.log.appender.dump", "Error");
1296 pref("browser.sessionstore.log.appender.file.level", "Trace");
1297 pref("browser.sessionstore.log.appender.file.logOnError", true);
1299 // The default log level for all Session restore logs.
1300 pref("browser.sessionstore.loglevel", "Warn");
1302 #ifdef EARLY_BETA_OR_EARLIER
1303   pref("browser.sessionstore.loglevel", "Debug");
1304   pref("browser.sessionstore.log.appender.file.logOnSuccess", true);
1305 #else
1306   pref("browser.sessionstore.log.appender.file.logOnSuccess", false);
1307 #endif
1308 // How old can a log file be before it gets deleted?
1309 pref("browser.sessionstore.log.appender.file.maxErrorAge", 864000); // 10 days
1311 // on which sites to save text data, POSTDATA and cookies
1312 // 0 = everywhere, 1 = unencrypted sites, 2 = nowhere
1313 pref("browser.sessionstore.privacy_level", 0);
1314 // how many tabs can be reopened (per window)
1315 pref("browser.sessionstore.max_tabs_undo", 25);
1316 // how many windows will be saved and can be reopened per session - on non-macOS platforms this
1317 // pref may be ignored when dealing with pop-up windows to ensure the user actually gets
1318 // at least one window with a menu bar.
1319 pref("browser.sessionstore.max_windows_undo", 5);
1320 // number of crashes that can occur before the about:sessionrestore page is displayed
1321 // (this pref has no effect if more than 6 hours have passed since the last crash)
1322 pref("browser.sessionstore.max_resumed_crashes", 1);
1323 // number of back button session history entries to restore (-1 = all of them)
1324 pref("browser.sessionstore.max_serialize_back", 10);
1325 // number of forward button session history entries to restore (-1 = all of them)
1326 pref("browser.sessionstore.max_serialize_forward", -1);
1327 // restore_on_demand overrides MAX_CONCURRENT_TAB_RESTORES (sessionstore constant)
1328 // and restore_hidden_tabs. When true, tabs will not be restored until they are
1329 // focused (also applies to tabs that aren't visible). When false, the values
1330 // for MAX_CONCURRENT_TAB_RESTORES and restore_hidden_tabs are respected.
1331 // Selected tabs are always restored regardless of this pref.
1332 pref("browser.sessionstore.restore_on_demand", true);
1333 // Whether to automatically restore hidden tabs (i.e., tabs in other tab groups) or not
1334 pref("browser.sessionstore.restore_hidden_tabs", false);
1335 // If restore_on_demand is set, pinned tabs are restored on startup by default.
1336 // When set to true, this pref overrides that behavior, and pinned tabs will only
1337 // be restored when they are focused.
1338 pref("browser.sessionstore.restore_pinned_tabs_on_demand", false);
1339 // The version at which we performed the latest upgrade backup
1340 pref("browser.sessionstore.upgradeBackup.latestBuildID", "");
1341 // How many upgrade backups should be kept
1342 pref("browser.sessionstore.upgradeBackup.maxUpgradeBackups", 3);
1343 // Toggle some debug behavior; end-users should not run sessionstore in debug mode
1344 pref("browser.sessionstore.debug", false);
1345 // Forget closed windows/tabs after two weeks
1346 pref("browser.sessionstore.cleanup.forget_closed_after", 1209600000);
1348 // temporary pref that will be removed in a future release, see bug 1836952
1349 pref("browser.sessionstore.persist_closed_tabs_between_sessions", true);
1351 // Don't quit the browser when Ctrl + Q is pressed.
1352 pref("browser.quitShortcut.disabled", false);
1354 // allow META refresh by default
1355 pref("accessibility.blockautorefresh", false);
1357 // Whether history is enabled or not.
1358 pref("places.history.enabled", true);
1360 // The default Places log level.
1361 pref("places.loglevel", "Error");
1363 // Whether or not diacritics must match in history text searches.
1364 pref("places.search.matchDiacritics", false);
1366 // the (maximum) number of the recent visits to sample
1367 // when calculating frecency
1368 pref("places.frecency.numVisits", 10);
1370 // buckets (in days) for frecency calculation
1371 pref("places.frecency.firstBucketCutoff", 4);
1372 pref("places.frecency.secondBucketCutoff", 14);
1373 pref("places.frecency.thirdBucketCutoff", 31);
1374 pref("places.frecency.fourthBucketCutoff", 90);
1376 // weights for buckets for frecency calculations
1377 pref("places.frecency.firstBucketWeight", 100);
1378 pref("places.frecency.secondBucketWeight", 70);
1379 pref("places.frecency.thirdBucketWeight", 50);
1380 pref("places.frecency.fourthBucketWeight", 30);
1381 pref("places.frecency.defaultBucketWeight", 10);
1383 // bonus (in percent) for visit transition types for frecency calculations
1384 pref("places.frecency.embedVisitBonus", 0);
1385 pref("places.frecency.framedLinkVisitBonus", 0);
1386 pref("places.frecency.linkVisitBonus", 100);
1387 pref("places.frecency.typedVisitBonus", 2000);
1388 // The bookmarks bonus is always added on top of any other bonus, including
1389 // the redirect source and the typed ones.
1390 pref("places.frecency.bookmarkVisitBonus", 75);
1391 // The redirect source bonus overwrites any transition bonus.
1392 // 0 would hide these pages, instead we want them low ranked.  Thus we use
1393 // linkVisitBonus - bookmarkVisitBonus, so that a bookmarked source is in par
1394 // with a common link.
1395 pref("places.frecency.redirectSourceVisitBonus", 25);
1396 pref("places.frecency.downloadVisitBonus", 0);
1397 // The perm/temp redirects here relate to redirect targets, not sources.
1398 pref("places.frecency.permRedirectVisitBonus", 50);
1399 pref("places.frecency.tempRedirectVisitBonus", 40);
1400 pref("places.frecency.reloadVisitBonus", 0);
1401 pref("places.frecency.defaultVisitBonus", 0);
1403 // bonus (in percent) for place types for frecency calculations
1404 pref("places.frecency.unvisitedBookmarkBonus", 140);
1405 pref("places.frecency.unvisitedTypedBonus", 200);
1407 // Enables alternative frecency calculation for origins.
1408 pref("places.frecency.origins.alternative.featureGate", false);
1410 // Clear data by base domain (including partitioned storage) when the user
1411 // selects "Forget About This Site".
1412 pref("places.forgetThisSite.clearByBaseDomain", true);
1414 // Whether to warm up network connections for places: menus and places: toolbar.
1415 pref("browser.places.speculativeConnect.enabled", true);
1417 // if true, use full page zoom instead of text zoom
1418 pref("browser.zoom.full", true);
1420 // Whether or not to update background tabs to the current zoom level.
1421 pref("browser.zoom.updateBackgroundTabs", true);
1423 // The breakpad report server to link to in about:crashes
1424 pref("breakpad.reportURL", "https://crash-stats.mozilla.org/report/index/");
1426 // URL for "Learn More" for DataCollection
1427 pref("toolkit.datacollection.infoURL",
1428      "https://www.mozilla.org/legal/privacy/firefox.html");
1430 // URL for "Learn More" for Crash Reporter
1431 pref("toolkit.crashreporter.infoURL",
1432      "https://www.mozilla.org/legal/privacy/firefox.html#crash-reporter");
1434 // base URL for web-based support pages
1435 pref("app.support.baseURL", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/");
1437 // base url for web-based feedback pages
1438 pref("app.feedback.baseURL", "https://ideas.mozilla.org/");
1440 pref("security.certerrors.recordEventTelemetry", true);
1441 pref("security.certerrors.permanentOverride", true);
1442 pref("security.certerrors.mitm.priming.enabled", true);
1443 pref("security.certerrors.mitm.priming.endpoint", "https://mitmdetection.services.mozilla.com/");
1444 pref("security.certerrors.mitm.auto_enable_enterprise_roots", true);
1446 // Whether the bookmark panel should be shown when bookmarking a page.
1447 pref("browser.bookmarks.editDialog.showForNewBookmarks", true);
1449 // Don't try to alter this pref, it'll be reset the next time you use the
1450 // bookmarking dialog
1451 pref("browser.bookmarks.editDialog.firstEditField", "namePicker");
1453 // The number of recently selected folders in the edit bookmarks dialog.
1454 pref("browser.bookmarks.editDialog.maxRecentFolders", 7);
1456 #if defined(XP_WIN) && defined(MOZ_SANDBOX)
1457   // This controls the strength of the Windows content process sandbox for
1458   // testing purposes. This will require a restart.
1459   // On windows these levels are:
1460   // See - security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp
1461   // SetSecurityLevelForContentProcess() for what the different settings mean.
1462   #if defined(NIGHTLY_BUILD)
1463     pref("security.sandbox.content.level", 7);
1464   #else
1465     pref("security.sandbox.content.level", 7);
1466   #endif
1468   // Pref controlling if messages relevant to sandbox violations are logged.
1469   pref("security.sandbox.logging.enabled", false);
1470 #endif
1472 #if defined(XP_MACOSX) && defined(MOZ_SANDBOX)
1473   // This pref is discussed in bug 1083344, the naming is inspired from its
1474   // Windows counterpart, but on Mac it's an integer which means:
1475   // 0 -> "no sandbox" (nightly only)
1476   // 1 -> "preliminary content sandboxing enabled: write access to
1477   //       home directory is prevented"
1478   // 2 -> "preliminary content sandboxing enabled with profile protection:
1479   //       write access to home directory is prevented, read and write access
1480   //       to ~/Library and profile directories are prevented (excluding
1481   //       $PROFILE/{extensions,chrome})"
1482   // 3 -> "no global read/write access, read access permitted to
1483   //       $PROFILE/{extensions,chrome}"
1484   // This setting is read when the content process is started. On Mac the
1485   // content process is killed when all windows are closed, so a change will
1486   // take effect when the 1st window is opened.
1487   pref("security.sandbox.content.level", 3);
1489   // Disconnect content processes from the window server. Depends on
1490   // out-of-process WebGL and non-native theming. i.e., both in-process WebGL
1491   // and native theming depend on content processes having a connection to the
1492   // window server. Window server disconnection is automatically disabled (and
1493   // this pref overridden) if OOP WebGL is disabled. OOP WebGL is disabled
1494   // for some tests.
1495   pref("security.sandbox.content.mac.disconnect-windowserver", true);
1497   // Pref controlling if messages relevant to sandbox violations are logged.
1498   pref("security.sandbox.logging.enabled", false);
1499 #endif
1501 #if defined(XP_LINUX) && defined(MOZ_SANDBOX)
1502   // This pref is introduced as part of bug 742434, the naming is inspired from
1503   // its Windows/Mac counterpart, but on Linux it's an integer which means:
1504   // 0 -> "no sandbox"
1505   // 1 -> no longer used; level will be clamped to 2
1506   // 2 -> "seccomp-bpf + write file broker"
1507   // 3 -> "seccomp-bpf + read/write file brokering"
1508   // 4 -> all of the above + network/socket restrictions + chroot
1509   //
1510   // The purpose of this setting is to allow Linux users or distros to disable
1511   // the sandbox while we fix their problems, or to allow running Firefox with
1512   // exotic configurations we can't reasonably support out of the box.
1513   //
1514   pref("security.sandbox.content.level", 4);
1515   // Introduced as part of bug 1608558.  Linux is currently the only platform
1516   // that uses a sandbox level for the socket process.  There are currently
1517   // only 2 levels:
1518   // 0 -> "no sandbox"
1519   // 1 -> "sandboxed, allows socket operations and reading necessary certs"
1520   pref("security.sandbox.socket.process.level", 1);
1521   pref("security.sandbox.content.write_path_whitelist", "");
1522   pref("security.sandbox.content.read_path_whitelist", "");
1523   pref("security.sandbox.content.syscall_whitelist", "");
1524 #endif
1526 #if defined(XP_OPENBSD) && defined(MOZ_SANDBOX)
1527   pref("security.sandbox.content.level", 1);
1528 #endif
1530 #if defined(MOZ_CONTENT_TEMP_DIR)
1531   // ID (a UUID when set by gecko) that is used to form the name of a
1532   // sandbox-writable temporary directory to be used by content processes
1533   // when a temporary writable file is required.
1534   pref("security.sandbox.content.tempDirSuffix", "");
1535 #endif
1537 #ifdef XP_WIN
1538   pref("browser.taskbar.previews.enable", false);
1539   pref("browser.taskbar.previews.max", 20);
1540   pref("browser.taskbar.previews.cachetime", 5);
1542   pref("browser.taskbar.lists.enabled", true);
1543   pref("browser.taskbar.lists.frequent.enabled", true);
1544   pref("browser.taskbar.lists.recent.enabled", false);
1545   pref("browser.taskbar.lists.maxListItemCount", 7);
1546   pref("browser.taskbar.lists.tasks.enabled", true);
1547   pref("browser.taskbar.lists.refreshInSeconds", 120);
1548   pref("browser.startMenu.msixPinnedWhenLastChecked", false);
1549 #endif
1551 // Preferences to be synced by default.
1552 // Preferences with the prefix `services.sync.prefs.sync-seen.` should have
1553 // a value of `false`, and means the value of the pref will be synced as soon
1554 // as a value for the pref is "seen", even if it is the default, and should be
1555 // used for prefs we sync but which have different values on different channels,
1556 // platforms or distributions.
1557 pref("services.sync.prefs.sync.accessibility.blockautorefresh", true);
1558 pref("services.sync.prefs.sync.accessibility.browsewithcaret", true);
1559 pref("services.sync.prefs.sync.accessibility.typeaheadfind", true);
1560 pref("services.sync.prefs.sync.accessibility.typeaheadfind.linksonly", true);
1561 pref("services.sync.prefs.sync.addons.ignoreUserEnabledChanges", true);
1562 pref("services.sync.prefs.sync.app.shield.optoutstudies.enabled", true);
1563 // The addons prefs related to repository verification are intentionally
1564 // not synced for security reasons. If a system is compromised, a user
1565 // could weaken the pref locally, install an add-on from an untrusted
1566 // source, and this would propagate automatically to other,
1567 // uncompromised Sync-connected devices.
1568 pref("services.sync.prefs.sync.browser.contentblocking.category", true);
1569 pref("services.sync.prefs.sync.browser.contentblocking.features.strict", true);
1570 pref("services.sync.prefs.sync.browser.crashReports.unsubmittedCheck.autoSubmit2", true);
1571 pref("services.sync.prefs.sync.browser.ctrlTab.sortByRecentlyUsed", true);
1572 pref("services.sync.prefs.sync.browser.discovery.enabled", true);
1573 pref("services.sync.prefs.sync.browser.download.useDownloadDir", true);
1574 pref("services.sync.prefs.sync.browser.firefox-view.feature-tour", true);
1575 pref("services.sync.prefs.sync.browser.formfill.enable", true);
1576 pref("services.sync.prefs.sync.browser.link.open_newwindow", true);
1577 pref("services.sync.prefs.sync.browser.menu.showViewImageInfo", true);
1578 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", true);
1579 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", true);
1580 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSearch", true);
1581 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored", true);
1582 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSites", true);
1583 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.topsites", true);
1584 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.topSitesRows", true);
1585 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.section.topstories", true);
1586 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.topstories.rows", true);
1587 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.section.highlights", true);
1588 // Some linux distributions disable all highlights by default.
1589 pref("services.sync.prefs.sync-seen.browser.newtabpage.activity-stream.section.highlights", false);
1590 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeVisited", true);
1591 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeBookmarks", true);
1592 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeDownloads", true);
1593 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includePocket", true);
1594 // Some linux distributions disable just pocket by default.
1595 pref("services.sync.prefs.sync-seen.browser.newtabpage.activity-stream.section.highlights.includePocket", false);
1596 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.rows", true);
1597 pref("services.sync.prefs.sync.browser.newtabpage.enabled", true);
1598 pref("services.sync.prefs.sync.browser.newtabpage.pinned", true);
1599 pref("services.sync.prefs.sync.browser.pdfjs.feature-tour", true);
1600 pref("services.sync.prefs.sync.browser.safebrowsing.downloads.enabled", true);
1601 pref("services.sync.prefs.sync.browser.safebrowsing.downloads.remote.block_potentially_unwanted", true);
1602 pref("services.sync.prefs.sync.browser.safebrowsing.malware.enabled", true);
1603 pref("services.sync.prefs.sync.browser.safebrowsing.phishing.enabled", true);
1604 pref("services.sync.prefs.sync.browser.search.update", true);
1605 pref("services.sync.prefs.sync.browser.startup.homepage", true);
1606 pref("services.sync.prefs.sync.browser.startup.page", true);
1607 pref("services.sync.prefs.sync.browser.startup.upgradeDialog.enabled", true);
1608 pref("services.sync.prefs.sync.browser.tabs.loadInBackground", true);
1609 pref("services.sync.prefs.sync.browser.tabs.warnOnClose", true);
1610 pref("services.sync.prefs.sync.browser.tabs.warnOnOpen", true);
1611 pref("services.sync.prefs.sync.browser.taskbar.previews.enable", true);
1612 pref("services.sync.prefs.sync.browser.urlbar.maxRichResults", true);
1613 pref("services.sync.prefs.sync.browser.urlbar.showSearchSuggestionsFirst", true);
1614 pref("services.sync.prefs.sync.browser.urlbar.suggest.bookmark", true);
1615 pref("services.sync.prefs.sync.browser.urlbar.suggest.history", true);
1616 pref("services.sync.prefs.sync.browser.urlbar.suggest.openpage", true);
1617 pref("services.sync.prefs.sync.browser.urlbar.suggest.searches", true);
1618 pref("services.sync.prefs.sync.browser.urlbar.suggest.topsites", true);
1619 pref("services.sync.prefs.sync.browser.urlbar.suggest.engines", true);
1620 pref("services.sync.prefs.sync.dom.disable_open_during_load", true);
1621 pref("services.sync.prefs.sync.dom.disable_window_flip", true);
1622 pref("services.sync.prefs.sync.dom.disable_window_move_resize", true);
1623 pref("services.sync.prefs.sync.dom.event.contextmenu.enabled", true);
1624 pref("services.sync.prefs.sync.dom.security.https_only_mode", true);
1625 pref("services.sync.prefs.sync.dom.security.https_only_mode_ever_enabled", true);
1626 pref("services.sync.prefs.sync.dom.security.https_only_mode_ever_enabled_pbm", true);
1627 pref("services.sync.prefs.sync.dom.security.https_only_mode_pbm", true);
1628 pref("services.sync.prefs.sync.extensions.update.enabled", true);
1629 pref("services.sync.prefs.sync.extensions.activeThemeID", true);
1630 pref("services.sync.prefs.sync.general.autoScroll", true);
1631 // general.autoScroll has a different default on Linux vs elsewhere.
1632 pref("services.sync.prefs.sync-seen.general.autoScroll", false);
1633 pref("services.sync.prefs.sync.general.smoothScroll", true);
1634 pref("services.sync.prefs.sync.intl.accept_languages", true);
1635 pref("services.sync.prefs.sync.intl.regional_prefs.use_os_locales", true);
1636 pref("services.sync.prefs.sync.layout.spellcheckDefault", true);
1637 pref("services.sync.prefs.sync.media.autoplay.default", true);
1638 pref("services.sync.prefs.sync.media.eme.enabled", true);
1639 // Some linux distributions disable eme by default.
1640 pref("services.sync.prefs.sync-seen.media.eme.enabled", false);
1641 pref("services.sync.prefs.sync.media.videocontrols.picture-in-picture.video-toggle.enabled", true);
1642 pref("services.sync.prefs.sync.network.cookie.cookieBehavior", true);
1643 pref("services.sync.prefs.sync.permissions.default.image", true);
1644 pref("services.sync.prefs.sync.pref.downloads.disable_button.edit_actions", true);
1645 pref("services.sync.prefs.sync.pref.privacy.disable_button.cookie_exceptions", true);
1646 pref("services.sync.prefs.sync.privacy.clearOnShutdown.cache", true);
1647 pref("services.sync.prefs.sync.privacy.clearOnShutdown_v2.cache", true);
1648 pref("services.sync.prefs.sync.privacy.clearOnShutdown.cookies", true);
1649 pref("services.sync.prefs.sync.privacy.clearOnShutdown_v2.cookiesAndStorage", true);
1650 pref("services.sync.prefs.sync.privacy.clearOnShutdown.downloads", true);
1651 pref("services.sync.prefs.sync.privacy.clearOnShutdown_v2.downloads", true);
1652 pref("services.sync.prefs.sync.privacy.clearOnShutdown.formdata", true);
1653 pref("services.sync.prefs.sync.privacy.clearOnShutdown.history", true);
1654 pref("services.sync.prefs.sync.privacy.clearOnShutdown_v2.historyFormDataAndDownloads", true);
1655 pref("services.sync.prefs.sync.privacy.clearOnShutdown.offlineApps", true);
1656 pref("services.sync.prefs.sync.privacy.clearOnShutdown.sessions", true);
1657 pref("services.sync.prefs.sync.privacy.clearOnShutdown.siteSettings", true);
1658 pref("services.sync.prefs.sync.privacy.clearOnShutdown_v2.siteSettings", true);
1659 pref("services.sync.prefs.sync.privacy.donottrackheader.enabled", true);
1660 pref("services.sync.prefs.sync.privacy.globalprivacycontrol.enabled", true);
1661 pref("services.sync.prefs.sync.privacy.sanitize.sanitizeOnShutdown", true);
1662 pref("services.sync.prefs.sync.privacy.trackingprotection.enabled", true);
1663 pref("services.sync.prefs.sync.privacy.trackingprotection.cryptomining.enabled", true);
1664 pref("services.sync.prefs.sync.privacy.trackingprotection.fingerprinting.enabled", true);
1665 pref("services.sync.prefs.sync.privacy.trackingprotection.pbmode.enabled", true);
1666 // We do not sync `privacy.resistFingerprinting` by default as it's an undocumented,
1667 // not-recommended footgun - see bug 1763278 for more.
1668 pref("services.sync.prefs.sync.privacy.reduceTimerPrecision", true);
1669 pref("services.sync.prefs.sync.privacy.resistFingerprinting.reduceTimerPrecision.microseconds", true);
1670 pref("services.sync.prefs.sync.privacy.resistFingerprinting.reduceTimerPrecision.jitter", true);
1671 pref("services.sync.prefs.sync.privacy.userContext.enabled", true);
1672 pref("services.sync.prefs.sync.privacy.userContext.newTabContainerOnLeftClick.enabled", true);
1673 pref("services.sync.prefs.sync.security.default_personal_cert", true);
1674 pref("services.sync.prefs.sync.services.sync.syncedTabs.showRemoteIcons", true);
1675 pref("services.sync.prefs.sync.signon.autofillForms", true);
1676 pref("services.sync.prefs.sync.signon.generation.enabled", true);
1677 pref("services.sync.prefs.sync.signon.management.page.breach-alerts.enabled", true);
1678 pref("services.sync.prefs.sync.signon.rememberSignons", true);
1679 pref("services.sync.prefs.sync.spellchecker.dictionary", true);
1680 pref("services.sync.prefs.sync.ui.osk.enabled", true);
1682 // A preference which, if false, means sync will only apply incoming preference
1683 // changes if there's already a local services.sync.prefs.sync.* control pref.
1684 // If true, all incoming preferences will be applied and the local "control
1685 // pref" updated accordingly.
1686 pref("services.sync.prefs.dangerously_allow_arbitrary", false);
1688 // A preference that controls whether we should show the icon for a remote tab.
1689 // This pref has no UI but exists because some people may be concerned that
1690 // fetching these icons to show remote tabs may leak information about that
1691 // user's tabs and bookmarks. Note this pref is also synced.
1692 pref("services.sync.syncedTabs.showRemoteIcons", true);
1694 // A preference (in milliseconds) controlling if we sync after a tab change and
1695 // how long to delay before we schedule the sync
1696 // Anything <= 0 means disabled
1697 pref("services.sync.syncedTabs.syncDelayAfterTabChange", 5000);
1699 // Whether the character encoding menu is under the main Firefox button. This
1700 // preference is a string so that localizers can alter it.
1701 pref("browser.menu.showCharacterEncoding", "chrome://browser/locale/browser.properties");
1703 // Whether prompts should be content modal (1) tab modal (2) or window modal(3) by default
1704 // This is a fallback value for when prompt callers do not specify a modalType.
1705 pref("prompts.defaultModalType", 3);
1707 // Whether to use the discrete Top Sites component.
1708 pref("browser.topsites.component.enabled", false);
1710 pref("browser.topsites.useRemoteSetting", true);
1711 // Fetch sponsored Top Sites from Mozilla Tiles Service (Contile)
1712 pref("browser.topsites.contile.enabled", true);
1713 pref("browser.topsites.contile.endpoint", "https://contile.services.mozilla.com/v1/tiles");
1715 // Whether to enable the Share-of-Voice feature for Sponsored Topsites via Contile.
1716 pref("browser.topsites.contile.sov.enabled", true);
1718 // The base URL for the Quick Suggest anonymizing proxy. To make a request to
1719 // the proxy, include a campaign ID in the path.
1720 pref("browser.partnerlink.attributionURL", "https://topsites.services.mozilla.com/cid/");
1721 pref("browser.partnerlink.campaign.topsites", "amzn_2020_a1");
1723 // Activates preloading of the new tab url.
1724 pref("browser.newtab.preload", true);
1726 // Weather widget for newtab
1727 pref("browser.newtabpage.activity-stream.showWeather", true);
1728 pref("browser.newtabpage.activity-stream.weather.query", "");
1729 pref("browser.newtabpage.activity-stream.weather.display", "simple");
1731 // enable location search for newtab weather widget
1732 pref("browser.newtabpage.activity-stream.weather.locationSearchEnabled", true);
1734 // List of regions that get weather by default.
1735 pref("browser.newtabpage.activity-stream.discoverystream.region-weather-config", "US,CA");
1737 // List of locales that weather widget supports.
1738 pref("browser.newtabpage.activity-stream.discoverystream.locale-weather-config", "en-US,en-GB,en-CA");
1740 // Preference to enable wallpaper selection in the Customize Menu of new tab page
1741 #ifdef NIGHTLY_BUILD
1742   pref("browser.newtabpage.activity-stream.newtabWallpapers.enabled", true);
1743   pref("browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled", true);
1744 #else
1745   pref("browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled", false);
1746   pref("browser.newtabpage.activity-stream.newtabWallpapers.enabled", false);
1747 #endif
1749 // Current new tab page background images.
1750 pref("browser.newtabpage.activity-stream.newtabWallpapers.wallpaper-light", "");
1751 pref("browser.newtabpage.activity-stream.newtabWallpapers.wallpaper-dark", "");
1752 pref("browser.newtabpage.activity-stream.newtabWallpapers.wallpaper", "");
1754 // Preference to show feature highlight about wallpaper on new tab page
1755 pref("browser.newtabpage.activity-stream.newtabWallpapers.highlightEnabled", false);
1756 pref("browser.newtabpage.activity-stream.newtabWallpapers.highlightDismissed", false);
1757 pref("browser.newtabpage.activity-stream.newtabWallpapers.highlightSeenCounter", 0);
1758 pref("browser.newtabpage.activity-stream.newtabWallpapers.highlightHeaderText", "");
1759 pref("browser.newtabpage.activity-stream.newtabWallpapers.highlightContentText", "");
1760 pref("browser.newtabpage.activity-stream.newtabWallpapers.highlightCtaText", "");
1762 pref("browser.newtabpage.activity-stream.newNewtabExperience.colors", "#0090ED,#FF4F5F,#2AC3A2,#FF7139,#A172FF,#FFA437,#FF2A8A");
1764 // Activity Stream prefs that control to which page to redirect
1765 #ifndef RELEASE_OR_BETA
1766   pref("browser.newtabpage.activity-stream.debug", false);
1767 #endif
1769 // The remote FxA root content URL for the Activity Stream firstrun page.
1770 pref("browser.newtabpage.activity-stream.fxaccounts.endpoint", "https://accounts.firefox.com/");
1772 // The pref that controls if the search shortcuts experiment is on
1773 pref("browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts", true);
1775 // ASRouter provider configuration
1776 pref("browser.newtabpage.activity-stream.asrouter.providers.message-groups", "{\"id\":\"message-groups\",\"enabled\":true,\"type\":\"remote-settings\",\"collection\":\"message-groups\",\"updateCycleInMs\":3600000}");
1777 pref("browser.newtabpage.activity-stream.asrouter.providers.onboarding", "{\"id\":\"onboarding\",\"type\":\"local\",\"localProvider\":\"OnboardingMessageProvider\",\"enabled\":true,\"exclude\":[]}");
1778 pref("browser.newtabpage.activity-stream.asrouter.providers.cfr", "{\"id\":\"cfr\",\"enabled\":true,\"type\":\"remote-settings\",\"collection\":\"cfr\",\"updateCycleInMs\":3600000}");
1779 pref("browser.newtabpage.activity-stream.asrouter.providers.messaging-experiments", "{\"id\":\"messaging-experiments\",\"enabled\":true,\"type\":\"remote-experiments\",\"updateCycleInMs\":3600000}");
1781 // ASRouter user prefs
1782 pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", true);
1783 pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", true);
1784 pref("messaging-system.askForFeedback", true);
1786 // The pref that controls if ASRouter uses the remote fluent files.
1787 // It's enabled by default, but could be disabled to force ASRouter to use the local files.
1788 pref("browser.newtabpage.activity-stream.asrouter.useRemoteL10n", true);
1790 // These prefs control if Discovery Stream is enabled.
1791 pref("browser.newtabpage.activity-stream.discoverystream.enabled", true);
1792 pref("browser.newtabpage.activity-stream.discoverystream.hardcoded-basic-layout", false);
1793 pref("browser.newtabpage.activity-stream.discoverystream.hybridLayout.enabled", false);
1794 pref("browser.newtabpage.activity-stream.discoverystream.hideCardBackground.enabled", false);
1795 pref("browser.newtabpage.activity-stream.discoverystream.fourCardLayout.enabled", false);
1796 pref("browser.newtabpage.activity-stream.discoverystream.newFooterSection.enabled", false);
1797 pref("browser.newtabpage.activity-stream.discoverystream.saveToPocketCard.enabled", true);
1798 pref("browser.newtabpage.activity-stream.discoverystream.saveToPocketCardRegions", "");
1799 pref("browser.newtabpage.activity-stream.discoverystream.hideDescriptions.enabled", false);
1800 pref("browser.newtabpage.activity-stream.discoverystream.hideDescriptionsRegions", "");
1801 pref("browser.newtabpage.activity-stream.discoverystream.compactGrid.enabled", false);
1802 pref("browser.newtabpage.activity-stream.discoverystream.compactImages.enabled", false);
1803 pref("browser.newtabpage.activity-stream.discoverystream.imageGradient.enabled", false);
1804 pref("browser.newtabpage.activity-stream.discoverystream.titleLines", 3);
1805 pref("browser.newtabpage.activity-stream.discoverystream.descLines", 3);
1806 pref("browser.newtabpage.activity-stream.discoverystream.readTime.enabled", true);
1807 pref("browser.newtabpage.activity-stream.discoverystream.newSponsoredLabel.enabled", false);
1808 pref("browser.newtabpage.activity-stream.discoverystream.essentialReadsHeader.enabled", false);
1809 pref("browser.newtabpage.activity-stream.discoverystream.recentSaves.enabled", false);
1810 pref("browser.newtabpage.activity-stream.discoverystream.editorsPicksHeader.enabled", false);
1811 pref("browser.newtabpage.activity-stream.discoverystream.spoc-positions", "1,5,7,11,18,20");
1812 pref("browser.newtabpage.activity-stream.discoverystream.spoc-topsites-positions", "2");
1813 // This is a 0-based index, for consistency with the other position CSVs,
1814 // but Contile positions are a 1-based index, so we end up adding 1 to these before using them.
1815 pref("browser.newtabpage.activity-stream.discoverystream.contile-topsites-positions", "0,1,2");
1816 pref("browser.newtabpage.activity-stream.discoverystream.widget-positions", "");
1818 pref("browser.newtabpage.activity-stream.discoverystream.spocs-endpoint", "");
1819 pref("browser.newtabpage.activity-stream.discoverystream.spocs-endpoint-query", "");
1820 pref("browser.newtabpage.activity-stream.discoverystream.sponsored-collections.enabled", false);
1822 // Changes the spoc content.
1823 pref("browser.newtabpage.activity-stream.discoverystream.spocAdTypes", "");
1824 pref("browser.newtabpage.activity-stream.discoverystream.spocZoneIds", "");
1825 pref("browser.newtabpage.activity-stream.discoverystream.spocTopsitesAdTypes", "");
1826 pref("browser.newtabpage.activity-stream.discoverystream.spocTopsitesZoneIds", "");
1827 pref("browser.newtabpage.activity-stream.discoverystream.spocTopsitesPlacement.enabled", true);
1828 pref("browser.newtabpage.activity-stream.discoverystream.spocSiteId", "");
1829 pref("browser.newtabpage.activity-stream.discoverystream.ctaButtonSponsors", "");
1830 pref("browser.newtabpage.activity-stream.discoverystream.ctaButtonVariant", "");
1831 pref("browser.newtabpage.activity-stream.discoverystream.spocMessageVariant", "");
1833 pref("browser.newtabpage.activity-stream.discoverystream.sendToPocket.enabled", true);
1835 // List of regions that do not get stories, regardless of locale-list-config.
1836 pref("browser.newtabpage.activity-stream.discoverystream.region-stories-block", "");
1837 // List of locales that get stories, regardless of region-stories-config.
1838 #ifdef NIGHTLY_BUILD
1839   pref("browser.newtabpage.activity-stream.discoverystream.locale-list-config", "en-US,en-CA,en-GB");
1840 #else
1841   pref("browser.newtabpage.activity-stream.discoverystream.locale-list-config", "");
1842 #endif
1843 // List of regions that get stories by default.
1844 pref("browser.newtabpage.activity-stream.discoverystream.region-stories-config", "US,DE,CA,GB,IE,CH,AT,BE,IN,FR,IT,ES");
1845 // List of regions that support the new recommendations BFF, also requires region-stories-config
1846 pref("browser.newtabpage.activity-stream.discoverystream.region-bff-config", "US,DE,CA,GB,IE,CH,AT,BE,IN,FR,IT,ES");
1847 // Using merino for recommendations in nightly only
1848 #ifdef NIGHTLY_BUILD
1849   pref("browser.newtabpage.activity-stream.discoverystream.merino-provider.enabled", true);
1850 #else
1851   pref("browser.newtabpage.activity-stream.discoverystream.merino-provider.enabled", false);
1852 #endif
1853 pref("browser.newtabpage.activity-stream.discoverystream.merino-provider.endpoint", "merino.services.mozilla.com");
1854 // List of regions that get spocs by default.
1855 pref("browser.newtabpage.activity-stream.discoverystream.region-spocs-config", "US,CA,DE,GB,FR,IT,ES");
1856 // List of regions that don't get the 7 row layout.
1857 pref("browser.newtabpage.activity-stream.discoverystream.region-basic-config", "");
1859 // Add parameters to Pocket feed URL.
1860 pref("browser.newtabpage.activity-stream.discoverystream.pocket-feed-parameters", "");
1861 pref("browser.newtabpage.activity-stream.discoverystream.merino-feed-experiment", false);
1863 // Allows Pocket story collections to be dismissed.
1864 pref("browser.newtabpage.activity-stream.discoverystream.isCollectionDismissible", true);
1865 pref("browser.newtabpage.activity-stream.discoverystream.personalization.enabled", true);
1866 // Configurable keys used by personalization.
1867 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");
1868 // System pref to allow Pocket stories personalization to be turned on/off.
1869 pref("browser.newtabpage.activity-stream.discoverystream.recs.personalized", false);
1870 // System pref to allow Pocket sponsored content personalization to be turned on/off.
1871 pref("browser.newtabpage.activity-stream.discoverystream.spocs.personalized", true);
1873 // List of regions that get topics selection by default.
1874 pref("browser.newtabpage.activity-stream.discoverystream.topicSelection.region-topics-config", "");
1875 // List of locales that get topics selection by default.
1876 pref("browser.newtabpage.activity-stream.discoverystream.topicSelection.locale-topics-config", "en-US, en-GB, en-CA");
1877 // System pref to enable topic labels on Pocket cards
1878 pref("browser.newtabpage.activity-stream.discoverystream.topicLabels.enabled", false);
1880 // Flip this once the user has dismissed the Pocket onboarding experience,
1881 pref("browser.newtabpage.activity-stream.discoverystream.onboardingExperience.dismissed", false);
1882 pref("browser.newtabpage.activity-stream.discoverystream.onboardingExperience.enabled", false);
1884 // List of locales that get thumbs up/down on recommended stories by default.
1885 pref("browser.newtabpage.activity-stream.discoverystream.thumbsUpDown.locale-thumbs-config", "en-US, en-GB, en-CA");
1887 // List of regions that get thumbs up/down on recommended stories by default.
1888 #ifdef NIGHTLY_BUILD
1889   pref("browser.newtabpage.activity-stream.discoverystream.thumbsUpDown.region-thumbs-config", "US, CA");
1890 #else
1891   pref("browser.newtabpage.activity-stream.discoverystream.thumbsUpDown.region-thumbs-config", "");
1892 #endif
1894 // Shows users compact layout of Home New Tab page. Also requires region-thumbs-config.
1895 pref("browser.newtabpage.activity-stream.discoverystream.thumbsUpDown.searchTopsitesCompact", true);
1897 // User pref to show stories on newtab (feeds.system.topstories has to be set to true as well)
1898 pref("browser.newtabpage.activity-stream.feeds.section.topstories", true);
1900 // The pref controls if search hand-off is enabled for Activity Stream.
1901 pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar", true);
1903 pref("browser.newtabpage.activity-stream.logowordmark.alwaysVisible", true);
1905 // URLs from the user's history that contain this search param will be hidden
1906 // from the top sites. The value is a string with one of the following forms:
1907 // - "" (empty) - Disable this feature
1908 // - "key" - Search param named "key" with any or no value
1909 // - "key=" - Search param named "key" with no value
1910 // - "key=value" - Search param named "key" with value "value"
1911 pref("browser.newtabpage.activity-stream.hideTopSitesWithSearchParam", "mfadid=adm");
1913 // Separate about welcome
1914 pref("browser.aboutwelcome.enabled", true);
1915 // Used to set multistage welcome UX
1916 pref("browser.aboutwelcome.screens", "");
1917 // Used to enable window modal onboarding
1918 pref("browser.aboutwelcome.showModal", false);
1920 // Experiment Manager
1921 // See Console.sys.mjs LOG_LEVELS for all possible values
1922 pref("messaging-system.log", "warn");
1923 pref("messaging-system.rsexperimentloader.enabled", true);
1924 pref("messaging-system.rsexperimentloader.collection_id", "nimbus-desktop-experiments");
1925 pref("nimbus.debug", false);
1926 pref("nimbus.validation.enabled", true);
1928 // Nimbus QA prefs. Used to monitor pref-setting test experiments.
1929 pref("nimbus.qa.pref-1", "default");
1930 pref("nimbus.qa.pref-2", "default");
1932 // Startup Crash Tracking
1933 // number of startup crashes that can occur before starting into safe mode automatically
1934 // (this pref has no effect if more than 6 hours have passed since the last crash)
1935 pref("toolkit.startup.max_resumed_crashes", 3);
1937 // Whether to use RegisterApplicationRestart to restart the browser and resume
1938 // the session on next Windows startup
1939 #if defined(XP_WIN)
1940   pref("toolkit.winRegisterApplicationRestart", true);
1941 #endif
1943 // The values of preferredAction and alwaysAskBeforeHandling before pdf.js
1944 // became the default.
1945 pref("pdfjs.previousHandler.preferredAction", 0);
1946 pref("pdfjs.previousHandler.alwaysAskBeforeHandling", false);
1948 // Try to convert PDFs sent as octet-stream
1949 pref("pdfjs.handleOctetStream", true);
1951 // Is the sidebar positioned ahead of the content browser
1952 pref("sidebar.position_start", true);
1953 pref("sidebar.revamp", false);
1954 pref("sidebar.main.tools", "aichat,syncedtabs,history");
1955 pref("sidebar.verticalTabs", false);
1956 pref("sidebar.visibility", "always-show");
1958 pref("browser.ml.chat.enabled", false);
1959 pref("browser.ml.chat.hideLocalhost", true);
1960 pref("browser.ml.chat.prompt.prefix", 'I’m on page "%tabTitle%" with "%selection|12000%" selected. ');
1961 pref("browser.ml.chat.prompts.0", '{"label":"Summarize","value":"Please summarize the selection using precise and concise language. Use headers and bulleted lists in the summary, to make it scannable. Maintain the meaning and factual accuracy.","id":"summarize"}');
1962 pref("browser.ml.chat.prompts.1", '{"label":"Simplify Language","value":"Please rewrite the selection in plain, clear language suitable for a general audience without specialized knowledge. Use all of the following tactics: simple vocabulary; short sentences; active voice; headers and bulleted lists for scannability. Maintain meaning and factual accuracy.","id":"simplify"}');
1963 pref("browser.ml.chat.prompts.2", '{"label":"Quiz Me","value":"Please quiz me on this selection. Ask me a variety of types of questions, for example multiple choice, true or false, and short answer. Wait for my response before moving on to the next question.","id":"quiz","targeting":"!provider|regExpMatch(\'gemini\')"}');
1964 pref("browser.ml.chat.provider", "");
1965 pref("browser.ml.chat.shortcuts", false);
1966 pref("browser.ml.chat.shortcuts.custom", false);
1967 pref("browser.ml.chat.sidebar", true);
1969 pref("security.protectionspopup.recordEventTelemetry", true);
1970 pref("security.app_menu.recordEventTelemetry", true);
1972 // Block insecure active content on https pages
1973 pref("security.mixed_content.block_active_content", true);
1975 // Show "Not Secure" text for http pages; disabled for now
1976 #ifdef NIGHTLY_BUILD
1977 pref("security.insecure_connection_text.enabled", true);
1978 pref("security.insecure_connection_text.pbmode.enabled", true);
1979 #else
1980 pref("security.insecure_connection_text.enabled", false);
1981 pref("security.insecure_connection_text.pbmode.enabled", false);
1982 #endif
1984 // If this turns true, Moz*Gesture events are not called stopPropagation()
1985 // before content.
1986 pref("dom.debug.propagate_gesture_events_through_content", false);
1988 // CustomizableUI debug logging.
1989 pref("browser.uiCustomization.debug", false);
1991 // CustomizableUI state of the browser's user interface
1992 pref("browser.uiCustomization.state", "");
1994 // If set to false, FxAccounts and Sync will be unavailable.
1995 // A restart is mandatory after flipping that preference.
1996 pref("identity.fxaccounts.enabled", true);
1998 // The remote FxA root content URL. Must use HTTPS.
1999 pref("identity.fxaccounts.remote.root", "https://accounts.firefox.com/");
2001 // The value of the context query parameter passed in fxa requests.
2002 pref("identity.fxaccounts.contextParam", "fx_desktop_v3");
2004 // Whether to use the oauth flow for desktop or not
2005 pref("identity.fxaccounts.oauth.enabled", false);
2007 // The remote URL of the FxA Profile Server
2008 pref("identity.fxaccounts.remote.profile.uri", "https://profile.accounts.firefox.com/v1");
2010 // The remote URL of the FxA OAuth Server
2011 pref("identity.fxaccounts.remote.oauth.uri", "https://oauth.accounts.firefox.com/v1");
2013 // Whether FxA pairing using QR codes is enabled.
2014 pref("identity.fxaccounts.pairing.enabled", true);
2016 // The remote URI of the FxA pairing server
2017 pref("identity.fxaccounts.remote.pairing.uri", "wss://channelserver.services.mozilla.com");
2019 // Token server used by the FxA Sync identity.
2020 pref("identity.sync.tokenserver.uri", "https://token.services.mozilla.com/1.0/sync/1.5");
2022 // Auto-config URL for FxA self-hosters, makes an HTTP request to
2023 // [identity.fxaccounts.autoconfig.uri]/.well-known/fxa-client-configuration
2024 // This is now the prefered way of pointing to a custom FxA server, instead
2025 // of making changes to "identity.fxaccounts.*.uri".
2026 pref("identity.fxaccounts.autoconfig.uri", "");
2028 // URL for help link about Send Tab.
2029 pref("identity.sendtabpromo.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/send-tab");
2031 // URLs for promo links to mobile browsers. Note that consumers are expected to
2032 // append a value for utm_campaign.
2033 pref("identity.mobilepromo.android", "https://www.mozilla.org/firefox/android/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_campaign=");
2034 pref("identity.mobilepromo.ios", "https://www.mozilla.org/firefox/ios/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_campaign=");
2036 // Migrate any existing Firefox Account data from the default profile to the
2037 // Developer Edition profile.
2038 #ifdef MOZ_DEV_EDITION
2039   pref("identity.fxaccounts.migrateToDevEdition", true);
2040 #else
2041   pref("identity.fxaccounts.migrateToDevEdition", false);
2042 #endif
2044 // How often should we try to fetch missed FxA commands on sync (in seconds).
2045 // Default is 24 hours.
2046 pref("identity.fxaccounts.commands.missed.fetch_interval", 86400);
2048 // Controls whether this client can send and receive "close tab"
2049 // commands from other FxA clients
2050 pref("identity.fxaccounts.commands.remoteTabManagement.enabled", true);
2052 // Controls whether or not the client association ping has values set on it
2053 // when the sync-ui-state:update notification fires.
2054 pref("identity.fxaccounts.telemetry.clientAssociationPing.enabled", true);
2056 // Note: when media.gmp-*.visible is true, provided we're running on a
2057 // supported platform/OS version, the corresponding CDM appears in the
2058 // plugins list, Firefox will download the GMP/CDM if enabled, and our
2059 // UI to re-enable EME prompts the user to re-enable EME if it's disabled
2060 // and script requests EME. If *.visible is false, we won't show the UI
2061 // to enable the CDM if its disabled; it's as if the keysystem is completely
2062 // unsupported.
2064 #ifdef MOZ_WIDEVINE_EME
2065   pref("media.gmp-widevinecdm.visible", true);
2066   pref("media.gmp-widevinecdm.enabled", true);
2067 #if defined(MOZ_WMF_CDM) && defined(_M_AMD64)
2068   pref("media.gmp-widevinecdm-l1.forceInstall", false);
2069 #ifdef NIGHTLY_BUILD
2070   pref("media.gmp-widevinecdm-l1.visible", true);
2071   pref("media.gmp-widevinecdm-l1.enabled", true);
2072 #else
2073   pref("media.gmp-widevinecdm-l1.visible", false);
2074   pref("media.gmp-widevinecdm-l1.enabled", false);
2075 #endif
2076 #endif
2077 #endif
2079 pref("media.gmp-gmpopenh264.visible", true);
2080 pref("media.gmp-gmpopenh264.enabled", true);
2082 pref("media.videocontrols.picture-in-picture.enabled", true);
2083 pref("media.videocontrols.picture-in-picture.audio-toggle.enabled", true);
2084 pref("media.videocontrols.picture-in-picture.video-toggle.enabled", true);
2085 pref("media.videocontrols.picture-in-picture.video-toggle.visibility-threshold", "1.0");
2086 pref("media.videocontrols.picture-in-picture.keyboard-controls.enabled", true);
2087 pref("media.videocontrols.picture-in-picture.urlbar-button.enabled", true);
2088 pref("media.videocontrols.picture-in-picture.enable-when-switching-tabs.enabled", false);
2090 // TODO (Bug 1817084) - This pref is used for managing translation preferences
2091 // in the Firefox Translations addon. It should be removed when the addon is
2092 // removed.
2093 pref("browser.translation.neverForLanguages", "");
2095 // Enable Firefox translations powered by the Bergamot translations
2096 // engine https://browser.mt/.
2097 pref("browser.translations.enable", true);
2099 // Enable the new Firefox Translations Settings UI Design
2100 pref("browser.translations.newSettingsUI.enable", false);
2102 // Enable Firefox Select translations powered by Bergamot translations
2103 // engine https://browser.mt/.
2104 pref("browser.translations.select.enable", true);
2106 // Telemetry settings.
2107 // Determines if Telemetry pings can be archived locally.
2108 pref("toolkit.telemetry.archive.enabled", true);
2109 // Enables sending the shutdown ping when Firefox shuts down.
2110 pref("toolkit.telemetry.shutdownPingSender.enabled", true);
2111 // Enables using the `pingsender` background task.
2112 pref("toolkit.telemetry.shutdownPingSender.backgroundtask.enabled", false);
2113 // Enables sending the shutdown ping using the pingsender from the first session.
2114 pref("toolkit.telemetry.shutdownPingSender.enabledFirstSession", false);
2115 // Enables sending a duplicate of the first shutdown ping from the first session.
2116 pref("toolkit.telemetry.firstShutdownPing.enabled", true);
2117 // Enables sending the 'new-profile' ping on new profiles.
2118 pref("toolkit.telemetry.newProfilePing.enabled", true);
2119 // Enables sending 'update' pings on Firefox updates.
2120 pref("toolkit.telemetry.updatePing.enabled", true);
2121 // Enables sending 'bhr' pings when the browser hangs.
2122 pref("toolkit.telemetry.bhrPing.enabled", true);
2124 // Enable GMP support in the addon manager.
2125 pref("media.gmp-provider.enabled", true);
2127 // Enable Dynamic First-Party Isolation by default.
2128 pref("network.cookie.cookieBehavior", 5 /* BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN */);
2130 // Enable Dynamic First-Party Isolation in the private browsing mode.
2131 pref("network.cookie.cookieBehavior.pbmode", 5 /* BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN */);
2133 // Enable fingerprinting blocking by default for all channels, only on desktop.
2134 pref("privacy.trackingprotection.fingerprinting.enabled", true);
2136 // Enable cryptomining blocking by default for all channels, only on desktop.
2137 pref("privacy.trackingprotection.cryptomining.enabled", true);
2139 pref("browser.contentblocking.database.enabled", true);
2141 // Enable URL query stripping in Nightly.
2142 #ifdef NIGHTLY_BUILD
2143 pref("privacy.query_stripping.enabled", true);
2144 #endif
2146 // Enable Strip on Share by default on desktop
2147 pref("privacy.query_stripping.strip_on_share.enabled", true);
2149 pref("browser.contentblocking.cryptomining.preferences.ui.enabled", true);
2150 pref("browser.contentblocking.fingerprinting.preferences.ui.enabled", true);
2151 // Enable cookieBehavior = BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN as an option in the custom category ui
2152 pref("browser.contentblocking.reject-and-isolate-cookies.preferences.ui.enabled", true);
2154 // Possible values for browser.contentblocking.features.strict pref:
2155 //   Tracking Protection:
2156 //     "tp": tracking protection enabled
2157 //     "-tp": tracking protection disabled
2158 //   Tracking Protection in private windows:
2159 //     "tpPrivate": tracking protection in private windows enabled
2160 //     "-tpPrivate": tracking protection in private windows disabled
2161 //   Fingerprinting:
2162 //     "fp": fingerprinting blocking enabled
2163 //     "-fp": fingerprinting blocking disabled
2164 //   Cryptomining:
2165 //     "cm": cryptomining blocking enabled
2166 //     "-cm": cryptomining blocking disabled
2167 //   Social Tracking Protection:
2168 //     "stp": social tracking protection enabled
2169 //     "-stp": social tracking protection disabled
2170 //   Email Tracking Protection:
2171 //     "emailTP": email tracking protection enabled
2172 //     "-emailTP": email tracking protection disabled
2173 //   Email Tracking Protection in private windows:
2174 //     "emailTPPrivate": email tracking protection in private windows enabled
2175 //     "-emailTPPrivate": email tracking protection in private windows disabled
2176 //   Level 2 Tracking list in normal windows:
2177 //     "lvl2": Level 2 tracking list enabled
2178 //     "-lvl2": Level 2 tracking list disabled
2179 //   Restrict relaxing default referrer policy:
2180 //     "rp": Restrict relaxing default referrer policy enabled
2181 //     "-rp": Restrict relaxing default referrer policy disabled
2182 //   Restrict relaxing default referrer policy for top navigation:
2183 //     "rpTop": Restrict relaxing default referrer policy enabled
2184 //     "-rpTop": Restrict relaxing default referrer policy disabled
2185 //   OCSP cache partitioning:
2186 //     "ocsp": OCSP cache partitioning enabled
2187 //     "-ocsp": OCSP cache partitioning disabled
2188 //   Query parameter stripping:
2189 //     "qps": Query parameter stripping enabled
2190 //     "-qps": Query parameter stripping disabled
2191 //   Query parameter stripping for private windows:
2192 //     "qpsPBM": Query parameter stripping enabled in private windows
2193 //     "-qpsPBM": Query parameter stripping disabled in private windows
2194 //   Fingerprinting Protection:
2195 //     "fpp": Fingerprinting Protection enabled
2196 //     "-fpp": Fingerprinting Protection disabled
2197 //   Fingerprinting Protection for private windows:
2198 //     "fppPrivate": Fingerprinting Protection enabled in private windows
2199 //     "-fppPrivate": Fingerprinting Protection disabled in private windows
2200 //   Cookie behavior:
2201 //     "cookieBehavior0": cookie behaviour BEHAVIOR_ACCEPT
2202 //     "cookieBehavior1": cookie behaviour BEHAVIOR_REJECT_FOREIGN
2203 //     "cookieBehavior2": cookie behaviour BEHAVIOR_REJECT
2204 //     "cookieBehavior3": cookie behaviour BEHAVIOR_LIMIT_FOREIGN
2205 //     "cookieBehavior4": cookie behaviour BEHAVIOR_REJECT_TRACKER
2206 //     "cookieBehavior5": cookie behaviour BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN
2207 //   Cookie behavior for private windows:
2208 //     "cookieBehaviorPBM0": cookie behaviour BEHAVIOR_ACCEPT
2209 //     "cookieBehaviorPBM1": cookie behaviour BEHAVIOR_REJECT_FOREIGN
2210 //     "cookieBehaviorPBM2": cookie behaviour BEHAVIOR_REJECT
2211 //     "cookieBehaviorPBM3": cookie behaviour BEHAVIOR_LIMIT_FOREIGN
2212 //     "cookieBehaviorPBM4": cookie behaviour BEHAVIOR_REJECT_TRACKER
2213 //     "cookieBehaviorPBM5": cookie behaviour BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN
2214 //   Third-party cookie deprecation behavior:
2215 //     "3pcd": Third-party cookie deprecation enabled
2216 //     "-3pcd": Third-party cookie deprecation disabled
2217 // One value from each section must be included in the browser.contentblocking.features.strict pref.
2218 #ifdef NIGHTLY_BUILD
2219 pref("browser.contentblocking.features.strict", "tp,tpPrivate,cookieBehavior5,cookieBehaviorPBM5,cm,fp,stp,emailTP,emailTPPrivate,lvl2,rp,rpTop,ocsp,qps,qpsPBM,fpp,fppPrivate,3pcd");
2220 #else
2221 pref("browser.contentblocking.features.strict", "tp,tpPrivate,cookieBehavior5,cookieBehaviorPBM5,cm,fp,stp,emailTP,emailTPPrivate,lvl2,rp,rpTop,ocsp,qps,qpsPBM,fpp,fppPrivate");
2222 #endif
2224 // Hide the "Change Block List" link for trackers/tracking content in the custom
2225 // Content Blocking/ETP panel. By default, it will not be visible. There is also
2226 // an UI migration in place to set this pref to true if a user has a custom block
2227 // lists enabled.
2228 pref("browser.contentblocking.customBlockList.preferences.ui.enabled", false);
2230 // Enable Protections report's Lockwise card by default.
2231 pref("browser.contentblocking.report.lockwise.enabled", true);
2233 // Disable rotections report's Monitor card by default. The new Monitor API does
2234 // not support this feature as of now. See Bug 1815751.
2235 pref("browser.contentblocking.report.monitor.enabled", false);
2237 // Disable Protections report's Proxy card by default.
2238 pref("browser.contentblocking.report.proxy.enabled", false);
2240 // Disable the mobile promotion by default.
2241 pref("browser.contentblocking.report.show_mobile_app", true);
2243 // Locales in which Send to Device emails are supported
2244 // The most recent list of supported locales can be found at https://github.com/mozilla/bedrock/blob/6a08c876f65924651554decc57b849c00874b4e7/bedrock/settings/base.py#L963
2245 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");
2247 // Avoid advertising in certain regions. Comma separated string of two letter ISO 3166-1 country codes.
2248 pref("browser.vpn_promo.disallowed_regions", "ae,by,cn,cu,iq,ir,kp,om,ru,sd,sy,tm,tr");
2250 // Default to enabling VPN promo messages to be shown when specified and allowed
2251 pref("browser.vpn_promo.enabled", true);
2252 // Only show vpn card to certain regions. Comma separated string of two letter ISO 3166-1 country codes.
2253 // The most recent list of supported countries can be found at https://support.mozilla.org/en-US/kb/mozilla-vpn-countries-available-subscribe
2254 // The full list of supported country codes can also be found at https://github.com/mozilla/bedrock/search?q=VPN_COUNTRY_CODES
2255 pref("browser.contentblocking.report.vpn_regions", "ca,my,nz,sg,gb,gg,im,io,je,uk,vg,as,mp,pr,um,us,vi,de,fr,at,be,ch,es,it,ie,nl,se,fi,bg,cy,cz,dk,ee,hr,hu,lt,lu,lv,mt,pl,pt,ro,si,sk");
2257 // Avoid advertising Focus in certain regions.  Comma separated string of two letter
2258 // ISO 3166-1 country codes.
2259 pref("browser.promo.focus.disallowed_regions", "cn");
2261 // Default to enabling focus promos to be shown where allowed.
2262 pref("browser.promo.focus.enabled", true);
2264 // Default to enabling pin promos to be shown where allowed.
2265 pref("browser.promo.pin.enabled", true);
2267 // Default to enabling cookie banner reduction promos to be shown where allowed.
2268 // Set to true for Fx113 (see bug 1808611)
2269 pref("browser.promo.cookiebanners.enabled", false);
2271 pref("browser.contentblocking.report.hide_vpn_banner", false);
2272 pref("browser.contentblocking.report.vpn_sub_id", "sub_HrfCZF7VPHzZkA");
2274 pref("browser.contentblocking.report.monitor.url", "https://monitor.firefox.com/?entrypoint=protection_report_monitor&utm_source=about-protections");
2275 pref("browser.contentblocking.report.monitor.how_it_works.url", "https://monitor.firefox.com/about");
2276 pref("browser.contentblocking.report.monitor.sign_in_url", "https://monitor.firefox.com/oauth/init?entrypoint=protection_report_monitor&utm_source=about-protections&email=");
2277 pref("browser.contentblocking.report.monitor.preferences_url", "https://monitor.firefox.com/user/preferences");
2278 pref("browser.contentblocking.report.monitor.home_page_url", "https://monitor.firefox.com/user/dashboard");
2279 pref("browser.contentblocking.report.manage_devices.url", "https://accounts.firefox.com/settings/clients");
2280 pref("browser.contentblocking.report.endpoint_url", "https://monitor.firefox.com/user/breach-stats?includeResolved=true");
2281 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");
2282 pref("browser.contentblocking.report.mobile-ios.url", "https://apps.apple.com/app/firefox-private-safe-browser/id989804926");
2283 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");
2284 pref("browser.contentblocking.report.vpn.url", "https://vpn.mozilla.org/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_campaign=about-protections-card");
2285 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");
2286 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--");
2287 pref("browser.contentblocking.report.vpn-ios.url", "https://apps.apple.com/us/app/firefox-private-network-vpn/id1489407738");
2289 // Protection Report's SUMO urls
2290 pref("browser.contentblocking.report.lockwise.how_it_works.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/password-manager-report");
2291 pref("browser.contentblocking.report.social.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/social-media-tracking-report");
2292 pref("browser.contentblocking.report.cookie.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/cross-site-tracking-report");
2293 pref("browser.contentblocking.report.tracker.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/tracking-content-report");
2294 pref("browser.contentblocking.report.fingerprinter.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/fingerprinters-report");
2295 pref("browser.contentblocking.report.cryptominer.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/cryptominers-report");
2297 pref("browser.contentblocking.cfr-milestone.enabled", true);
2298 pref("browser.contentblocking.cfr-milestone.milestone-achieved", 0);
2299 // Milestones should always be in increasing order
2300 pref("browser.contentblocking.cfr-milestone.milestones", "[1000, 5000, 10000, 25000, 50000, 100000, 250000, 314159, 500000, 750000, 1000000, 1250000, 1500000, 1750000, 2000000, 2250000, 2500000, 8675309]");
2302 // Controls the initial state of the protections panel collapsible info message.
2303 pref("browser.protections_panel.infoMessage.seen", false);
2305 // Always enable newtab segregation using containers
2306 pref("privacy.usercontext.about_newtab_segregation.enabled", true);
2307 // Enable Contextual Identity Containers
2308 #ifdef NIGHTLY_BUILD
2309   pref("privacy.userContext.enabled", true);
2310   pref("privacy.userContext.ui.enabled", true);
2311 #else
2312   pref("privacy.userContext.enabled", false);
2313   pref("privacy.userContext.ui.enabled", false);
2314 #endif
2315 pref("privacy.userContext.extension", "");
2316 // allows user to open container menu on a left click instead of a new
2317 // tab in the default container
2318 pref("privacy.userContext.newTabContainerOnLeftClick.enabled", false);
2320 // Set to true to allow the user to silence all notifications when
2321 // sharing the screen.
2322 pref("privacy.webrtc.allowSilencingNotifications", true);
2323 pref("privacy.webrtc.hideGlobalIndicator", false);
2325 // Set to true to add toggles to the WebRTC indicator for globally
2326 // muting the camera and microphone.
2327 pref("privacy.webrtc.globalMuteToggles", false);
2329 // Set to true to enable a warning displayed when attempting
2330 // to switch tabs in a window that's being shared over WebRTC.
2331 pref("privacy.webrtc.sharedTabWarning", false);
2333 // Defines a grace period after camera or microphone use ends, where permission
2334 // is granted (even past navigation) to this tab + origin + device. This avoids
2335 // re-prompting without the user having to persist permission to the site, in a
2336 // common case of a web conference asking them for the camera in a lobby page,
2337 // before navigating to the actual meeting room page. Doesn't survive tab close.
2338 pref("privacy.webrtc.deviceGracePeriodTimeoutMs", 3600000);
2340 // Bug 1857254 - MacOS 14 displays two (microphone/camera/screen share) icons in the menu bar
2341 // This pref can be used to hide the firefox camera icon on macos 14 and above to avoid
2342 // duplicating the macos camera icon. We show the icon by default, users can choose to flip
2343 // the pref to hide the icons
2344 pref("privacy.webrtc.showIndicatorsOnMacos14AndAbove", true);
2346 // Enable Fingerprinting Protection in private windows..
2347 pref("privacy.fingerprintingProtection.pbmode", true);
2349 // Enable including the content in the window title.
2350 // PBM users might want to disable this to avoid a possible source of disk
2351 // leaks.
2352 pref("privacy.exposeContentTitleInWindow", true);
2353 pref("privacy.exposeContentTitleInWindow.pbm", true);
2355 // Run media transport in a separate process?
2356 pref("media.peerconnection.mtransport_process", true);
2358 // Whether the "Close duplicate tabs" tab context menu is enabled.
2359 pref("browser.tabs.context.close-duplicate.enabled", true);
2361 // For speculatively warming up tabs to improve perceived
2362 // performance while using the async tab switcher.
2363 pref("browser.tabs.remote.warmup.enabled", true);
2365 // Caches tab layers to improve perceived performance
2366 // of tab switches.
2367 pref("browser.tabs.remote.tabCacheSize", 0);
2369 pref("browser.tabs.remote.warmup.maxTabs", 3);
2370 pref("browser.tabs.remote.warmup.unloadDelayMs", 2000);
2372 // For the about:tabcrashed page
2373 pref("browser.tabs.crashReporting.sendReport", true);
2374 pref("browser.tabs.crashReporting.includeURL", false);
2376 // If true, unprivileged extensions may use experimental APIs on
2377 // nightly and developer edition.
2378 pref("extensions.experiments.enabled", false);
2380 #if defined(XP_WIN)
2381   pref("dom.ipc.processPriorityManager.backgroundUsesEcoQoS", true);
2382 #endif
2384 // Don't limit how many nodes we care about on desktop:
2385 pref("reader.parse-node-limit", 0);
2387 // On desktop, we want the URLs to be included here for ease of debugging,
2388 // and because (normally) these errors are not persisted anywhere.
2389 pref("reader.errors.includeURLs", true);
2391 pref("view_source.tab", true);
2393 // These are the thumbnail width/height set in about:newtab.
2394 // If you change this, ENSURE IT IS THE SAME SIZE SET
2395 // by about:newtab. These values are in CSS pixels.
2396 pref("toolkit.pageThumbs.minWidth", 280);
2397 pref("toolkit.pageThumbs.minHeight", 190);
2399 pref("browser.esedbreader.loglevel", "Error");
2401 pref("browser.laterrun.enabled", false);
2403 #ifdef FUZZING_SNAPSHOT
2404 pref("dom.ipc.processPrelaunch.enabled", false);
2405 #else
2406 pref("dom.ipc.processPrelaunch.enabled", true);
2407 #endif
2409 pref("browser.migrate.bookmarks-file.enabled", true);
2410 pref("browser.migrate.brave.enabled", true);
2411 pref("browser.migrate.canary.enabled", true);
2413 pref("browser.migrate.chrome.enabled", true);
2414 // See comments in bug 1340115 on how we got to this number.
2415 pref("browser.migrate.chrome.history.limit", 2000);
2416 pref("browser.migrate.chrome.payment_methods.enabled", true);
2417 pref("browser.migrate.chrome.extensions.enabled", true);
2418 pref("browser.migrate.chrome.get_permissions.enabled", true);
2420 pref("browser.migrate.chrome-beta.enabled", true);
2421 pref("browser.migrate.chrome-dev.enabled", true);
2422 pref("browser.migrate.chromium.enabled", true);
2423 pref("browser.migrate.chromium-360se.enabled", true);
2424 pref("browser.migrate.chromium-edge.enabled", true);
2425 pref("browser.migrate.chromium-edge-beta.enabled", true);
2426 pref("browser.migrate.edge.enabled", true);
2427 pref("browser.migrate.firefox.enabled", true);
2428 pref("browser.migrate.ie.enabled", true);
2429 pref("browser.migrate.opera.enabled", true);
2430 pref("browser.migrate.opera-gx.enabled", true);
2431 pref("browser.migrate.safari.enabled", true);
2432 pref("browser.migrate.vivaldi.enabled", true);
2434 pref("browser.migrate.content-modal.import-all.enabled", true);
2436 // Values can be: "default", "autoclose", "standalone", "embedded".
2437 pref("browser.migrate.content-modal.about-welcome-behavior", "embedded");
2439 // The maximum age of history entries we'll import, in days.
2440 pref("browser.migrate.history.maxAgeInDays", 180);
2442 // These following prefs are set to true if the user has at some
2443 // point in the past migrated one of these resource types from
2444 // another browser. We also attempt to transfer these preferences
2445 // across profile resets.
2446 pref("browser.migrate.interactions.bookmarks", false);
2447 pref("browser.migrate.interactions.csvpasswords", false);
2448 pref("browser.migrate.interactions.history", false);
2449 pref("browser.migrate.interactions.passwords", false);
2451 pref("browser.migrate.preferences-entrypoint.enabled", true);
2453 pref("extensions.pocket.api", "api.getpocket.com");
2454 pref("extensions.pocket.bffApi", "firefox-api-proxy.cdn.mozilla.net");
2455 pref("extensions.pocket.bffRecentSaves", true);
2456 pref("extensions.pocket.enabled", true);
2457 pref("extensions.pocket.oAuthConsumerKey", "40249-e88c401e1b1f2242d9e441c4");
2458 pref("extensions.pocket.oAuthConsumerKeyBff", "94110-6d5ff7a89d72c869766af0e0");
2459 pref("extensions.pocket.site", "getpocket.com");
2461 // Enable Pocket button home panel for non link pages.
2462 pref("extensions.pocket.showHome", true);
2464 // Control what version of the logged out doorhanger is displayed
2465 // Possibilities are: `control`, `control-one-button`, `variant_a`, `variant_b`, `variant_c`
2466 pref("extensions.pocket.loggedOutVariant", "control");
2468 // Just for the new Pocket panels, enables the email signup button.
2469 pref("extensions.pocket.refresh.emailButton.enabled", false);
2470 // Hides the recently saved section in the home panel.
2471 pref("extensions.pocket.refresh.hideRecentSaves.enabled", false);
2473 pref("signon.management.page.fileImport.enabled", true);
2475 // "available"      - user can see feature offer.
2476 // "offered"        - we have offered feature to user and they have not yet made a decision.
2477 // "enabled"        - user opted in to the feature.
2478 // "disabled"       - user opted out of the feature.
2479 pref("signon.firefoxRelay.feature", "available");
2480 pref("signon.management.page.breach-alerts.enabled", true);
2481 pref("signon.management.page.vulnerable-passwords.enabled", true);
2482 pref("signon.management.page.sort", "name");
2483 // The utm_creative value is appended within the code (specific to the location on
2484 // where it is clicked). Be sure that if these two prefs are updated, that
2485 // the utm_creative param be last.
2486 pref("signon.management.page.breachAlertUrl",
2487      "https://monitor.firefox.com/breach-details/");
2488 pref("signon.passwordEditCapture.enabled", true);
2489 pref("signon.relatedRealms.enabled", false);
2490 pref("signon.showAutoCompleteFooter", true);
2491 pref("signon.showAutoCompleteImport", "import");
2492 pref("signon.suggestImportCount", 3);
2494 // Space separated list of URLS that are allowed to send objects (instead of
2495 // only strings) through webchannels. Bug 1275612 tracks removing this pref and capability.
2496 pref("webchannel.allowObject.urlWhitelist", "https://content.cdn.mozilla.net https://install.mozilla.org");
2498 // Whether or not the browser should scan for unsubmitted
2499 // crash reports, and then show a notification for submitting
2500 // those reports.
2501 #ifdef NIGHTLY_BUILD
2502   pref("browser.crashReports.unsubmittedCheck.enabled", true);
2503 #else
2504   pref("browser.crashReports.unsubmittedCheck.enabled", false);
2505 #endif
2507 // chancesUntilSuppress is how many times we'll show the unsubmitted
2508 // crash report notification across different days and shutdown
2509 // without a user choice before we suppress the notification for
2510 // some number of days.
2511 pref("browser.crashReports.unsubmittedCheck.chancesUntilSuppress", 4);
2512 pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
2514 // Preferences for the form autofill toolkit component.
2515 // Checkbox in sync options for credit card data sync service
2516 pref("services.sync.engine.creditcards.available", true);
2518 // Whether or not to restore a session with lazy-browser tabs.
2519 pref("browser.sessionstore.restore_tabs_lazily", true);
2521 pref("browser.suppress_first_window_animation", true);
2523 // Preference that allows individual users to disable Screenshots.
2524 pref("extensions.screenshots.disabled", false);
2526 // Preference that determines whether Screenshots uses the dedicated browser component
2527 pref("screenshots.browser.component.enabled", true);
2529 // Preference that determines what button to focus
2530 pref("screenshots.browser.component.last-saved-method", "download");
2532 // Preference that prevents events from reaching the content page.
2533 pref("screenshots.browser.component.preventContentEvents", true);
2535 // DoH Rollout: whether to clear the mode value at shutdown.
2536 pref("doh-rollout.clearModeOnShutdown", false);
2538 // Normandy client preferences
2539 pref("app.normandy.api_url", "https://normandy.cdn.mozilla.net/api/v1");
2540 pref("app.normandy.dev_mode", false);
2541 pref("app.normandy.enabled", true);
2542 pref("app.normandy.first_run", true);
2543 pref("app.normandy.logging.level", 50); // Warn
2544 pref("app.normandy.run_interval_seconds", 21600); // 6 hours
2545 pref("app.normandy.shieldLearnMoreUrl", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/shield");
2546 pref("app.normandy.last_seen_buildid", "");
2547 pref("app.normandy.onsync_skew_sec", 600);
2548 #ifdef MOZ_DATA_REPORTING
2549   pref("app.shield.optoutstudies.enabled", true);
2550 #else
2551   pref("app.shield.optoutstudies.enabled", false);
2552 #endif
2554 // Multi-lingual preferences:
2555 //  *.enabled - Are langpacks available for the build of Firefox?
2556 //  *.downloadEnabled - Langpacks are allowed to be downloaded from AMO. AMO only serves
2557 //      langpacks for release and beta. Unsupported releases (like Nightly) can be
2558 //      manually tested with the following preference:
2559 //      extensions.getAddons.langpacks.url: https://mock-amo-language-tools.glitch.me/?app=firefox&type=language&appversion=%VERSION%
2560 //  *.liveReload - Switching a langpack will change the language without a restart.
2561 //  *.liveReloadBidirectional - Allows switching when moving between LTR and RTL
2562 //      languages without a full restart.
2563 //  *.aboutWelcome.languageMismatchEnabled - Enables an onboarding menu in about:welcome
2564 //      to allow a user to change their language when there is a language mismatch between
2565 //      the app and browser.
2566 #if defined(RELEASE_OR_BETA) && !defined(MOZ_DEV_EDITION)
2567   pref("intl.multilingual.enabled", true);
2568   pref("intl.multilingual.downloadEnabled", true);
2569   pref("intl.multilingual.liveReload", true);
2570   pref("intl.multilingual.liveReloadBidirectional", false);
2571   pref("intl.multilingual.aboutWelcome.languageMismatchEnabled", true);
2572 #else
2573   pref("intl.multilingual.enabled", false);
2574   pref("intl.multilingual.downloadEnabled", false);
2575   pref("intl.multilingual.liveReload", false);
2576   pref("intl.multilingual.liveReloadBidirectional", false);
2577   pref("intl.multilingual.aboutWelcome.languageMismatchEnabled", false);
2578 #endif
2580 // Coverage ping is disabled by default.
2581 pref("toolkit.coverage.enabled", false);
2582 pref("toolkit.coverage.endpoint.base", "https://coverage.mozilla.org");
2584 // Discovery prefs
2585 pref("browser.discovery.enabled", true);
2586 pref("browser.discovery.containers.enabled", true);
2587 pref("browser.discovery.sites", "addons.mozilla.org");
2589 pref("browser.engagement.recent_visited_origins.expiry", 86400); // 24 * 60 * 60 (24 hours in seconds)
2590 pref("browser.engagement.downloads-button.has-used", false);
2591 pref("browser.engagement.fxa-toolbar-menu-button.has-used", false);
2592 pref("browser.engagement.home-button.has-used", false);
2593 pref("browser.engagement.sidebar-button.has-used", false);
2594 pref("browser.engagement.library-button.has-used", false);
2595 pref("browser.engagement.ctrlTab.has-used", false);
2597 pref("browser.aboutConfig.showWarning", true);
2599 pref("browser.toolbars.keyboard_navigation", true);
2601 // The visibility of the bookmarks toolbar.
2602 // "newtab": Show on the New Tab Page
2603 // "always": Always show
2604 // "never": Never show
2605 pref("browser.toolbars.bookmarks.visibility", "newtab");
2607 // Visibility of the "Show Other Bookmarks" menuitem in the
2608 // bookmarks toolbar contextmenu.
2609 pref("browser.toolbars.bookmarks.showOtherBookmarks", true);
2612 // Felt Privacy pref to control simplified private browsing UI
2613 pref("browser.privatebrowsing.felt-privacy-v1", false);
2615 // Prefs to control the Firefox Account toolbar menu.
2616 // This pref will surface existing Firefox Account information
2617 // as a button next to the hamburger menu. It allows
2618 // quick access to sign-in and manage your Firefox Account.
2619 pref("identity.fxaccounts.toolbar.enabled", true);
2620 pref("identity.fxaccounts.toolbar.accessed", false);
2621 pref("identity.fxaccounts.toolbar.defaultVisible", true);
2623 // Prefs to control Firefox Account panels that shows call to actions
2624 // for other supported Mozilla products
2625 pref("identity.fxaccounts.toolbar.pxiToolbarEnabled", true);
2626 pref("identity.fxaccounts.toolbar.pxiToolbarEnabled.monitorEnabled", true);
2627 pref("identity.fxaccounts.toolbar.pxiToolbarEnabled.relayEnabled", true);
2628 pref("identity.fxaccounts.toolbar.pxiToolbarEnabled.vpnEnabled", true);
2630 // Toolbox preferences
2631 pref("devtools.toolbox.footer.height", 250);
2632 pref("devtools.toolbox.sidebar.width", 500);
2633 pref("devtools.toolbox.host", "bottom");
2634 pref("devtools.toolbox.previousHost", "right");
2635 pref("devtools.toolbox.selectedTool", "inspector");
2636 pref("devtools.toolbox.zoomValue", "1");
2637 pref("devtools.toolbox.splitconsole.enabled", true);
2638 pref("devtools.toolbox.splitconsole.open", false);
2639 pref("devtools.toolbox.splitconsoleHeight", 100);
2640 pref("devtools.toolbox.tabsOrder", "");
2641 // This is only used for local Web Extension debugging,
2642 // and allows to keep the window on top of all others,
2643 // so that you can debug the Firefox window, while keeping the devtools
2644 // always visible
2645 pref("devtools.toolbox.alwaysOnTop", true);
2647 // When the Multiprocess Browser Toolbox is enabled, you can configure the scope of it:
2648 // - "everything" will enable debugging absolutely everything in the browser
2649 //   All processes, all documents, all workers, all add-ons.
2650 // - "parent-process" will restrict debugging to the parent process
2651 //   All privileged javascript, documents and workers running in the parent process.
2652 pref("devtools.browsertoolbox.scope", "parent-process");
2654 // This preference will enable watching top-level targets from the server side.
2655 pref("devtools.target-switching.server.enabled", true);
2657 // In DevTools, create a target for each frame (i.e. not only for top-level document and
2658 // remote frames).
2659 pref("devtools.every-frame-target.enabled", true);
2661 // Controls the hability to debug popups from the same DevTools
2662 // of the original tab the popups are coming from
2663 pref("devtools.popups.debug", false);
2665 // Toolbox Button preferences
2666 pref("devtools.command-button-pick.enabled", true);
2667 pref("devtools.command-button-frames.enabled", true);
2668 pref("devtools.command-button-responsive.enabled", true);
2669 pref("devtools.command-button-screenshot.enabled", false);
2670 pref("devtools.command-button-rulers.enabled", false);
2671 pref("devtools.command-button-measure.enabled", false);
2672 pref("devtools.command-button-noautohide.enabled", false);
2673 pref("devtools.command-button-errorcount.enabled", true);
2674 #ifndef MOZILLA_OFFICIAL
2675   pref("devtools.command-button-experimental-prefs.enabled", true);
2676 #endif
2678 // Inspector preferences
2679 // Enable the Inspector
2680 pref("devtools.inspector.enabled", true);
2681 // What was the last active sidebar in the inspector
2682 pref("devtools.inspector.selectedSidebar", "layoutview");
2683 pref("devtools.inspector.activeSidebar", "layoutview");
2684 pref("devtools.inspector.remote", false);
2686 // Enable the 3 pane mode in the inspector
2687 pref("devtools.inspector.three-pane-enabled", true);
2688 // Enable the 3 pane mode in the chrome inspector
2689 pref("devtools.inspector.chrome.three-pane-enabled", false);
2690 // Collapse pseudo-elements by default in the rule-view
2691 pref("devtools.inspector.show_pseudo_elements", false);
2692 // The default size for image preview tooltips in the rule-view/computed-view/markup-view
2693 pref("devtools.inspector.imagePreviewTooltipSize", 300);
2694 // Enable user agent style inspection in rule-view
2695 pref("devtools.inspector.showUserAgentStyles", false);
2696 // Show native anonymous content and user agent shadow roots
2697 pref("devtools.inspector.showAllAnonymousContent", false);
2698 // Enable overflow debugging in the inspector.
2699 pref("devtools.overflow.debugging.enabled", true);
2700 // Enable drag to edit properties in the inspector rule view.
2701 pref("devtools.inspector.draggable_properties", true);
2703 // Grid highlighter preferences
2704 pref("devtools.gridinspector.gridOutlineMaxColumns", 50);
2705 pref("devtools.gridinspector.gridOutlineMaxRows", 50);
2706 pref("devtools.gridinspector.showGridAreas", false);
2707 pref("devtools.gridinspector.showGridLineNumbers", false);
2708 pref("devtools.gridinspector.showInfiniteLines", false);
2709 // Max number of grid highlighters that can be displayed
2710 pref("devtools.gridinspector.maxHighlighters", 3);
2712 // Whether or not simplified highlighters should be used when
2713 // prefers-reduced-motion is enabled.
2714 pref("devtools.inspector.simple-highlighters-reduced-motion", false);
2715 // Wheter or not Enter on inplace editor in the Rules view moves focus and activates
2716 // next inplace editor.
2717 pref("devtools.inspector.rule-view.focusNextOnEnter", true);
2718 // Display @starting-style rules in the Rules view.
2719 pref("devtools.inspector.rule-view.starting-style", true);
2721 // Whether or not the box model panel is opened in the layout view
2722 pref("devtools.layout.boxmodel.opened", true);
2723 // Whether or not the flexbox panel is opened in the layout view
2724 pref("devtools.layout.flexbox.opened", true);
2725 // Whether or not the flexbox container panel is opened in the layout view
2726 pref("devtools.layout.flex-container.opened", true);
2727 // Whether or not the flexbox item panel is opened in the layout view
2728 pref("devtools.layout.flex-item.opened", true);
2729 // Whether or not the grid inspector panel is opened in the layout view
2730 pref("devtools.layout.grid.opened", true);
2732 // Enable hovering Box Model values and jumping to their source CSS rule in the
2733 // rule-view.
2734 #if defined(NIGHTLY_BUILD)
2735   pref("devtools.layout.boxmodel.highlightProperty", true);
2736 #else
2737   pref("devtools.layout.boxmodel.highlightProperty", false);
2738 #endif
2740 // By how many times eyedropper will magnify pixels
2741 pref("devtools.eyedropper.zoom", 6);
2743 // Enable to collapse attributes that are too long.
2744 pref("devtools.markup.collapseAttributes", true);
2745 // Length to collapse attributes
2746 pref("devtools.markup.collapseAttributeLength", 120);
2747 // Whether to auto-beautify the HTML on copy.
2748 pref("devtools.markup.beautifyOnCopy", false);
2750 // DevTools default color unit
2751 pref("devtools.defaultColorUnit", "authored");
2753 // Enable the Memory tools
2754 pref("devtools.memory.enabled", true);
2756 pref("devtools.memory.custom-census-displays", "{}");
2757 pref("devtools.memory.custom-label-displays", "{}");
2758 pref("devtools.memory.custom-tree-map-displays", "{}");
2760 pref("devtools.memory.max-individuals", 1000);
2761 pref("devtools.memory.max-retaining-paths", 10);
2763 // Enable the Performance tools
2764 pref("devtools.performance.enabled", true);
2766 // The default cache UI setting
2767 pref("devtools.cache.disabled", false);
2769 // The default service workers UI setting
2770 pref("devtools.serviceWorkers.testing.enabled", false);
2772 // Enable the Network Monitor
2773 pref("devtools.netmonitor.enabled", true);
2775 pref("devtools.netmonitor.features.search", true);
2776 pref("devtools.netmonitor.features.requestBlocking", true);
2778 // Enable the Application panel
2779 pref("devtools.application.enabled", true);
2781 // Enable the custom formatters feature
2782 // This preference represents the user's choice to enable the custom formatters feature.
2783 // While the preference above will be removed once the feature is stable, this one is menat to stay.
2784 pref("devtools.custom-formatters.enabled", false);
2786 // The default Network Monitor UI settings
2787 pref("devtools.netmonitor.panes-network-details-width", 550);
2788 pref("devtools.netmonitor.panes-network-details-height", 450);
2789 pref("devtools.netmonitor.panes-search-width", 550);
2790 pref("devtools.netmonitor.panes-search-height", 450);
2791 pref("devtools.netmonitor.filters", "[\"all\"]");
2792 pref("devtools.netmonitor.visibleColumns",
2793     "[\"status\",\"method\",\"domain\",\"file\",\"initiator\",\"type\",\"transferred\",\"contentSize\",\"waterfall\"]"
2795 pref("devtools.netmonitor.columnsData",
2796   '[{"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}]');
2797 pref("devtools.netmonitor.msg.payload-preview-height", 128);
2798 pref("devtools.netmonitor.msg.visibleColumns",
2799   '["data", "time"]'
2801 pref("devtools.netmonitor.msg.displayed-messages.limit", 500);
2803 pref("devtools.netmonitor.response.ui.limit", 10240);
2805 // Save request/response bodies yes/no.
2806 pref("devtools.netmonitor.saveRequestAndResponseBodies", true);
2808 // The default Network monitor HAR export setting
2809 pref("devtools.netmonitor.har.defaultLogDir", "");
2810 pref("devtools.netmonitor.har.defaultFileName", "%hostname_Archive [%date]");
2811 pref("devtools.netmonitor.har.jsonp", false);
2812 pref("devtools.netmonitor.har.jsonpCallback", "");
2813 pref("devtools.netmonitor.har.includeResponseBodies", true);
2814 pref("devtools.netmonitor.har.compress", false);
2815 pref("devtools.netmonitor.har.forceExport", false);
2816 pref("devtools.netmonitor.har.pageLoadedTimeout", 1500);
2817 pref("devtools.netmonitor.har.enableAutoExportToFile", false);
2818 pref("devtools.netmonitor.har.multiple-pages", false);
2820 // netmonitor audit
2821 pref("devtools.netmonitor.audits.slow", 500);
2823 // Enable the new Edit and Resend panel
2824   pref("devtools.netmonitor.features.newEditAndResend", true);
2826 pref("devtools.netmonitor.customRequest", '{}');
2828 // Enable the Storage Inspector
2829 pref("devtools.storage.enabled", true);
2831 // Enable the Style Editor.
2832 pref("devtools.styleeditor.enabled", true);
2833 pref("devtools.styleeditor.autocompletion-enabled", true);
2834 pref("devtools.styleeditor.showAtRulesSidebar", true);
2835 pref("devtools.styleeditor.atRulesSidebarWidth", 238);
2836 pref("devtools.styleeditor.navSidebarWidth", 245);
2837 pref("devtools.styleeditor.transitions", true);
2839 // Screenshot Option Settings.
2840 pref("devtools.screenshot.clipboard.enabled", false);
2841 pref("devtools.screenshot.audio.enabled", true);
2843 // Make sure the DOM panel is hidden by default
2844 pref("devtools.dom.enabled", false);
2846 // Enable the Accessibility panel.
2847 pref("devtools.accessibility.enabled", true);
2849 // Web console filters
2850 pref("devtools.webconsole.filter.error", true);
2851 pref("devtools.webconsole.filter.warn", true);
2852 pref("devtools.webconsole.filter.info", true);
2853 pref("devtools.webconsole.filter.log", true);
2854 pref("devtools.webconsole.filter.debug", true);
2855 pref("devtools.webconsole.filter.css", false);
2856 pref("devtools.webconsole.filter.net", false);
2857 pref("devtools.webconsole.filter.netxhr", false);
2859 // Webconsole autocomplete preference
2860 pref("devtools.webconsole.input.autocomplete",true);
2862 // Show context selector in console input
2863 pref("devtools.webconsole.input.context", true);
2865 // Set to true to eagerly show the results of webconsole terminal evaluations
2866 // when they don't have side effects.
2867 pref("devtools.webconsole.input.eagerEvaluation", true);
2869 // Browser console filters
2870 pref("devtools.browserconsole.filter.error", true);
2871 pref("devtools.browserconsole.filter.warn", true);
2872 pref("devtools.browserconsole.filter.info", true);
2873 pref("devtools.browserconsole.filter.log", true);
2874 pref("devtools.browserconsole.filter.debug", true);
2875 pref("devtools.browserconsole.filter.css", false);
2876 pref("devtools.browserconsole.filter.net", false);
2877 pref("devtools.browserconsole.filter.netxhr", false);
2879 // Max number of inputs to store in web console history.
2880 pref("devtools.webconsole.inputHistoryCount", 300);
2882 // Persistent logging: |true| if you want the relevant tool to keep all of the
2883 // logged messages after reloading the page, |false| if you want the output to
2884 // be cleared each time page navigation happens.
2885 pref("devtools.webconsole.persistlog", false);
2886 pref("devtools.netmonitor.persistlog", false);
2888 // Web Console timestamp: |true| if you want the logs and instructions
2889 // in the Web Console to display a timestamp, or |false| to not display
2890 // any timestamps.
2891 pref("devtools.webconsole.timestampMessages", false);
2893 // Enable the webconsole sidebar toggle in Nightly builds.
2894 #if defined(NIGHTLY_BUILD)
2895   pref("devtools.webconsole.sidebarToggle", true);
2896 #else
2897   pref("devtools.webconsole.sidebarToggle", false);
2898 #endif
2900 // Saved editor mode state in the console.
2901 pref("devtools.webconsole.input.editor", false);
2902 pref("devtools.browserconsole.input.editor", false);
2904 // Editor width for webconsole and browserconsole.
2905 pref("devtools.webconsole.input.editorWidth", 0);
2906 pref("devtools.browserconsole.input.editorWidth", 0);
2908 // Display an onboarding UI for the Editor mode.
2909 pref("devtools.webconsole.input.editorOnboarding", true);
2911 // Enable message grouping in the console, true by default
2912 pref("devtools.webconsole.groupWarningMessages", true);
2914 // Enable network monitoring the browser toolbox console/browser console.
2915 pref("devtools.browserconsole.enableNetworkMonitoring", false);
2917 // Enable client-side mapping service for source maps
2918 pref("devtools.source-map.client-service.enabled", true);
2920 // The number of lines that are displayed in the web console.
2921 pref("devtools.hud.loglimit", 10000);
2923 // The developer tools editor configuration:
2924 // - tabsize: how many spaces to use when a Tab character is displayed.
2925 // - expandtab: expand Tab characters to spaces.
2926 // - keymap: which keymap to use (can be 'default', 'emacs' or 'vim')
2927 // - autoclosebrackets: whether to permit automatic bracket/quote closing.
2928 // - detectindentation: whether to detect the indentation from the file
2929 // - enableCodeFolding: Whether to enable code folding or not.
2930 pref("devtools.editor.tabsize", 2);
2931 pref("devtools.editor.expandtab", true);
2932 pref("devtools.editor.keymap", "default");
2933 pref("devtools.editor.autoclosebrackets", true);
2934 pref("devtools.editor.detectindentation", true);
2935 pref("devtools.editor.enableCodeFolding", true);
2936 pref("devtools.editor.autocomplete", true);
2938 // The angle of the viewport.
2939 pref("devtools.responsive.viewport.angle", 0);
2940 // The width of the viewport.
2941 pref("devtools.responsive.viewport.width", 320);
2942 // The height of the viewport.
2943 pref("devtools.responsive.viewport.height", 480);
2944 // The pixel ratio of the viewport.
2945 pref("devtools.responsive.viewport.pixelRatio", 0);
2946 // Whether or not the viewports are left aligned.
2947 pref("devtools.responsive.leftAlignViewport.enabled", false);
2948 // Whether to reload when touch simulation is toggled
2949 pref("devtools.responsive.reloadConditions.touchSimulation", false);
2950 // Whether to reload when user agent is changed
2951 pref("devtools.responsive.reloadConditions.userAgent", false);
2952 // Whether to show the notification about reloading to apply emulation
2953 pref("devtools.responsive.reloadNotification.enabled", true);
2954 // Whether or not touch simulation is enabled.
2955 pref("devtools.responsive.touchSimulation.enabled", false);
2956 // The user agent of the viewport.
2957 pref("devtools.responsive.userAgent", "");
2958 // Show the custom user agent input by default
2959 pref("devtools.responsive.showUserAgentInput", true);
2961 // Show tab debug targets for This Firefox (on by default for local builds).
2962 #ifdef MOZILLA_OFFICIAL
2963   pref("devtools.aboutdebugging.local-tab-debugging", false);
2964 #else
2965   pref("devtools.aboutdebugging.local-tab-debugging", true);
2966 #endif
2968 // Show process debug targets.
2969 pref("devtools.aboutdebugging.process-debugging", true);
2970 // Stringified array of network locations that users can connect to.
2971 pref("devtools.aboutdebugging.network-locations", "[]");
2972 // Debug target pane collapse/expand settings.
2973 pref("devtools.aboutdebugging.collapsibilities.installedExtension", false);
2974 pref("devtools.aboutdebugging.collapsibilities.otherWorker", false);
2975 pref("devtools.aboutdebugging.collapsibilities.serviceWorker", false);
2976 pref("devtools.aboutdebugging.collapsibilities.sharedWorker", false);
2977 pref("devtools.aboutdebugging.collapsibilities.tab", false);
2978 pref("devtools.aboutdebugging.collapsibilities.temporaryExtension", false);
2980 // about:debugging: only show system and hidden extensions in local builds by
2981 // default.
2982 #ifdef MOZILLA_OFFICIAL
2983   pref("devtools.aboutdebugging.showHiddenAddons", false);
2984 #else
2985   pref("devtools.aboutdebugging.showHiddenAddons", true);
2986 #endif
2988 // Map top-level await expressions in the console
2989 pref("devtools.debugger.features.map-await-expression", true);
2991 // This relies on javascript.options.asyncstack as well or it has no effect.
2992 pref("devtools.debugger.features.async-captured-stacks", true);
2993 pref("devtools.debugger.features.async-live-stacks", false);
2994 pref("devtools.debugger.hide-ignored-sources", false);
2996 // Disable autohide for DevTools popups and tooltips.
2997 // This is currently not exposed by any UI to avoid making
2998 // about:devtools-toolbox tabs unusable by mistake.
2999 pref("devtools.popup.disable_autohide", false);
3001 // Add support for high contrast mode
3002 pref("devtools.high-contrast-mode-support", false);
3004 // FirstStartup service time-out in ms
3005 pref("first-startup.timeout", 30000);
3007 // Enable the default browser agent.
3008 // The agent still runs as scheduled if this pref is disabled,
3009 // but it exits immediately before taking any action.
3010 #ifdef XP_WIN
3011   pref("default-browser-agent.enabled", true);
3012 #endif
3014 // Test Prefs that do nothing for testing
3015 #if defined(EARLY_BETA_OR_EARLIER)
3016   pref("app.normandy.test-prefs.bool", false);
3017   pref("app.normandy.test-prefs.integer", 0);
3018   pref("app.normandy.test-prefs.string", "");
3019 #endif
3021 // Shows 'View Image Info' item in the image context menu
3022 #ifdef MOZ_DEV_EDITION
3023   pref("browser.menu.showViewImageInfo", true);
3024 #else
3025   pref("browser.menu.showViewImageInfo", false);
3026 #endif
3028 // Handing URLs to external apps via the "Share URL" menu item could allow a proxy bypass
3029 #ifdef MOZ_PROXY_BYPASS_PROTECTION
3030   pref("browser.menu.share_url.allow", false);
3031 #endif
3033 // Mozilla-controlled domains that are allowed to use non-standard
3034 // context properties for SVG images for use in the browser UI. Please
3035 // keep this list short. This preference (and SVG `context-` keyword support)
3036 // are expected to go away once a standardized alternative becomes
3037 // available.
3038 pref("svg.context-properties.content.allowed-domains", "profile.accounts.firefox.com,profile.stage.mozaws.net");
3040 // Preference that allows individual users to disable Firefox Translations.
3041 #ifdef NIGHTLY_BUILD
3042   pref("extensions.translations.disabled", true);
3043 #endif
3045 #if defined(XP_MACOSX) || defined(XP_WIN)
3046 pref("browser.firefoxbridge.enabled", false);
3047 pref("browser.firefoxbridge.extensionOrigins",
3048     "chrome-extension://gkcbmfjnnjoambnfmihmnkneakghogca/"
3050 #endif
3052 // Turn on interaction measurements
3053 pref("browser.places.interactions.enabled", true);
3055 // If the user has seen the Firefox View feature tour this value reflects
3056 // the id of the last screen they saw and whether they completed the tour
3057 pref("browser.firefox-view.feature-tour", "{\"screen\":\"FIREFOX_VIEW_SPOTLIGHT\",\"complete\":false}");
3058 // Number of times the user visited about:firefoxview
3059 pref("browser.firefox-view.view-count", 0);
3060 // Maximum number of rows to show on the "History" page.
3061 #ifdef NIGHTLY_BUILD
3062   pref("browser.firefox-view.max-history-rows", 0);
3063 #else
3064   pref("browser.firefox-view.max-history-rows", 300);
3065 #endif
3066 // Enables virtual list functionality in Firefox View.
3067 pref("browser.firefox-view.virtual-list.enabled", true);
3069 // If the user has seen the pdf.js feature tour this value reflects the tour
3070 // message id, the id of the last screen they saw, and whether they completed the tour
3071 pref("browser.pdfjs.feature-tour", "{\"screen\":\"\",\"complete\":false}");
3073 // Enables cookie banner handling in Nightly in Private Browsing Mode. See
3074 // StaticPrefList.yaml for a description of the prefs.
3075 #ifdef NIGHTLY_BUILD
3076   pref("cookiebanners.service.mode.privateBrowsing", 1);
3077 #endif
3079 #if defined(EARLY_BETA_OR_EARLIER)
3080   // Enables the cookie banner desktop UI.
3081   pref("cookiebanners.ui.desktop.enabled", true);
3082 #else
3083   pref("cookiebanners.ui.desktop.enabled", false);
3084 #endif
3086 // When true, shows a one-time feature callout for cookie banner blocking.
3087 pref("cookiebanners.ui.desktop.showCallout", false);
3089 // Controls which variant of the cookie banner CFR the user is presented with.
3090 pref("cookiebanners.ui.desktop.cfrVariant", 0);
3092 // Parameters for the swipe-to-navigation icon.
3094 // `navigation-icon-{start|end}-position` is the start or the end position of
3095 // the icon movement in response to the user's swipe gesture. `0` means the icon
3096 // positions at the left edge of the browser window. For example on Mac, when
3097 // the user started swipe gesture left to right, the icon appears at a point
3098 // where left side 20px of the icon is outside of the browser window's view.
3100 // `navigation-icon-{min|max}-radius` is the minimum or the maximum radius of
3101 // the icon's outer circle size in response to the user's swipe gesture.  `-1`
3102 // means that the circle radius never changes.
3103 #ifdef XP_MACOSX
3104   pref("browser.swipe.navigation-icon-start-position", -20);
3105   pref("browser.swipe.navigation-icon-end-position", 0);
3106   pref("browser.swipe.navigation-icon-min-radius", -1);
3107   pref("browser.swipe.navigation-icon-max-radius", -1);
3108 #else
3109   pref("browser.swipe.navigation-icon-start-position", -40);
3110   pref("browser.swipe.navigation-icon-end-position", 60);
3111   pref("browser.swipe.navigation-icon-min-radius", 12);
3112   pref("browser.swipe.navigation-icon-max-radius", 20);
3113 #endif
3115 // Trigger FOG's Artifact Build support on artifact builds.
3116 #ifdef MOZ_ARTIFACT_BUILDS
3117   pref("telemetry.fog.artifact_build", true);
3118 #endif
3120 #ifdef NIGHTLY_BUILD
3121   pref("dom.security.credentialmanagement.identity.enabled", true);
3122   pref("dom.security.credentialmanagement.identity.heavyweight.enabled", true);
3123 #endif
3125 pref("ui.new-webcompat-reporter.enabled", true);
3127 #if defined(EARLY_BETA_OR_EARLIER)
3128 pref("ui.new-webcompat-reporter.send-more-info-link", true);
3129 #else
3130 pref("ui.new-webcompat-reporter.send-more-info-link", false);
3131 #endif
3133 # 0 = disabled, 1 = reason optional, 2 = reason required.
3134 pref("ui.new-webcompat-reporter.reason-dropdown", 2);
3136 pref("ui.new-webcompat-reporter.reason-dropdown.randomized", true);
3138 // Reset Private Browsing Session feature
3139 #if defined(NIGHTLY_BUILD)
3140   pref("browser.privatebrowsing.resetPBM.enabled", true);
3141 #else
3142   pref("browser.privatebrowsing.resetPBM.enabled", false);
3143 #endif
3144 // Whether the reset private browsing panel should ask for confirmation before
3145 // performing the clear action.
3146 pref("browser.privatebrowsing.resetPBM.showConfirmationDialog", true);
3148 // the preferences related to the Nimbus experiment, to activate and deactivate
3149 // the the entire rollout (see: bug 1864216 - two prompts, 1877500 - set two in one prompt)
3150 pref("browser.mailto.dualPrompt", false);
3151 // Display a reminder prompt for known webmailers if the prompt was not
3152 // dismissed before the next visit of that webmailer.
3153 pref("browser.mailto.dualPrompt.onLocationChange", false);
3154 // configures after how many minutes is the prompt shown again after it was
3155 // dismissed. This differs from clicking the 'x' button and 'not now' (forever=0)
3156 pref("browser.mailto.dualPrompt.dismissNotNowMinutes", 525600); // one year
3157 pref("browser.mailto.dualPrompt.dismissXClickMinutes", 1440); // one day
3159 // Pref to initialize the BackupService soon after startup.
3160 pref("browser.backup.enabled", true);
3161 // Pref to control whether scheduled backups run or not.
3162 pref("browser.backup.scheduled.enabled", false);
3163 // Pref to control the visibility of the backup section in about:preferences
3164 pref("browser.backup.preferences.ui.enabled", false);
3165 // The number of SQLite database pages to backup per step.
3166 pref("browser.backup.sqlite.pages_per_step", 50);
3167 // The delay between SQLite database backup steps in milliseconds.
3168 pref("browser.backup.sqlite.step_delay_ms", 50);
3169 pref("browser.backup.scheduled.idle-threshold-seconds", 300);
3170 pref("browser.backup.scheduled.minimum-time-between-backups-seconds", 3600);
3171 pref("browser.backup.template.fallback-download.release", "https://www.mozilla.org/firefox/download/thanks/?s=direct&utm_medium=firefox-desktop&utm_source=backup&utm_campaign=firefox-backup-2024&utm_content=control");
3172 pref("browser.backup.template.fallback-download.beta", "https://www.mozilla.org/firefox/channel/desktop/?utm_medium=firefox-desktop&utm_source=backup&utm_campaign=firefox-backup-2024&utm_content=control#beta");
3173 pref("browser.backup.template.fallback-download.aurora", "https://www.mozilla.org/firefox/channel/desktop/?utm_medium=firefox-desktop&utm_source=backup&utm_campaign=firefox-backup-2024&utm_content=control#developer");
3174 pref("browser.backup.template.fallback-download.nightly", "https://www.mozilla.org/firefox/channel/desktop/?utm_medium=firefox-desktop&utm_source=backup&utm_campaign=firefox-backup-2024&utm_content=control#nightly");
3175 pref("browser.backup.template.fallback-download.esr", "https://www.mozilla.org/firefox/enterprise/?utm_medium=firefox-desktop&utm_source=backup&utm_campaign=firefox-backup-2024&utm_content=control#download");
3177 // Pref to enable the new profiles
3178 pref("browser.profiles.enabled", false);
3180 pref("startup.homepage_override_url_nimbus", "");
3181 // These prefs are referring to the Fx update version
3182 pref("startup.homepage_override_nimbus_maxVersion", "");
3183 pref("startup.homepage_override_nimbus_minVersion", "");
3184 // Pref to disable all What's New pages
3185 pref("startup.homepage_override_nimbus_disable_wnp", false);
3187 // Pref to enable the content relevancy feature.
3188 pref("toolkit.contentRelevancy.enabled", false);
3189 // Pref to enable the ingestion through the Rust component.
3190 pref("toolkit.contentRelevancy.ingestEnabled", false);
3191 // Pref to enable extra logging for the content relevancy feature
3192 pref("toolkit.contentRelevancy.log", false);