Bug 1717887 Part 2: Make RenderThread backed by nsIThread, with a hang monitor. r...
[gecko.git] / browser / app / profile / firefox.js
blobb3cf08ece36dfc827921ad19f486f60aa0e61dda
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 // Enables some extra Extension System Logging (can reduce performance)
25 pref("extensions.logging.enabled", false);
27 // Disables strict compatibility, making addons compatible-by-default.
28 pref("extensions.strictCompatibility", false);
30 // Temporary preference to forcibly make themes more safe with Australis even if
31 // extensions.checkCompatibility=false has been set.
32 pref("extensions.checkCompatibility.temporaryThemeOverride_minAppVersion", "29.0a1");
34 pref("extensions.webextPermissionPrompts", true);
35 pref("extensions.webextOptionalPermissionPrompts", true);
36 // If enabled, install origin permission verification happens after addons are downloaded.
37 pref("extensions.postDownloadThirdPartyPrompt", true);
39 // Preferences for AMO integration
40 pref("extensions.getAddons.cache.enabled", true);
41 pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/api/v4/addons/search/?guid=%IDS%&lang=%LOCALE%");
42 pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION%");
43 pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/firefox/");
44 pref("extensions.getAddons.langpacks.url", "https://services.addons.mozilla.org/api/v4/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%");
45 pref("extensions.getAddons.discovery.api_url", "https://services.addons.mozilla.org/api/v4/discovery/?lang=%LOCALE%&edition=%DISTRIBUTION%");
47 // The URL for the privacy policy related to recommended extensions.
48 pref("extensions.recommendations.privacyPolicyUrl", "https://www.mozilla.org/privacy/firefox/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_content=privacy-policy-link#addons");
49 // The URL for Firefox Color, recommended on the theme page in about:addons.
50 pref("extensions.recommendations.themeRecommendationUrl", "https://color.firefox.com/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_content=theme-footer-link");
52 pref("extensions.update.autoUpdateDefault", true);
54 // Check AUS for system add-on updates.
55 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");
56 pref("extensions.systemAddon.update.enabled", true);
58 // Disable add-ons that are not installed by the user in all scopes by default.
59 // See the SCOPE constants in AddonManager.jsm for values to use here.
60 pref("extensions.autoDisableScopes", 15);
61 // Scopes to scan for changes at startup.
62 pref("extensions.startupScanScopes", 0);
64 pref("extensions.geckoProfiler.acceptedExtensionIds", "geckoprofiler@mozilla.com,quantum-foxfooding@mozilla.com,raptor@mozilla.org");
67 pref("extensions.webextensions.remote", true);
68 pref("extensions.webextensions.background-delayed-startup", true);
70 // Require signed add-ons by default
71 pref("extensions.langpacks.signatures.required", true);
72 pref("xpinstall.signatures.required", true);
73 pref("xpinstall.signatures.devInfoURL", "https://wiki.mozilla.org/Addons/Extension_Signing");
75 // Enable extensionStorage storage actor by default
76 pref("devtools.storage.extensionStorage.enabled", true);
78 // Dictionary download preference
79 pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/language-tools/");
81 // At startup, should we check to see if the installation
82 // date is older than some threshold
83 pref("app.update.checkInstallTime", true);
85 // The number of days a binary is permitted to be old without checking is defined in
86 // firefox-branding.js (app.update.checkInstallTime.days)
88 // The minimum delay in seconds for the timer to fire between the notification
89 // of each consumer of the timer manager.
90 // minimum=30 seconds, default=120 seconds, and maximum=300 seconds
91 pref("app.update.timerMinimumDelay", 120);
93 // The minimum delay in milliseconds for the first firing after startup of the timer
94 // to notify consumers of the timer manager.
95 // minimum=10 seconds, default=30 seconds, and maximum=120 seconds
96 pref("app.update.timerFirstInterval", 30000);
98 // App-specific update preferences
100 // The interval to check for updates (app.update.interval) is defined in
101 // firefox-branding.js
103 // Enables some extra Application Update Logging (can reduce performance)
104 pref("app.update.log", false);
105 // Causes Application Update Logging to be sent to a file in the profile
106 // directory. This preference is automatically disabled on application start to
107 // prevent it from being left on accidentally. Turning this pref on enables
108 // logging, even if app.update.log is false.
109 pref("app.update.log.file", false);
111 // The number of general background check failures to allow before notifying the
112 // user of the failure. User initiated update checks always notify the user of
113 // the failure.
114 pref("app.update.backgroundMaxErrors", 10);
116 // Ids of the links to the "What's new" update documentation
117 pref("app.update.link.updateAvailableWhatsNew", "update-available-whats-new");
118 pref("app.update.link.updateManualWhatsNew", "update-manual-whats-new");
120 // How many times we should let downloads fail before prompting the user to
121 // download a fresh installer.
122 pref("app.update.download.promptMaxAttempts", 2);
124 // How many times we should let an elevation prompt fail before prompting the user to
125 // download a fresh installer.
126 pref("app.update.elevation.promptMaxAttempts", 2);
128 // If set to true, a message will be displayed in the hamburger menu while
129 // an update is being downloaded.
130 pref("app.update.notifyDuringDownload", false);
132 // If set to true, the Update Service will automatically download updates if the
133 // user can apply updates. This pref is no longer used on Windows, except as the
134 // default value to migrate to the new location that this data is now stored
135 // (which is in a file in the update directory). Because of this, this pref
136 // should no longer be used directly. Instead, getAppUpdateAutoEnabled and
137 // getAppUpdateAutoEnabled from UpdateUtils.jsm should be used.
138 #ifndef XP_WIN
139   pref("app.update.auto", true);
140 #endif
142 // If set to true, the Update Service will apply updates in the background
143 // when it finishes downloading them.
144 pref("app.update.staging.enabled", true);
146 // Update service URL:
147 // app.update.url was removed in Bug 1568994
148 // app.update.url.manual is in branding section
149 // app.update.url.details is in branding section
151 // app.update.badgeWaitTime is in branding section
152 // app.update.interval is in branding section
153 // app.update.promptWaitTime is in branding section
155 // Whether or not to attempt using the service for updates.
156 #ifdef MOZ_MAINTENANCE_SERVICE
157   pref("app.update.service.enabled", true);
158 #endif
160 #ifdef MOZ_BITS_DOWNLOAD
161   // If set to true, the Update Service will attempt to use Windows BITS to
162   // download updates and will fallback to downloading internally if that fails.
163   pref("app.update.BITS.enabled", true);
164 #endif
166 pref("app.update.langpack.enabled", true);
168 #if defined(MOZ_UPDATE_AGENT)
169   pref("app.update.background.loglevel", "error");
170   pref("app.update.background.timeoutSec", 600);
171   // If set to true, on Windows, the browser will attempt to schedule OS-level
172   // background tasks to update itself even when it is not running.  This pref
173   // is special: any profile that believes itself the default profile will
174   // mirror this pref's default value to the per-installation pref
175   // `app.update.background.enabled`.  This pref will be used to stage the roll
176   // out of the background update feature via Normandy.  (The per-installation
177   // pref allows profiles beyond the default profile to enable and disable the
178   // background update feature manually.)
179   //
180   // This preprocessor if statement is a bit ugly because the preprocessor does
181   // not currently support using parentheses for grouping. If it did, this could
182   // be more cleanly expressed as
183   // (defined(EARLY_BETA_OR_EARLIER) || defined(MOZ_DEV_EDITION)) && defined(XP_WIN)
184   // Since it does not, however, we must rely on the order of operations that it
185   // implements, which evaluates && operations before || operations
186 #if defined(EARLY_BETA_OR_EARLIER) && defined(XP_WIN) || defined(MOZ_DEV_EDITION) && defined(XP_WIN)
187   pref("app.update.background.scheduling.enabled", true);
188   pref("app.update.background.experimental", true);
189 #else
190   pref("app.update.background.scheduling.enabled", false);
191 #endif
192   // By default, check for updates when the browser is not running every 7 hours.
193   pref("app.update.background.interval", 25200);
194 #endif
196 #if defined(MOZ_BACKGROUNDTASKS)
197   // The amount of time, in seconds, before background tasks time out and exit.
198   // Tasks can override this default (10 minutes).
199   pref("toolkit.backgroundtasks.defaultTimeoutSec", 600);
200 #endif
202 // Symmetric (can be overridden by individual extensions) update preferences.
203 // e.g.
204 //  extensions.{GUID}.update.enabled
205 //  extensions.{GUID}.update.url
206 //  .. etc ..
208 pref("extensions.update.enabled", true);
209 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%");
210 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%");
211 pref("extensions.update.interval", 86400);  // Check for updates to Extensions and
212                                             // Themes every day
214 pref("lightweightThemes.getMoreURL", "https://addons.mozilla.org/%LOCALE%/firefox/themes");
216 #if defined(MOZ_WIDEVINE_EME)
217   pref("browser.eme.ui.enabled", true);
218 #else
219   pref("browser.eme.ui.enabled", false);
220 #endif
222 // UI tour experience.
223 pref("browser.uitour.enabled", true);
224 pref("browser.uitour.loglevel", "Error");
225 pref("browser.uitour.requireSecure", true);
226 pref("browser.uitour.themeOrigin", "https://addons.mozilla.org/%LOCALE%/firefox/themes/");
227 pref("browser.uitour.url", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/tour/");
228 // How long to show a Hearbeat survey (two hours, in seconds)
229 pref("browser.uitour.surveyDuration", 7200);
231 pref("keyword.enabled", true);
233 // Fixup whitelists, the urlbar won't try to search for these words, but will
234 // instead consider them valid TLDs. Don't check these directly, use
235 // Services.uriFixup.isDomainKnown() instead.
236 pref("browser.fixup.domainwhitelist.localhost", true);
237 // https://tools.ietf.org/html/rfc2606
238 pref("browser.fixup.domainsuffixwhitelist.test", true);
239 pref("browser.fixup.domainsuffixwhitelist.example", true);
240 pref("browser.fixup.domainsuffixwhitelist.invalid", true);
241 pref("browser.fixup.domainsuffixwhitelist.localhost", true);
242 // https://tools.ietf.org/html/draft-wkumari-dnsop-internal-00
243 pref("browser.fixup.domainsuffixwhitelist.internal", true);
244 // https://tools.ietf.org/html/rfc6762
245 pref("browser.fixup.domainsuffixwhitelist.local", true);
247 // Whether to always go through the DNS server before sending a single word
248 // search string, that may contain a valid host, to a search engine.
249 pref("browser.fixup.dns_first_for_single_words", false);
251 #ifdef UNIX_BUT_NOT_MAC
252   pref("general.autoScroll", false);
253 #else
254   pref("general.autoScroll", true);
255 #endif
257 // UI density of the browser chrome. This mostly affects toolbarbutton
258 // and urlbar spacing. The possible values are 0=normal, 1=compact, 2=touch.
259 pref("browser.uidensity", 0);
260 // Whether Firefox will automatically override the uidensity to "touch"
261 // while the user is in a touch environment (such as Windows tablet mode).
262 pref("browser.touchmode.auto", true);
263 // Whether Firefox will show the Compact Mode UIDensity option.
264 pref("browser.compactmode.show", false);
266 // At startup, check if we're the default browser and prompt user if not.
267 pref("browser.shell.checkDefaultBrowser", true);
268 pref("browser.shell.shortcutFavicons",true);
269 pref("browser.shell.mostRecentDateSetAsDefault", "");
270 pref("browser.shell.skipDefaultBrowserCheckOnFirstRun", true);
271 pref("browser.shell.didSkipDefaultBrowserCheckOnFirstRun", false);
272 pref("browser.shell.defaultBrowserCheckCount", 0);
273 #if defined(XP_WIN)
274 // Attempt to set the default browser on Windows 10 using the UserChoice registry keys,
275 // before falling back to launching the modern Settings dialog.
276 pref("browser.shell.setDefaultBrowserUserChoice", true);
277 #endif
280 // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
281 // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore
282 pref("browser.startup.page",                1);
283 pref("browser.startup.homepage",            "about:home");
284 #ifdef NIGHTLY_BUILD
285 pref("browser.startup.homepage.abouthome_cache.enabled", true);
286 #else
287 pref("browser.startup.homepage.abouthome_cache.enabled", false);
288 #endif
289 pref("browser.startup.homepage.abouthome_cache.loglevel", "Warn");
291 // Whether we should skip the homepage when opening the first-run page
292 pref("browser.startup.firstrunSkipsHomepage", true);
294 // Show an about:blank window as early as possible for quick startup feedback.
295 // Held to nightly on Linux due to bug 1450626.
296 // Disabled on Mac because the bouncing dock icon already provides feedback.
297 #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK) && defined(NIGHTLY_BUILD)
298   pref("browser.startup.blankWindow", true);
299 #else
300   pref("browser.startup.blankWindow", false);
301 #endif
303 // Show a skeleton UI window prior to loading libxul. Only visible for windows
304 // users as it is not implemented anywhere else.
305 #if defined(XP_WIN)
306 pref("browser.startup.preXulSkeletonUI", true);
307 #endif
309 // Show an upgrade dialog on major upgrades.
310 pref("browser.startup.upgradeDialog.enabled", true);
312 // Don't create the hidden window during startup on
313 // platforms that don't always need it (Win/Linux).
314 pref("toolkit.lazyHiddenWindow", true);
316 pref("browser.chrome.site_icons", true);
317 // browser.warnOnQuit == false will override all other possible prompts when quitting or restarting
318 pref("browser.warnOnQuit", true);
320 // TODO bug 1702563: Renable fullscreen autohide by default on macOS.
321 #ifdef XP_MACOSX
322   pref("browser.fullscreen.autohide", false);
323 #else
324   pref("browser.fullscreen.autohide", true);
325 #endif
327 pref("browser.overlink-delay", 80);
329 // Whether using `ctrl` when hitting return/enter in the URL bar
330 // (or clicking 'go') should prefix 'www.' and suffix
331 // browser.fixup.alternate.suffix to the URL bar value prior to
332 // navigating.
333 pref("browser.urlbar.ctrlCanonizesURLs", true);
335 // Whether we announce to screen readers when tab-to-search results are
336 // inserted.
337 pref("browser.urlbar.accessibility.tabToSearch.announceResults", true);
339 // Control autoFill behavior
340 pref("browser.urlbar.autoFill", true);
342 // Whether to warm up network connections for autofill or search results.
343 pref("browser.urlbar.speculativeConnect.enabled", true);
345 // Whether bookmarklets should be filtered out of Address Bar matches.
346 // This is enabled for security reasons, when true it is still possible to
347 // search for bookmarklets typing "javascript: " followed by the actual query.
348 pref("browser.urlbar.filter.javascript", true);
350 // Enable a certain level of urlbar logging to the Browser Console. See Log.jsm.
351 pref("browser.urlbar.loglevel", "Error");
353 // the maximum number of results to show in autocomplete when doing richResults
354 pref("browser.urlbar.maxRichResults", 10);
356 // The maximum number of historical search results to show.
357 pref("browser.urlbar.maxHistoricalSearchSuggestions", 2);
359 // The default behavior for the urlbar can be configured to use any combination
360 // of the match filters with each additional filter adding more results (union).
361 pref("browser.urlbar.suggest.bookmark",             true);
362 pref("browser.urlbar.suggest.history",              true);
363 pref("browser.urlbar.suggest.openpage",             true);
364 pref("browser.urlbar.suggest.searches",             true);
365 pref("browser.urlbar.suggest.topsites",             true);
366 pref("browser.urlbar.suggest.engines",              true);
367 pref("browser.urlbar.suggest.quicksuggest",         true);
368 pref("browser.urlbar.suggest.calculator",           false);
370 // Whether the QuickSuggest experiment is enabled.
371 pref("browser.urlbar.quicksuggest.enabled", false);
373 // Whether to show the QuickSuggest onboarding dialog.
374 pref("browser.urlbar.quicksuggest.shouldShowOnboardingDialog", true);
376 // Show QuickSuggest onboarding dialog on the nth browser restarts.
377 pref("browser.urlbar.quicksuggest.showOnboardingDialogAfterNRestarts", 2);
379 // The indexes of the sponsored and non-sponsored quick suggest results within
380 // the general results group.
381 pref("browser.urlbar.quicksuggest.sponsoredIndex", -1);
382 pref("browser.urlbar.quicksuggest.nonSponsoredIndex", -1);
384 // Whether unit conversion is enabled.
385 #ifdef NIGHTLY_BUILD
386 pref("browser.urlbar.unitConversion.enabled", true);
387 #else
388 pref("browser.urlbar.unitConversion.enabled", false);
389 #endif
391 // Whether to show search suggestions before general results like history and
392 // bookmarks.
393 pref("browser.urlbar.showSearchSuggestionsFirst", true);
395 // As a user privacy measure, don't fetch search suggestions if a pasted string
396 // is longer than this.
397 pref("browser.urlbar.maxCharsForSearchSuggestions", 100);
399 pref("browser.urlbar.trimURLs", true);
401 // If changed to true, copying the entire URL from the location bar will put the
402 // human readable (percent-decoded) URL on the clipboard.
403 pref("browser.urlbar.decodeURLsOnCopy", false);
405 // Whether or not to move tabs into the active window when using the "Switch to
406 // Tab" feature of the awesomebar.
407 pref("browser.urlbar.switchTabs.adoptIntoActiveWindow", false);
409 // Whether addresses and search results typed into the address bar
410 // should be opened in new tabs by default.
411 pref("browser.urlbar.openintab", false);
413 // If true, we show tail suggestions when available.
414 pref("browser.urlbar.richSuggestions.tail", true);
416 // If true, top sites may include sponsored ones.
417 pref("browser.urlbar.sponsoredTopSites", false);
419 // Controls the empty search behavior in Search Mode:
420 //  0 - Show nothing
421 //  1 - Show search history
422 //  2 - Show search and browsing history
423 pref("browser.urlbar.update2.emptySearchBehavior", 0);
425 // Whether the urlbar displays one-offs to filter searches to history,
426 // bookmarks, or tabs.
427 pref("browser.urlbar.shortcuts.bookmarks", true);
428 pref("browser.urlbar.shortcuts.tabs", true);
429 pref("browser.urlbar.shortcuts.history", true);
431 pref("browser.urlbar.eventTelemetry.enabled", false);
433 // When we send events to Urlbar extensions, we wait this amount of time in
434 // milliseconds for them to respond before timing out.
435 pref("browser.urlbar.extension.timeout", 400);
437 // Controls when to DNS resolve single word search strings, after they were
438 // searched for. If the string is resolved as a valid host, show a
439 // "Did you mean to go to 'host'" prompt.
440 // 0 - never resolve; 1 - use heuristics (default); 2 - always resolve
441 pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 1);
443 // Whether the results panel should be kept open during IME composition.
444 // The default value is false because some IME open a picker panel, and we end
445 // up with two panels on top of each other. Since for now we can't detect that
446 // we leave this choice to the user, hopefully in the future this can be flipped
447 // for everyone.
448 pref("browser.urlbar.keepPanelOpenDuringImeComposition", false);
450 // Whether Firefox Suggest labels are shown in the urlbar view.
451 pref("browser.urlbar.experimental.firefoxSuggestLabels.enabled", false);
453 pref("browser.altClickSave", false);
455 // Enable logging downloads operations to the Console.
456 pref("browser.download.loglevel", "Error");
458 // Number of milliseconds to wait for the http headers (and thus
459 // the Content-Disposition filename) before giving up and falling back to
460 // picking a filename without that info in hand so that the user sees some
461 // feedback from their action.
462 pref("browser.download.saveLinkAsFilenameTimeout", 4000);
464 pref("browser.download.useDownloadDir", true);
465 pref("browser.download.folderList", 1);
466 pref("browser.download.manager.addToRecentDocs", true);
467 pref("browser.download.manager.resumeOnWakeDelay", 10000);
469 // This allows disabling the animated notifications shown by
470 // the Downloads Indicator when a download starts or completes.
471 pref("browser.download.animateNotifications", true);
473 // This records whether or not the panel has been shown at least once.
474 pref("browser.download.panel.shown", false);
476 // This records whether or not to show the 'Open in system viewer' context menu item when appropriate
477 pref("browser.download.openInSystemViewerContextMenuItem", true);
479 // This records whether or not to show the 'Always open...' context menu item when appropriate
480 pref("browser.download.alwaysOpenInSystemViewerContextMenuItem", true);
482 // Open downloaded file types internally for the given types.
483 // This is a comma-separated list, the empty string ("") means no types are
484 // viewable internally.
485 pref("browser.download.viewableInternally.enabledTypes", "xml,svg,webp,avif,jxl");
488 // This controls whether the button is automatically shown/hidden depending
489 // on whether there are downloads to show.
490 pref("browser.download.autohideButton", true);
492 #ifndef XP_MACOSX
493   pref("browser.helperApps.deleteTempFileOnExit", true);
494 #endif
496 // This controls the visibility of the radio button in the
497 // Unknown Content Type (Helper App) dialog that will open
498 // the content in the browser for PDF and for other
499 // Viewable Internally types
500 // (see browser.download.viewableInternally.enabledTypes)
501 pref("browser.helperApps.showOpenOptionForPdfJS", true);
502 pref("browser.helperApps.showOpenOptionForViewableInternally", true);
504 // search engines URL
505 pref("browser.search.searchEnginesURL",      "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/");
507 // search bar results always open in a new tab
508 pref("browser.search.openintab", false);
510 // context menu searches open in the foreground
511 pref("browser.search.context.loadInBackground", false);
513 // comma seperated list of of engines to hide in the search panel.
514 pref("browser.search.hiddenOneOffs", "");
516 // Mirrors whether the search-container widget is in the navigation toolbar.
517 pref("browser.search.widget.inNavBar", false);
519 // Enables display of the options for the user using a separate default search
520 // engine in private browsing mode.
521 pref("browser.search.separatePrivateDefault.ui.enabled", false);
522 // The maximum amount of times the private default banner is shown.
523 pref("browser.search.separatePrivateDefault.ui.banner.max", 0);
525 // Enables the display of the Mozilla VPN banner in private browsing windows
526 pref("browser.privatebrowsing.vpnpromourl", "https://vpn.mozilla.org/?utm_source=firefox-browser&utm_medium=firefox-%CHANNEL%-browser&utm_campaign=private-browsing-vpn-link");
528 pref("browser.privatebrowsing.infoEnabled", true);
529 pref("browser.privatebrowsing.infoIcon", "");
530 pref("browser.privatebrowsing.infoTitle", "");
531 pref("browser.privatebrowsing.infoBody","");
532 pref("browser.privatebrowsing.infoLinkText", "");
533 pref("browser.privatebrowsing.infoLinkUrl", "");
534 pref("browser.privatebrowsing.promoEnabled", true);
535 pref("browser.privatebrowsing.promoTitle", "");
536 pref("browser.privatebrowsing.promoLinkText", "");
537 pref("browser.privatebrowsing.promoLinkUrl", "");
538 pref("browser.privatebrowsing.infoTitleEnabled", true);
539 pref("browser.privatebrowsing.promoTitleEnabled", true);
541 pref("browser.sessionhistory.max_entries", 50);
543 // Built-in default permissions.
544 pref("permissions.manager.defaultsUrl", "resource://app/defaults/permissions");
546 // Set default fallback values for site permissions we want
547 // the user to be able to globally change.
548 pref("permissions.default.camera", 0);
549 pref("permissions.default.microphone", 0);
550 pref("permissions.default.geo", 0);
551 pref("permissions.default.xr", 0);
552 pref("permissions.default.desktop-notification", 0);
553 pref("permissions.default.shortcuts", 0);
555 pref("permissions.desktop-notification.postPrompt.enabled", true);
556 pref("permissions.desktop-notification.notNow.enabled", false);
558 pref("permissions.fullscreen.allowed", false);
560 // handle links targeting new windows
561 // 1=current window/tab, 2=new window, 3=new tab in most recent window
562 pref("browser.link.open_newwindow", 3);
564 // handle external links (i.e. links opened from a different application)
565 // default: use browser.link.open_newwindow
566 // 1-3: see browser.link.open_newwindow for interpretation
567 pref("browser.link.open_newwindow.override.external", -1);
569 // 0: no restrictions - divert everything
570 // 1: don't divert window.open at all
571 // 2: don't divert window.open with features
572 pref("browser.link.open_newwindow.restriction", 2);
574 // If true, this pref causes windows opened by window.open to be forced into new
575 // tabs (rather than potentially opening separate windows, depending on
576 // window.open arguments) when the browser is in fullscreen mode.
577 // We set this differently on Mac because the fullscreen implementation there is
578 // different.
579 #ifdef XP_MACOSX
580   pref("browser.link.open_newwindow.disabled_in_fullscreen", true);
581 #else
582   pref("browser.link.open_newwindow.disabled_in_fullscreen", false);
583 #endif
585 // Tabbed browser
586 pref("browser.tabs.closeTabByDblclick", false);
587 pref("browser.tabs.closeWindowWithLastTab", true);
588 pref("browser.tabs.allowTabDetach", true);
589 // Open related links to a tab, e.g., link in current tab, at next to the
590 // current tab if |insertRelatedAfterCurrent| is true.  Otherwise, always
591 // append new tab to the end.
592 pref("browser.tabs.insertRelatedAfterCurrent", true);
593 // Open all links, e.g., bookmarks, history items at next to current tab
594 // if |insertAfterCurrent| is true.  Otherwise, append new tab to the end
595 // for non-related links. Note that if this is set to true, it will trump
596 // the value of browser.tabs.insertRelatedAfterCurrent.
597 pref("browser.tabs.insertAfterCurrent", false);
598 pref("browser.tabs.warnOnClose", true);
599 pref("browser.tabs.warnOnCloseOtherTabs", true);
600 pref("browser.tabs.warnOnOpen", true);
601 pref("browser.tabs.maxOpenBeforeWarn", 15);
602 pref("browser.tabs.loadInBackground", true);
603 pref("browser.tabs.opentabfor.middleclick", true);
604 pref("browser.tabs.loadDivertedInBackground", false);
605 pref("browser.tabs.loadBookmarksInBackground", false);
606 pref("browser.tabs.loadBookmarksInTabs", false);
607 pref("browser.tabs.tabClipWidth", 140);
608 pref("browser.tabs.tabMinWidth", 76);
609 // Users running in any of the following language codes will have the
610 // secondary text on tabs hidden due to size constraints and readability
611 // of the text at small font sizes.
612 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");
613 // Initial titlebar state is managed by -moz-gtk-csd-hide-titlebar-by-default
614 // on Linux.
615 #ifndef UNIX_BUT_NOT_MAC
616   pref("browser.tabs.drawInTitlebar", true);
617 #endif
619 //Control the visibility of Tab Manager Menu.
620 pref("browser.tabs.tabmanager.enabled", false);
622 // When tabs opened by links in other tabs via a combination of
623 // browser.link.open_newwindow being set to 3 and target="_blank" etc are
624 // closed:
625 // true   return to the tab that opened this tab (its owner)
626 // false  return to the adjacent tab (old default)
627 pref("browser.tabs.selectOwnerOnClose", true);
629 // This should match Chromium's audio indicator delay.
630 pref("browser.tabs.delayHidingAudioPlayingIconMS", 3000);
632 // Pref to control whether we use a separate privileged content process
633 // for about: pages. This pref name did not age well: we will have multiple
634 // types of privileged content processes, each with different privileges.
635 // types of privleged content processes, each with different privleges.
636 pref("browser.tabs.remote.separatePrivilegedContentProcess", true);
638 #if defined(NIGHTLY_BUILD) && !defined(MOZ_ASAN)
639   // This pref will cause assertions when a remoteType triggers a process switch
640   // to a new remoteType it should not be able to trigger.
641   pref("browser.tabs.remote.enforceRemoteTypeRestrictions", true);
642 #endif
644 // Pref to control whether we use a separate privileged content process
645 // for certain mozilla webpages (which are listed in the pref
646 // browser.tabs.remote.separatedMozillaDomains).
647 pref("browser.tabs.remote.separatePrivilegedMozillaWebContentProcess", true);
649 #ifdef NIGHTLY_BUILD
650 pref("browser.tabs.tooltipsShowPidAndActiveness", true);
651 #else
652 pref("browser.tabs.tooltipsShowPidAndActiveness", false);
653 #endif
655 // allow_eval_* is enabled on Firefox Desktop only at this
656 // point in time
657 pref("security.allow_eval_with_system_principal", false);
658 pref("security.allow_eval_in_parent_process", false);
660 pref("security.allow_parent_unrestricted_js_loads", false);
662 // Unload tabs when available memory is running low
663 pref("browser.tabs.unloadOnLowMemory", false);
665 pref("browser.ctrlTab.sortByRecentlyUsed", false);
667 // By default, do not export HTML at shutdown.
668 // If true, at shutdown the bookmarks in your menu and toolbar will
669 // be exported as HTML to the bookmarks.html file.
670 pref("browser.bookmarks.autoExportHTML",          false);
672 // The maximum number of daily bookmark backups to
673 // keep in {PROFILEDIR}/bookmarkbackups. Special values:
674 // -1: unlimited
675 //  0: no backups created (and deletes all existing backups)
676 pref("browser.bookmarks.max_backups",             15);
678 // Whether menu should close after Ctrl-click, middle-click, etc.
679 pref("browser.bookmarks.openInTabClosesMenu", true);
681 // Where new bookmarks go by default.
682 // Use PlacesUIUtils.defaultParentGuid to read this; do NOT read the pref
683 // directly.
684 // The pref is ignored if the browser.toolbars.bookmarks.2h2020 pref is false,
685 // in which case bookmarks always go in the "Other bookmarks" folder.
686 // The value is one of:
687 // - a bookmarks guid
688 // - "toolbar", "menu" or "unfiled" for those folders.
689 // If we use the pref but the value isn't any of these, we'll fall back to
690 // the bookmarks toolbar as a default.
691 pref("browser.bookmarks.defaultLocation", "toolbar");
693 // Scripts & Windows prefs
694 pref("dom.disable_open_during_load",              true);
696 // allow JS to move and resize existing windows
697 pref("dom.disable_window_move_resize",            false);
698 // prevent JS from monkeying with window focus, etc
699 pref("dom.disable_window_flip",                   true);
701 // popups.policy 1=allow,2=reject
702 pref("privacy.popups.policy",               1);
703 pref("privacy.popups.usecustom",            true);
704 pref("privacy.popups.showBrowserMessage",   true);
706 pref("privacy.item.cookies",                false);
708 pref("privacy.clearOnShutdown.history",     true);
709 pref("privacy.clearOnShutdown.formdata",    true);
710 pref("privacy.clearOnShutdown.downloads",   true);
711 pref("privacy.clearOnShutdown.cookies",     true);
712 pref("privacy.clearOnShutdown.cache",       true);
713 pref("privacy.clearOnShutdown.sessions",    true);
714 pref("privacy.clearOnShutdown.offlineApps", false);
715 pref("privacy.clearOnShutdown.siteSettings", false);
716 pref("privacy.clearOnShutdown.openWindows", false);
718 pref("privacy.cpd.history",                 true);
719 pref("privacy.cpd.formdata",                true);
720 pref("privacy.cpd.passwords",               false);
721 pref("privacy.cpd.downloads",               true);
722 pref("privacy.cpd.cookies",                 true);
723 pref("privacy.cpd.cache",                   true);
724 pref("privacy.cpd.sessions",                true);
725 pref("privacy.cpd.offlineApps",             false);
726 pref("privacy.cpd.siteSettings",            false);
727 pref("privacy.cpd.openWindows",             false);
729 pref("privacy.history.custom",              false);
731 // What default should we use for the time span in the sanitizer:
732 // 0 - Clear everything
733 // 1 - Last Hour
734 // 2 - Last 2 Hours
735 // 3 - Last 4 Hours
736 // 4 - Today
737 // 5 - Last 5 minutes
738 // 6 - Last 24 hours
739 pref("privacy.sanitize.timeSpan", 1);
741 pref("privacy.sanitize.migrateFx3Prefs",    false);
743 pref("privacy.panicButton.enabled",         true);
745 // Time until temporary permissions expire, in ms
746 pref("privacy.temporary_permission_expire_time_ms",  3600000);
748 pref("network.proxy.share_proxy_settings",  false); // use the same proxy settings for all protocols
750 // simple gestures support
751 pref("browser.gesture.swipe.left", "Browser:BackOrBackDuplicate");
752 pref("browser.gesture.swipe.right", "Browser:ForwardOrForwardDuplicate");
753 pref("browser.gesture.swipe.up", "cmd_scrollTop");
754 pref("browser.gesture.swipe.down", "cmd_scrollBottom");
755 pref("browser.gesture.pinch.latched", false);
756 pref("browser.gesture.pinch.threshold", 25);
757 #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK)
758   // Enabled for touch input display zoom.
759   pref("browser.gesture.pinch.out", "cmd_fullZoomEnlarge");
760   pref("browser.gesture.pinch.in", "cmd_fullZoomReduce");
761   pref("browser.gesture.pinch.out.shift", "cmd_fullZoomReset");
762   pref("browser.gesture.pinch.in.shift", "cmd_fullZoomReset");
763 #else
764   // Disabled by default due to issues with track pad input.
765   pref("browser.gesture.pinch.out", "");
766   pref("browser.gesture.pinch.in", "");
767   pref("browser.gesture.pinch.out.shift", "");
768   pref("browser.gesture.pinch.in.shift", "");
769 #endif
770 pref("browser.gesture.twist.latched", false);
771 pref("browser.gesture.twist.threshold", 0);
772 pref("browser.gesture.twist.right", "cmd_gestureRotateRight");
773 pref("browser.gesture.twist.left", "cmd_gestureRotateLeft");
774 pref("browser.gesture.twist.end", "cmd_gestureRotateEnd");
775 #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK)
776   pref("browser.gesture.tap", "cmd_fullZoomReset");
777 #else
778   pref("browser.gesture.tap", "");
779 #endif
781 pref("browser.history_swipe_animation.disabled", false);
783 // 0: Nothing happens
784 // 1: Scrolling contents
785 // 2: Go back or go forward, in your history
786 // 3: Zoom in or out (reflowing zoom).
787 // 4: Treat vertical wheel as horizontal scroll
788 // 5: Zoom in or out (pinch zoom).
789 #ifdef XP_MACOSX
790   // On macOS, if the wheel has one axis only, shift+wheel comes through as a
791   // horizontal scroll event. Thus, we can't assign anything other than normal
792   // scrolling to shift+wheel.
793   pref("mousewheel.with_shift.action", 1);
794   pref("mousewheel.with_alt.action", 2);
795   // On MacOS X, control+wheel is typically handled by system and we don't
796   // receive the event.  So, command key which is the main modifier key for
797   // acceleration is the best modifier for zoom-in/out.  However, we should keep
798   // the control key setting for backward compatibility.
799   pref("mousewheel.with_meta.action", 3); // command key on Mac
800   // Disable control-/meta-modified horizontal wheel events, since those are
801   // used on Mac as part of modified swipe gestures (e.g. Left swipe+Cmd is
802   // "go back" in a new tab).
803   pref("mousewheel.with_control.action.override_x", 0);
804   pref("mousewheel.with_meta.action.override_x", 0);
805 #else
806   // On the other platforms (non-macOS), user may use legacy mouse which
807   // supports only vertical wheel but want to scroll horizontally.  For such
808   // users, we should provide horizontal scroll with shift+wheel (same as
809   // Chrome). However, shift+wheel was used for navigating history.  For users
810   // who want to keep using this feature, let's enable it with alt+wheel.  This
811   // is better for consistency with macOS users.
812   pref("mousewheel.with_shift.action", 4);
813   pref("mousewheel.with_alt.action", 2);
814   pref("mousewheel.with_meta.action", 1); // win key on Win, Super/Hyper on Linux
815 #endif
816 pref("mousewheel.with_control.action",3);
817 pref("mousewheel.with_win.action", 1);
819 pref("browser.xul.error_pages.expert_bad_cert", false);
820 pref("browser.xul.error_pages.show_safe_browsing_details_on_load", false);
822 // Enable captive portal detection.
823 pref("network.captive-portal-service.enabled", true);
825 // If true, network link events will change the value of navigator.onLine
826 pref("network.manage-offline-status", true);
828 // We want to make sure mail URLs are handled externally...
829 pref("network.protocol-handler.external.mailto", true); // for mail
830 pref("network.protocol-handler.external.news", true);   // for news
831 pref("network.protocol-handler.external.snews", true);  // for secure news
832 pref("network.protocol-handler.external.nntp", true);   // also news
833 #ifdef XP_WIN
834   pref("network.protocol-handler.external.ms-windows-store", true);
835 #endif
837 // ...without warning dialogs
838 pref("network.protocol-handler.warn-external.mailto", false);
839 pref("network.protocol-handler.warn-external.news", false);
840 pref("network.protocol-handler.warn-external.snews", false);
841 pref("network.protocol-handler.warn-external.nntp", false);
842 #ifdef XP_WIN
843   pref("network.protocol-handler.warn-external.ms-windows-store", false);
844 #endif
846 // By default, all protocol handlers are exposed.  This means that
847 // the browser will respond to openURL commands for all URL types.
848 // It will also try to open link clicks inside the browser before
849 // failing over to the system handlers.
850 pref("network.protocol-handler.expose-all", true);
851 pref("network.protocol-handler.expose.mailto", false);
852 pref("network.protocol-handler.expose.news", false);
853 pref("network.protocol-handler.expose.snews", false);
854 pref("network.protocol-handler.expose.nntp", false);
856 pref("accessibility.typeaheadfind", false);
857 pref("accessibility.typeaheadfind.timeout", 5000);
858 pref("accessibility.typeaheadfind.linksonly", false);
859 pref("accessibility.typeaheadfind.flashBar", 1);
861 // Accessibility indicator preferences such as support URL, enabled flag.
862 pref("accessibility.support.url", "https://support.mozilla.org/%LOCALE%/kb/accessibility-services");
863 pref("accessibility.indicator.enabled", false);
865 pref("plugins.testmode", false);
867 // Should plugins that are hidden show the infobar UI?
868 pref("plugins.show_infobar", false);
870 #if defined(_ARM64_) && defined(XP_WIN)
871   pref("plugin.default.state", 0);
872 #else
873   pref("plugin.default.state", 1);
874 #endif
876 // Enables the download and use of the flash blocklists.
877 pref("plugins.flashBlock.enabled", true);
879 // Prefer HTML5 video over Flash content, and don't
880 // load plugin instances with no src declared.
881 // These prefs are documented in details on all.js.
882 // With the "follow-ctp" setting, this will only
883 // apply to users that have plugin.state.flash = 1.
884 pref("plugins.favorfallback.mode", "follow-ctp");
885 pref("plugins.favorfallback.rules", "nosrc,video");
887 #ifdef XP_WIN
888   pref("browser.preferences.instantApply", false);
889 #else
890   pref("browser.preferences.instantApply", true);
891 #endif
893 // Toggling Search bar on and off in about:preferences
894 pref("browser.preferences.search", true);
895 #if defined(NIGHTLY_BUILD)
896 pref("browser.preferences.experimental", true);
897 #else
898 pref("browser.preferences.experimental", false);
899 #endif
900 pref("browser.preferences.experimental.hidden", false);
901 pref("browser.preferences.defaultPerformanceSettings.enabled", true);
903 pref("browser.proton.toolbar.version", 0);
905 // Backspace and Shift+Backspace behavior
906 // 0 goes Back/Forward
907 // 1 act like PgUp/PgDown
908 // 2 and other values, nothing
909 pref("browser.backspace_action", 2);
911 pref("intl.regional_prefs.use_os_locales", false);
913 // this will automatically enable inline spellchecking (if it is available) for
914 // editable elements in HTML
915 // 0 = spellcheck nothing
916 // 1 = check multi-line controls [default]
917 // 2 = check multi/single line controls
918 pref("layout.spellcheckDefault", 1);
920 pref("browser.send_pings", false);
922 // At startup, if the handler service notices that the version number in the
923 // region.properties file is newer than the version number in the handler
924 // service datastore, it will add any new handlers it finds in the prefs (as
925 // seeded by this file) to its datastore.
926 pref("gecko.handlerService.defaultHandlersVersion", "chrome://browser-region/locale/region.properties");
928 // The default set of web-based protocol handlers shown in the application
929 // selection dialog for webcal: ; I've arbitrarily picked 4 default handlers
930 // per protocol, but if some locale wants more than that (or defaults for some
931 // protocol not currently listed here), we should go ahead and add those.
933 // webcal
934 pref("gecko.handlerService.schemes.webcal.0.name", "chrome://browser-region/locale/region.properties");
935 pref("gecko.handlerService.schemes.webcal.0.uriTemplate", "chrome://browser-region/locale/region.properties");
936 pref("gecko.handlerService.schemes.webcal.1.name", "chrome://browser-region/locale/region.properties");
937 pref("gecko.handlerService.schemes.webcal.1.uriTemplate", "chrome://browser-region/locale/region.properties");
938 pref("gecko.handlerService.schemes.webcal.2.name", "chrome://browser-region/locale/region.properties");
939 pref("gecko.handlerService.schemes.webcal.2.uriTemplate", "chrome://browser-region/locale/region.properties");
940 pref("gecko.handlerService.schemes.webcal.3.name", "chrome://browser-region/locale/region.properties");
941 pref("gecko.handlerService.schemes.webcal.3.uriTemplate", "chrome://browser-region/locale/region.properties");
943 // mailto
944 pref("gecko.handlerService.schemes.mailto.0.name", "chrome://browser-region/locale/region.properties");
945 pref("gecko.handlerService.schemes.mailto.0.uriTemplate", "chrome://browser-region/locale/region.properties");
946 pref("gecko.handlerService.schemes.mailto.1.name", "chrome://browser-region/locale/region.properties");
947 pref("gecko.handlerService.schemes.mailto.1.uriTemplate", "chrome://browser-region/locale/region.properties");
948 pref("gecko.handlerService.schemes.mailto.2.name", "chrome://browser-region/locale/region.properties");
949 pref("gecko.handlerService.schemes.mailto.2.uriTemplate", "chrome://browser-region/locale/region.properties");
950 pref("gecko.handlerService.schemes.mailto.3.name", "chrome://browser-region/locale/region.properties");
951 pref("gecko.handlerService.schemes.mailto.3.uriTemplate", "chrome://browser-region/locale/region.properties");
953 // irc
954 pref("gecko.handlerService.schemes.irc.0.name", "chrome://browser-region/locale/region.properties");
955 pref("gecko.handlerService.schemes.irc.0.uriTemplate", "chrome://browser-region/locale/region.properties");
956 pref("gecko.handlerService.schemes.irc.1.name", "chrome://browser-region/locale/region.properties");
957 pref("gecko.handlerService.schemes.irc.1.uriTemplate", "chrome://browser-region/locale/region.properties");
958 pref("gecko.handlerService.schemes.irc.2.name", "chrome://browser-region/locale/region.properties");
959 pref("gecko.handlerService.schemes.irc.2.uriTemplate", "chrome://browser-region/locale/region.properties");
960 pref("gecko.handlerService.schemes.irc.3.name", "chrome://browser-region/locale/region.properties");
961 pref("gecko.handlerService.schemes.irc.3.uriTemplate", "chrome://browser-region/locale/region.properties");
963 // ircs
964 pref("gecko.handlerService.schemes.ircs.0.name", "chrome://browser-region/locale/region.properties");
965 pref("gecko.handlerService.schemes.ircs.0.uriTemplate", "chrome://browser-region/locale/region.properties");
966 pref("gecko.handlerService.schemes.ircs.1.name", "chrome://browser-region/locale/region.properties");
967 pref("gecko.handlerService.schemes.ircs.1.uriTemplate", "chrome://browser-region/locale/region.properties");
968 pref("gecko.handlerService.schemes.ircs.2.name", "chrome://browser-region/locale/region.properties");
969 pref("gecko.handlerService.schemes.ircs.2.uriTemplate", "chrome://browser-region/locale/region.properties");
970 pref("gecko.handlerService.schemes.ircs.3.name", "chrome://browser-region/locale/region.properties");
971 pref("gecko.handlerService.schemes.ircs.3.uriTemplate", "chrome://browser-region/locale/region.properties");
973 pref("browser.geolocation.warning.infoURL", "https://www.mozilla.org/%LOCALE%/firefox/geolocation/");
974 pref("browser.xr.warning.infoURL", "https://www.mozilla.org/%LOCALE%/firefox/xr/");
976 pref("browser.sessionstore.resume_from_crash", true);
977 pref("browser.sessionstore.resume_session_once", false);
978 pref("browser.sessionstore.resuming_after_os_restart", false);
980 // Minimal interval between two save operations in milliseconds (while the user is idle).
981 pref("browser.sessionstore.interval.idle", 3600000); // 1h
983 // Time (ms) before we assume that the user is idle and that we don't need to
984 // collect/save the session quite as often.
985 pref("browser.sessionstore.idleDelay", 180000); // 3 minutes
987 // on which sites to save text data, POSTDATA and cookies
988 // 0 = everywhere, 1 = unencrypted sites, 2 = nowhere
989 pref("browser.sessionstore.privacy_level", 0);
990 // how many tabs can be reopened (per window)
991 pref("browser.sessionstore.max_tabs_undo", 25);
992 // how many windows can be reopened (per session) - on non-OS X platforms this
993 // pref may be ignored when dealing with pop-up windows to ensure proper startup
994 pref("browser.sessionstore.max_windows_undo", 3);
995 // number of crashes that can occur before the about:sessionrestore page is displayed
996 // (this pref has no effect if more than 6 hours have passed since the last crash)
997 pref("browser.sessionstore.max_resumed_crashes", 1);
998 // number of back button session history entries to restore (-1 = all of them)
999 pref("browser.sessionstore.max_serialize_back", 10);
1000 // number of forward button session history entries to restore (-1 = all of them)
1001 pref("browser.sessionstore.max_serialize_forward", -1);
1002 // restore_on_demand overrides MAX_CONCURRENT_TAB_RESTORES (sessionstore constant)
1003 // and restore_hidden_tabs. When true, tabs will not be restored until they are
1004 // focused (also applies to tabs that aren't visible). When false, the values
1005 // for MAX_CONCURRENT_TAB_RESTORES and restore_hidden_tabs are respected.
1006 // Selected tabs are always restored regardless of this pref.
1007 pref("browser.sessionstore.restore_on_demand", true);
1008 // Whether to automatically restore hidden tabs (i.e., tabs in other tab groups) or not
1009 pref("browser.sessionstore.restore_hidden_tabs", false);
1010 // If restore_on_demand is set, pinned tabs are restored on startup by default.
1011 // When set to true, this pref overrides that behavior, and pinned tabs will only
1012 // be restored when they are focused.
1013 pref("browser.sessionstore.restore_pinned_tabs_on_demand", false);
1014 // The version at which we performed the latest upgrade backup
1015 pref("browser.sessionstore.upgradeBackup.latestBuildID", "");
1016 // How many upgrade backups should be kept
1017 pref("browser.sessionstore.upgradeBackup.maxUpgradeBackups", 3);
1018 // End-users should not run sessionstore in debug mode
1019 pref("browser.sessionstore.debug", false);
1020 // Forget closed windows/tabs after two weeks
1021 pref("browser.sessionstore.cleanup.forget_closed_after", 1209600000);
1022 // Amount of failed SessionFile writes until we restart the worker.
1023 pref("browser.sessionstore.max_write_failures", 5);
1025 // Whether to warn the user when quitting, even though their tabs will be restored.
1026 pref("browser.sessionstore.warnOnQuit", false);
1028 // Don't quit the browser when Ctrl + Q is pressed.
1029 pref("browser.quitShortcut.disabled", false);
1031 // allow META refresh by default
1032 pref("accessibility.blockautorefresh", false);
1034 // Whether history is enabled or not.
1035 pref("places.history.enabled", true);
1037 // Whether or not diacritics must match in history text searches.
1038 pref("places.search.matchDiacritics", false);
1040 // the (maximum) number of the recent visits to sample
1041 // when calculating frecency
1042 pref("places.frecency.numVisits", 10);
1044 // buckets (in days) for frecency calculation
1045 pref("places.frecency.firstBucketCutoff", 4);
1046 pref("places.frecency.secondBucketCutoff", 14);
1047 pref("places.frecency.thirdBucketCutoff", 31);
1048 pref("places.frecency.fourthBucketCutoff", 90);
1050 // weights for buckets for frecency calculations
1051 pref("places.frecency.firstBucketWeight", 100);
1052 pref("places.frecency.secondBucketWeight", 70);
1053 pref("places.frecency.thirdBucketWeight", 50);
1054 pref("places.frecency.fourthBucketWeight", 30);
1055 pref("places.frecency.defaultBucketWeight", 10);
1057 // bonus (in percent) for visit transition types for frecency calculations
1058 pref("places.frecency.embedVisitBonus", 0);
1059 pref("places.frecency.framedLinkVisitBonus", 0);
1060 pref("places.frecency.linkVisitBonus", 100);
1061 pref("places.frecency.typedVisitBonus", 2000);
1062 // The bookmarks bonus is always added on top of any other bonus, including
1063 // the redirect source and the typed ones.
1064 pref("places.frecency.bookmarkVisitBonus", 75);
1065 // The redirect source bonus overwrites any transition bonus.
1066 // 0 would hide these pages, instead we want them low ranked.  Thus we use
1067 // linkVisitBonus - bookmarkVisitBonus, so that a bookmarked source is in par
1068 // with a common link.
1069 pref("places.frecency.redirectSourceVisitBonus", 25);
1070 pref("places.frecency.downloadVisitBonus", 0);
1071 // The perm/temp redirects here relate to redirect targets, not sources.
1072 pref("places.frecency.permRedirectVisitBonus", 50);
1073 pref("places.frecency.tempRedirectVisitBonus", 40);
1074 pref("places.frecency.reloadVisitBonus", 0);
1075 pref("places.frecency.defaultVisitBonus", 0);
1077 // bonus (in percent) for place types for frecency calculations
1078 pref("places.frecency.unvisitedBookmarkBonus", 140);
1079 pref("places.frecency.unvisitedTypedBonus", 200);
1081 // Clear data by base domain (including partitioned storage) when the user
1082 // selects "Forget About This Site".
1083 pref("places.forgetThisSite.clearByBaseDomain", true);
1085 // Controls behavior of the "Add Exception" dialog launched from SSL error pages
1086 // 0 - don't pre-populate anything
1087 // 1 - pre-populate site URL, but don't fetch certificate
1088 // 2 - pre-populate site URL and pre-fetch certificate
1089 pref("browser.ssl_override_behavior", 2);
1091 // if true, use full page zoom instead of text zoom
1092 pref("browser.zoom.full", true);
1094 // Whether or not to save and restore zoom levels on a per-site basis.
1095 pref("browser.zoom.siteSpecific", true);
1097 // Whether or not to update background tabs to the current zoom level.
1098 pref("browser.zoom.updateBackgroundTabs", true);
1100 // The breakpad report server to link to in about:crashes
1101 pref("breakpad.reportURL", "https://crash-stats.mozilla.org/report/index/");
1103 // URL for "Learn More" for DataCollection
1104 pref("toolkit.datacollection.infoURL",
1105      "https://www.mozilla.org/legal/privacy/firefox.html");
1107 // URL for "Learn More" for Crash Reporter
1108 pref("toolkit.crashreporter.infoURL",
1109      "https://www.mozilla.org/legal/privacy/firefox.html#crash-reporter");
1111 // base URL for web-based support pages
1112 pref("app.support.baseURL", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/");
1114 // base url for web-based feedback pages
1115 pref("app.feedback.baseURL", "https://ideas.mozilla.org/");
1117 // Name of alternate about: page for certificate errors (when undefined, defaults to about:neterror)
1118 pref("security.alternate_certificate_error_page", "certerror");
1120 pref("security.certerrors.recordEventTelemetry", true);
1121 pref("security.certerrors.permanentOverride", true);
1122 pref("security.certerrors.mitm.priming.enabled", true);
1123 pref("security.certerrors.mitm.priming.endpoint", "https://mitmdetection.services.mozilla.com/");
1124 pref("security.certerrors.mitm.auto_enable_enterprise_roots", true);
1126 // Whether the bookmark panel should be shown when bookmarking a page.
1127 pref("browser.bookmarks.editDialog.showForNewBookmarks", true);
1129 // Don't try to alter this pref, it'll be reset the next time you use the
1130 // bookmarking dialog
1131 pref("browser.bookmarks.editDialog.firstEditField", "namePicker");
1133 // The number of recently selected folders in the edit bookmarks dialog.
1134 pref("browser.bookmarks.editDialog.maxRecentFolders", 7);
1136 pref("dom.ipc.plugins.flash.disable-protected-mode", false);
1138 // Feature-disable the protected-mode auto-flip
1139 pref("browser.flash-protected-mode-flip.enable", false);
1141 // Whether we've already flipped protected mode automatically
1142 pref("browser.flash-protected-mode-flip.done", false);
1144 pref("dom.ipc.shims.enabledWarnings", false);
1146 #if defined(XP_WIN) && defined(MOZ_SANDBOX)
1147   // Controls whether and how the Windows NPAPI plugin process is sandboxed.
1148   // To get a different setting for a particular plugin replace "default", with
1149   // the plugin's nice file name, see: nsPluginTag::GetNiceFileName.
1150   // On windows these levels are:
1151   // 0 - no sandbox
1152   // 1 - sandbox with USER_NON_ADMIN access token level
1153   // 2 - a more strict sandbox, which might cause functionality issues. This now
1154   //     includes running at low integrity.
1155   // 3 - the strongest settings we seem to be able to use without breaking
1156   //     everything, but will probably cause some functionality restrictions
1157   pref("dom.ipc.plugins.sandbox-level.default", 0);
1158   #if defined(_AMD64_)
1159     // The base sandbox level in nsPluginTag::InitSandboxLevel must be
1160     // updated to keep in sync with this value.
1161     pref("dom.ipc.plugins.sandbox-level.flash", 3);
1162   #else
1163     pref("dom.ipc.plugins.sandbox-level.flash", 0);
1164   #endif
1166   // This controls the strength of the Windows content process sandbox for
1167   // testing purposes. This will require a restart.
1168   // On windows these levels are:
1169   // See - security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp
1170   // SetSecurityLevelForContentProcess() for what the different settings mean.
1171   pref("security.sandbox.content.level", 6);
1173   // This controls the strength of the Windows GPU process sandbox.  Changes
1174   // will require restart.
1175   // For information on what the level number means, see
1176   // SetSecurityLevelForGPUProcess() in
1177   // security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp
1178   pref("security.sandbox.gpu.level", 0);
1179 #endif
1181 #if defined(XP_MACOSX) && defined(MOZ_SANDBOX)
1182   // This pref is discussed in bug 1083344, the naming is inspired from its
1183   // Windows counterpart, but on Mac it's an integer which means:
1184   // 0 -> "no sandbox" (nightly only)
1185   // 1 -> "preliminary content sandboxing enabled: write access to
1186   //       home directory is prevented"
1187   // 2 -> "preliminary content sandboxing enabled with profile protection:
1188   //       write access to home directory is prevented, read and write access
1189   //       to ~/Library and profile directories are prevented (excluding
1190   //       $PROFILE/{extensions,chrome})"
1191   // 3 -> "no global read/write access, read access permitted to
1192   //       $PROFILE/{extensions,chrome}"
1193   // This setting is read when the content process is started. On Mac the
1194   // content process is killed when all windows are closed, so a change will
1195   // take effect when the 1st window is opened.
1196   pref("security.sandbox.content.level", 3);
1198   // Prefs for controlling whether and how the Mac NPAPI Flash plugin process is
1199   // sandboxed. On Mac these levels are:
1200   // 0 - "no sandbox"
1201   // 1 - "global read access, limited write access for Flash functionality"
1202   // 2 - "read access triggered by file dialog activity, limited read/write"
1203   //     "access for Flash functionality"
1204   // 3 - "limited read/write access for Flash functionality"
1205   pref("dom.ipc.plugins.sandbox-level.flash", 1);
1206   // Controls the level used on older OS X versions. Is overriden when the
1207   // "dom.ipc.plugins.sandbox-level.flash" is set to 0.
1208   pref("dom.ipc.plugins.sandbox-level.flash.legacy", 1);
1209   // The max OS minor version where we use the above legacy sandbox level.
1210   pref("dom.ipc.plugins.sandbox-level.flash.max-legacy-os-minor", 10);
1211   // Controls the sandbox level used by plugins other than Flash. On Mac,
1212   // no other plugins are supported and this pref is only used for test
1213   // plugins used in automated tests.
1214   pref("dom.ipc.plugins.sandbox-level.default", 1);
1215 #endif
1217 #if defined(XP_LINUX) && defined(MOZ_SANDBOX)
1218   // This pref is introduced as part of bug 742434, the naming is inspired from
1219   // its Windows/Mac counterpart, but on Linux it's an integer which means:
1220   // 0 -> "no sandbox"
1221   // 1 -> "content sandbox using seccomp-bpf when available" + ipc restrictions
1222   // 2 -> "seccomp-bpf + write file broker"
1223   // 3 -> "seccomp-bpf + read/write file brokering"
1224   // 4 -> all of the above + network/socket restrictions + chroot
1225   //
1226   // The purpose of this setting is to allow Linux users or distros to disable
1227   // the sandbox while we fix their problems, or to allow running Firefox with
1228   // exotic configurations we can't reasonably support out of the box.
1229   //
1230   pref("security.sandbox.content.level", 4);
1231   // Introduced as part of bug 1608558.  Linux is currently the only platform
1232   // that uses a sandbox level for the socket process.  There are currently
1233   // only 2 levels:
1234   // 0 -> "no sandbox"
1235   // 1 -> "sandboxed, allows socket operations and reading necessary certs"
1236   pref("security.sandbox.socket.process.level", 1);
1237   pref("security.sandbox.content.write_path_whitelist", "");
1238   pref("security.sandbox.content.read_path_whitelist", "");
1239   pref("security.sandbox.content.syscall_whitelist", "");
1240 #endif
1242 #if defined(XP_OPENBSD) && defined(MOZ_SANDBOX)
1243   pref("security.sandbox.content.level", 1);
1244 #endif
1246 #if defined(MOZ_SANDBOX)
1247   // ID (a UUID when set by gecko) that is used to form the name of a
1248   // sandbox-writable temporary directory to be used by content processes
1249   // when a temporary writable file is required in a level 1 sandbox.
1250   pref("security.sandbox.content.tempDirSuffix", "");
1251   pref("security.sandbox.plugin.tempDirSuffix", "");
1253   // This pref determines if messages relevant to sandbox violations are
1254   // logged.
1255   #if defined(XP_WIN) || defined(XP_MACOSX)
1256     pref("security.sandbox.logging.enabled", false);
1257   #endif
1258 #endif
1260 // This pref governs whether we attempt to work around problems caused by
1261 // plugins using OS calls to manipulate the cursor while running out-of-
1262 // process.  These workarounds all involve intercepting (hooking) certain
1263 // OS calls in the plugin process, then arranging to make certain OS calls
1264 // in the browser process.  Eventually plugins will be required to use the
1265 // NPAPI to manipulate the cursor, and these workarounds will be removed.
1266 // See bug 621117.
1267 #ifdef XP_MACOSX
1268   pref("dom.ipc.plugins.nativeCursorSupport", true);
1269 #endif
1271 #ifdef XP_WIN
1272   pref("browser.taskbar.previews.enable", false);
1273   pref("browser.taskbar.previews.max", 20);
1274   pref("browser.taskbar.previews.cachetime", 5);
1275   pref("browser.taskbar.lists.enabled", true);
1276   pref("browser.taskbar.lists.frequent.enabled", true);
1277   pref("browser.taskbar.lists.recent.enabled", false);
1278   pref("browser.taskbar.lists.maxListItemCount", 7);
1279   pref("browser.taskbar.lists.tasks.enabled", true);
1280   pref("browser.taskbar.lists.refreshInSeconds", 120);
1281 #endif
1283 // Preferences to be synced by default
1284 pref("services.sync.prefs.sync.accessibility.blockautorefresh", true);
1285 pref("services.sync.prefs.sync.accessibility.browsewithcaret", true);
1286 pref("services.sync.prefs.sync.accessibility.typeaheadfind", true);
1287 pref("services.sync.prefs.sync.accessibility.typeaheadfind.linksonly", true);
1288 pref("services.sync.prefs.sync.addons.ignoreUserEnabledChanges", true);
1289 pref("services.sync.prefs.sync.app.shield.optoutstudies.enabled", true);
1290 // The addons prefs related to repository verification are intentionally
1291 // not synced for security reasons. If a system is compromised, a user
1292 // could weaken the pref locally, install an add-on from an untrusted
1293 // source, and this would propagate automatically to other,
1294 // uncompromised Sync-connected devices.
1295 pref("services.sync.prefs.sync.browser.contentblocking.category", true);
1296 pref("services.sync.prefs.sync.browser.contentblocking.features.strict", true);
1297 pref("services.sync.prefs.sync.browser.crashReports.unsubmittedCheck.autoSubmit2", true);
1298 pref("services.sync.prefs.sync.browser.ctrlTab.sortByRecentlyUsed", true);
1299 pref("services.sync.prefs.sync.browser.discovery.enabled", true);
1300 pref("services.sync.prefs.sync.browser.download.useDownloadDir", true);
1301 pref("services.sync.prefs.sync.browser.formfill.enable", true);
1302 pref("services.sync.prefs.sync.browser.link.open_newwindow", true);
1303 pref("services.sync.prefs.sync.browser.menu.showViewImageInfo", true);
1304 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", true);
1305 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", true);
1306 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSearch", true);
1307 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored", true);
1308 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSites", true);
1309 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.topsites", true);
1310 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.topSitesRows", true);
1311 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.snippets", true);
1312 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.section.topstories", true);
1313 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.topstories.rows", true);
1314 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.section.highlights", true);
1315 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeVisited", true);
1316 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeBookmarks", true);
1317 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeDownloads", true);
1318 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includePocket", true);
1319 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.rows", true);
1320 pref("services.sync.prefs.sync.browser.newtabpage.enabled", true);
1321 pref("services.sync.prefs.sync.browser.newtabpage.pinned", true);
1322 pref("services.sync.prefs.sync.browser.offline-apps.notify", true);
1323 pref("services.sync.prefs.sync.browser.safebrowsing.downloads.enabled", true);
1324 pref("services.sync.prefs.sync.browser.safebrowsing.downloads.remote.block_potentially_unwanted", true);
1325 pref("services.sync.prefs.sync.browser.safebrowsing.malware.enabled", true);
1326 pref("services.sync.prefs.sync.browser.safebrowsing.phishing.enabled", true);
1327 pref("services.sync.prefs.sync.browser.search.update", true);
1328 pref("services.sync.prefs.sync.browser.search.widget.inNavBar", true);
1329 pref("services.sync.prefs.sync.browser.sessionstore.warnOnQuit", true);
1330 pref("services.sync.prefs.sync.browser.startup.homepage", true);
1331 pref("services.sync.prefs.sync.browser.startup.page", true);
1332 pref("services.sync.prefs.sync.browser.tabs.loadInBackground", true);
1333 pref("services.sync.prefs.sync.browser.tabs.warnOnClose", true);
1334 pref("services.sync.prefs.sync.browser.tabs.warnOnOpen", true);
1335 pref("services.sync.prefs.sync.browser.taskbar.previews.enable", true);
1336 pref("services.sync.prefs.sync.browser.urlbar.maxRichResults", true);
1337 pref("services.sync.prefs.sync.browser.urlbar.showSearchSuggestionsFirst", true);
1338 pref("services.sync.prefs.sync.browser.urlbar.suggest.bookmark", true);
1339 pref("services.sync.prefs.sync.browser.urlbar.suggest.history", true);
1340 pref("services.sync.prefs.sync.browser.urlbar.suggest.openpage", true);
1341 pref("services.sync.prefs.sync.browser.urlbar.suggest.searches", true);
1342 pref("services.sync.prefs.sync.browser.urlbar.suggest.topsites", true);
1343 pref("services.sync.prefs.sync.browser.urlbar.suggest.engines", true);
1344 pref("services.sync.prefs.sync.dom.disable_open_during_load", true);
1345 pref("services.sync.prefs.sync.dom.disable_window_flip", true);
1346 pref("services.sync.prefs.sync.dom.disable_window_move_resize", true);
1347 pref("services.sync.prefs.sync.dom.event.contextmenu.enabled", true);
1348 pref("services.sync.prefs.sync.dom.security.https_only_mode", true);
1349 pref("services.sync.prefs.sync.dom.security.https_only_mode_ever_enabled", true);
1350 pref("services.sync.prefs.sync.dom.security.https_only_mode_ever_enabled_pbm", true);
1351 pref("services.sync.prefs.sync.dom.security.https_only_mode_pbm", true);
1352 pref("services.sync.prefs.sync.extensions.update.enabled", true);
1353 pref("services.sync.prefs.sync.extensions.activeThemeID", true);
1354 pref("services.sync.prefs.sync.general.autoScroll", true);
1355 pref("services.sync.prefs.sync.general.smoothScroll", true);
1356 pref("services.sync.prefs.sync.intl.accept_languages", true);
1357 pref("services.sync.prefs.sync.intl.regional_prefs.use_os_locales", true);
1358 pref("services.sync.prefs.sync.layout.spellcheckDefault", true);
1359 pref("services.sync.prefs.sync.media.autoplay.default", true);
1360 pref("services.sync.prefs.sync.media.eme.enabled", true);
1361 pref("services.sync.prefs.sync.media.videocontrols.picture-in-picture.video-toggle.enabled", true);
1362 pref("services.sync.prefs.sync.network.cookie.cookieBehavior", true);
1363 pref("services.sync.prefs.sync.network.cookie.lifetimePolicy", true);
1364 pref("services.sync.prefs.sync.network.cookie.thirdparty.sessionOnly", true);
1365 pref("services.sync.prefs.sync.permissions.default.image", true);
1366 pref("services.sync.prefs.sync.pref.downloads.disable_button.edit_actions", true);
1367 pref("services.sync.prefs.sync.pref.privacy.disable_button.cookie_exceptions", true);
1368 pref("services.sync.prefs.sync.privacy.clearOnShutdown.cache", true);
1369 pref("services.sync.prefs.sync.privacy.clearOnShutdown.cookies", true);
1370 pref("services.sync.prefs.sync.privacy.clearOnShutdown.downloads", true);
1371 pref("services.sync.prefs.sync.privacy.clearOnShutdown.formdata", true);
1372 pref("services.sync.prefs.sync.privacy.clearOnShutdown.history", true);
1373 pref("services.sync.prefs.sync.privacy.clearOnShutdown.offlineApps", true);
1374 pref("services.sync.prefs.sync.privacy.clearOnShutdown.sessions", true);
1375 pref("services.sync.prefs.sync.privacy.clearOnShutdown.siteSettings", true);
1376 pref("services.sync.prefs.sync.privacy.donottrackheader.enabled", true);
1377 pref("services.sync.prefs.sync.privacy.sanitize.sanitizeOnShutdown", true);
1378 pref("services.sync.prefs.sync.privacy.trackingprotection.enabled", true);
1379 pref("services.sync.prefs.sync.privacy.trackingprotection.cryptomining.enabled", true);
1380 pref("services.sync.prefs.sync.privacy.trackingprotection.fingerprinting.enabled", true);
1381 pref("services.sync.prefs.sync.privacy.trackingprotection.pbmode.enabled", true);
1382 pref("services.sync.prefs.sync.privacy.resistFingerprinting", true);
1383 pref("services.sync.prefs.sync.privacy.reduceTimerPrecision", true);
1384 pref("services.sync.prefs.sync.privacy.resistFingerprinting.reduceTimerPrecision.microseconds", true);
1385 pref("services.sync.prefs.sync.privacy.resistFingerprinting.reduceTimerPrecision.jitter", true);
1386 pref("services.sync.prefs.sync.privacy.userContext.enabled", true);
1387 pref("services.sync.prefs.sync.privacy.userContext.newTabContainerOnLeftClick.enabled", true);
1388 pref("services.sync.prefs.sync.security.default_personal_cert", true);
1389 pref("services.sync.prefs.sync.services.sync.syncedTabs.showRemoteIcons", true);
1390 pref("services.sync.prefs.sync.signon.autofillForms", true);
1391 pref("services.sync.prefs.sync.signon.generation.enabled", true);
1392 pref("services.sync.prefs.sync.signon.management.page.breach-alerts.enabled", true);
1393 pref("services.sync.prefs.sync.signon.rememberSignons", true);
1394 pref("services.sync.prefs.sync.spellchecker.dictionary", true);
1395 pref("services.sync.prefs.sync.ui.osk.enabled", true);
1397 // A preference which, if false, means sync will only apply incoming preference
1398 // changes if there's already a local services.sync.prefs.sync.* control pref.
1399 // If true, all incoming preferences will be applied and the local "control
1400 // pref" updated accordingly.
1401 pref("services.sync.prefs.dangerously_allow_arbitrary", false);
1403 // A preference that controls whether we should show the icon for a remote tab.
1404 // This pref has no UI but exists because some people may be concerned that
1405 // fetching these icons to show remote tabs may leak information about that
1406 // user's tabs and bookmarks. Note this pref is also synced.
1407 pref("services.sync.syncedTabs.showRemoteIcons", true);
1409 // Whether the character encoding menu is under the main Firefox button. This
1410 // preference is a string so that localizers can alter it.
1411 pref("browser.menu.showCharacterEncoding", "chrome://browser/locale/browser.properties");
1413 // Whether prompts should be content modal (1) tab modal (2) or window modal(3) by default
1414 // This is a fallback value for when prompt callers do not specify a modalType.
1415 pref("prompts.defaultModalType", 3);
1417 pref("browser.topsites.useRemoteSetting", true);
1418 // Fetch sponsored Top Sites from Mozilla Tiles Service (Contile)
1419 pref("browser.topsites.contile.enabled", false);
1420 pref("browser.topsites.contile.endpoint", "https://contile.services.mozilla.com/v1/tiles");
1422 // The base URL for the Quick Suggest anonymizing proxy. To make a request to
1423 // the proxy, include a campaign ID in the path.
1424 pref("browser.partnerlink.attributionURL", "https://topsites.services.mozilla.com/cid/");
1425 pref("browser.partnerlink.campaign.topsites", "amzn_2020_a1");
1427 // Whether to show tab level system prompts opened via nsIPrompt(Service) as
1428 // SubDialogs in the TabDialogBox (true) or as TabModalPrompt in the
1429 // TabModalPromptBox (false).
1430 pref("prompts.tabChromePromptSubDialog", true);
1432 // Whether to show the dialogs opened at the content level, such as
1433 // alert() or prompt(), using a SubDialogManager in the TabDialogBox.
1434 pref("prompts.contentPromptSubDialog", true);
1436 // Whether to show window-modal dialogs opened for browser windows
1437 // in a SubDialog inside their parent, instead of an OS level window.
1438 pref("prompts.windowPromptSubDialog", true);
1440 // Activates preloading of the new tab url.
1441 pref("browser.newtab.preload", true);
1443 // Preference to enable the entire new newtab experience at once.
1444 pref("browser.newtabpage.activity-stream.newNewtabExperience.enabled", true);
1446 // A preference which allows us to enable the fly out customization overlay
1447 // on the newtab page.
1448 pref("browser.newtabpage.activity-stream.customizationMenu.enabled", false);
1449 pref("browser.newtabpage.activity-stream.newNewtabExperience.colors", "#0090ED,#FF4F5F,#2AC3A2,#FF7139,#A172FF,#FFA437,#FF2A8A");
1451 // Activity Stream prefs that control to which page to redirect
1452 #ifndef RELEASE_OR_BETA
1453   pref("browser.newtabpage.activity-stream.debug", false);
1454 #endif
1456 // The remote FxA root content URL for the Activity Stream firstrun page.
1457 pref("browser.newtabpage.activity-stream.fxaccounts.endpoint", "https://accounts.firefox.com/");
1459 // The pref that controls if the search shortcuts experiment is on
1460 pref("browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts", true);
1462 // ASRouter provider configuration
1463 pref("browser.newtabpage.activity-stream.asrouter.providers.cfr", "{\"id\":\"cfr\",\"enabled\":true,\"type\":\"remote-settings\",\"bucket\":\"cfr\",\"updateCycleInMs\":3600000}");
1464 pref("browser.newtabpage.activity-stream.asrouter.providers.whats-new-panel", "{\"id\":\"whats-new-panel\",\"enabled\":true,\"type\":\"remote-settings\",\"bucket\":\"whats-new-panel\",\"updateCycleInMs\":3600000}");
1465 pref("browser.newtabpage.activity-stream.asrouter.providers.message-groups", "{\"id\":\"message-groups\",\"enabled\":true,\"type\":\"remote-settings\",\"bucket\":\"message-groups\",\"updateCycleInMs\":3600000}");
1466 // This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
1467 // this page over http opens us up to a man-in-the-middle attack that we'd rather not face. If you are a downstream
1468 // repackager of this code using an alternate snippet url, please keep your users safe
1469 pref("browser.newtabpage.activity-stream.asrouter.providers.snippets", "{\"id\":\"snippets\",\"enabled\":false,\"type\":\"remote\",\"url\":\"https://snippets.cdn.mozilla.net/%STARTPAGE_VERSION%/%NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/\",\"updateCycleInMs\":14400000}");
1470 pref("browser.newtabpage.activity-stream.asrouter.providers.messaging-experiments", "{\"id\":\"messaging-experiments\",\"enabled\":true,\"type\":\"remote-experiments\",\"messageGroups\":[\"cfr\",\"whats-new-panel\",\"moments-page\",\"cfr-fxa\",\"aboutwelcome\",\"infobar\"],\"updateCycleInMs\":3600000}");
1472 // ASRouter user prefs
1473 pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", true);
1474 pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", true);
1476 // The pref that controls if ASRouter uses the remote fluent files.
1477 // It's enabled by default, but could be disabled to force ASRouter to use the local files.
1478 pref("browser.newtabpage.activity-stream.asrouter.useRemoteL10n", true);
1480 // These prefs control if Discovery Stream is enabled.
1481 pref("browser.newtabpage.activity-stream.discoverystream.enabled", true);
1482 pref("browser.newtabpage.activity-stream.discoverystream.hardcoded-basic-layout", false);
1483 pref("browser.newtabpage.activity-stream.discoverystream.spocs-endpoint", "");
1484 pref("browser.newtabpage.activity-stream.discoverystream.spocs-endpoint-query", "");
1486 // List of regions that do not get stories, regardless of locale-list-config.
1487 pref("browser.newtabpage.activity-stream.discoverystream.region-stories-block", "FR");
1488 // List of locales that get stories, regardless of region-stories-config.
1489 #ifdef NIGHTLY_BUILD
1490   pref("browser.newtabpage.activity-stream.discoverystream.locale-list-config", "en-US,en-CA,en-GB");
1491 #else
1492   pref("browser.newtabpage.activity-stream.discoverystream.locale-list-config", "");
1493 #endif
1494 // List of regions that get stories by default.
1495 pref("browser.newtabpage.activity-stream.discoverystream.region-stories-config", "US,DE,CA,GB,IE,CH,AT,BE,IN");
1497 // List of regions that get spocs by default.
1498 pref("browser.newtabpage.activity-stream.discoverystream.region-spocs-config", "US,CA,DE,GB");
1499 // List of regions that don't get the 7 row layout.
1500 pref("browser.newtabpage.activity-stream.discoverystream.region-basic-config", "");
1502 // Allows Pocket story collections to be dismissed.
1503 pref("browser.newtabpage.activity-stream.discoverystream.isCollectionDismissible", true);
1504 pref("browser.newtabpage.activity-stream.discoverystream.personalization.version", 2);
1505 // Configurable keys used by personalization version 2.
1506 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");
1507 // System pref to allow Pocket stories personalization to be turned on/off.
1508 pref("browser.newtabpage.activity-stream.discoverystream.recs.personalized", false);
1509 // System pref to allow Pocket sponsored content personalization to be turned on/off.
1510 pref("browser.newtabpage.activity-stream.discoverystream.spocs.personalized", true);
1512 // User pref to show stories on newtab (feeds.system.topstories has to be set to true as well)
1513 pref("browser.newtabpage.activity-stream.feeds.section.topstories", true);
1515 // The pref controls if search hand-off is enabled for Activity Stream.
1516 pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar", true);
1518 pref("browser.newtabpage.activity-stream.logowordmark.alwaysVisible", true);
1520 // Used to display triplet cards on newtab
1521 pref("trailhead.firstrun.newtab.triplets", "");
1522 // Separate about welcome
1523 pref("browser.aboutwelcome.enabled", true);
1524 pref("browser.aboutwelcome.protonDesign", true);
1525 // Used to set multistage welcome UX
1526 pref("browser.aboutwelcome.screens", "");
1527 pref("browser.aboutwelcome.skipFocus", true);
1529 // The pref that controls if the What's New panel is enabled.
1530 pref("browser.messaging-system.whatsNewPanel.enabled", true);
1532 // Experiment Manager
1533 // See Console.jsm LOG_LEVELS for all possible values
1534 pref("messaging-system.log", "warn");
1535 pref("messaging-system.rsexperimentloader.enabled", true);
1536 pref("messaging-system.rsexperimentloader.collection_id", "nimbus-desktop-experiments");
1537 pref("nimbus.debug", false);
1539 // Enable the DOM fullscreen API.
1540 pref("full-screen-api.enabled", true);
1542 // Startup Crash Tracking
1543 // number of startup crashes that can occur before starting into safe mode automatically
1544 // (this pref has no effect if more than 6 hours have passed since the last crash)
1545 pref("toolkit.startup.max_resumed_crashes", 3);
1547 // Whether to use RegisterApplicationRestart to restart the browser and resume
1548 // the session on next Windows startup
1549 #if defined(XP_WIN)
1550   pref("toolkit.winRegisterApplicationRestart", true);
1551 #endif
1553 // Completely disable pdf.js as an option to preview pdfs within firefox.
1554 // Note: if this is not disabled it does not necessarily mean pdf.js is the pdf
1555 // handler just that it is an option.
1556 pref("pdfjs.disabled", false);
1557 // Used by pdf.js to know the first time firefox is run with it installed so it
1558 // can become the default pdf viewer.
1559 pref("pdfjs.firstRun", true);
1560 // The values of preferredAction and alwaysAskBeforeHandling before pdf.js
1561 // became the default.
1562 pref("pdfjs.previousHandler.preferredAction", 0);
1563 pref("pdfjs.previousHandler.alwaysAskBeforeHandling", false);
1565 // Try to convert PDFs sent as octet-stream
1566 pref("pdfjs.handleOctetStream", true);
1568 // Is the sidebar positioned ahead of the content browser
1569 pref("sidebar.position_start", true);
1571 pref("security.identitypopup.recordEventTelemetry", true);
1572 pref("security.protectionspopup.recordEventTelemetry", true);
1573 pref("security.app_menu.recordEventTelemetry", true);
1575 // Block insecure active content on https pages
1576 pref("security.mixed_content.block_active_content", true);
1578 // Show in-content login form warning UI for insecure login fields
1579 pref("security.insecure_field_warning.contextual.enabled", true);
1581 // Show degraded UI for http pages.
1582 pref("security.insecure_connection_icon.enabled", true);
1583 // Show degraded UI for http pages in private mode.
1584 pref("security.insecure_connection_icon.pbmode.enabled", true);
1586 // For secure connections, show gray instead of green lock icon
1587 pref("security.secure_connection_icon_color_gray", true);
1589 // Show "Not Secure" text for http pages; disabled for now
1590 pref("security.insecure_connection_text.enabled", false);
1591 pref("security.insecure_connection_text.pbmode.enabled", false);
1593 // 1 = allow MITM for certificate pinning checks.
1594 pref("security.cert_pinning.enforcement_level", 1);
1597 // If this turns true, Moz*Gesture events are not called stopPropagation()
1598 // before content.
1599 pref("dom.debug.propagate_gesture_events_through_content", false);
1601 // CustomizableUI debug logging.
1602 pref("browser.uiCustomization.debug", false);
1604 // CustomizableUI state of the browser's user interface
1605 pref("browser.uiCustomization.state", "");
1607 // If set to false, FxAccounts and Sync will be unavailable.
1608 // A restart is mandatory after flipping that preference.
1609 pref("identity.fxaccounts.enabled", true);
1611 // The remote FxA root content URL. Must use HTTPS.
1612 pref("identity.fxaccounts.remote.root", "https://accounts.firefox.com/");
1614 // The value of the context query parameter passed in fxa requests.
1615 pref("identity.fxaccounts.contextParam", "fx_desktop_v3");
1617 // The remote URL of the FxA Profile Server
1618 pref("identity.fxaccounts.remote.profile.uri", "https://profile.accounts.firefox.com/v1");
1620 // The remote URL of the FxA OAuth Server
1621 pref("identity.fxaccounts.remote.oauth.uri", "https://oauth.accounts.firefox.com/v1");
1623 // Whether FxA pairing using QR codes is enabled.
1624 pref("identity.fxaccounts.pairing.enabled", true);
1626 // The remote URI of the FxA pairing server
1627 pref("identity.fxaccounts.remote.pairing.uri", "wss://channelserver.services.mozilla.com");
1629 // Token server used by the FxA Sync identity.
1630 pref("identity.sync.tokenserver.uri", "https://token.services.mozilla.com/1.0/sync/1.5");
1632 // Auto-config URL for FxA self-hosters, makes an HTTP request to
1633 // [identity.fxaccounts.autoconfig.uri]/.well-known/fxa-client-configuration
1634 // This is now the prefered way of pointing to a custom FxA server, instead
1635 // of making changes to "identity.fxaccounts.*.uri".
1636 pref("identity.fxaccounts.autoconfig.uri", "");
1638 // URL for help link about Send Tab.
1639 pref("identity.sendtabpromo.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/send-tab");
1641 // URLs for promo links to mobile browsers. Note that consumers are expected to
1642 // append a value for utm_campaign.
1643 pref("identity.mobilepromo.android", "https://www.mozilla.org/firefox/android/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_campaign=");
1644 pref("identity.mobilepromo.ios", "https://www.mozilla.org/firefox/ios/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_campaign=");
1646 // Migrate any existing Firefox Account data from the default profile to the
1647 // Developer Edition profile.
1648 #ifdef MOZ_DEV_EDITION
1649   pref("identity.fxaccounts.migrateToDevEdition", true);
1650 #else
1651   pref("identity.fxaccounts.migrateToDevEdition", false);
1652 #endif
1654 // If activated, send tab will use the new FxA commands backend.
1655 pref("identity.fxaccounts.commands.enabled", true);
1656 // How often should we try to fetch missed FxA commands on sync (in seconds).
1657 // Default is 24 hours.
1658 pref("identity.fxaccounts.commands.missed.fetch_interval", 86400);
1660 // Whether we should run a test-pattern through EME GMPs before assuming they'll
1661 // decode H.264.
1662 pref("media.gmp.trial-create.enabled", true);
1664 // Note: when media.gmp-*.visible is true, provided we're running on a
1665 // supported platform/OS version, the corresponding CDM appears in the
1666 // plugins list, Firefox will download the GMP/CDM if enabled, and our
1667 // UI to re-enable EME prompts the user to re-enable EME if it's disabled
1668 // and script requests EME. If *.visible is false, we won't show the UI
1669 // to enable the CDM if its disabled; it's as if the keysystem is completely
1670 // unsupported.
1672 #ifdef MOZ_WIDEVINE_EME
1673   pref("media.gmp-widevinecdm.visible", true);
1674   pref("media.gmp-widevinecdm.enabled", true);
1675 #endif
1677 pref("media.gmp-gmpopenh264.visible", true);
1678 pref("media.gmp-gmpopenh264.enabled", true);
1680 // Set Firefox to block autoplay, asking for permission by default.
1681 pref("media.autoplay.default", 1); // 0=Allowed, 1=Blocked, 5=All Blocked
1683 #ifdef NIGHTLY_BUILD
1684   // Block WebAudio from playing automatically.
1685   pref("media.autoplay.block-webaudio", true);
1686 #else
1687   pref("media.autoplay.block-webaudio", false);
1688 #endif
1690 pref("media.videocontrols.picture-in-picture.enabled", true);
1691 pref("media.videocontrols.picture-in-picture.video-toggle.enabled", true);
1692 pref("media.videocontrols.picture-in-picture.keyboard-controls.enabled", true);
1694 #ifdef NIGHTLY_BUILD
1695   // Show the audio toggle for Picture-in-Picture.
1696   pref("media.videocontrols.picture-in-picture.audio-toggle.enabled", true);
1697   // Enable keyboard controls for Picture-in-Picture.
1698 #else
1699   pref("media.videocontrols.picture-in-picture.audio-toggle.enabled", false);
1700 #endif
1702 pref("browser.translation.detectLanguage", false);
1703 pref("browser.translation.neverForLanguages", "");
1704 // Show the translation UI bits, like the info bar, notification icon and preferences.
1705 pref("browser.translation.ui.show", false);
1706 // Allows to define the translation engine. Google is default, Bing or Yandex are other options.
1707 pref("browser.translation.engine", "Google");
1709 // Telemetry settings.
1710 // Determines if Telemetry pings can be archived locally.
1711 pref("toolkit.telemetry.archive.enabled", true);
1712 // Enables sending the shutdown ping when Firefox shuts down.
1713 pref("toolkit.telemetry.shutdownPingSender.enabled", true);
1714 // Enables sending the shutdown ping using the pingsender from the first session.
1715 pref("toolkit.telemetry.shutdownPingSender.enabledFirstSession", false);
1716 // Enables sending a duplicate of the first shutdown ping from the first session.
1717 pref("toolkit.telemetry.firstShutdownPing.enabled", true);
1718 // Enables sending the 'new-profile' ping on new profiles.
1719 pref("toolkit.telemetry.newProfilePing.enabled", true);
1720 // Enables sending 'update' pings on Firefox updates.
1721 pref("toolkit.telemetry.updatePing.enabled", true);
1722 // Enables sending 'bhr' pings when the browser hangs.
1723 pref("toolkit.telemetry.bhrPing.enabled", true);
1725 // Ping Centre Telemetry settings.
1726 pref("browser.ping-centre.telemetry", true);
1727 pref("browser.ping-centre.log", false);
1729 // Enable GMP support in the addon manager.
1730 pref("media.gmp-provider.enabled", true);
1732 #ifdef NIGHTLY_BUILD
1733 // Enable Dynamic First-Party Isolation in Nightly.
1734 pref("network.cookie.cookieBehavior", 5 /* BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN */);
1735 #else
1736 // Enable blocking access to storage from tracking resources by default.
1737 pref("network.cookie.cookieBehavior", 4 /* BEHAVIOR_REJECT_TRACKER */);
1738 #endif
1740 // Enable Dynamic First-Party Isolation in the private browsing mode.
1741 pref("network.cookie.cookieBehavior.pbmode", 5 /* BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN */);
1743 // Enable fingerprinting blocking by default for all channels, only on desktop.
1744 pref("privacy.trackingprotection.fingerprinting.enabled", true);
1746 // Enable cryptomining blocking by default for all channels, only on desktop.
1747 pref("privacy.trackingprotection.cryptomining.enabled", true);
1749 pref("browser.contentblocking.database.enabled", true);
1751 pref("dom.storage_access.enabled", true);
1753 pref("browser.contentblocking.cryptomining.preferences.ui.enabled", true);
1754 pref("browser.contentblocking.fingerprinting.preferences.ui.enabled", true);
1755 // Enable cookieBehavior = BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN as an option in the custom category ui
1756 pref("browser.contentblocking.reject-and-isolate-cookies.preferences.ui.enabled", true);
1757 // State Partitioning MVP UI.
1758 pref("browser.contentblocking.state-partitioning.mvp.ui.enabled", true);
1760 // Possible values for browser.contentblocking.features.strict pref:
1761 //   Tracking Protection:
1762 //     "tp": tracking protection enabled
1763 //     "-tp": tracking protection disabled
1764 //   Tracking Protection in private windows:
1765 //     "tpPrivate": tracking protection in private windows enabled
1766 //     "-tpPrivate": tracking protection in private windows disabled
1767 //   Fingerprinting:
1768 //     "fp": fingerprinting blocking enabled
1769 //     "-fp": fingerprinting blocking disabled
1770 //   Cryptomining:
1771 //     "cm": cryptomining blocking enabled
1772 //     "-cm": cryptomining blocking disabled
1773 //   Social Tracking Protection:
1774 //     "stp": social tracking protection enabled
1775 //     "-stp": social tracking protection disabled
1776 //   Level 2 Tracking list:
1777 //     "lvl2": Level 2 tracking list enabled
1778 //     "-lvl2": Level 2 tracking list disabled
1779 //   Cookie behavior:
1780 //     "cookieBehavior0": cookie behaviour BEHAVIOR_ACCEPT
1781 //     "cookieBehavior1": cookie behaviour BEHAVIOR_REJECT_FOREIGN
1782 //     "cookieBehavior2": cookie behaviour BEHAVIOR_REJECT
1783 //     "cookieBehavior3": cookie behaviour BEHAVIOR_LIMIT_FOREIGN
1784 //     "cookieBehavior4": cookie behaviour BEHAVIOR_REJECT_TRACKER
1785 //     "cookieBehavior5": cookie behaviour BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN
1786 //   Cookie behavior for private windows:
1787 //     "cookieBehaviorPBM0": cookie behaviour BEHAVIOR_ACCEPT
1788 //     "cookieBehaviorPBM1": cookie behaviour BEHAVIOR_REJECT_FOREIGN
1789 //     "cookieBehaviorPBM2": cookie behaviour BEHAVIOR_REJECT
1790 //     "cookieBehaviorPBM3": cookie behaviour BEHAVIOR_LIMIT_FOREIGN
1791 //     "cookieBehaviorPBM4": cookie behaviour BEHAVIOR_REJECT_TRACKER
1792 //     "cookieBehaviorPBM5": cookie behaviour BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN
1793 // One value from each section must be included in the browser.contentblocking.features.strict pref.
1794 pref("browser.contentblocking.features.strict", "tp,tpPrivate,cookieBehavior5,cookieBehaviorPBM5,cm,fp,stp,lvl2");
1796 // Hide the "Change Block List" link for trackers/tracking content in the custom
1797 // Content Blocking/ETP panel. By default, it will not be visible. There is also
1798 // an UI migration in place to set this pref to true if a user has a custom block
1799 // lists enabled.
1800 pref("browser.contentblocking.customBlockList.preferences.ui.enabled", false);
1802 pref("browser.contentblocking.reportBreakage.url", "https://tracking-protection-issues.herokuapp.com/new");
1804 // Enable Protections report's Lockwise card by default.
1805 pref("browser.contentblocking.report.lockwise.enabled", true);
1807 // Enable Protections report's Monitor card by default.
1808 pref("browser.contentblocking.report.monitor.enabled", true);
1810 // Disable Protections report's Proxy card by default.
1811 pref("browser.contentblocking.report.proxy.enabled", false);
1813 // Disable the mobile promotion by default.
1814 pref("browser.contentblocking.report.show_mobile_app", true);
1816 // Enable the vpn card by default.
1817 pref("browser.contentblocking.report.vpn.enabled", true);
1818 // Only show vpn card to certain regions. Comma separated string of two letter ISO 3166-1 country codes.
1819 pref("browser.contentblocking.report.vpn_regions", "us,ca,nz,sg,my,gb,de,fr");
1820 // Comma separated string of mozilla vpn supported platforms.
1821 pref("browser.contentblocking.report.vpn_platforms", "win,mac,linux");
1822 pref("browser.contentblocking.report.hide_vpn_banner", false);
1823 pref("browser.contentblocking.report.vpn_sub_id", "sub_HrfCZF7VPHzZkA");
1825 pref("browser.contentblocking.report.monitor.url", "https://monitor.firefox.com/?entrypoint=protection_report_monitor&utm_source=about-protections");
1826 pref("browser.contentblocking.report.monitor.how_it_works.url", "https://monitor.firefox.com/about");
1827 pref("browser.contentblocking.report.monitor.sign_in_url", "https://monitor.firefox.com/oauth/init?entrypoint=protection_report_monitor&utm_source=about-protections&email=");
1828 pref("browser.contentblocking.report.monitor.preferences_url", "https://monitor.firefox.com/user/preferences");
1829 pref("browser.contentblocking.report.monitor.home_page_url", "https://monitor.firefox.com/user/dashboard");
1830 pref("browser.contentblocking.report.manage_devices.url", "https://accounts.firefox.com/settings/clients");
1831 pref("browser.contentblocking.report.endpoint_url", "https://monitor.firefox.com/user/breach-stats?includeResolved=true");
1832 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");
1833 pref("browser.contentblocking.report.mobile-ios.url", "https://apps.apple.com/app/firefox-private-safe-browser/id989804926");
1834 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");
1835 pref("browser.contentblocking.report.vpn.url", "https://vpn.mozilla.org/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_campaign=about-protections-card");
1836 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");
1837 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--");
1838 pref("browser.contentblocking.report.vpn-ios.url", "https://apps.apple.com/us/app/firefox-private-network-vpn/id1489407738");
1840 // Protection Report's SUMO urls
1841 pref("browser.contentblocking.report.lockwise.how_it_works.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/password-manager-report");
1842 pref("browser.contentblocking.report.social.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/social-media-tracking-report");
1843 pref("browser.contentblocking.report.cookie.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/cross-site-tracking-report");
1844 pref("browser.contentblocking.report.tracker.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/tracking-content-report");
1845 pref("browser.contentblocking.report.fingerprinter.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/fingerprinters-report");
1846 pref("browser.contentblocking.report.cryptominer.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/cryptominers-report");
1848 pref("browser.contentblocking.cfr-milestone.enabled", true);
1849 pref("browser.contentblocking.cfr-milestone.milestone-achieved", 0);
1850 // Milestones should always be in increasing order
1851 pref("browser.contentblocking.cfr-milestone.milestones", "[1000, 5000, 10000, 25000, 50000, 100000, 250000, 314159, 500000, 750000, 1000000, 1250000, 1500000, 1750000, 2000000, 2250000, 2500000, 8675309]");
1853 // Enables the new Protections Panel.
1854 #ifdef NIGHTLY_BUILD
1855   pref("browser.protections_panel.enabled", true);
1856   pref("browser.protections_panel.infoMessage.seen", false);
1857 #endif
1859 // Always enable newtab segregation using containers
1860 pref("privacy.usercontext.about_newtab_segregation.enabled", true);
1861 // Enable Contextual Identity Containers
1862 #ifdef NIGHTLY_BUILD
1863   pref("privacy.userContext.enabled", true);
1864   pref("privacy.userContext.ui.enabled", true);
1865 #else
1866   pref("privacy.userContext.enabled", false);
1867   pref("privacy.userContext.ui.enabled", false);
1868 #endif
1869 pref("privacy.userContext.extension", "");
1870 // allows user to open container menu on a left click instead of a new
1871 // tab in the default container
1872 pref("privacy.userContext.newTabContainerOnLeftClick.enabled", false);
1874 #if defined(NIGHTLY_BUILD) || defined(XP_WIN) || defined(XP_MACOSX)
1875 // Set to true to allow the user to silence all notifications when
1876 // sharing the screen. Only shipping on Windows and macOS out to
1877 // release. Enabled for all desktop platforms on Nightly.
1878 pref("privacy.webrtc.allowSilencingNotifications", true);
1879 // Set to true to use the legacy WebRTC global indicator
1880 pref("privacy.webrtc.legacyGlobalIndicator", false);
1881 pref("privacy.webrtc.hideGlobalIndicator", false);
1882 #else
1883 pref("privacy.webrtc.allowSilencingNotifications", false);
1884 pref("privacy.webrtc.legacyGlobalIndicator", true);
1885 #endif
1887 // Set to true to add toggles to the WebRTC indicator for globally
1888 // muting the camera and microphone.
1889 pref("privacy.webrtc.globalMuteToggles", false);
1891 // Set to true to enable a warning displayed when attempting
1892 // to switch tabs in a window that's being shared over WebRTC.
1893 pref("privacy.webrtc.sharedTabWarning", false);
1895 // Defines a grace period after camera or microphone use ends, where permission
1896 // is granted (even past navigation) to this tab + origin + device. This avoids
1897 // re-prompting without the user having to persist permission to the site, in a
1898 // common case of a web conference asking them for the camera in a lobby page,
1899 // before navigating to the actual meeting room page. Doesn't survive tab close.
1900 pref("privacy.webrtc.deviceGracePeriodTimeoutMs", 3600000);
1902 // Start the browser in e10s mode
1903 pref("browser.tabs.remote.autostart", true);
1904 pref("browser.tabs.remote.desktopbehavior", true);
1906 // Run media transport in a separate process?
1907 #ifdef EARLY_BETA_OR_EARLIER
1908   pref("media.peerconnection.mtransport_process", true);
1909 #else
1910   pref("media.peerconnection.mtransport_process", false);
1911 #endif
1913 // For speculatively warming up tabs to improve perceived
1914 // performance while using the async tab switcher.
1915 pref("browser.tabs.remote.warmup.enabled", true);
1917 // Caches tab layers to improve perceived performance
1918 // of tab switches.
1919 pref("browser.tabs.remote.tabCacheSize", 0);
1921 pref("browser.tabs.remote.warmup.maxTabs", 3);
1922 pref("browser.tabs.remote.warmup.unloadDelayMs", 2000);
1924 // For the about:tabcrashed page
1925 pref("browser.tabs.crashReporting.sendReport", true);
1926 pref("browser.tabs.crashReporting.includeURL", false);
1928 // If true, unprivileged extensions may use experimental APIs on
1929 // nightly and developer edition.
1930 pref("extensions.experiments.enabled", false);
1932 #if defined(XP_WIN)
1933   // Allows us to deprioritize the processes of background tabs at an OS level
1934   pref("dom.ipc.processPriorityManager.enabled", true);
1935 #endif
1937 // Don't limit how many nodes we care about on desktop:
1938 pref("reader.parse-node-limit", 0);
1940 // On desktop, we want the URLs to be included here for ease of debugging,
1941 // and because (normally) these errors are not persisted anywhere.
1942 pref("reader.errors.includeURLs", true);
1944 pref("view_source.tab", true);
1946 pref("dom.serviceWorkers.enabled", true);
1948 // Enable Push API.
1949 pref("dom.push.enabled", true);
1951 // These are the thumbnail width/height set in about:newtab.
1952 // If you change this, ENSURE IT IS THE SAME SIZE SET
1953 // by about:newtab. These values are in CSS pixels.
1954 pref("toolkit.pageThumbs.minWidth", 280);
1955 pref("toolkit.pageThumbs.minHeight", 190);
1957 // Enable speech synthesis
1958 pref("media.webspeech.synth.enabled", true);
1960 pref("browser.esedbreader.loglevel", "Error");
1962 pref("browser.laterrun.enabled", false);
1964 pref("dom.ipc.processPrelaunch.enabled", true);
1966 // See comments in bug 1340115 on how we got to these numbers.
1967 pref("browser.migrate.chrome.history.limit", 2000);
1968 pref("browser.migrate.chrome.history.maxAgeInDays", 180);
1969 pref("browser.migrate.showBookmarksToolbarAfterMigration", true);
1971 pref("extensions.pocket.api", "api.getpocket.com");
1972 pref("extensions.pocket.enabled", true);
1973 pref("extensions.pocket.oAuthConsumerKey", "40249-e88c401e1b1f2242d9e441c4");
1974 pref("extensions.pocket.site", "getpocket.com");
1975 pref("extensions.pocket.onSaveRecs", true);
1976 pref("extensions.pocket.onSaveRecs.locales", "en-US,en-GB,en-CA");
1978 // Enable Pocket button home panel for non link pages.
1979 pref("extensions.pocket.showHome", true);
1981 // Control what version of the logged out doorhanger is displayed
1982 // Possibilities are: `control`, `control-one-button`, `variant_a`, `variant_b`, `variant_c`
1983 pref("extensions.pocket.loggedOutVariant", "control");
1985 pref("signon.management.page.fileImport.enabled", false);
1987 #ifdef NIGHTLY_BUILD
1988 pref("signon.management.page.os-auth.enabled", true);
1989 #else
1990 pref("signon.management.page.os-auth.enabled", false);
1991 #endif
1992 pref("signon.management.page.breach-alerts.enabled", true);
1993 pref("signon.management.page.vulnerable-passwords.enabled", true);
1994 pref("signon.management.page.sort", "name");
1995 // The utm_creative value is appended within the code (specific to the location on
1996 // where it is clicked). Be sure that if these two prefs are updated, that
1997 // the utm_creative param be last.
1998 pref("signon.management.page.breachAlertUrl",
1999      "https://monitor.firefox.com/breach-details/");
2000 pref("signon.passwordEditCapture.enabled", true);
2001 pref("signon.relatedRealms.enabled", false);
2002 pref("signon.showAutoCompleteFooter", true);
2003 pref("signon.showAutoCompleteImport", "import");
2004 pref("signon.suggestImportCount", 3);
2006 // Enable the "Simplify Page" feature in Print Preview. This feature
2007 // is disabled by default in toolkit.
2008 pref("print.use_simplify_page", true);
2010 // Space separated list of URLS that are allowed to send objects (instead of
2011 // only strings) through webchannels. This list is duplicated in mobile/android/app/mobile.js
2012 pref("webchannel.allowObject.urlWhitelist", "https://content.cdn.mozilla.net https://support.mozilla.org https://install.mozilla.org");
2014 // Whether or not the browser should scan for unsubmitted
2015 // crash reports, and then show a notification for submitting
2016 // those reports.
2017 #ifdef NIGHTLY_BUILD
2018   pref("browser.crashReports.unsubmittedCheck.enabled", true);
2019 #else
2020   pref("browser.crashReports.unsubmittedCheck.enabled", false);
2021 #endif
2023 // chancesUntilSuppress is how many times we'll show the unsubmitted
2024 // crash report notification across different days and shutdown
2025 // without a user choice before we suppress the notification for
2026 // some number of days.
2027 pref("browser.crashReports.unsubmittedCheck.chancesUntilSuppress", 4);
2028 pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
2030 // Preferences for the form autofill toolkit component.
2031 // Checkbox in sync options for credit card data sync service
2032 pref("services.sync.engine.creditcards.available", true);
2033 // Whether the user enabled the OS re-auth dialog.
2034 pref("extensions.formautofill.reauth.enabled", false);
2036 // Whether or not to restore a session with lazy-browser tabs.
2037 pref("browser.sessionstore.restore_tabs_lazily", true);
2039 pref("browser.suppress_first_window_animation", true);
2041 // Preference that allows individual users to disable Screenshots.
2042 pref("extensions.screenshots.disabled", false);
2044 // Preference that determines whether Screenshots is opened as a dedicated browser component
2045 pref("screenshots.browser.component.enabled", false);
2047 // DoH Rollout: whether to clear the mode value at shutdown.
2048 pref("doh-rollout.clearModeOnShutdown", false);
2050 // URL for Learn More link for browser error logging in preferences
2051 pref("browser.chrome.errorReporter.infoURL",
2052      "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/nightly-error-collection");
2054 // Normandy client preferences
2055 pref("app.normandy.api_url", "https://normandy.cdn.mozilla.net/api/v1");
2056 pref("app.normandy.dev_mode", false);
2057 pref("app.normandy.enabled", true);
2058 pref("app.normandy.first_run", true);
2059 pref("app.normandy.logging.level", 50); // Warn
2060 pref("app.normandy.run_interval_seconds", 21600); // 6 hours
2061 pref("app.normandy.shieldLearnMoreUrl", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/shield");
2062 pref("app.normandy.last_seen_buildid", "");
2063 pref("app.normandy.onsync_skew_sec", 600);
2064 #ifdef MOZ_DATA_REPORTING
2065   pref("app.shield.optoutstudies.enabled", true);
2066 #else
2067   pref("app.shield.optoutstudies.enabled", false);
2068 #endif
2070 // Multi-lingual preferences
2071 #if defined(RELEASE_OR_BETA) && !defined(MOZ_DEV_EDITION)
2072   pref("intl.multilingual.enabled", true);
2073   pref("intl.multilingual.downloadEnabled", true);
2074 #else
2075   pref("intl.multilingual.enabled", false);
2076   // AMO only serves language packs for release and beta versions.
2077   pref("intl.multilingual.downloadEnabled", false);
2078 #endif
2080 // Simulate conditions that will happen when the browser
2081 // is running with Fission enabled. This is meant to assist
2082 // development and testing of Fission.
2083 // The current simulated conditions are:
2084 // - Don't propagate events from subframes to JS child actors
2085 pref("fission.frontend.simulate-events", false);
2086 // - Only deliver subframe messages that specifies
2087 //   their destination (using the BrowsingContext id).
2088 pref("fission.frontend.simulate-messages", false);
2090 // Coverage ping is disabled by default.
2091 pref("toolkit.coverage.enabled", false);
2092 pref("toolkit.coverage.endpoint.base", "https://coverage.mozilla.org");
2094 // Discovery prefs
2095 pref("browser.discovery.enabled", true);
2096 pref("browser.discovery.containers.enabled", true);
2097 pref("browser.discovery.sites", "addons.mozilla.org");
2099 pref("browser.engagement.recent_visited_origins.expiry", 86400); // 24 * 60 * 60 (24 hours in seconds)
2100 pref("browser.engagement.downloads-button.has-used", false);
2101 pref("browser.engagement.fxa-toolbar-menu-button.has-used", false);
2102 pref("browser.engagement.home-button.has-used", false);
2103 pref("browser.engagement.sidebar-button.has-used", false);
2104 pref("browser.engagement.library-button.has-used", false);
2105 pref("browser.engagement.ctrlTab.has-used", false);
2107 pref("browser.aboutConfig.showWarning", true);
2109 pref("browser.toolbars.keyboard_navigation", true);
2111 // The visibility of the bookmarks toolbar.
2112 // "newtab": Show on the New Tab Page
2113 // "always": Always show
2114 // "never": Never show
2115 pref("browser.toolbars.bookmarks.visibility", "newtab");
2117 // Visibility of the "Show Other Bookmarks" menuitem in the
2118 // bookmarks toolbar contextmenu.
2119 pref("browser.toolbars.bookmarks.showOtherBookmarks", true);
2121 // When true, this pref will always show the bookmarks bar on
2122 // the New Tab Page, and other functionality to improve the usage of the
2123 // Bookmarks Toolbar.
2124 pref("browser.toolbars.bookmarks.2h2020", true);
2126 // Prefs to control the Firefox Account toolbar menu.
2127 // This pref will surface existing Firefox Account information
2128 // as a button next to the hamburger menu. It allows
2129 // quick access to sign-in and manage your Firefox Account.
2130 pref("identity.fxaccounts.toolbar.enabled", true);
2131 pref("identity.fxaccounts.toolbar.accessed", false);
2133 // Prefs for different services supported by Firefox Account
2134 pref("identity.fxaccounts.service.monitorLoginUrl", "https://monitor.firefox.com/");
2136 // Check bundled omni JARs for corruption.
2137 pref("corroborator.enabled", true);
2139 // Toolbox preferences
2140 pref("devtools.toolbox.footer.height", 250);
2141 pref("devtools.toolbox.sidebar.width", 500);
2142 pref("devtools.toolbox.host", "bottom");
2143 pref("devtools.toolbox.previousHost", "right");
2144 pref("devtools.toolbox.selectedTool", "inspector");
2145 pref("devtools.toolbox.sideEnabled", true);
2146 pref("devtools.toolbox.zoomValue", "1");
2147 pref("devtools.toolbox.splitconsoleEnabled", false);
2148 pref("devtools.toolbox.splitconsoleHeight", 100);
2149 pref("devtools.toolbox.tabsOrder", "");
2151 // The fission pref for enabling the "Multiprocess Browser Toolbox", which will
2152 // make it possible to debug anything in Firefox (See Bug 1570639 for more
2153 // information).
2154 #if defined(NIGHTLY_BUILD)
2155 pref("devtools.browsertoolbox.fission", true);
2156 #else
2157 pref("devtools.browsertoolbox.fission", false);
2158 #endif
2160 // This preference will enable watching top-level targets from the server side.
2161 pref("devtools.target-switching.server.enabled", false);
2163 // Toolbox Button preferences
2164 pref("devtools.command-button-pick.enabled", true);
2165 pref("devtools.command-button-frames.enabled", true);
2166 pref("devtools.command-button-splitconsole.enabled", true);
2167 pref("devtools.command-button-paintflashing.enabled", false);
2168 pref("devtools.command-button-responsive.enabled", true);
2169 pref("devtools.command-button-screenshot.enabled", false);
2170 pref("devtools.command-button-rulers.enabled", false);
2171 pref("devtools.command-button-measure.enabled", false);
2172 pref("devtools.command-button-noautohide.enabled", false);
2173 pref("devtools.command-button-errorcount.enabled", true);
2174 #ifndef MOZILLA_OFFICIAL
2175   pref("devtools.command-button-fission-prefs.enabled", true);
2176 #endif
2178 // Inspector preferences
2179 // Enable the Inspector
2180 pref("devtools.inspector.enabled", true);
2181 // What was the last active sidebar in the inspector
2182 pref("devtools.inspector.activeSidebar", "layoutview");
2183 pref("devtools.inspector.remote", false);
2185 // Enable the 3 pane mode in the inspector
2186 pref("devtools.inspector.three-pane-enabled", true);
2187 // Enable the 3 pane mode in the chrome inspector
2188 pref("devtools.inspector.chrome.three-pane-enabled", false);
2189 // Collapse pseudo-elements by default in the rule-view
2190 pref("devtools.inspector.show_pseudo_elements", false);
2191 // The default size for image preview tooltips in the rule-view/computed-view/markup-view
2192 pref("devtools.inspector.imagePreviewTooltipSize", 300);
2193 // Enable user agent style inspection in rule-view
2194 pref("devtools.inspector.showUserAgentStyles", false);
2195 // Show native anonymous content and user agent shadow roots
2196 pref("devtools.inspector.showAllAnonymousContent", false);
2197 // Enable the inline CSS compatiblity warning in inspector rule view
2198 pref("devtools.inspector.ruleview.inline-compatibility-warning.enabled", false);
2199 // Enable the compatibility tool in the inspector.
2200 #if defined(NIGHTLY_BUILD) || defined(MOZ_DEV_EDITION)
2201 pref("devtools.inspector.compatibility.enabled", true);
2202 #else
2203 pref("devtools.inspector.compatibility.enabled", false);
2204 #endif
2205 // Enable color scheme simulation in the inspector.
2206 pref("devtools.inspector.color-scheme-simulation.enabled", true);
2207 // Enable overflow debugging in the inspector.
2208 pref("devtools.overflow.debugging.enabled", true);
2210 // Grid highlighter preferences
2211 pref("devtools.gridinspector.gridOutlineMaxColumns", 50);
2212 pref("devtools.gridinspector.gridOutlineMaxRows", 50);
2213 pref("devtools.gridinspector.showGridAreas", false);
2214 pref("devtools.gridinspector.showGridLineNumbers", false);
2215 pref("devtools.gridinspector.showInfiniteLines", false);
2216 // Max number of grid highlighters that can be displayed
2217 pref("devtools.gridinspector.maxHighlighters", 3);
2219 // Whether or not the box model panel is opened in the layout view
2220 pref("devtools.layout.boxmodel.opened", true);
2221 // Whether or not the flexbox panel is opened in the layout view
2222 pref("devtools.layout.flexbox.opened", true);
2223 // Whether or not the flexbox container panel is opened in the layout view
2224 pref("devtools.layout.flex-container.opened", true);
2225 // Whether or not the flexbox item panel is opened in the layout view
2226 pref("devtools.layout.flex-item.opened", true);
2227 // Whether or not the grid inspector panel is opened in the layout view
2228 pref("devtools.layout.grid.opened", true);
2230 // Enable hovering Box Model values and jumping to their source CSS rule in the
2231 // rule-view.
2232 #if defined(NIGHTLY_BUILD)
2233   pref("devtools.layout.boxmodel.highlightProperty", true);
2234 #else
2235   pref("devtools.layout.boxmodel.highlightProperty", false);
2236 #endif
2238 // By how many times eyedropper will magnify pixels
2239 pref("devtools.eyedropper.zoom", 6);
2241 // Enable to collapse attributes that are too long.
2242 pref("devtools.markup.collapseAttributes", true);
2243 // Length to collapse attributes
2244 pref("devtools.markup.collapseAttributeLength", 120);
2245 // Whether to auto-beautify the HTML on copy.
2246 pref("devtools.markup.beautifyOnCopy", false);
2247 // Whether or not the DOM mutation breakpoints context menu are enabled in the
2248 // markup view.
2249 pref("devtools.markup.mutationBreakpoints.enabled", true);
2251 // DevTools default color unit
2252 pref("devtools.defaultColorUnit", "authored");
2254 // Enable the Memory tools
2255 pref("devtools.memory.enabled", true);
2257 pref("devtools.memory.custom-census-displays", "{}");
2258 pref("devtools.memory.custom-label-displays", "{}");
2259 pref("devtools.memory.custom-tree-map-displays", "{}");
2261 pref("devtools.memory.max-individuals", 1000);
2262 pref("devtools.memory.max-retaining-paths", 10);
2264 // Enable the Performance tools
2265 pref("devtools.performance.enabled", true);
2267 // The default Performance UI settings
2268 pref("devtools.performance.memory.sample-probability", "0.05");
2269 // Can't go higher than this without causing internal allocation overflows while
2270 // serializing the allocations data over the RDP.
2271 pref("devtools.performance.memory.max-log-length", 125000);
2272 pref("devtools.performance.timeline.hidden-markers",
2273   "[\"Composite\",\"CompositeForwardTransaction\"]");
2274 pref("devtools.performance.profiler.buffer-size", 10000000);
2275 pref("devtools.performance.profiler.sample-frequency-hz", 1000);
2276 pref("devtools.performance.ui.invert-call-tree", true);
2277 pref("devtools.performance.ui.invert-flame-graph", false);
2278 pref("devtools.performance.ui.flatten-tree-recursion", true);
2279 pref("devtools.performance.ui.show-platform-data", false);
2280 pref("devtools.performance.ui.show-idle-blocks", true);
2281 pref("devtools.performance.ui.enable-memory", false);
2282 pref("devtools.performance.ui.enable-allocations", false);
2283 pref("devtools.performance.ui.enable-framerate", true);
2284 pref("devtools.performance.ui.show-jit-optimizations", false);
2285 pref("devtools.performance.ui.show-triggers-for-gc-types",
2286   "TOO_MUCH_MALLOC ALLOC_TRIGGER LAST_DITCH EAGER_ALLOC_TRIGGER");
2288 // Temporary pref disabling memory flame views
2289 // TODO remove once we have flame charts via bug 1148663
2290 pref("devtools.performance.ui.enable-memory-flame", false);
2292 // Enable experimental options in the UI only in Nightly
2293 #if defined(NIGHTLY_BUILD)
2294   pref("devtools.performance.ui.experimental", true);
2295 #else
2296   pref("devtools.performance.ui.experimental", false);
2297 #endif
2299 // The default cache UI setting
2300 pref("devtools.cache.disabled", false);
2302 // The default service workers UI setting
2303 pref("devtools.serviceWorkers.testing.enabled", false);
2305 // Enable the Network Monitor
2306 pref("devtools.netmonitor.enabled", true);
2308 pref("devtools.netmonitor.features.search", true);
2309 pref("devtools.netmonitor.features.requestBlocking", true);
2311 // Enable the Application panel
2312 pref("devtools.application.enabled", true);
2314 // The default Network Monitor UI settings
2315 pref("devtools.netmonitor.panes-network-details-width", 550);
2316 pref("devtools.netmonitor.panes-network-details-height", 450);
2317 pref("devtools.netmonitor.panes-search-width", 550);
2318 pref("devtools.netmonitor.panes-search-height", 450);
2319 pref("devtools.netmonitor.filters", "[\"all\"]");
2320 pref("devtools.netmonitor.visibleColumns",
2321     "[\"status\",\"method\",\"domain\",\"file\",\"initiator\",\"type\",\"transferred\",\"contentSize\",\"waterfall\"]"
2323 pref("devtools.netmonitor.columnsData",
2324   '[{"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}]');
2325 pref("devtools.netmonitor.msg.payload-preview-height", 128);
2326 pref("devtools.netmonitor.msg.visibleColumns",
2327   '["data", "time"]'
2329 pref("devtools.netmonitor.msg.displayed-messages.limit", 500);
2331 pref("devtools.netmonitor.response.ui.limit", 10240);
2333 // Save request/response bodies yes/no.
2334 pref("devtools.netmonitor.saveRequestAndResponseBodies", true);
2336 // The default Network monitor HAR export setting
2337 pref("devtools.netmonitor.har.defaultLogDir", "");
2338 pref("devtools.netmonitor.har.defaultFileName", "%hostname_Archive [%date]");
2339 pref("devtools.netmonitor.har.jsonp", false);
2340 pref("devtools.netmonitor.har.jsonpCallback", "");
2341 pref("devtools.netmonitor.har.includeResponseBodies", true);
2342 pref("devtools.netmonitor.har.compress", false);
2343 pref("devtools.netmonitor.har.forceExport", false);
2344 pref("devtools.netmonitor.har.pageLoadedTimeout", 1500);
2345 pref("devtools.netmonitor.har.enableAutoExportToFile", false);
2347 pref("devtools.netmonitor.features.webSockets", true);
2349 // netmonitor audit
2350 pref("devtools.netmonitor.audits.slow", 500);
2352 // Enable the EventSource Inspector
2353 pref("devtools.netmonitor.features.serverSentEvents", true);
2355 // Enable the Storage Inspector
2356 pref("devtools.storage.enabled", true);
2358 // Enable the Style Editor.
2359 pref("devtools.styleeditor.enabled", true);
2360 pref("devtools.styleeditor.autocompletion-enabled", true);
2361 pref("devtools.styleeditor.showMediaSidebar", true);
2362 pref("devtools.styleeditor.mediaSidebarWidth", 238);
2363 pref("devtools.styleeditor.navSidebarWidth", 245);
2364 pref("devtools.styleeditor.transitions", true);
2366 // Screenshot Option Settings.
2367 pref("devtools.screenshot.clipboard.enabled", false);
2368 pref("devtools.screenshot.audio.enabled", true);
2370 // Make sure the DOM panel is hidden by default
2371 pref("devtools.dom.enabled", false);
2373 // Enable the Accessibility panel.
2374 pref("devtools.accessibility.enabled", true);
2376 // Web console filters
2377 pref("devtools.webconsole.filter.error", true);
2378 pref("devtools.webconsole.filter.warn", true);
2379 pref("devtools.webconsole.filter.info", true);
2380 pref("devtools.webconsole.filter.log", true);
2381 pref("devtools.webconsole.filter.debug", true);
2382 pref("devtools.webconsole.filter.css", false);
2383 pref("devtools.webconsole.filter.net", false);
2384 pref("devtools.webconsole.filter.netxhr", false);
2386 // Webconsole autocomplete preference
2387 pref("devtools.webconsole.input.autocomplete",true);
2389 // Show context selector in console input, in the browser toolbox
2390 #if defined(NIGHTLY_BUILD)
2391   pref("devtools.webconsole.input.context", true);
2392 #else
2393   pref("devtools.webconsole.input.context", false);
2394 #endif
2396 // Show context selector in console input, in the content toolbox
2397 pref("devtools.contenttoolbox.webconsole.input.context", false);
2399 // Set to true to eagerly show the results of webconsole terminal evaluations
2400 // when they don't have side effects.
2401 pref("devtools.webconsole.input.eagerEvaluation", true);
2403 // Browser console filters
2404 pref("devtools.browserconsole.filter.error", true);
2405 pref("devtools.browserconsole.filter.warn", true);
2406 pref("devtools.browserconsole.filter.info", true);
2407 pref("devtools.browserconsole.filter.log", true);
2408 pref("devtools.browserconsole.filter.debug", true);
2409 pref("devtools.browserconsole.filter.css", false);
2410 pref("devtools.browserconsole.filter.net", false);
2411 pref("devtools.browserconsole.filter.netxhr", false);
2413 // Max number of inputs to store in web console history.
2414 pref("devtools.webconsole.inputHistoryCount", 300);
2416 // Persistent logging: |true| if you want the relevant tool to keep all of the
2417 // logged messages after reloading the page, |false| if you want the output to
2418 // be cleared each time page navigation happens.
2419 pref("devtools.webconsole.persistlog", false);
2420 pref("devtools.netmonitor.persistlog", false);
2422 // Web Console timestamp: |true| if you want the logs and instructions
2423 // in the Web Console to display a timestamp, or |false| to not display
2424 // any timestamps.
2425 pref("devtools.webconsole.timestampMessages", false);
2427 // Enable the webconsole sidebar toggle in Nightly builds.
2428 #if defined(NIGHTLY_BUILD)
2429   pref("devtools.webconsole.sidebarToggle", true);
2430 #else
2431   pref("devtools.webconsole.sidebarToggle", false);
2432 #endif
2434 // Saved editor mode state in the console.
2435 pref("devtools.webconsole.input.editor", false);
2436 pref("devtools.browserconsole.input.editor", false);
2438 // Editor width for webconsole and browserconsole.
2439 pref("devtools.webconsole.input.editorWidth", 0);
2440 pref("devtools.browserconsole.input.editorWidth", 0);
2442 // Display an onboarding UI for the Editor mode.
2443 pref("devtools.webconsole.input.editorOnboarding", true);
2445 // Enable the new performance recording panel in Nightly and Beta/DevEdition builds.
2446 #if defined(NIGHTLY_BUILD) || defined(MOZ_DEV_EDITION)
2447   pref("devtools.performance.new-panel-enabled", true);
2448 #else
2449   pref("devtools.performance.new-panel-enabled", false);
2450 #endif
2452 // Enable message grouping in the console, true by default
2453 pref("devtools.webconsole.groupWarningMessages", true);
2455 // Saved state of the Display content messages checkbox in the browser console.
2456 pref("devtools.browserconsole.contentMessages", false);
2458 // Enable client-side mapping service for source maps
2459 pref("devtools.source-map.client-service.enabled", true);
2461 // The number of lines that are displayed in the web console.
2462 pref("devtools.hud.loglimit", 10000);
2464 // The developer tools editor configuration:
2465 // - tabsize: how many spaces to use when a Tab character is displayed.
2466 // - expandtab: expand Tab characters to spaces.
2467 // - keymap: which keymap to use (can be 'default', 'emacs' or 'vim')
2468 // - autoclosebrackets: whether to permit automatic bracket/quote closing.
2469 // - detectindentation: whether to detect the indentation from the file
2470 // - enableCodeFolding: Whether to enable code folding or not.
2471 pref("devtools.editor.tabsize", 2);
2472 pref("devtools.editor.expandtab", true);
2473 pref("devtools.editor.keymap", "default");
2474 pref("devtools.editor.autoclosebrackets", true);
2475 pref("devtools.editor.detectindentation", true);
2476 pref("devtools.editor.enableCodeFolding", true);
2477 pref("devtools.editor.autocomplete", true);
2479 // The angle of the viewport.
2480 pref("devtools.responsive.viewport.angle", 0);
2481 // The width of the viewport.
2482 pref("devtools.responsive.viewport.width", 320);
2483 // The height of the viewport.
2484 pref("devtools.responsive.viewport.height", 480);
2485 // The pixel ratio of the viewport.
2486 pref("devtools.responsive.viewport.pixelRatio", 0);
2487 // Whether or not the viewports are left aligned.
2488 pref("devtools.responsive.leftAlignViewport.enabled", false);
2489 // Whether to reload when touch simulation is toggled
2490 pref("devtools.responsive.reloadConditions.touchSimulation", false);
2491 // Whether to reload when user agent is changed
2492 pref("devtools.responsive.reloadConditions.userAgent", false);
2493 // Whether to show the notification about reloading to apply emulation
2494 pref("devtools.responsive.reloadNotification.enabled", true);
2495 // Whether or not touch simulation is enabled.
2496 pref("devtools.responsive.touchSimulation.enabled", false);
2497 // Whether or not meta viewport is enabled, if and only if touchSimulation
2498 // is also enabled.
2499 pref("devtools.responsive.metaViewport.enabled", true);
2500 // The user agent of the viewport.
2501 pref("devtools.responsive.userAgent", "");
2503 // Show the custom user agent input only in Nightly.
2504 #if defined(NIGHTLY_BUILD)
2505   pref("devtools.responsive.showUserAgentInput", true);
2506 #else
2507   pref("devtools.responsive.showUserAgentInput", false);
2508 #endif
2510 // Show tab debug targets for This Firefox (on by default for local builds).
2511 #ifdef MOZILLA_OFFICIAL
2512   pref("devtools.aboutdebugging.local-tab-debugging", false);
2513 #else
2514   pref("devtools.aboutdebugging.local-tab-debugging", true);
2515 #endif
2517 // Show process debug targets.
2518 pref("devtools.aboutdebugging.process-debugging", true);
2519 // Stringified array of network locations that users can connect to.
2520 pref("devtools.aboutdebugging.network-locations", "[]");
2521 // Debug target pane collapse/expand settings.
2522 pref("devtools.aboutdebugging.collapsibilities.installedExtension", false);
2523 pref("devtools.aboutdebugging.collapsibilities.otherWorker", false);
2524 pref("devtools.aboutdebugging.collapsibilities.serviceWorker", false);
2525 pref("devtools.aboutdebugging.collapsibilities.sharedWorker", false);
2526 pref("devtools.aboutdebugging.collapsibilities.tab", false);
2527 pref("devtools.aboutdebugging.collapsibilities.temporaryExtension", false);
2529 // about:debugging: only show system and hidden extensions in local builds by
2530 // default.
2531 #ifdef MOZILLA_OFFICIAL
2532   pref("devtools.aboutdebugging.showHiddenAddons", false);
2533 #else
2534   pref("devtools.aboutdebugging.showHiddenAddons", true);
2535 #endif
2537 // Map top-level await expressions in the console
2538 pref("devtools.debugger.features.map-await-expression", true);
2540 // This relies on javascript.options.asyncstack as well or it has no effect.
2541 pref("devtools.debugger.features.async-captured-stacks", true);
2542 pref("devtools.debugger.features.async-live-stacks", false);
2544 // Disable autohide for DevTools popups and tooltips.
2545 // This is currently not exposed by any UI to avoid making
2546 // about:devtools-toolbox tabs unusable by mistake.
2547 pref("devtools.popup.disable_autohide", false);
2549 // FirstStartup service time-out in ms
2550 pref("first-startup.timeout", 30000);
2552 // Enable the default browser agent.
2553 // The agent still runs as scheduled if this pref is disabled,
2554 // but it exits immediately before taking any action.
2555 #ifdef XP_WIN
2556   pref("default-browser-agent.enabled", true);
2557 #endif
2559 // Test Prefs that do nothing for testing
2560 #if defined(EARLY_BETA_OR_EARLIER)
2561   pref("app.normandy.test-prefs.bool", false);
2562   pref("app.normandy.test-prefs.integer", 0);
2563   pref("app.normandy.test-prefs.string", "");
2564 #endif
2566 // Shows 'View Image Info' item in the image context menu
2567 #ifdef MOZ_DEV_EDITION
2568   pref("browser.menu.showViewImageInfo", true);
2569 #else
2570   pref("browser.menu.showViewImageInfo", false);
2571 #endif
2573 // Mozilla-controlled domains that are allowed to use non-standard
2574 // context properties for SVG images for use in the browser UI. Please
2575 // keep this list short. This preference (and SVG `context-` keyword support)
2576 // are expected to go away once a standardized alternative becomes
2577 // available.
2578 pref("svg.context-properties.content.allowed-domains", "profile.accounts.firefox.com,profile.stage.mozaws.net");
2580 // Preference that allows individual users to disable Firefox Translations.
2581 #ifdef NIGHTLY_BUILD
2582   pref("extensions.translations.disabled", true);
2583 #endif