Bug 1601761 - Enable the PiP audio toggle in nightly. r=mconley
[gecko.git] / browser / app / profile / firefox.js
blob5b32deb54f191f92dbdc3363c575383dd7c0f9a4
1 // -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
2 // This Source Code Form is subject to the terms of the Mozilla Public
3 // License, v. 2.0. If a copy of the MPL was not distributed with this
4 // file, You can obtain one at http://mozilla.org/MPL/2.0/.
6 // Non-static prefs that are specific to desktop Firefox belong in this file
7 // (unless there is a compelling and documented reason for them to belong in
8 // another file).
9 //
10 // Please indent all prefs defined within #ifdef/#ifndef conditions. This
11 // improves readability, particular for conditional blocks that exceed a single
12 // screen.
14 #filter substitution
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);
37 // Preferences for AMO integration
38 pref("extensions.getAddons.cache.enabled", true);
39 pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/api/v3/addons/search/?guid=%IDS%&lang=%LOCALE%");
40 pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION%");
41 pref("extensions.webservice.discoverURL", "https://discovery.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%/%COMPATIBILITY_MODE%");
42 pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/firefox/");
43 pref("extensions.getAddons.langpacks.url", "https://services.addons.mozilla.org/api/v3/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%");
44 pref("extensions.getAddons.discovery.api_url", "https://services.addons.mozilla.org/api/v4/discovery/?lang=%LOCALE%&edition=%DISTRIBUTION%");
46 // The URL for the privacy policy related to recommended extensions.
47 pref("extensions.recommendations.privacyPolicyUrl", "https://www.mozilla.org/privacy/firefox/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_content=privacy-policy-link#addons");
48 // The URL for Firefox Color, recommended on the theme page in about:addons.
49 pref("extensions.recommendations.themeRecommendationUrl", "https://color.firefox.com/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_content=theme-footer-link");
51 pref("extensions.update.autoUpdateDefault", true);
53 // Check AUS for system add-on updates.
54 pref("extensions.systemAddon.update.url", "https://aus5.mozilla.org/update/3/SystemAddons/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml");
55 pref("extensions.systemAddon.update.enabled", true);
57 // Disable add-ons that are not installed by the user in all scopes by default.
58 // See the SCOPE constants in AddonManager.jsm for values to use here.
59 pref("extensions.autoDisableScopes", 15);
60 // Scopes to scan for changes at startup.
61 pref("extensions.startupScanScopes", 0);
63 pref("extensions.geckoProfiler.acceptedExtensionIds", "geckoprofiler@mozilla.com,quantum-foxfooding@mozilla.com,raptor@mozilla.org");
66 // Add-on content security policies.
67 pref("extensions.webextensions.base-content-security-policy", "script-src 'self' https://* moz-extension: blob: filesystem: 'unsafe-eval' 'unsafe-inline'; object-src 'self' https://* moz-extension: blob: filesystem:;");
68 pref("extensions.webextensions.default-content-security-policy", "script-src 'self'; object-src 'self';");
70 pref("extensions.webextensions.remote", true);
71 pref("extensions.webextensions.background-delayed-startup", true);
73 // Require signed add-ons by default
74 pref("extensions.langpacks.signatures.required", true);
75 pref("xpinstall.signatures.required", true);
76 pref("xpinstall.signatures.devInfoURL", "https://wiki.mozilla.org/Addons/Extension_Signing");
78 // Enable extensionStorage storage actor by default
79 pref("devtools.storage.extensionStorage.enabled", true);
81 // Dictionary download preference
82 pref("browser.dictionaries.download.url", "https://addons.mozilla.org/%LOCALE%/firefox/language-tools/");
84 // At startup, should we check to see if the installation
85 // date is older than some threshold
86 pref("app.update.checkInstallTime", true);
88 // The number of days a binary is permitted to be old without checking is defined in
89 // firefox-branding.js (app.update.checkInstallTime.days)
91 // The minimum delay in seconds for the timer to fire between the notification
92 // of each consumer of the timer manager.
93 // minimum=30 seconds, default=120 seconds, and maximum=300 seconds
94 pref("app.update.timerMinimumDelay", 120);
96 // The minimum delay in milliseconds for the first firing after startup of the timer
97 // to notify consumers of the timer manager.
98 // minimum=10 seconds, default=30 seconds, and maximum=120 seconds
99 pref("app.update.timerFirstInterval", 30000);
101 // App-specific update preferences
103 // The interval to check for updates (app.update.interval) is defined in
104 // firefox-branding.js
106 // Enables some extra Application Update Logging (can reduce performance)
107 pref("app.update.log", false);
108 // Causes Application Update Logging to be sent to a file in the profile
109 // directory. This preference is automatically disabled on application start to
110 // prevent it from being left on accidentally. Turning this pref on enables
111 // logging, even if app.update.log is false.
112 pref("app.update.log.file", false);
114 // The number of general background check failures to allow before notifying the
115 // user of the failure. User initiated update checks always notify the user of
116 // the failure.
117 pref("app.update.backgroundMaxErrors", 10);
119 // Ids of the links to the "What's new" update documentation
120 pref("app.update.link.updateAvailableWhatsNew", "update-available-whats-new");
121 pref("app.update.link.updateManualWhatsNew", "update-manual-whats-new");
123 // How many times we should let downloads fail before prompting the user to
124 // download a fresh installer.
125 pref("app.update.download.promptMaxAttempts", 2);
127 // How many times we should let an elevation prompt fail before prompting the user to
128 // download a fresh installer.
129 pref("app.update.elevation.promptMaxAttempts", 2);
131 // If set to true, the Update Service will automatically download updates if the
132 // user can apply updates. This pref is no longer used on Windows, except as the
133 // default value to migrate to the new location that this data is now stored
134 // (which is in a file in the update directory). Because of this, this pref
135 // should no longer be used directly. Instead, getAppUpdateAutoEnabled and
136 // getAppUpdateAutoEnabled from UpdateUtils.jsm should be used.
137 #ifndef XP_WIN
138   pref("app.update.auto", true);
139 #endif
141 // If set to true, the Update Service will apply updates in the background
142 // when it finishes downloading them.
143 pref("app.update.staging.enabled", true);
145 // Update service URL:
146 pref("app.update.url", "https://aus5.mozilla.org/update/6/%PRODUCT%/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%SYSTEM_CAPABILITIES%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml");
147 // app.update.url.manual is in branding section
148 // app.update.url.details is in branding section
150 // app.update.badgeWaitTime is in branding section
151 // app.update.interval is in branding section
152 // app.update.promptWaitTime is in branding section
154 // Whether or not to attempt using the service for updates.
155 #ifdef MOZ_MAINTENANCE_SERVICE
156   pref("app.update.service.enabled", true);
157 #endif
159 #ifdef MOZ_BITS_DOWNLOAD
160   // If set to true, the Update Service will attempt to use Windows BITS to
161   // download updates and will fallback to downloading internally if that fails.
162   pref("app.update.BITS.enabled", true);
163 #endif
165 // Symmetric (can be overridden by individual extensions) update preferences.
166 // e.g.
167 //  extensions.{GUID}.update.enabled
168 //  extensions.{GUID}.update.url
169 //  .. etc ..
171 pref("extensions.update.enabled", true);
172 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%");
173 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%");
174 pref("extensions.update.interval", 86400);  // Check for updates to Extensions and
175                                             // Themes every day
177 pref("lightweightThemes.getMoreURL", "https://addons.mozilla.org/%LOCALE%/firefox/themes");
179 #if defined(MOZ_WIDEVINE_EME)
180   pref("browser.eme.ui.enabled", true);
181 #else
182   pref("browser.eme.ui.enabled", false);
183 #endif
185 // UI tour experience.
186 pref("browser.uitour.enabled", true);
187 pref("browser.uitour.loglevel", "Error");
188 pref("browser.uitour.requireSecure", true);
189 pref("browser.uitour.themeOrigin", "https://addons.mozilla.org/%LOCALE%/firefox/themes/");
190 pref("browser.uitour.url", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/tour/");
191 // How long to show a Hearbeat survey (two hours, in seconds)
192 pref("browser.uitour.surveyDuration", 7200);
194 pref("keyword.enabled", true);
195 pref("browser.fixup.domainwhitelist.localhost", true);
197 #ifdef UNIX_BUT_NOT_MAC
198   pref("general.autoScroll", false);
199 #else
200   pref("general.autoScroll", true);
201 #endif
203 pref("browser.stopReloadAnimation.enabled", true);
205 // UI density of the browser chrome. This mostly affects toolbarbutton
206 // and urlbar spacing. The possible values are 0=normal, 1=compact, 2=touch.
207 pref("browser.uidensity", 0);
208 // Whether Firefox will automatically override the uidensity to "touch"
209 // while the user is in a touch environment (such as Windows tablet mode).
210 pref("browser.touchmode.auto", true);
212 // At startup, check if we're the default browser and prompt user if not.
213 pref("browser.shell.checkDefaultBrowser", true);
214 pref("browser.shell.shortcutFavicons",true);
215 pref("browser.shell.mostRecentDateSetAsDefault", "");
216 pref("browser.shell.skipDefaultBrowserCheckOnFirstRun", true);
217 pref("browser.shell.didSkipDefaultBrowserCheckOnFirstRun", false);
218 pref("browser.shell.defaultBrowserCheckCount", 0);
219 pref("browser.defaultbrowser.notificationbar", false);
221 // 0 = blank, 1 = home (browser.startup.homepage), 2 = last visited page, 3 = resume previous browser session
222 // The behavior of option 3 is detailed at: http://wiki.mozilla.org/Session_Restore
223 pref("browser.startup.page",                1);
224 pref("browser.startup.homepage",            "about:home");
225 // Whether we should skip the homepage when opening the first-run page
226 pref("browser.startup.firstrunSkipsHomepage", true);
228 // Show an about:blank window as early as possible for quick startup feedback.
229 // Held to nightly on Linux due to bug 1450626.
230 // Disabled on Mac because the bouncing dock icon already provides feedback.
231 #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK) && defined(NIGHTLY_BUILD)
232   pref("browser.startup.blankWindow", true);
233 #else
234   pref("browser.startup.blankWindow", false);
235 #endif
237 // Don't create the hidden window during startup on
238 // platforms that don't always need it (Win/Linux).
239 pref("toolkit.lazyHiddenWindow", true);
241 pref("browser.slowStartup.notificationDisabled", false);
242 pref("browser.slowStartup.timeThreshold", 20000);
243 pref("browser.slowStartup.maxSamples", 5);
245 pref("browser.enable_automatic_image_resizing", true);
246 pref("browser.chrome.site_icons", true);
247 // browser.warnOnQuit == false will override all other possible prompts when quitting or restarting
248 pref("browser.warnOnQuit", true);
249 pref("browser.fullscreen.autohide", true);
250 pref("browser.overlink-delay", 80);
252 #ifdef UNIX_BUT_NOT_MAC
253   pref("browser.urlbar.clickSelectsAll", false);
254 #else
255   pref("browser.urlbar.clickSelectsAll", true);
256 #endif
257 #ifdef UNIX_BUT_NOT_MAC
258   pref("browser.urlbar.doubleClickSelectsAll", true);
259 #else
260   pref("browser.urlbar.doubleClickSelectsAll", false);
261 #endif
263 // Whether using `ctrl` when hitting return/enter in the URL bar
264 // (or clicking 'go') should prefix 'www.' and suffix
265 // browser.fixup.alternate.suffix to the URL bar value prior to
266 // navigating.
267 pref("browser.urlbar.ctrlCanonizesURLs", true);
269 // Control autoFill behavior
270 pref("browser.urlbar.autoFill", true);
271 pref("browser.urlbar.speculativeConnect.enabled", true);
273 // Whether bookmarklets should be filtered out of Address Bar matches.
274 // This is enabled for security reasons, when true it is still possible to
275 // search for bookmarklets typing "javascript: " followed by the actual query.
276 pref("browser.urlbar.filter.javascript", true);
278 // the maximum number of results to show in autocomplete when doing richResults
279 pref("browser.urlbar.maxRichResults", 10);
280 // The amount of time (ms) to wait after the user has stopped typing
281 // before starting to perform autocomplete.  50 is the default set in
282 // autocomplete.xml.
283 pref("browser.urlbar.delay", 50);
285 // The maximum number of historical search results to show.
286 pref("browser.urlbar.maxHistoricalSearchSuggestions", 0);
288 // The default behavior for the urlbar can be configured to use any combination
289 // of the match filters with each additional filter adding more results (union).
290 pref("browser.urlbar.suggest.history",              true);
291 pref("browser.urlbar.suggest.bookmark",             true);
292 pref("browser.urlbar.suggest.openpage",             true);
293 pref("browser.urlbar.suggest.searches",             true);
295 // Limit the number of characters sent to the current search engine to fetch
296 // suggestions.
297 pref("browser.urlbar.maxCharsForSearchSuggestions", 20);
299 pref("browser.urlbar.formatting.enabled", true);
300 pref("browser.urlbar.trimURLs", true);
302 pref("browser.urlbar.oneOffSearches", true);
304 // If changed to true, copying the entire URL from the location bar will put the
305 // human readable (percent-decoded) URL on the clipboard.
306 pref("browser.urlbar.decodeURLsOnCopy", false);
308 // Whether or not to move tabs into the active window when using the "Switch to
309 // Tab" feature of the awesomebar.
310 pref("browser.urlbar.switchTabs.adoptIntoActiveWindow", false);
312 // Whether addresses and search results typed into the address bar
313 // should be opened in new tabs by default.
314 pref("browser.urlbar.openintab", false);
316 // This is disabled until Bug 1340663 figures out the remaining requirements.
317 pref("browser.urlbar.usepreloadedtopurls.enabled", false);
318 pref("browser.urlbar.usepreloadedtopurls.expire_days", 14);
320 #ifdef NIGHTLY_BUILD
321   // Whether the quantum bar displays design update 1.
322   pref("browser.urlbar.update1", true);
323   // Whether we expand the font size when when the urlbar is
324   // focused in design update 1.
325   pref("browser.urlbar.update1.expandTextOnFocus", true);
326   // Whether the urlbar should strip https from urls in the view.
327   pref("browser.urlbar.update1.view.stripHttps", true);
328 #else
329   pref("browser.urlbar.update1", false);
330   pref("browser.urlbar.update1.expandTextOnFocus", false);
331   pref("browser.urlbar.update1.view.stripHttps", false);
332 #endif
334 pref("browser.urlbar.openViewOnFocus", false);
335 pref("browser.urlbar.eventTelemetry.enabled", false);
337 pref("browser.altClickSave", false);
339 // Enable logging downloads operations to the Console.
340 pref("browser.download.loglevel", "Error");
342 // Number of milliseconds to wait for the http headers (and thus
343 // the Content-Disposition filename) before giving up and falling back to
344 // picking a filename without that info in hand so that the user sees some
345 // feedback from their action.
346 pref("browser.download.saveLinkAsFilenameTimeout", 4000);
348 pref("browser.download.useDownloadDir", true);
349 pref("browser.download.folderList", 1);
350 pref("browser.download.manager.addToRecentDocs", true);
351 pref("browser.download.manager.resumeOnWakeDelay", 10000);
353 // This allows disabling the animated notifications shown by
354 // the Downloads Indicator when a download starts or completes.
355 pref("browser.download.animateNotifications", true);
357 // This records whether or not the panel has been shown at least once.
358 pref("browser.download.panel.shown", false);
360 // This controls whether the button is automatically shown/hidden depending
361 // on whether there are downloads to show.
362 pref("browser.download.autohideButton", true);
364 #ifndef XP_MACOSX
365   pref("browser.helperApps.deleteTempFileOnExit", true);
366 #endif
368 // search engines URL
369 pref("browser.search.searchEnginesURL",      "https://addons.mozilla.org/%LOCALE%/firefox/search-engines/");
371 // Market-specific search defaults
372 pref("browser.search.geoSpecificDefaults", true);
373 pref("browser.search.geoSpecificDefaults.url", "https://search.services.mozilla.com/1/%APP%/%VERSION%/%CHANNEL%/%LOCALE%/%REGION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%");
375 // search bar results always open in a new tab
376 pref("browser.search.openintab", false);
378 // context menu searches open in the foreground
379 pref("browser.search.context.loadInBackground", false);
381 // comma seperated list of of engines to hide in the search panel.
382 pref("browser.search.hiddenOneOffs", "");
384 // Mirrors whether the search-container widget is in the navigation toolbar.
385 pref("browser.search.widget.inNavBar", false);
387 // Enables display of the options for the user using a separate default search
388 // engine in private browsing mode.
389 #ifdef NIGHTLY_BUILD
390   pref("browser.search.separatePrivateDefault.ui.enabled", true);
391 #endif
392 // The maximum amount of times the private default banner is shown.
393 pref("browser.search.separatePrivateDefault.ui.banner.max", 0);
395 pref("browser.sessionhistory.max_entries", 50);
397 // Built-in default permissions.
398 pref("permissions.manager.defaultsUrl", "resource://app/defaults/permissions");
400 // Set default fallback values for site permissions we want
401 // the user to be able to globally change.
402 pref("permissions.default.camera", 0);
403 pref("permissions.default.microphone", 0);
404 pref("permissions.default.geo", 0);
405 pref("permissions.default.desktop-notification", 0);
406 pref("permissions.default.shortcuts", 0);
408 pref("permissions.desktop-notification.postPrompt.enabled", true);
409 pref("permissions.desktop-notification.notNow.enabled", false);
411 pref("permissions.fullscreen.allowed", false);
413 pref("permissions.postPrompt.animate", true);
415 // This is primarily meant to be enabled for studies.
416 #ifdef NIGHTLY_BUILD
417   pref("permissions.eventTelemetry.enabled", true);
418 #else
419   pref("permissions.eventTelemetry.enabled", false);
420 #endif
422 #ifdef NIGHTLY_BUILD
423   pref("permissions.delegation.enabled", true);
424 #else
425   pref("permissions.delegation.enabled", false);
426 #endif
428 // handle links targeting new windows
429 // 1=current window/tab, 2=new window, 3=new tab in most recent window
430 pref("browser.link.open_newwindow", 3);
432 // handle external links (i.e. links opened from a different application)
433 // default: use browser.link.open_newwindow
434 // 1-3: see browser.link.open_newwindow for interpretation
435 pref("browser.link.open_newwindow.override.external", -1);
437 // 0: no restrictions - divert everything
438 // 1: don't divert window.open at all
439 // 2: don't divert window.open with features
440 pref("browser.link.open_newwindow.restriction", 2);
442 // If true, this pref causes windows opened by window.open to be forced into new
443 // tabs (rather than potentially opening separate windows, depending on
444 // window.open arguments) when the browser is in fullscreen mode.
445 // We set this differently on Mac because the fullscreen implementation there is
446 // different.
447 #ifdef XP_MACOSX
448   pref("browser.link.open_newwindow.disabled_in_fullscreen", true);
449 #else
450   pref("browser.link.open_newwindow.disabled_in_fullscreen", false);
451 #endif
453 // Tabbed browser
454 pref("browser.tabs.multiselect", true);
455 pref("browser.tabs.closeTabByDblclick", false);
456 pref("browser.tabs.closeWindowWithLastTab", true);
457 // Open related links to a tab, e.g., link in current tab, at next to the
458 // current tab if |insertRelatedAfterCurrent| is true.  Otherwise, always
459 // append new tab to the end.
460 pref("browser.tabs.insertRelatedAfterCurrent", true);
461 // Open all links, e.g., bookmarks, history items at next to current tab
462 // if |insertAfterCurrent| is true.  Otherwise, append new tab to the end
463 // for non-related links. Note that if this is set to true, it will trump
464 // the value of browser.tabs.insertRelatedAfterCurrent.
465 pref("browser.tabs.insertAfterCurrent", false);
466 pref("browser.tabs.warnOnClose", true);
467 pref("browser.tabs.warnOnCloseOtherTabs", true);
468 pref("browser.tabs.warnOnOpen", true);
469 pref("browser.tabs.maxOpenBeforeWarn", 15);
470 pref("browser.tabs.loadInBackground", true);
471 pref("browser.tabs.opentabfor.middleclick", true);
472 pref("browser.tabs.loadDivertedInBackground", false);
473 pref("browser.tabs.loadBookmarksInBackground", false);
474 pref("browser.tabs.loadBookmarksInTabs", false);
475 pref("browser.tabs.tabClipWidth", 140);
476 pref("browser.tabs.tabMinWidth", 76);
477 // Initial titlebar state is managed by -moz-gtk-csd-hide-titlebar-by-default
478 // on Linux.
479 #ifndef UNIX_BUT_NOT_MAC
480   pref("browser.tabs.drawInTitlebar", true);
481 #endif
483 // Offer additional drag space to the user. The drag space
484 // will only be shown if browser.tabs.drawInTitlebar is true.
485 pref("browser.tabs.extraDragSpace", false);
487 // When tabs opened by links in other tabs via a combination of
488 // browser.link.open_newwindow being set to 3 and target="_blank" etc are
489 // closed:
490 // true   return to the tab that opened this tab (its owner)
491 // false  return to the adjacent tab (old default)
492 pref("browser.tabs.selectOwnerOnClose", true);
494 pref("browser.tabs.showAudioPlayingIcon", true);
495 // This should match Chromium's audio indicator delay.
496 pref("browser.tabs.delayHidingAudioPlayingIconMS", 3000);
498 #if defined(NIGHTLY_BUILD) && !defined(MOZ_ASAN)
499   // Pref to control whether we use a separate privileged content process
500   // for about: pages. This pref name did not age well: we will have multiple
501   // types of privileged content processes, each with different privileges.
502   // types of privleged content processes, each with different privleges.
503   pref("browser.tabs.remote.separatePrivilegedContentProcess", false);
504   // Pref to control whether we use a separate privileged content process
505   // for certain mozilla webpages (which are listed in the pref
506   // browser.tabs.remote.separatedMozillaDomains).
507   pref("browser.tabs.remote.separatePrivilegedMozillaWebContentProcess", true);
508   // This pref will cause assertions when a remoteType triggers a process switch
509   // to a new remoteType it should not be able to trigger.
510   pref("browser.tabs.remote.enforceRemoteTypeRestrictions", true);
511 #endif
513 // allow_eval_* is enabled on Firefox Desktop only at this
514 // point in time
515 pref("security.allow_eval_with_system_principal", false);
516 pref("security.allow_eval_in_parent_process", false);
518 pref("security.allow_parent_unrestricted_js_loads", false);
520 #ifdef NIGHTLY_BUILD
521   pref("browser.tabs.remote.useHTTPResponseProcessSelection", true);
522 #else
523   // Disabled outside of nightly due to bug 1554217
524   pref("browser.tabs.remote.useHTTPResponseProcessSelection", false);
525 #endif
528 // Unload tabs when available memory is running low
529 pref("browser.tabs.unloadOnLowMemory", false);
531 pref("browser.ctrlTab.recentlyUsedOrder", true);
533 // By default, do not export HTML at shutdown.
534 // If true, at shutdown the bookmarks in your menu and toolbar will
535 // be exported as HTML to the bookmarks.html file.
536 pref("browser.bookmarks.autoExportHTML",          false);
538 // The maximum number of daily bookmark backups to
539 // keep in {PROFILEDIR}/bookmarkbackups. Special values:
540 // -1: unlimited
541 //  0: no backups created (and deletes all existing backups)
542 pref("browser.bookmarks.max_backups",             15);
544 // Whether menu should close after Ctrl-click, middle-click, etc.
545 pref("browser.bookmarks.openInTabClosesMenu", true);
547 // Scripts & Windows prefs
548 pref("dom.disable_open_during_load",              true);
549 pref("javascript.options.showInConsole",          true);
551 // This is the pref to control the location bar, change this to true to
552 // force this - this makes the origin of popup windows more obvious to avoid
553 // spoofing. We would rather not do it by default because it affects UE for web
554 // applications, but without it there isn't a really good way to prevent chrome
555 // spoofing, see bug 337344
556 pref("dom.disable_window_open_feature.location",  true);
557 // allow JS to move and resize existing windows
558 pref("dom.disable_window_move_resize",            false);
559 // prevent JS from monkeying with window focus, etc
560 pref("dom.disable_window_flip",                   true);
562 // popups.policy 1=allow,2=reject
563 pref("privacy.popups.policy",               1);
564 pref("privacy.popups.usecustom",            true);
565 pref("privacy.popups.showBrowserMessage",   true);
567 pref("privacy.item.cookies",                false);
569 pref("privacy.clearOnShutdown.history",     true);
570 pref("privacy.clearOnShutdown.formdata",    true);
571 pref("privacy.clearOnShutdown.downloads",   true);
572 pref("privacy.clearOnShutdown.cookies",     true);
573 pref("privacy.clearOnShutdown.cache",       true);
574 pref("privacy.clearOnShutdown.sessions",    true);
575 pref("privacy.clearOnShutdown.offlineApps", false);
576 pref("privacy.clearOnShutdown.siteSettings", false);
577 pref("privacy.clearOnShutdown.openWindows", false);
579 pref("privacy.cpd.history",                 true);
580 pref("privacy.cpd.formdata",                true);
581 pref("privacy.cpd.passwords",               false);
582 pref("privacy.cpd.downloads",               true);
583 pref("privacy.cpd.cookies",                 true);
584 pref("privacy.cpd.cache",                   true);
585 pref("privacy.cpd.sessions",                true);
586 pref("privacy.cpd.offlineApps",             false);
587 pref("privacy.cpd.siteSettings",            false);
588 pref("privacy.cpd.openWindows",             false);
590 pref("privacy.history.custom",              false);
592 // What default should we use for the time span in the sanitizer:
593 // 0 - Clear everything
594 // 1 - Last Hour
595 // 2 - Last 2 Hours
596 // 3 - Last 4 Hours
597 // 4 - Today
598 // 5 - Last 5 minutes
599 // 6 - Last 24 hours
600 pref("privacy.sanitize.timeSpan", 1);
602 pref("privacy.sanitize.migrateFx3Prefs",    false);
604 pref("privacy.panicButton.enabled",         true);
606 // Time until temporary permissions expire, in ms
607 pref("privacy.temporary_permission_expire_time_ms",  3600000);
609 pref("network.proxy.share_proxy_settings",  false); // use the same proxy settings for all protocols
611 // simple gestures support
612 pref("browser.gesture.swipe.left", "Browser:BackOrBackDuplicate");
613 pref("browser.gesture.swipe.right", "Browser:ForwardOrForwardDuplicate");
614 pref("browser.gesture.swipe.up", "cmd_scrollTop");
615 pref("browser.gesture.swipe.down", "cmd_scrollBottom");
616 #ifdef XP_MACOSX
617   pref("browser.gesture.pinch.latched", true);
618   pref("browser.gesture.pinch.threshold", 150);
619 #else
620   pref("browser.gesture.pinch.latched", false);
621   pref("browser.gesture.pinch.threshold", 25);
622 #endif
623 #if defined(XP_WIN) || defined(MOZ_WIDGET_GTK)
624   // Enabled for touch input display zoom.
625   pref("browser.gesture.pinch.out", "cmd_fullZoomEnlarge");
626   pref("browser.gesture.pinch.in", "cmd_fullZoomReduce");
627   pref("browser.gesture.pinch.out.shift", "cmd_fullZoomReset");
628   pref("browser.gesture.pinch.in.shift", "cmd_fullZoomReset");
629 #else
630   // Disabled by default due to issues with track pad input.
631   pref("browser.gesture.pinch.out", "");
632   pref("browser.gesture.pinch.in", "");
633   pref("browser.gesture.pinch.out.shift", "");
634   pref("browser.gesture.pinch.in.shift", "");
635 #endif
636 pref("browser.gesture.twist.latched", false);
637 pref("browser.gesture.twist.threshold", 0);
638 pref("browser.gesture.twist.right", "cmd_gestureRotateRight");
639 pref("browser.gesture.twist.left", "cmd_gestureRotateLeft");
640 pref("browser.gesture.twist.end", "cmd_gestureRotateEnd");
641 pref("browser.gesture.tap", "cmd_fullZoomReset");
643 pref("browser.history_swipe_animation.disabled", false);
645 // 0: Nothing happens
646 // 1: Scrolling contents
647 // 2: Go back or go forward, in your history
648 // 3: Zoom in or out (reflowing zoom).
649 // 4: Treat vertical wheel as horizontal scroll
650 // 5: Zoom in or out (pinch zoom).
651 #ifdef XP_MACOSX
652   // On macOS, if the wheel has one axis only, shift+wheel comes through as a
653   // horizontal scroll event. Thus, we can't assign anything other than normal
654   // scrolling to shift+wheel.
655   pref("mousewheel.with_shift.action", 1);
656   pref("mousewheel.with_alt.action", 2);
657   // On MacOS X, control+wheel is typically handled by system and we don't
658   // receive the event.  So, command key which is the main modifier key for
659   // acceleration is the best modifier for zoom-in/out.  However, we should keep
660   // the control key setting for backward compatibility.
661   pref("mousewheel.with_meta.action", 3); // command key on Mac
662   // Disable control-/meta-modified horizontal wheel events, since those are
663   // used on Mac as part of modified swipe gestures (e.g. Left swipe+Cmd is
664   // "go back" in a new tab).
665   pref("mousewheel.with_control.action.override_x", 0);
666   pref("mousewheel.with_meta.action.override_x", 0);
667 #else
668   // On the other platforms (non-macOS), user may use legacy mouse which
669   // supports only vertical wheel but want to scroll horizontally.  For such
670   // users, we should provide horizontal scroll with shift+wheel (same as
671   // Chrome). However, shift+wheel was used for navigating history.  For users
672   // who want to keep using this feature, let's enable it with alt+wheel.  This
673   // is better for consistency with macOS users.
674   pref("mousewheel.with_shift.action", 4);
675   pref("mousewheel.with_alt.action", 2);
676   pref("mousewheel.with_meta.action", 1); // win key on Win, Super/Hyper on Linux
677 #endif
678 pref("mousewheel.with_control.action",3);
679 pref("mousewheel.with_win.action", 1);
681 pref("browser.xul.error_pages.expert_bad_cert", false);
682 pref("browser.xul.error_pages.show_safe_browsing_details_on_load", false);
684 // Enable captive portal detection.
685 pref("network.captive-portal-service.enabled", true);
687 // If true, network link events will change the value of navigator.onLine
688 pref("network.manage-offline-status", true);
690 // We want to make sure mail URLs are handled externally...
691 pref("network.protocol-handler.external.mailto", true); // for mail
692 pref("network.protocol-handler.external.news", true);   // for news
693 pref("network.protocol-handler.external.snews", true);  // for secure news
694 pref("network.protocol-handler.external.nntp", true);   // also news
695 #ifdef XP_WIN
696   pref("network.protocol-handler.external.ms-windows-store", true);
697 #endif
699 // ...without warning dialogs
700 pref("network.protocol-handler.warn-external.mailto", false);
701 pref("network.protocol-handler.warn-external.news", false);
702 pref("network.protocol-handler.warn-external.snews", false);
703 pref("network.protocol-handler.warn-external.nntp", false);
704 #ifdef XP_WIN
705   pref("network.protocol-handler.warn-external.ms-windows-store", false);
706 #endif
708 // By default, all protocol handlers are exposed.  This means that
709 // the browser will respond to openURL commands for all URL types.
710 // It will also try to open link clicks inside the browser before
711 // failing over to the system handlers.
712 pref("network.protocol-handler.expose-all", true);
713 pref("network.protocol-handler.expose.mailto", false);
714 pref("network.protocol-handler.expose.news", false);
715 pref("network.protocol-handler.expose.snews", false);
716 pref("network.protocol-handler.expose.nntp", false);
718 pref("accessibility.typeaheadfind", false);
719 pref("accessibility.typeaheadfind.timeout", 5000);
720 pref("accessibility.typeaheadfind.linksonly", false);
721 pref("accessibility.typeaheadfind.flashBar", 1);
723 // Accessibility indicator preferences such as support URL, enabled flag.
724 pref("accessibility.support.url", "https://support.mozilla.org/%LOCALE%/kb/accessibility-services");
725 pref("accessibility.indicator.enabled", false);
727 pref("plugins.testmode", false);
729 // Should plugins that are hidden show the infobar UI?
730 pref("plugins.show_infobar", false);
732 #if defined(_ARM64_) && defined(XP_WIN)
733   pref("plugin.default.state", 0);
734 #else
735   pref("plugin.default.state", 1);
736 #endif
738 // Enables the download and use of the flash blocklists.
739 pref("plugins.flashBlock.enabled", true);
741 // Prefer HTML5 video over Flash content, and don't
742 // load plugin instances with no src declared.
743 // These prefs are documented in details on all.js.
744 // With the "follow-ctp" setting, this will only
745 // apply to users that have plugin.state.flash = 1.
746 pref("plugins.favorfallback.mode", "follow-ctp");
747 pref("plugins.favorfallback.rules", "nosrc,video");
749 #ifdef XP_WIN
750   pref("browser.preferences.instantApply", false);
751 #else
752   pref("browser.preferences.instantApply", true);
753 #endif
755 // Toggling Search bar on and off in about:preferences
756 pref("browser.preferences.search", true);
758 pref("browser.preferences.defaultPerformanceSettings.enabled", true);
760 pref("browser.download.show_plugins_in_list", true);
761 pref("browser.download.hide_plugins_without_extensions", true);
763 // Backspace and Shift+Backspace behavior
764 // 0 goes Back/Forward
765 // 1 act like PgUp/PgDown
766 // 2 and other values, nothing
767 #ifdef UNIX_BUT_NOT_MAC
768   pref("browser.backspace_action", 2);
769 #else
770   pref("browser.backspace_action", 0);
771 #endif
773 // this will automatically enable inline spellchecking (if it is available) for
774 // editable elements in HTML
775 // 0 = spellcheck nothing
776 // 1 = check multi-line controls [default]
777 // 2 = check multi/single line controls
778 pref("layout.spellcheckDefault", 1);
780 pref("browser.send_pings", false);
782 // At startup, if the handler service notices that the version number in the
783 // region.properties file is newer than the version number in the handler
784 // service datastore, it will add any new handlers it finds in the prefs (as
785 // seeded by this file) to its datastore.
786 pref("gecko.handlerService.defaultHandlersVersion", "chrome://browser-region/locale/region.properties");
788 // The default set of web-based protocol handlers shown in the application
789 // selection dialog for webcal: ; I've arbitrarily picked 4 default handlers
790 // per protocol, but if some locale wants more than that (or defaults for some
791 // protocol not currently listed here), we should go ahead and add those.
793 // webcal
794 pref("gecko.handlerService.schemes.webcal.0.name", "chrome://browser-region/locale/region.properties");
795 pref("gecko.handlerService.schemes.webcal.0.uriTemplate", "chrome://browser-region/locale/region.properties");
796 pref("gecko.handlerService.schemes.webcal.1.name", "chrome://browser-region/locale/region.properties");
797 pref("gecko.handlerService.schemes.webcal.1.uriTemplate", "chrome://browser-region/locale/region.properties");
798 pref("gecko.handlerService.schemes.webcal.2.name", "chrome://browser-region/locale/region.properties");
799 pref("gecko.handlerService.schemes.webcal.2.uriTemplate", "chrome://browser-region/locale/region.properties");
800 pref("gecko.handlerService.schemes.webcal.3.name", "chrome://browser-region/locale/region.properties");
801 pref("gecko.handlerService.schemes.webcal.3.uriTemplate", "chrome://browser-region/locale/region.properties");
803 // mailto
804 pref("gecko.handlerService.schemes.mailto.0.name", "chrome://browser-region/locale/region.properties");
805 pref("gecko.handlerService.schemes.mailto.0.uriTemplate", "chrome://browser-region/locale/region.properties");
806 pref("gecko.handlerService.schemes.mailto.1.name", "chrome://browser-region/locale/region.properties");
807 pref("gecko.handlerService.schemes.mailto.1.uriTemplate", "chrome://browser-region/locale/region.properties");
808 pref("gecko.handlerService.schemes.mailto.2.name", "chrome://browser-region/locale/region.properties");
809 pref("gecko.handlerService.schemes.mailto.2.uriTemplate", "chrome://browser-region/locale/region.properties");
810 pref("gecko.handlerService.schemes.mailto.3.name", "chrome://browser-region/locale/region.properties");
811 pref("gecko.handlerService.schemes.mailto.3.uriTemplate", "chrome://browser-region/locale/region.properties");
813 // irc
814 pref("gecko.handlerService.schemes.irc.0.name", "chrome://browser-region/locale/region.properties");
815 pref("gecko.handlerService.schemes.irc.0.uriTemplate", "chrome://browser-region/locale/region.properties");
816 pref("gecko.handlerService.schemes.irc.1.name", "chrome://browser-region/locale/region.properties");
817 pref("gecko.handlerService.schemes.irc.1.uriTemplate", "chrome://browser-region/locale/region.properties");
818 pref("gecko.handlerService.schemes.irc.2.name", "chrome://browser-region/locale/region.properties");
819 pref("gecko.handlerService.schemes.irc.2.uriTemplate", "chrome://browser-region/locale/region.properties");
820 pref("gecko.handlerService.schemes.irc.3.name", "chrome://browser-region/locale/region.properties");
821 pref("gecko.handlerService.schemes.irc.3.uriTemplate", "chrome://browser-region/locale/region.properties");
823 // ircs
824 pref("gecko.handlerService.schemes.ircs.0.name", "chrome://browser-region/locale/region.properties");
825 pref("gecko.handlerService.schemes.ircs.0.uriTemplate", "chrome://browser-region/locale/region.properties");
826 pref("gecko.handlerService.schemes.ircs.1.name", "chrome://browser-region/locale/region.properties");
827 pref("gecko.handlerService.schemes.ircs.1.uriTemplate", "chrome://browser-region/locale/region.properties");
828 pref("gecko.handlerService.schemes.ircs.2.name", "chrome://browser-region/locale/region.properties");
829 pref("gecko.handlerService.schemes.ircs.2.uriTemplate", "chrome://browser-region/locale/region.properties");
830 pref("gecko.handlerService.schemes.ircs.3.name", "chrome://browser-region/locale/region.properties");
831 pref("gecko.handlerService.schemes.ircs.3.uriTemplate", "chrome://browser-region/locale/region.properties");
833 pref("browser.geolocation.warning.infoURL", "https://www.mozilla.org/%LOCALE%/firefox/geolocation/");
835 pref("browser.sessionstore.resume_from_crash", true);
836 pref("browser.sessionstore.resume_session_once", false);
837 pref("browser.sessionstore.resuming_after_os_restart", false);
839 // Minimal interval between two save operations in milliseconds (while the user is active).
840 pref("browser.sessionstore.interval", 15000); // 15 seconds
842 // Minimal interval between two save operations in milliseconds (while the user is idle).
843 pref("browser.sessionstore.interval.idle", 3600000); // 1h
845 // Time (ms) before we assume that the user is idle and that we don't need to
846 // collect/save the session quite as often.
847 pref("browser.sessionstore.idleDelay", 180000); // 3 minutes
849 // on which sites to save text data, POSTDATA and cookies
850 // 0 = everywhere, 1 = unencrypted sites, 2 = nowhere
851 pref("browser.sessionstore.privacy_level", 0);
852 // how many tabs can be reopened (per window)
853 pref("browser.sessionstore.max_tabs_undo", 25);
854 // how many windows can be reopened (per session) - on non-OS X platforms this
855 // pref may be ignored when dealing with pop-up windows to ensure proper startup
856 pref("browser.sessionstore.max_windows_undo", 3);
857 // number of crashes that can occur before the about:sessionrestore page is displayed
858 // (this pref has no effect if more than 6 hours have passed since the last crash)
859 pref("browser.sessionstore.max_resumed_crashes", 1);
860 // number of back button session history entries to restore (-1 = all of them)
861 pref("browser.sessionstore.max_serialize_back", 10);
862 // number of forward button session history entries to restore (-1 = all of them)
863 pref("browser.sessionstore.max_serialize_forward", -1);
864 // restore_on_demand overrides MAX_CONCURRENT_TAB_RESTORES (sessionstore constant)
865 // and restore_hidden_tabs. When true, tabs will not be restored until they are
866 // focused (also applies to tabs that aren't visible). When false, the values
867 // for MAX_CONCURRENT_TAB_RESTORES and restore_hidden_tabs are respected.
868 // Selected tabs are always restored regardless of this pref.
869 pref("browser.sessionstore.restore_on_demand", true);
870 // Whether to automatically restore hidden tabs (i.e., tabs in other tab groups) or not
871 pref("browser.sessionstore.restore_hidden_tabs", false);
872 // If restore_on_demand is set, pinned tabs are restored on startup by default.
873 // When set to true, this pref overrides that behavior, and pinned tabs will only
874 // be restored when they are focused.
875 pref("browser.sessionstore.restore_pinned_tabs_on_demand", false);
876 // The version at which we performed the latest upgrade backup
877 pref("browser.sessionstore.upgradeBackup.latestBuildID", "");
878 // How many upgrade backups should be kept
879 pref("browser.sessionstore.upgradeBackup.maxUpgradeBackups", 3);
880 // End-users should not run sessionstore in debug mode
881 pref("browser.sessionstore.debug", false);
882 // Causes SessionStore to ignore non-final update messages from
883 // browser tabs that were not caused by a flush from the parent.
884 // This is a testing flag and should not be used by end-users.
885 pref("browser.sessionstore.debug.no_auto_updates", false);
886 // Forget closed windows/tabs after two weeks
887 pref("browser.sessionstore.cleanup.forget_closed_after", 1209600000);
888 // Amount of failed SessionFile writes until we restart the worker.
889 pref("browser.sessionstore.max_write_failures", 5);
891 // Whether to warn the user when quitting, even though their tabs will be restored.
892 pref("browser.sessionstore.warnOnQuit", false);
894 // allow META refresh by default
895 pref("accessibility.blockautorefresh", false);
897 // Whether history is enabled or not.
898 pref("places.history.enabled", true);
900 // the (maximum) number of the recent visits to sample
901 // when calculating frecency
902 pref("places.frecency.numVisits", 10);
904 // buckets (in days) for frecency calculation
905 pref("places.frecency.firstBucketCutoff", 4);
906 pref("places.frecency.secondBucketCutoff", 14);
907 pref("places.frecency.thirdBucketCutoff", 31);
908 pref("places.frecency.fourthBucketCutoff", 90);
910 // weights for buckets for frecency calculations
911 pref("places.frecency.firstBucketWeight", 100);
912 pref("places.frecency.secondBucketWeight", 70);
913 pref("places.frecency.thirdBucketWeight", 50);
914 pref("places.frecency.fourthBucketWeight", 30);
915 pref("places.frecency.defaultBucketWeight", 10);
917 // bonus (in percent) for visit transition types for frecency calculations
918 pref("places.frecency.embedVisitBonus", 0);
919 pref("places.frecency.framedLinkVisitBonus", 0);
920 pref("places.frecency.linkVisitBonus", 100);
921 pref("places.frecency.typedVisitBonus", 2000);
922 // The bookmarks bonus is always added on top of any other bonus, including
923 // the redirect source and the typed ones.
924 pref("places.frecency.bookmarkVisitBonus", 75);
925 // The redirect source bonus overwrites any transition bonus.
926 // 0 would hide these pages, instead we want them low ranked.  Thus we use
927 // linkVisitBonus - bookmarkVisitBonus, so that a bookmarked source is in par
928 // with a common link.
929 pref("places.frecency.redirectSourceVisitBonus", 25);
930 pref("places.frecency.downloadVisitBonus", 0);
931 // The perm/temp redirects here relate to redirect targets, not sources.
932 pref("places.frecency.permRedirectVisitBonus", 50);
933 pref("places.frecency.tempRedirectVisitBonus", 40);
934 pref("places.frecency.reloadVisitBonus", 0);
935 pref("places.frecency.defaultVisitBonus", 0);
937 // bonus (in percent) for place types for frecency calculations
938 pref("places.frecency.unvisitedBookmarkBonus", 140);
939 pref("places.frecency.unvisitedTypedBonus", 200);
941 // Controls behavior of the "Add Exception" dialog launched from SSL error pages
942 // 0 - don't pre-populate anything
943 // 1 - pre-populate site URL, but don't fetch certificate
944 // 2 - pre-populate site URL and pre-fetch certificate
945 pref("browser.ssl_override_behavior", 2);
947 // if true, use full page zoom instead of text zoom
948 pref("browser.zoom.full", true);
950 // Whether or not to save and restore zoom levels on a per-site basis.
951 pref("browser.zoom.siteSpecific", true);
953 // Whether or not to update background tabs to the current zoom level.
954 pref("browser.zoom.updateBackgroundTabs", true);
956 // The breakpad report server to link to in about:crashes
957 pref("breakpad.reportURL", "https://crash-stats.mozilla.org/report/index/");
959 // URL for "Learn More" for DataCollection
960 pref("toolkit.datacollection.infoURL",
961      "https://www.mozilla.org/legal/privacy/firefox.html");
963 // URL for "Learn More" for Crash Reporter
964 pref("toolkit.crashreporter.infoURL",
965      "https://www.mozilla.org/legal/privacy/firefox.html#crash-reporter");
967 // base URL for web-based support pages
968 pref("app.support.baseURL", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/");
970 // base url for web-based feedback pages
971 #ifdef MOZ_DEV_EDITION
972   pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/firefoxdev/%VERSION%/");
973 #else
974   pref("app.feedback.baseURL", "https://input.mozilla.org/%LOCALE%/feedback/%APP%/%VERSION%/");
975 #endif
977 // Name of alternate about: page for certificate errors (when undefined, defaults to about:neterror)
978 pref("security.alternate_certificate_error_page", "certerror");
980 pref("security.certerrors.recordEventTelemetry", true);
981 pref("security.certerrors.permanentOverride", true);
982 pref("security.certerrors.mitm.priming.enabled", true);
983 pref("security.certerrors.mitm.priming.endpoint", "https://mitmdetection.services.mozilla.com/");
984 pref("security.certerrors.mitm.auto_enable_enterprise_roots", true);
986 pref("security.aboutcertificate.enabled", true);
988 // Whether to start the private browsing mode at application startup
989 pref("browser.privatebrowsing.autostart", false);
991 // Whether the bookmark panel should be shown when bookmarking a page.
992 pref("browser.bookmarks.editDialog.showForNewBookmarks", true);
994 // Don't try to alter this pref, it'll be reset the next time you use the
995 // bookmarking dialog
996 pref("browser.bookmarks.editDialog.firstEditField", "namePicker");
998 // The number of recently selected folders in the edit bookmarks dialog.
999 pref("browser.bookmarks.editDialog.maxRecentFolders", 7);
1001 pref("dom.ipc.plugins.flash.disable-protected-mode", false);
1003 // Feature-disable the protected-mode auto-flip
1004 pref("browser.flash-protected-mode-flip.enable", false);
1006 // Whether we've already flipped protected mode automatically
1007 pref("browser.flash-protected-mode-flip.done", false);
1009 // Dark in-content pages
1010 pref("browser.in-content.dark-mode", true);
1012 pref("dom.ipc.shims.enabledWarnings", false);
1014 #if defined(XP_WIN) && defined(MOZ_SANDBOX)
1015   // Controls whether and how the Windows NPAPI plugin process is sandboxed.
1016   // To get a different setting for a particular plugin replace "default", with
1017   // the plugin's nice file name, see: nsPluginTag::GetNiceFileName.
1018   // On windows these levels are:
1019   // 0 - no sandbox
1020   // 1 - sandbox with USER_NON_ADMIN access token level
1021   // 2 - a more strict sandbox, which might cause functionality issues. This now
1022   //     includes running at low integrity.
1023   // 3 - the strongest settings we seem to be able to use without breaking
1024   //     everything, but will probably cause some functionality restrictions
1025   pref("dom.ipc.plugins.sandbox-level.default", 0);
1026   #if defined(_AMD64_)
1027     // The base sandbox level in nsPluginTag::InitSandboxLevel must be
1028     // updated to keep in sync with this value.
1029     pref("dom.ipc.plugins.sandbox-level.flash", 3);
1030   #else
1031     pref("dom.ipc.plugins.sandbox-level.flash", 0);
1032   #endif
1034   // This controls the strength of the Windows content process sandbox for
1035   // testing purposes. This will require a restart.
1036   // On windows these levels are:
1037   // See - security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp
1038   // SetSecurityLevelForContentProcess() for what the different settings mean.
1039   pref("security.sandbox.content.level", 5);
1041   // This controls the depth of stack trace that is logged when Windows sandbox
1042   // logging is turned on.  This is only currently available for the content
1043   // process because the only other sandbox (for GMP) has too strict a policy to
1044   // allow stack tracing.  This does not require a restart to take effect.
1045   pref("security.sandbox.windows.log.stackTraceDepth", 0);
1047   // This controls the strength of the Windows GPU process sandbox.  Changes
1048   // will require restart.
1049   // For information on what the level number means, see
1050   // SetSecurityLevelForGPUProcess() in
1051   // security/sandbox/win/src/sandboxbroker/sandboxBroker.cpp
1052   pref("security.sandbox.gpu.level", 0);
1054   // Controls whether we disable win32k for the processes.
1055   // true means that win32k system calls are not permitted.
1056   pref("security.sandbox.rdd.win32k-disable", true);
1057   // Note: win32k is currently _not_ disabled for GMP due to intermittent test
1058   // failures, where the GMP process fails very early. See bug 1449348.
1059   pref("security.sandbox.gmp.win32k-disable", false);
1060 #endif
1062 #if defined(XP_MACOSX) && defined(MOZ_SANDBOX)
1063   // Start the Mac sandbox early during child process startup instead
1064   // of when messaged by the parent after the message loop is running.
1065   pref("security.sandbox.content.mac.earlyinit", true);
1066   // Remove this pref once RDD early init is stable on Release.
1067   pref("security.sandbox.rdd.mac.earlyinit", true);
1068   // Remove this pref once GMP early init is stable on Release.
1069   pref("security.sandbox.gmp.mac.earlyinit", true);
1071   // This pref is discussed in bug 1083344, the naming is inspired from its
1072   // Windows counterpart, but on Mac it's an integer which means:
1073   // 0 -> "no sandbox" (nightly only)
1074   // 1 -> "preliminary content sandboxing enabled: write access to
1075   //       home directory is prevented"
1076   // 2 -> "preliminary content sandboxing enabled with profile protection:
1077   //       write access to home directory is prevented, read and write access
1078   //       to ~/Library and profile directories are prevented (excluding
1079   //       $PROFILE/{extensions,chrome})"
1080   // 3 -> "no global read/write access, read access permitted to
1081   //       $PROFILE/{extensions,chrome}"
1082   // This setting is read when the content process is started. On Mac the
1083   // content process is killed when all windows are closed, so a change will
1084   // take effect when the 1st window is opened.
1085   pref("security.sandbox.content.level", 3);
1087   // Prefs for controlling whether and how the Mac NPAPI Flash plugin process is
1088   // sandboxed. On Mac these levels are:
1089   // 0 - "no sandbox"
1090   // 1 - "global read access, limited write access for Flash functionality"
1091   // 2 - "read access triggered by file dialog activity, limited read/write"
1092   //     "access for Flash functionality"
1093   // 3 - "limited read/write access for Flash functionality"
1094   pref("dom.ipc.plugins.sandbox-level.flash", 1);
1095   // Controls the level used on older OS X versions. Is overriden when the
1096   // "dom.ipc.plugins.sandbox-level.flash" is set to 0.
1097   pref("dom.ipc.plugins.sandbox-level.flash.legacy", 1);
1098   // The max OS minor version where we use the above legacy sandbox level.
1099   pref("dom.ipc.plugins.sandbox-level.flash.max-legacy-os-minor", 10);
1100   // Controls the sandbox level used by plugins other than Flash. On Mac,
1101   // no other plugins are supported and this pref is only used for test
1102   // plugins used in automated tests.
1103   pref("dom.ipc.plugins.sandbox-level.default", 1);
1104 #endif
1106 #if defined(XP_LINUX) && defined(MOZ_SANDBOX)
1107   // This pref is introduced as part of bug 742434, the naming is inspired from
1108   // its Windows/Mac counterpart, but on Linux it's an integer which means:
1109   // 0 -> "no sandbox"
1110   // 1 -> "content sandbox using seccomp-bpf when available" + ipc restrictions
1111   // 2 -> "seccomp-bpf + write file broker"
1112   // 3 -> "seccomp-bpf + read/write file brokering"
1113   // 4 -> all of the above + network/socket restrictions + chroot
1114   //
1115   // The purpose of this setting is to allow Linux users or distros to disable
1116   // the sandbox while we fix their problems, or to allow running Firefox with
1117   // exotic configurations we can't reasonably support out of the box.
1118   //
1119   pref("security.sandbox.content.level", 4);
1120   pref("security.sandbox.content.write_path_whitelist", "");
1121   pref("security.sandbox.content.read_path_whitelist", "");
1122   pref("security.sandbox.content.syscall_whitelist", "");
1123 #endif
1125 #if defined(XP_OPENBSD) && defined(MOZ_SANDBOX)
1126   pref("security.sandbox.content.level", 1);
1127 #endif
1129 #if defined(MOZ_SANDBOX)
1130   // ID (a UUID when set by gecko) that is used to form the name of a
1131   // sandbox-writable temporary directory to be used by content processes
1132   // when a temporary writable file is required in a level 1 sandbox.
1133   pref("security.sandbox.content.tempDirSuffix", "");
1134   pref("security.sandbox.plugin.tempDirSuffix", "");
1136   // This pref determines if messages relevant to sandbox violations are
1137   // logged.
1138   #if defined(XP_WIN) || defined(XP_MACOSX)
1139     pref("security.sandbox.logging.enabled", false);
1140   #endif
1141 #endif
1143 // This pref governs whether we attempt to work around problems caused by
1144 // plugins using OS calls to manipulate the cursor while running out-of-
1145 // process.  These workarounds all involve intercepting (hooking) certain
1146 // OS calls in the plugin process, then arranging to make certain OS calls
1147 // in the browser process.  Eventually plugins will be required to use the
1148 // NPAPI to manipulate the cursor, and these workarounds will be removed.
1149 // See bug 621117.
1150 #ifdef XP_MACOSX
1151   pref("dom.ipc.plugins.nativeCursorSupport", true);
1152 #endif
1154 #ifdef XP_WIN
1155   pref("browser.taskbar.previews.enable", false);
1156   pref("browser.taskbar.previews.max", 20);
1157   pref("browser.taskbar.previews.cachetime", 5);
1158   pref("browser.taskbar.lists.enabled", true);
1159   pref("browser.taskbar.lists.frequent.enabled", true);
1160   pref("browser.taskbar.lists.recent.enabled", false);
1161   pref("browser.taskbar.lists.maxListItemCount", 7);
1162   pref("browser.taskbar.lists.tasks.enabled", true);
1163   pref("browser.taskbar.lists.refreshInSeconds", 120);
1164 #endif
1166 // Preferences to be synced by default
1167 pref("services.sync.prefs.sync.accessibility.blockautorefresh", true);
1168 pref("services.sync.prefs.sync.accessibility.browsewithcaret", true);
1169 pref("services.sync.prefs.sync.accessibility.typeaheadfind", true);
1170 pref("services.sync.prefs.sync.accessibility.typeaheadfind.linksonly", true);
1171 pref("services.sync.prefs.sync.addons.ignoreUserEnabledChanges", true);
1172 pref("services.sync.prefs.sync.app.shield.optoutstudies.enabled", true);
1173 // The addons prefs related to repository verification are intentionally
1174 // not synced for security reasons. If a system is compromised, a user
1175 // could weaken the pref locally, install an add-on from an untrusted
1176 // source, and this would propagate automatically to other,
1177 // uncompromised Sync-connected devices.
1178 pref("services.sync.prefs.sync.browser.contentblocking.category", true);
1179 pref("services.sync.prefs.sync.browser.contentblocking.features.strict", true);
1180 pref("services.sync.prefs.sync.browser.crashReports.unsubmittedCheck.autoSubmit2", true);
1181 pref("services.sync.prefs.sync.browser.ctrlTab.recentlyUsedOrder", true);
1182 pref("services.sync.prefs.sync.browser.discovery.enabled", true);
1183 pref("services.sync.prefs.sync.browser.download.useDownloadDir", true);
1184 pref("services.sync.prefs.sync.browser.formfill.enable", true);
1185 pref("services.sync.prefs.sync.browser.link.open_newwindow", true);
1186 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSearch", true);
1187 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored", true);
1188 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.topsites", true);
1189 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.topSitesRows", true);
1190 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.snippets", true);
1191 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.section.topstories", true);
1192 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.topstories.rows", true);
1193 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.feeds.section.highlights", true);
1194 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeVisited", true);
1195 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeBookmarks", true);
1196 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includeDownloads", true);
1197 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.includePocket", true);
1198 pref("services.sync.prefs.sync.browser.newtabpage.activity-stream.section.highlights.rows", true);
1199 pref("services.sync.prefs.sync.browser.newtabpage.enabled", true);
1200 pref("services.sync.prefs.sync.browser.newtabpage.pinned", true);
1201 pref("services.sync.prefs.sync.browser.offline-apps.notify", true);
1202 pref("services.sync.prefs.sync.browser.search.update", true);
1203 pref("services.sync.prefs.sync.browser.search.widget.inNavBar", true);
1204 pref("services.sync.prefs.sync.browser.startup.homepage", true);
1205 pref("services.sync.prefs.sync.browser.startup.page", true);
1206 pref("services.sync.prefs.sync.browser.tabs.loadInBackground", true);
1207 pref("services.sync.prefs.sync.browser.tabs.warnOnClose", true);
1208 pref("services.sync.prefs.sync.browser.tabs.warnOnOpen", true);
1209 pref("services.sync.prefs.sync.browser.taskbar.previews.enable", true);
1210 pref("services.sync.prefs.sync.browser.urlbar.matchBuckets", true);
1211 pref("services.sync.prefs.sync.browser.urlbar.maxRichResults", true);
1212 pref("services.sync.prefs.sync.browser.urlbar.suggest.bookmark", true);
1213 pref("services.sync.prefs.sync.browser.urlbar.suggest.history", true);
1214 pref("services.sync.prefs.sync.browser.urlbar.suggest.openpage", true);
1215 pref("services.sync.prefs.sync.browser.urlbar.suggest.searches", true);
1216 pref("services.sync.prefs.sync.dom.disable_open_during_load", true);
1217 pref("services.sync.prefs.sync.dom.disable_window_flip", true);
1218 pref("services.sync.prefs.sync.dom.disable_window_move_resize", true);
1219 pref("services.sync.prefs.sync.dom.event.contextmenu.enabled", true);
1220 pref("services.sync.prefs.sync.extensions.update.enabled", true);
1221 pref("services.sync.prefs.sync.extensions.activeThemeID", true);
1222 pref("services.sync.prefs.sync.intl.accept_languages", true);
1223 pref("services.sync.prefs.sync.layout.spellcheckDefault", true);
1224 pref("services.sync.prefs.sync.media.autoplay.default", true);
1225 pref("services.sync.prefs.sync.media.eme.enabled", true);
1226 pref("services.sync.prefs.sync.network.cookie.cookieBehavior", true);
1227 pref("services.sync.prefs.sync.network.cookie.lifetimePolicy", true);
1228 pref("services.sync.prefs.sync.network.cookie.thirdparty.sessionOnly", true);
1229 pref("services.sync.prefs.sync.permissions.default.image", true);
1230 pref("services.sync.prefs.sync.pref.downloads.disable_button.edit_actions", true);
1231 pref("services.sync.prefs.sync.pref.privacy.disable_button.cookie_exceptions", true);
1232 pref("services.sync.prefs.sync.privacy.clearOnShutdown.cache", true);
1233 pref("services.sync.prefs.sync.privacy.clearOnShutdown.cookies", true);
1234 pref("services.sync.prefs.sync.privacy.clearOnShutdown.downloads", true);
1235 pref("services.sync.prefs.sync.privacy.clearOnShutdown.formdata", true);
1236 pref("services.sync.prefs.sync.privacy.clearOnShutdown.history", true);
1237 pref("services.sync.prefs.sync.privacy.clearOnShutdown.offlineApps", true);
1238 pref("services.sync.prefs.sync.privacy.clearOnShutdown.sessions", true);
1239 pref("services.sync.prefs.sync.privacy.clearOnShutdown.siteSettings", true);
1240 pref("services.sync.prefs.sync.privacy.donottrackheader.enabled", true);
1241 pref("services.sync.prefs.sync.privacy.fuzzyfox.enabled", false);
1242 pref("services.sync.prefs.sync.privacy.fuzzyfox.clockgrainus", false);
1243 pref("services.sync.prefs.sync.privacy.sanitize.sanitizeOnShutdown", true);
1244 pref("services.sync.prefs.sync.privacy.trackingprotection.enabled", true);
1245 pref("services.sync.prefs.sync.privacy.trackingprotection.cryptomining.enabled", true);
1246 pref("services.sync.prefs.sync.privacy.trackingprotection.fingerprinting.enabled", true);
1247 pref("services.sync.prefs.sync.privacy.trackingprotection.pbmode.enabled", true);
1248 pref("services.sync.prefs.sync.privacy.resistFingerprinting", true);
1249 pref("services.sync.prefs.sync.privacy.reduceTimerPrecision", true);
1250 pref("services.sync.prefs.sync.privacy.resistFingerprinting.reduceTimerPrecision.microseconds", true);
1251 pref("services.sync.prefs.sync.privacy.resistFingerprinting.reduceTimerPrecision.jitter", true);
1252 pref("services.sync.prefs.sync.security.default_personal_cert", true);
1253 pref("services.sync.prefs.sync.services.sync.syncedTabs.showRemoteIcons", true);
1254 pref("services.sync.prefs.sync.signon.rememberSignons", true);
1255 pref("services.sync.prefs.sync.spellchecker.dictionary", true);
1257 // A preference which, if false, means sync will only apply incoming preference
1258 // changes if there's already a local services.sync.prefs.sync.* control pref.
1259 // If true, all incoming preferences will be applied and the local "control
1260 // pref" updated accordingly.
1261 pref("services.sync.prefs.dangerously_allow_arbitrary", false);
1263 // A preference that controls whether we should show the icon for a remote tab.
1264 // This pref has no UI but exists because some people may be concerned that
1265 // fetching these icons to show remote tabs may leak information about that
1266 // user's tabs and bookmarks. Note this pref is also synced.
1267 pref("services.sync.syncedTabs.showRemoteIcons", true);
1269 // Whether the character encoding menu is under the main Firefox button. This
1270 // preference is a string so that localizers can alter it.
1271 pref("browser.menu.showCharacterEncoding", "chrome://browser/locale/browser.properties");
1273 // Allow using tab-modal prompts when possible.
1274 pref("prompts.tab_modal.enabled", true);
1276 // Activates preloading of the new tab url.
1277 pref("browser.newtab.preload", true);
1279 // Indicates if about:newtab shows content (enabled) or just blank
1280 pref("browser.newtabpage.enabled", true);
1282 // Activity Stream prefs that control to which page to redirect
1283 #ifndef RELEASE_OR_BETA
1284   pref("browser.newtabpage.activity-stream.debug", false);
1285 #endif
1287 pref("browser.library.activity-stream.enabled", true);
1289 // The remote FxA root content URL for the Activity Stream firstrun page.
1290 pref("browser.newtabpage.activity-stream.fxaccounts.endpoint", "https://accounts.firefox.com/");
1292 // The pref that controls if the search shortcuts experiment is on
1293 pref("browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts", true);
1295 // ASRouter provider configuration
1296 pref("browser.newtabpage.activity-stream.asrouter.providers.cfr", "{\"id\":\"cfr\",\"enabled\":true,\"type\":\"remote-settings\",\"bucket\":\"cfr\",\"frequency\":{\"custom\":[{\"period\":\"daily\",\"cap\":1}]},\"categories\":[\"cfrAddons\",\"cfrFeatures\"],\"updateCycleInMs\":3600000}");
1297 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}");
1298 // This url, if changed, MUST continue to point to an https url. Pulling arbitrary content to inject into
1299 // 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
1300 // repackager of this code using an alternate snippet url, please keep your users safe
1301 pref("browser.newtabpage.activity-stream.asrouter.providers.snippets", "{\"id\":\"snippets\",\"enabled\":true,\"type\":\"remote\",\"url\":\"https://snippets.cdn.mozilla.net/%STARTPAGE_VERSION%/%NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/\",\"updateCycleInMs\":14400000}");
1303 // The pref that controls if ASRouter uses the remote fluent files.
1304 // It's enabled by default, but could be disabled to force ASRouter to use the local files.
1305 pref("browser.newtabpage.activity-stream.asrouter.useRemoteL10n", true);
1307 // These prefs control if Discovery Stream is enabled.
1308 pref("browser.newtabpage.activity-stream.discoverystream.enabled", true);
1309 pref("browser.newtabpage.activity-stream.discoverystream.hardcoded-basic-layout", false);
1310 pref("browser.newtabpage.activity-stream.discoverystream.spocs-endpoint", "");
1311 // List of langs that get the 7 row layout.
1312 pref("browser.newtabpage.activity-stream.discoverystream.lang-layout-config", "en");
1314 // The pref controls if search hand-off is enabled for Activity Stream.
1315 #ifdef NIGHTLY_BUILD
1316   pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar", true);
1317 #else
1318   pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar", false);
1319 #endif
1321 pref("trailhead.firstrun.branches", "");
1323 // The pref that controls if the What's New panel is enabled.
1324 pref("browser.messaging-system.whatsNewPanel.enabled", true);
1325 // Whether to use Messaging System to add a badge to the FxA toolbar button
1326 pref("browser.messaging-system.fxatoolbarbadge.enabled", true);
1327 // Used for CFR messages with scores. See Bug 1594422.
1328 pref("browser.messaging-system.personalized-cfr.scores", "{}");
1329 pref("browser.messaging-system.personalized-cfr.score-threshold", 5000);
1331 // Enable the DOM fullscreen API.
1332 pref("full-screen-api.enabled", true);
1334 // Startup Crash Tracking
1335 // number of startup crashes that can occur before starting into safe mode automatically
1336 // (this pref has no effect if more than 6 hours have passed since the last crash)
1337 pref("toolkit.startup.max_resumed_crashes", 3);
1339 // Whether to use RegisterApplicationRestart to restart the browser and resume
1340 // the session on next Windows startup
1341 #if defined(XP_WIN)
1342   pref("toolkit.winRegisterApplicationRestart", true);
1343 #endif
1345 // Completely disable pdf.js as an option to preview pdfs within firefox.
1346 // Note: if this is not disabled it does not necessarily mean pdf.js is the pdf
1347 // handler just that it is an option.
1348 pref("pdfjs.disabled", false);
1349 // Used by pdf.js to know the first time firefox is run with it installed so it
1350 // can become the default pdf viewer.
1351 pref("pdfjs.firstRun", true);
1352 // The values of preferredAction and alwaysAskBeforeHandling before pdf.js
1353 // became the default.
1354 pref("pdfjs.previousHandler.preferredAction", 0);
1355 pref("pdfjs.previousHandler.alwaysAskBeforeHandling", false);
1357 // Is the sidebar positioned ahead of the content browser
1358 pref("sidebar.position_start", true);
1360 pref("security.identitypopup.recordEventTelemetry", true);
1361 pref("security.protectionspopup.recordEventTelemetry", true);
1363 // Block insecure active content on https pages
1364 pref("security.mixed_content.block_active_content", true);
1366 // Show degraded UI for http pages with password fields.
1367 pref("security.insecure_password.ui.enabled", true);
1369 // Show in-content login form warning UI for insecure login fields
1370 pref("security.insecure_field_warning.contextual.enabled", true);
1372 // Show degraded UI for http pages.
1373 pref("security.insecure_connection_icon.enabled", true);
1374 // Show degraded UI for http pages in private mode.
1375 pref("security.insecure_connection_icon.pbmode.enabled", true);
1377 // For secure connections, show gray instead of green lock icon
1378 pref("security.secure_connection_icon_color_gray", true);
1380 // Ignore EV certificate and treat as normal secure connection instead
1381 pref("security.identityblock.show_extended_validation", false);
1383 // Show "Not Secure" text for http pages; disabled for now
1384 pref("security.insecure_connection_text.enabled", false);
1385 pref("security.insecure_connection_text.pbmode.enabled", false);
1387 // 1 = allow MITM for certificate pinning checks.
1388 pref("security.cert_pinning.enforcement_level", 1);
1391 // If this turns true, Moz*Gesture events are not called stopPropagation()
1392 // before content.
1393 pref("dom.debug.propagate_gesture_events_through_content", false);
1395 // All the Geolocation preferences are here.
1397 #ifndef EARLY_BETA_OR_EARLIER
1398   pref("geo.wifi.uri", "https://www.googleapis.com/geolocation/v1/geolocate?key=%GOOGLE_LOCATION_SERVICE_API_KEY%");
1399 #else
1400   // Use MLS on Nightly and early Beta.
1401   pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
1402 #endif
1404 #ifdef XP_MACOSX
1405   pref("geo.provider.use_corelocation", true);
1406 #endif
1408 // Set to false if things are really broken.
1409 #ifdef XP_WIN
1410   pref("geo.provider.ms-windows-location", true);
1411 #endif
1413 #if defined(MOZ_WIDGET_GTK) && defined(MOZ_GPSD)
1414   pref("geo.provider.use_gpsd", true);
1415 #endif
1417 // CustomizableUI debug logging.
1418 pref("browser.uiCustomization.debug", false);
1420 // CustomizableUI state of the browser's user interface
1421 pref("browser.uiCustomization.state", "");
1423 // If set to false, FxAccounts and Sync will be unavailable.
1424 // A restart is mandatory after flipping that preference.
1425 pref("identity.fxaccounts.enabled", true);
1427 // The remote FxA root content URL. Must use HTTPS.
1428 pref("identity.fxaccounts.remote.root", "https://accounts.firefox.com/");
1430 // The value of the context query parameter passed in fxa requests.
1431 pref("identity.fxaccounts.contextParam", "fx_desktop_v3");
1433 // The remote URL of the FxA Profile Server
1434 pref("identity.fxaccounts.remote.profile.uri", "https://profile.accounts.firefox.com/v1");
1436 // The remote URL of the FxA OAuth Server
1437 pref("identity.fxaccounts.remote.oauth.uri", "https://oauth.accounts.firefox.com/v1");
1439 // Whether FxA pairing using QR codes is enabled.
1440 pref("identity.fxaccounts.pairing.enabled", true);
1442 // The remote URI of the FxA pairing server
1443 pref("identity.fxaccounts.remote.pairing.uri", "wss://channelserver.services.mozilla.com");
1445 // Token server used by the FxA Sync identity.
1446 pref("identity.sync.tokenserver.uri", "https://token.services.mozilla.com/1.0/sync/1.5");
1448 // Auto-config URL for FxA self-hosters, makes an HTTP request to
1449 // [identity.fxaccounts.autoconfig.uri]/.well-known/fxa-client-configuration
1450 // This is now the prefered way of pointing to a custom FxA server, instead
1451 // of making changes to "identity.fxaccounts.*.uri".
1452 pref("identity.fxaccounts.autoconfig.uri", "");
1454 // URL for help link about Send Tab.
1455 pref("identity.sendtabpromo.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/send-tab");
1457 // URLs for promo links to mobile browsers. Note that consumers are expected to
1458 // append a value for utm_campaign.
1459 pref("identity.mobilepromo.android", "https://www.mozilla.org/firefox/android/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_campaign=");
1460 pref("identity.mobilepromo.ios", "https://www.mozilla.org/firefox/ios/?utm_source=firefox-browser&utm_medium=firefox-browser&utm_campaign=");
1462 // Migrate any existing Firefox Account data from the default profile to the
1463 // Developer Edition profile.
1464 #ifdef MOZ_DEV_EDITION
1465   pref("identity.fxaccounts.migrateToDevEdition", true);
1466 #else
1467   pref("identity.fxaccounts.migrateToDevEdition", false);
1468 #endif
1470 // If activated, send tab will use the new FxA commands backend.
1471 pref("identity.fxaccounts.commands.enabled", true);
1472 // How often should we try to fetch missed FxA commands on sync (in seconds).
1473 // Default is 24 hours.
1474 pref("identity.fxaccounts.commands.missed.fetch_interval", 86400);
1476 // On GTK, we now default to showing the menubar only when alt is pressed:
1477 #ifdef MOZ_WIDGET_GTK
1478   pref("ui.key.menuAccessKeyFocuses", true);
1479 #endif
1481 // Whether we should run a test-pattern through EME GMPs before assuming they'll
1482 // decode H.264.
1483 pref("media.gmp.trial-create.enabled", true);
1485 // Note: when media.gmp-*.visible is true, provided we're running on a
1486 // supported platform/OS version, the corresponding CDM appears in the
1487 // plugins list, Firefox will download the GMP/CDM if enabled, and our
1488 // UI to re-enable EME prompts the user to re-enable EME if it's disabled
1489 // and script requests EME. If *.visible is false, we won't show the UI
1490 // to enable the CDM if its disabled; it's as if the keysystem is completely
1491 // unsupported.
1493 #ifdef MOZ_WIDEVINE_EME
1494   pref("media.gmp-widevinecdm.visible", true);
1495   pref("media.gmp-widevinecdm.enabled", true);
1496 #endif
1498 pref("media.gmp-gmpopenh264.visible", true);
1499 pref("media.gmp-gmpopenh264.enabled", true);
1501 // Switch block autoplay logic to v2, and enable UI.
1502 pref("media.autoplay.enabled.user-gestures-needed", true);
1503 // Set Firefox to block autoplay, asking for permission by default.
1504 pref("media.autoplay.default", 1); // 0=Allowed, 1=Blocked, 5=All Blocked
1506 #ifdef NIGHTLY_BUILD
1507   // Block WebAudio from playing automatically.
1508   pref("media.autoplay.block-webaudio", true);
1509 #else
1510   pref("media.autoplay.block-webaudio", false);
1511 #endif
1513 pref("media.videocontrols.picture-in-picture.enabled", true);
1514 pref("media.videocontrols.picture-in-picture.video-toggle.enabled", true);
1516 // Show the audio toggle for Picture-in-Picture.
1517 #ifdef NIGHTLY_BUILD
1518   pref("media.videocontrols.picture-in-picture.audio-toggle.enabled", true);
1519 #else
1520   pref("media.videocontrols.picture-in-picture.audio-toggle.enabled", false);
1521 #endif
1523 pref("browser.translation.detectLanguage", false);
1524 pref("browser.translation.neverForLanguages", "");
1525 // Show the translation UI bits, like the info bar, notification icon and preferences.
1526 pref("browser.translation.ui.show", false);
1527 // Allows to define the translation engine. Google is default, Bing or Yandex are other options.
1528 pref("browser.translation.engine", "Google");
1530 // Telemetry settings.
1531 // Determines if Telemetry pings can be archived locally.
1532 pref("toolkit.telemetry.archive.enabled", true);
1533 // Enables sending the shutdown ping when Firefox shuts down.
1534 pref("toolkit.telemetry.shutdownPingSender.enabled", true);
1535 // Enables sending the shutdown ping using the pingsender from the first session.
1536 pref("toolkit.telemetry.shutdownPingSender.enabledFirstSession", false);
1537 // Enables sending a duplicate of the first shutdown ping from the first session.
1538 pref("toolkit.telemetry.firstShutdownPing.enabled", true);
1539 // Enables sending the 'new-profile' ping on new profiles.
1540 pref("toolkit.telemetry.newProfilePing.enabled", true);
1541 // Enables sending 'update' pings on Firefox updates.
1542 pref("toolkit.telemetry.updatePing.enabled", true);
1543 // Enables sending 'bhr' pings when the browser hangs.
1544 pref("toolkit.telemetry.bhrPing.enabled", true);
1545 // Whether to enable Ecosystem Telemetry, requires a restart.
1546 #ifdef NIGHTLY_BUILD
1547   pref("toolkit.telemetry.ecosystemtelemetry.enabled", true);
1548 #else
1549   pref("toolkit.telemetry.ecosystemtelemetry.enabled", false);
1550 #endif
1552 // Ping Centre Telemetry settings.
1553 pref("browser.ping-centre.telemetry", true);
1554 pref("browser.ping-centre.log", false);
1556 // Enable GMP support in the addon manager.
1557 pref("media.gmp-provider.enabled", true);
1559 // Enable blocking access to storage from tracking resources by default.
1560 pref("network.cookie.cookieBehavior", 4 /* BEHAVIOR_REJECT_TRACKER */);
1562 // Enable fingerprinting blocking by default for all channels, only on desktop.
1563 pref("privacy.trackingprotection.fingerprinting.enabled", true);
1565 // Enable cryptomining blocking by default for all channels, only on desktop.
1566 pref("privacy.trackingprotection.cryptomining.enabled", true);
1568 pref("browser.contentblocking.database.enabled", true);
1570 pref("dom.storage_access.enabled", true);
1572 pref("browser.contentblocking.control-center.ui.showBlockedLabels", true);
1573 pref("browser.contentblocking.control-center.ui.showAllowedLabels", false);
1575 pref("browser.contentblocking.cryptomining.preferences.ui.enabled", true);
1576 pref("browser.contentblocking.fingerprinting.preferences.ui.enabled", true);
1578 // Possible values for browser.contentblocking.features.strict pref:
1579 //   Tracking Protection:
1580 //     "tp": tracking protection enabled
1581 //     "-tp": tracking protection disabled
1582 //   Tracking Protection in private windows:
1583 //     "tpPrivate": tracking protection in private windows enabled
1584 //     "-tpPrivate": tracking protection in private windows disabled
1585 //   Fingerprinting:
1586 //     "fp": fingerprinting blocking enabled
1587 //     "-fp": fingerprinting blocking disabled
1588 //   Cryptomining:
1589 //     "cm": cryptomining blocking enabled
1590 //     "-cm": cryptomining blocking disabled
1591 //   Social Tracking Protection:
1592 //     "stp": social tracking protection enabled
1593 //     "-stp": social tracking protection disabled
1594 //   Cookie behavior:
1595 //     "cookieBehavior0": cookie behaviour BEHAVIOR_ACCEPT
1596 //     "cookieBehavior1": cookie behaviour BEHAVIOR_REJECT_FOREIGN
1597 //     "cookieBehavior2": cookie behaviour BEHAVIOR_REJECT
1598 //     "cookieBehavior3": cookie behaviour BEHAVIOR_LIMIT_FOREIGN
1599 //     "cookieBehavior4": cookie behaviour BEHAVIOR_REJECT_TRACKER
1600 //     "cookieBehavior5": cookie behaviour BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN
1601 // One value from each section must be included in the browser.contentblocking.features.strict pref.
1602 pref("browser.contentblocking.features.strict", "tp,tpPrivate,cookieBehavior4,cm,fp,stp");
1604 // Hide the "Change Block List" link for trackers/tracking content in the custom
1605 // Content Blocking/ETP panel. By default, it will not be visible. There is also
1606 // an UI migration in place to set this pref to true if a user has a custom block
1607 // lists enabled.
1608 pref("browser.contentblocking.customBlockList.preferences.ui.enabled", false);
1610 pref("browser.contentblocking.reportBreakage.url", "https://tracking-protection-issues.herokuapp.com/new");
1612 // Enable Protections report's Lockwise card by default.
1613 pref("browser.contentblocking.report.lockwise.enabled", true);
1615 // Enable Protections report's Monitor card by default.
1616 pref("browser.contentblocking.report.monitor.enabled", true);
1618 // Disable Protections report's Proxy card by default.
1619 pref("browser.contentblocking.report.proxy.enabled", false);
1621 pref("browser.contentblocking.report.monitor.url", "https://monitor.firefox.com/?entrypoint=protection_report_monitor&utm_source=about-protections");
1622 pref("browser.contentblocking.report.monitor.sign_in_url", "https://monitor.firefox.com/oauth/init?entrypoint=protection_report_monitor&utm_source=about-protections&email=");
1623 pref("browser.contentblocking.report.lockwise.url", "https://lockwise.firefox.com/?utm_source=firefox-desktop&utm_medium=referral&utm_campaign=about-protections&utm_content=about-protections");
1624 pref("browser.contentblocking.report.manage_devices.url", "https://accounts.firefox.com/settings/clients");
1625 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");
1627 // Protection Report's SUMO urls
1628 pref("browser.contentblocking.report.monitor.how_it_works.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/monitor-faq");
1629 pref("browser.contentblocking.report.lockwise.how_it_works.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/password-manager-report");
1630 pref("browser.contentblocking.report.social.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/social-media-tracking-report");
1631 pref("browser.contentblocking.report.cookie.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/cross-site-tracking-report");
1632 pref("browser.contentblocking.report.tracker.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/tracking-content-report");
1633 pref("browser.contentblocking.report.fingerprinter.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/fingerprinters-report");
1634 pref("browser.contentblocking.report.cryptominer.url", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/cryptominers-report");
1636 pref("browser.contentblocking.cfr-milestone.enabled", true);
1637 pref("browser.contentblocking.cfr-milestone.milestone-achieved", 0);
1638 // Milestones should always be in increasing order
1639 pref("browser.contentblocking.cfr-milestone.milestones", "[1000, 5000, 10000, 25000, 50000, 100000, 500000]");
1641 // Enables the new Protections Panel.
1642 #ifdef NIGHTLY_BUILD
1643   pref("browser.protections_panel.enabled", true);
1644   pref("browser.protections_panel.infoMessage.seen", false);
1645 #endif
1647 // Always enable newtab segregation using containers
1648 pref("privacy.usercontext.about_newtab_segregation.enabled", true);
1649 // Enable Contextual Identity Containers
1650 #ifdef NIGHTLY_BUILD
1651   pref("privacy.userContext.enabled", true);
1652   pref("privacy.userContext.ui.enabled", true);
1654   // 0 disables long press, 1 when clicked, the menu is shown, 2 the menu is
1655   // shown after X milliseconds.
1656   pref("privacy.userContext.longPressBehavior", 2);
1657 #else
1658   pref("privacy.userContext.enabled", false);
1659   pref("privacy.userContext.ui.enabled", false);
1661   // 0 disables long press, 1 when clicked, the menu is shown, 2 the menu is
1662   // shown after X milliseconds.
1663   pref("privacy.userContext.longPressBehavior", 0);
1664 #endif
1665 pref("privacy.userContext.extension", "");
1667 // Start the browser in e10s mode
1668 pref("browser.tabs.remote.autostart", true);
1669 pref("browser.tabs.remote.desktopbehavior", true);
1671 // Run media transport in a separate process?
1672 #ifdef NIGHTLY_BUILD
1673   pref("media.peerconnection.mtransport_process", true);
1674 #else
1675   pref("media.peerconnection.mtransport_process", false);
1676 #endif
1678 // Start a separate socket process. Performing networking on the socket process
1679 // is control by a sepparate pref
1680 // ("network.http.network_access_on_socket_process.enabled").
1681 // Changing these prefs requires a restart.
1682 #ifdef NIGHTLY_BUILD
1683   pref("network.process.enabled", true);
1684 #else
1685   pref("network.process.enabled", false);
1686 #endif
1688 // For speculatively warming up tabs to improve perceived
1689 // performance while using the async tab switcher.
1690 pref("browser.tabs.remote.warmup.enabled", true);
1692 // Caches tab layers to improve perceived performance
1693 // of tab switches.
1694 pref("browser.tabs.remote.tabCacheSize", 0);
1696 pref("browser.tabs.remote.warmup.maxTabs", 3);
1697 pref("browser.tabs.remote.warmup.unloadDelayMs", 2000);
1699 // For the about:tabcrashed page
1700 pref("browser.tabs.crashReporting.sendReport", true);
1701 pref("browser.tabs.crashReporting.includeURL", false);
1702 pref("browser.tabs.crashReporting.requestEmail", false);
1703 pref("browser.tabs.crashReporting.emailMe", false);
1704 pref("browser.tabs.crashReporting.email", "");
1706 pref("extensions.legacy.enabled", false);
1708 // Causes access on unsafe CPOWs from browser code to throw by default.
1709 pref("dom.ipc.cpows.forbid-unsafe-from-browser", true);
1711 #if defined(XP_WIN)
1712   // Allows us to deprioritize the processes of background tabs at an OS level
1713   pref("dom.ipc.processPriorityManager.enabled", true);
1714 #endif
1716 // Don't limit how many nodes we care about on desktop:
1717 pref("reader.parse-node-limit", 0);
1719 // On desktop, we want the URLs to be included here for ease of debugging,
1720 // and because (normally) these errors are not persisted anywhere.
1721 pref("reader.errors.includeURLs", true);
1723 pref("view_source.tab", true);
1725 pref("dom.serviceWorkers.enabled", true);
1727 #ifdef NIGHTLY_BUILD
1728   pref("dom.security.featurePolicy.enabled", true);
1729 #else
1730   pref("dom.security.featurePolicy.enabled", false);
1731 #endif
1733 // Enable Push API.
1734 pref("dom.push.enabled", true);
1736 // These are the thumbnail width/height set in about:newtab.
1737 // If you change this, ENSURE IT IS THE SAME SIZE SET
1738 // by about:newtab. These values are in CSS pixels.
1739 pref("toolkit.pageThumbs.minWidth", 280);
1740 pref("toolkit.pageThumbs.minHeight", 190);
1742 // Enable speech synthesis
1743 pref("media.webspeech.synth.enabled", true);
1745 pref("browser.esedbreader.loglevel", "Error");
1747 pref("browser.laterrun.enabled", false);
1749 pref("dom.ipc.processPrelaunch.enabled", true);
1751 // See comments in bug 1340115 on how we got to these numbers.
1752 pref("browser.migrate.chrome.history.limit", 2000);
1753 pref("browser.migrate.chrome.history.maxAgeInDays", 180);
1755 // Enable browser frames for use on desktop.  Only exposed to chrome callers.
1756 pref("dom.mozBrowserFramesEnabled", true);
1758 pref("extensions.pocket.api", "api.getpocket.com");
1759 pref("extensions.pocket.enabled", true);
1760 pref("extensions.pocket.oAuthConsumerKey", "40249-e88c401e1b1f2242d9e441c4");
1761 pref("extensions.pocket.site", "getpocket.com");
1763 pref("signon.generation.available", true);
1764 pref("signon.generation.enabled", true);
1765 pref("signon.schemeUpgrades", true);
1766 pref("signon.privateBrowsingCapture.enabled", true);
1767 pref("signon.showAutoCompleteFooter", true);
1768 pref("signon.management.page.enabled", true);
1769 pref("signon.management.page.breach-alerts.enabled", true);
1770 pref("signon.management.page.sort", "name");
1771 pref("signon.management.overrideURI", "about:logins?filter=%DOMAIN%");
1772 pref("signon.showAutoCompleteOrigins", true);
1773 pref("signon.includeOtherSubdomainsInLookup", true);
1774 // The utm_creative value is appended within the code (specific to the location on
1775 // where it is clicked). Be sure that if these two prefs are updated, that
1776 // the utm_creative param be last.
1777 pref("signon.management.page.mobileAndroidURL", "https://app.adjust.com/6tteyjo?redirect=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dmozilla.lockbox&utm_campaign=Desktop&utm_adgroup=InProduct&utm_creative=");
1778 pref("signon.management.page.mobileAppleURL", "https://app.adjust.com/6tteyjo?redirect=https%3A%2F%2Fitunes.apple.com%2Fapp%2Fid1314000270%3Fmt%3D8&utm_campaign=Desktop&utm_adgroup=InProduct&utm_creative=");
1779 pref("signon.management.page.breachAlertUrl",
1780      "https://monitor.firefox.com/breach-details/");
1781 pref("signon.management.page.hideMobileFooter", false);
1782 pref("signon.management.page.showPasswordSyncNotification", true);
1784 // Enable the "Simplify Page" feature in Print Preview. This feature
1785 // is disabled by default in toolkit.
1786 pref("print.use_simplify_page", true);
1788 // Space separated list of URLS that are allowed to send objects (instead of
1789 // only strings) through webchannels. This list is duplicated in mobile/android/app/mobile.js
1790 pref("webchannel.allowObject.urlWhitelist", "https://content.cdn.mozilla.net https://support.mozilla.org https://install.mozilla.org");
1792 // Whether or not the browser should scan for unsubmitted
1793 // crash reports, and then show a notification for submitting
1794 // those reports.
1795 #ifdef NIGHTLY_BUILD
1796   pref("browser.crashReports.unsubmittedCheck.enabled", true);
1797 #else
1798   pref("browser.crashReports.unsubmittedCheck.enabled", false);
1799 #endif
1801 // chancesUntilSuppress is how many times we'll show the unsubmitted
1802 // crash report notification across different days and shutdown
1803 // without a user choice before we suppress the notification for
1804 // some number of days.
1805 pref("browser.crashReports.unsubmittedCheck.chancesUntilSuppress", 4);
1806 pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
1808 // Preferences for the form autofill system extension
1809 // The truthy values of "extensions.formautofill.available" are "on" and "detect",
1810 // any other value means autofill isn't available.
1811 // "detect" means it's enabled if conditions defined in the extension are met.
1812 #ifdef NIGHTLY_BUILD
1813   pref("extensions.formautofill.available", "on");
1814 #else
1815   pref("extensions.formautofill.available", "detect");
1816 #endif
1817 pref("extensions.formautofill.creditCards.available", false);
1818 pref("extensions.formautofill.addresses.enabled", true);
1819 pref("extensions.formautofill.creditCards.enabled", true);
1820 // Pref for shield/heartbeat to recognize users who have used Credit Card
1821 // Autofill. The valid values can be:
1822 // 0: none
1823 // 1: submitted a manually-filled credit card form (but didn't see the doorhanger
1824 //    because of a duplicate profile in the storage)
1825 // 2: saw the doorhanger
1826 // 3: submitted an autofill'ed credit card form
1827 pref("extensions.formautofill.creditCards.used", 0);
1828 pref("extensions.formautofill.firstTimeUse", true);
1829 pref("extensions.formautofill.heuristics.enabled", true);
1830 // Whether the user enabled the OS re-auth dialog.
1831 pref("extensions.formautofill.reauth.enabled", false);
1832 pref("extensions.formautofill.section.enabled", true);
1833 pref("extensions.formautofill.loglevel", "Warn");
1835 #ifdef NIGHTLY_BUILD
1836   // Comma separated list of countries Form Autofill is available in.
1837   pref("extensions.formautofill.supportedCountries", "US,CA,DE");
1838   pref("extensions.formautofill.supportRTL", true);
1839 #else
1840   pref("extensions.formautofill.supportedCountries", "US");
1841   pref("extensions.formautofill.supportRTL", false);
1842 #endif
1844 // Whether or not to restore a session with lazy-browser tabs.
1845 pref("browser.sessionstore.restore_tabs_lazily", true);
1847 pref("browser.suppress_first_window_animation", true);
1849 // Preference that allows individual users to disable Screenshots.
1850 pref("extensions.screenshots.disabled", false);
1851 // Preference that allows individual users to leave Screenshots enabled, but
1852 // disable uploading to the server.
1853 pref("extensions.screenshots.upload-disabled", false);
1855 // URL for Learn More link for browser error logging in preferences
1856 pref("browser.chrome.errorReporter.infoURL",
1857      "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/nightly-error-collection");
1859 // Normandy client preferences
1860 pref("app.normandy.api_url", "https://normandy.cdn.mozilla.net/api/v1");
1861 pref("app.normandy.dev_mode", false);
1862 pref("app.normandy.enabled", true);
1863 pref("app.normandy.first_run", true);
1864 pref("app.normandy.logging.level", 50); // Warn
1865 pref("app.normandy.run_interval_seconds", 21600); // 6 hours
1866 pref("app.normandy.shieldLearnMoreUrl", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/shield");
1867 #ifdef MOZ_DATA_REPORTING
1868   pref("app.shield.optoutstudies.enabled", true);
1869 #else
1870   pref("app.shield.optoutstudies.enabled", false);
1871 #endif
1873 // Multi-lingual preferences
1874 #if defined(RELEASE_OR_BETA) && !defined(MOZ_DEV_EDITION)
1875   pref("intl.multilingual.enabled", true);
1876   pref("intl.multilingual.downloadEnabled", true);
1877 #else
1878   pref("intl.multilingual.enabled", false);
1879   // AMO only serves language packs for release and beta versions.
1880   pref("intl.multilingual.downloadEnabled", false);
1881 #endif
1883 // Simulate conditions that will happen when the browser
1884 // is running with Fission enabled. This is meant to assist
1885 // development and testing of Fission.
1886 // The current simulated conditions are:
1887 // - Don't propagate events from subframes to JS child actors
1888 pref("fission.frontend.simulate-events", false);
1889 // - Only deliver subframe messages that specifies
1890 //   their destination (using the BrowsingContext id).
1891 pref("fission.frontend.simulate-messages", false);
1893 // Coverage ping is disabled by default.
1894 pref("toolkit.coverage.enabled", false);
1895 pref("toolkit.coverage.endpoint.base", "https://coverage.mozilla.org");
1897 // Discovery prefs
1898 pref("browser.discovery.enabled", true);
1899 pref("browser.discovery.containers.enabled", true);
1900 pref("browser.discovery.sites", "addons.mozilla.org");
1902 pref("browser.engagement.recent_visited_origins.expiry", 86400); // 24 * 60 * 60 (24 hours in seconds)
1904 pref("browser.aboutConfig.showWarning", true);
1906 pref("browser.toolbars.keyboard_navigation", true);
1908 // Prefs to control the Firefox Account toolbar menu.
1909 // This pref will surface existing Firefox Account information
1910 // as a button next to the hamburger menu. It allows
1911 // quick access to sign-in and manage your Firefox Account.
1912 pref("identity.fxaccounts.toolbar.enabled", true);
1913 pref("identity.fxaccounts.toolbar.accessed", false);
1915 // Prefs for different services supported by Firefox Account
1916 pref("identity.fxaccounts.service.sendLoginUrl", "https://send.firefox.com/login/");
1917 pref("identity.fxaccounts.service.monitorLoginUrl", "https://monitor.firefox.com/");
1919 // Check bundled omni JARs for corruption.
1920 #ifdef RELEASE_OR_BETA
1921   pref("corroborator.enabled", false);
1922 #else
1923   pref("corroborator.enabled", true);
1924 #endif
1926 // Toolbox preferences
1927 pref("devtools.toolbox.footer.height", 250);
1928 pref("devtools.toolbox.sidebar.width", 500);
1929 pref("devtools.toolbox.host", "bottom");
1930 pref("devtools.toolbox.previousHost", "right");
1931 pref("devtools.toolbox.selectedTool", "inspector");
1932 pref("devtools.toolbox.sideEnabled", true);
1933 pref("devtools.toolbox.zoomValue", "1");
1934 pref("devtools.toolbox.splitconsoleEnabled", false);
1935 pref("devtools.toolbox.splitconsoleHeight", 100);
1936 pref("devtools.toolbox.tabsOrder", "");
1938 // The fission pref for enabling the "Omniscient Browser Toolbox", which will
1939 // make it possible to debug anything in Firefox (See Bug 1570639 for more
1940 // information).
1941 // ⚠ This is a work in progress. Expect weirdness when the pref is enabled. ⚠
1942 pref("devtools.browsertoolbox.fission", false);
1944 // The fission pref for enabling Fission frame debugging directly from the
1945 // regular web/content toolbox.
1946 // ⚠ This is a work in progress. Expect weirdness when the pref is enabled. ⚠
1947 pref("devtools.contenttoolbox.fission", false);
1949 // This pref is also related to fission, but not only. It allows the toolbox
1950 // to stay open even if the debugged tab switches to another process.
1951 // It can happen between two documents, one running in the parent process like
1952 // about:sessionrestore and another one running in the content process like
1953 // any web page. Or between two distinct domain when running with fission turned
1954 // on. See bug 1565263.
1955 // ⚠ This is a work in progress. Expect weirdness when the pref is flipped on ⚠
1956 pref("devtools.target-switching.enabled", false);
1958 // Toolbox Button preferences
1959 pref("devtools.command-button-pick.enabled", true);
1960 pref("devtools.command-button-frames.enabled", true);
1961 pref("devtools.command-button-splitconsole.enabled", true);
1962 pref("devtools.command-button-paintflashing.enabled", false);
1963 pref("devtools.command-button-responsive.enabled", true);
1964 pref("devtools.command-button-screenshot.enabled", false);
1965 pref("devtools.command-button-rulers.enabled", false);
1966 pref("devtools.command-button-measure.enabled", false);
1967 pref("devtools.command-button-noautohide.enabled", false);
1968 #ifndef MOZILLA_OFFICIAL
1969   pref("devtools.command-button-fission-prefs.enabled", true);
1970 #endif
1972 // Inspector preferences
1973 // Enable the Inspector
1974 pref("devtools.inspector.enabled", true);
1975 // What was the last active sidebar in the inspector
1976 pref("devtools.inspector.activeSidebar", "layoutview");
1977 pref("devtools.inspector.remote", false);
1979 // Enable the 3 pane mode in the inspector
1980 pref("devtools.inspector.three-pane-enabled", true);
1981 // Enable the 3 pane mode in the chrome inspector
1982 pref("devtools.inspector.chrome.three-pane-enabled", false);
1983 // Collapse pseudo-elements by default in the rule-view
1984 pref("devtools.inspector.show_pseudo_elements", false);
1985 // The default size for image preview tooltips in the rule-view/computed-view/markup-view
1986 pref("devtools.inspector.imagePreviewTooltipSize", 300);
1987 // Enable user agent style inspection in rule-view
1988 pref("devtools.inspector.showUserAgentStyles", false);
1989 // Show all native anonymous content
1990 pref("devtools.inspector.showAllAnonymousContent", false);
1991 // Show user agent shadow roots
1992 pref("devtools.inspector.showUserAgentShadowRoots", false);
1993 // Enable the new Rules View
1994 pref("devtools.inspector.new-rulesview.enabled", false);
1995 // Enable the compatibility tool in the inspector.
1996 pref("devtools.inspector.compatibility.enabled", false);
1997 // Enable the new Box Model Highlighter with renderer in parent process
1998 pref("devtools.inspector.use-new-box-model-highlighter", false);
1999 // Enable color scheme simulation in the inspector.
2000 pref("devtools.inspector.color-scheme-simulation.enabled", false);
2002 // Grid highlighter preferences
2003 pref("devtools.gridinspector.gridOutlineMaxColumns", 50);
2004 pref("devtools.gridinspector.gridOutlineMaxRows", 50);
2005 pref("devtools.gridinspector.showGridAreas", false);
2006 pref("devtools.gridinspector.showGridLineNumbers", false);
2007 pref("devtools.gridinspector.showInfiniteLines", false);
2008 // Max number of grid highlighters that can be displayed
2009 pref("devtools.gridinspector.maxHighlighters", 3);
2011 // Whether or not the box model panel is opened in the layout view
2012 pref("devtools.layout.boxmodel.opened", true);
2013 // Whether or not the flexbox panel is opened in the layout view
2014 pref("devtools.layout.flexbox.opened", true);
2015 // Whether or not the flexbox container panel is opened in the layout view
2016 pref("devtools.layout.flex-container.opened", true);
2017 // Whether or not the flexbox item panel is opened in the layout view
2018 pref("devtools.layout.flex-item.opened", true);
2019 // Whether or not the grid inspector panel is opened in the layout view
2020 pref("devtools.layout.grid.opened", true);
2022 // Enable hovering Box Model values and jumping to their source CSS rule in the
2023 // rule-view.
2024 #if defined(NIGHTLY_BUILD)
2025   pref("devtools.layout.boxmodel.highlightProperty", true);
2026 #else
2027   pref("devtools.layout.boxmodel.highlightProperty", false);
2028 #endif
2030 // By how many times eyedropper will magnify pixels
2031 pref("devtools.eyedropper.zoom", 6);
2033 // Enable to collapse attributes that are too long.
2034 pref("devtools.markup.collapseAttributes", true);
2035 // Length to collapse attributes
2036 pref("devtools.markup.collapseAttributeLength", 120);
2037 // Whether to auto-beautify the HTML on copy.
2038 pref("devtools.markup.beautifyOnCopy", false);
2039 // Whether or not the DOM mutation breakpoints context menu are enabled in the
2040 // markup view.
2041 pref("devtools.markup.mutationBreakpoints.enabled", true);
2043 // DevTools default color unit
2044 pref("devtools.defaultColorUnit", "authored");
2046 // Enable the Memory tools
2047 pref("devtools.memory.enabled", true);
2049 pref("devtools.memory.custom-census-displays", "{}");
2050 pref("devtools.memory.custom-label-displays", "{}");
2051 pref("devtools.memory.custom-tree-map-displays", "{}");
2053 pref("devtools.memory.max-individuals", 1000);
2054 pref("devtools.memory.max-retaining-paths", 10);
2056 // Enable the Performance tools
2057 pref("devtools.performance.enabled", true);
2059 // The default Performance UI settings
2060 pref("devtools.performance.memory.sample-probability", "0.05");
2061 // Can't go higher than this without causing internal allocation overflows while
2062 // serializing the allocations data over the RDP.
2063 pref("devtools.performance.memory.max-log-length", 125000);
2064 pref("devtools.performance.timeline.hidden-markers",
2065   "[\"Composite\",\"CompositeForwardTransaction\"]");
2066 pref("devtools.performance.profiler.buffer-size", 10000000);
2067 pref("devtools.performance.profiler.sample-frequency-hz", 1000);
2068 pref("devtools.performance.ui.invert-call-tree", true);
2069 pref("devtools.performance.ui.invert-flame-graph", false);
2070 pref("devtools.performance.ui.flatten-tree-recursion", true);
2071 pref("devtools.performance.ui.show-platform-data", false);
2072 pref("devtools.performance.ui.show-idle-blocks", true);
2073 pref("devtools.performance.ui.enable-memory", false);
2074 pref("devtools.performance.ui.enable-allocations", false);
2075 pref("devtools.performance.ui.enable-framerate", true);
2076 pref("devtools.performance.ui.show-jit-optimizations", false);
2077 pref("devtools.performance.ui.show-triggers-for-gc-types",
2078   "TOO_MUCH_MALLOC ALLOC_TRIGGER LAST_DITCH EAGER_ALLOC_TRIGGER");
2080 // Temporary pref disabling memory flame views
2081 // TODO remove once we have flame charts via bug 1148663
2082 pref("devtools.performance.ui.enable-memory-flame", false);
2084 // Enable experimental options in the UI only in Nightly
2085 #if defined(NIGHTLY_BUILD)
2086   pref("devtools.performance.ui.experimental", true);
2087 #else
2088   pref("devtools.performance.ui.experimental", false);
2089 #endif
2091 // Preferences for the new performance panel.
2092 // This pref configures the base URL for the profiler.firefox.com instance to
2093 // use. This is useful so that a developer can change it while working on
2094 // profiler.firefox.com, or in tests. This isn't exposed directly to the user.
2095 pref("devtools.performance.recording.ui-base-url", "https://profiler.firefox.com");
2097 // Profiler buffer size. It is the maximum number of 8-bytes entries in the
2098 // profiler's buffer. 10000000 is ~80mb.
2099 pref("devtools.performance.recording.entries", 10000000);
2100 // Profiler interval in microseconds. 1000µs is 1ms
2101 pref("devtools.performance.recording.interval", 1000);
2102 // Profiler duration of entries in the profiler's buffer in seconds.
2103 // `0` means no time limit for the markers, they roll off naturally from the
2104 // circular buffer.
2105 pref("devtools.performance.recording.duration", 0);
2106 // Profiler feature set. See tools/profiler/core/platform.cpp for features and
2107 // explanations.
2108 #if defined(__ANDROID__)
2109   // If it's android, add "java" feature as well. Other features must be same
2110   // with else branch. Please update both of them.
2111   pref("devtools.performance.recording.features", "[\"js\",\"leaf\",\"stackwalk\",\"java\"]");
2112 #else
2113   // Please update the if branch as well if you upadate this.
2114   pref("devtools.performance.recording.features", "[\"js\",\"leaf\",\"stackwalk\"]");
2115 #endif
2116 pref("devtools.performance.recording.threads", "[\"GeckoMain\",\"Compositor\",\"Renderer\"]");
2117 // A JSON array of strings, where each string is a file path to an objdir on
2118 // the host machine. This is used in order to look up symbol information from
2119 // build artifacts of local builds.
2120 pref("devtools.performance.recording.objdirs", "[]");
2122 // The default cache UI setting
2123 pref("devtools.cache.disabled", false);
2125 // The default service workers UI setting
2126 pref("devtools.serviceWorkers.testing.enabled", false);
2128 // Enable the Network Monitor
2129 pref("devtools.netmonitor.enabled", true);
2131 pref("devtools.netmonitor.features.search", true);
2132 pref("devtools.netmonitor.features.requestBlocking", true);
2134 // Enable the Application panel
2135 pref("devtools.application.enabled", false);
2137 // The default Network Monitor UI settings
2138 pref("devtools.netmonitor.panes-network-details-width", 550);
2139 pref("devtools.netmonitor.panes-network-details-height", 450);
2140 pref("devtools.netmonitor.panes-search-width", 550);
2141 pref("devtools.netmonitor.panes-search-height", 450);
2142 pref("devtools.netmonitor.filters", "[\"all\"]");
2143 pref("devtools.netmonitor.visibleColumns",
2144   "[\"status\",\"method\",\"domain\",\"file\",\"cause\",\"type\",\"transferred\",\"contentSize\",\"waterfall\"]"
2146 pref("devtools.netmonitor.columnsData",
2147   '[{"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":"cause","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":25}]');
2148 pref("devtools.netmonitor.ws.payload-preview-height", 128);
2149 pref("devtools.netmonitor.ws.visibleColumns",
2150   '["data", "time"]'
2152 pref("devtools.netmonitor.ws.displayed-frames.limit", 500);
2154 pref("devtools.netmonitor.response.ui.limit", 10240);
2156 // Save request/response bodies yes/no.
2157 pref("devtools.netmonitor.saveRequestAndResponseBodies", true);
2159 // The default Network monitor HAR export setting
2160 pref("devtools.netmonitor.har.defaultLogDir", "");
2161 pref("devtools.netmonitor.har.defaultFileName", "%hostname_Archive [%date]");
2162 pref("devtools.netmonitor.har.jsonp", false);
2163 pref("devtools.netmonitor.har.jsonpCallback", "");
2164 pref("devtools.netmonitor.har.includeResponseBodies", true);
2165 pref("devtools.netmonitor.har.compress", false);
2166 pref("devtools.netmonitor.har.forceExport", false);
2167 pref("devtools.netmonitor.har.pageLoadedTimeout", 1500);
2168 pref("devtools.netmonitor.har.enableAutoExportToFile", false);
2170 pref("devtools.netmonitor.features.webSockets", true);
2172 // Enable the Storage Inspector
2173 pref("devtools.storage.enabled", true);
2175 // Enable the Style Editor.
2176 pref("devtools.styleeditor.enabled", true);
2177 pref("devtools.styleeditor.autocompletion-enabled", true);
2178 pref("devtools.styleeditor.showMediaSidebar", true);
2179 pref("devtools.styleeditor.mediaSidebarWidth", 238);
2180 pref("devtools.styleeditor.navSidebarWidth", 245);
2181 pref("devtools.styleeditor.transitions", true);
2183 // Screenshot Option Settings.
2184 pref("devtools.screenshot.clipboard.enabled", false);
2185 pref("devtools.screenshot.audio.enabled", true);
2187 // Make sure the DOM panel is hidden by default
2188 pref("devtools.dom.enabled", false);
2190 // Enable the Accessibility panel.
2191 pref("devtools.accessibility.enabled", true);
2193 // Web console filters
2194 pref("devtools.webconsole.filter.error", true);
2195 pref("devtools.webconsole.filter.warn", true);
2196 pref("devtools.webconsole.filter.info", true);
2197 pref("devtools.webconsole.filter.log", true);
2198 pref("devtools.webconsole.filter.debug", true);
2199 pref("devtools.webconsole.filter.css", false);
2200 pref("devtools.webconsole.filter.net", false);
2201 pref("devtools.webconsole.filter.netxhr", false);
2203 // Webconsole autocomplete preference
2204 pref("devtools.webconsole.input.autocomplete",true);
2206 // Browser console filters
2207 pref("devtools.browserconsole.filter.error", true);
2208 pref("devtools.browserconsole.filter.warn", true);
2209 pref("devtools.browserconsole.filter.info", true);
2210 pref("devtools.browserconsole.filter.log", true);
2211 pref("devtools.browserconsole.filter.debug", true);
2212 pref("devtools.browserconsole.filter.css", false);
2213 pref("devtools.browserconsole.filter.net", false);
2214 pref("devtools.browserconsole.filter.netxhr", false);
2216 // Max number of inputs to store in web console history.
2217 pref("devtools.webconsole.inputHistoryCount", 300);
2219 // Persistent logging: |true| if you want the relevant tool to keep all of the
2220 // logged messages after reloading the page, |false| if you want the output to
2221 // be cleared each time page navigation happens.
2222 pref("devtools.webconsole.persistlog", false);
2223 pref("devtools.netmonitor.persistlog", false);
2225 // Web Console timestamp: |true| if you want the logs and instructions
2226 // in the Web Console to display a timestamp, or |false| to not display
2227 // any timestamps.
2228 pref("devtools.webconsole.timestampMessages", false);
2230 // Enable the webconsole sidebar toggle in Nightly builds.
2231 #if defined(NIGHTLY_BUILD)
2232   pref("devtools.webconsole.sidebarToggle", true);
2233 #else
2234   pref("devtools.webconsole.sidebarToggle", false);
2235 #endif
2237 // Saved editor mode state in the console.
2238 pref("devtools.webconsole.input.editor", false);
2239 pref("devtools.browserconsole.input.editor", false);
2241 // Editor width for webconsole and browserconsole.
2242 pref("devtools.webconsole.input.editorWidth", 0);
2243 pref("devtools.browserconsole.input.editorWidth", 0);
2245 // Display an onboarding UI for the Editor mode.
2246 pref("devtools.webconsole.input.editorOnboarding", true);
2248 // Disable the new performance recording panel by default
2249 pref("devtools.performance.new-panel-enabled", false);
2251 // Enable message grouping in the console, true by default
2252 pref("devtools.webconsole.groupWarningMessages", true);
2254 // Saved state of the Display content messages checkbox in the browser console.
2255 pref("devtools.browserconsole.contentMessages", false);
2257 // Enable client-side mapping service for source maps
2258 pref("devtools.source-map.client-service.enabled", true);
2260 // The number of lines that are displayed in the web console.
2261 pref("devtools.hud.loglimit", 10000);
2263 // The developer tools editor configuration:
2264 // - tabsize: how many spaces to use when a Tab character is displayed.
2265 // - expandtab: expand Tab characters to spaces.
2266 // - keymap: which keymap to use (can be 'default', 'emacs' or 'vim')
2267 // - autoclosebrackets: whether to permit automatic bracket/quote closing.
2268 // - detectindentation: whether to detect the indentation from the file
2269 // - enableCodeFolding: Whether to enable code folding or not.
2270 pref("devtools.editor.tabsize", 2);
2271 pref("devtools.editor.expandtab", true);
2272 pref("devtools.editor.keymap", "default");
2273 pref("devtools.editor.autoclosebrackets", true);
2274 pref("devtools.editor.detectindentation", true);
2275 pref("devtools.editor.enableCodeFolding", true);
2276 pref("devtools.editor.autocomplete", true);
2278 // The angle of the viewport.
2279 pref("devtools.responsive.viewport.angle", 0);
2280 // The width of the viewport.
2281 pref("devtools.responsive.viewport.width", 320);
2282 // The height of the viewport.
2283 pref("devtools.responsive.viewport.height", 480);
2284 // The pixel ratio of the viewport.
2285 pref("devtools.responsive.viewport.pixelRatio", 0);
2286 // Whether or not the viewports are left aligned.
2287 pref("devtools.responsive.leftAlignViewport.enabled", false);
2288 // Whether to reload when touch simulation is toggled
2289 pref("devtools.responsive.reloadConditions.touchSimulation", false);
2290 // Whether to reload when user agent is changed
2291 pref("devtools.responsive.reloadConditions.userAgent", false);
2292 // Whether to show the notification about reloading to apply emulation
2293 pref("devtools.responsive.reloadNotification.enabled", true);
2294 // Whether or not touch simulation is enabled.
2295 pref("devtools.responsive.touchSimulation.enabled", false);
2296 // Whether or not meta viewport is enabled, if and only if touchSimulation
2297 // is also enabled.
2298 // For now this is only available in nightly, dev-edition and early betas. It is planned
2299 // to be gradually rolled out with release 72. Starting with 73, this pref needs to be set
2300 // to true on all channels.
2301 #if defined(EARLY_BETA_OR_EARLIER) || defined(MOZ_DEV_EDITION)
2302   pref("devtools.responsive.metaViewport.enabled", true);
2303 #else
2304   pref("devtools.responsive.metaViewport.enabled", false);
2305 #endif
2306 // The user agent of the viewport.
2307 pref("devtools.responsive.userAgent", "");
2308 // Whether or not the RDM UI is embedded in the browser.
2309 pref("devtools.responsive.browserUI.enabled", false);
2311 // Show the custom user agent input in Nightly builds.
2312 #if defined(NIGHTLY_BUILD)
2313   pref("devtools.responsive.showUserAgentInput", true);
2314 #else
2315   pref("devtools.responsive.showUserAgentInput", false);
2316 #endif
2318 // Show tab debug targets for This Firefox (on by default for local builds).
2319 #ifdef MOZILLA_OFFICIAL
2320   pref("devtools.aboutdebugging.local-tab-debugging", false);
2321 #else
2322   pref("devtools.aboutdebugging.local-tab-debugging", true);
2323 #endif
2325 // Show process debug targets.
2326 pref("devtools.aboutdebugging.process-debugging", true);
2327 // Stringified array of network locations that users can connect to.
2328 pref("devtools.aboutdebugging.network-locations", "[]");
2329 // Debug target pane collapse/expand settings.
2330 pref("devtools.aboutdebugging.collapsibilities.installedExtension", false);
2331 pref("devtools.aboutdebugging.collapsibilities.otherWorker", false);
2332 pref("devtools.aboutdebugging.collapsibilities.serviceWorker", false);
2333 pref("devtools.aboutdebugging.collapsibilities.sharedWorker", false);
2334 pref("devtools.aboutdebugging.collapsibilities.tab", false);
2335 pref("devtools.aboutdebugging.collapsibilities.temporaryExtension", false);
2337 // about:debugging: only show system and hidden extensions in local builds by
2338 // default.
2339 #ifdef MOZILLA_OFFICIAL
2340   pref("devtools.aboutdebugging.showHiddenAddons", false);
2341 #else
2342   pref("devtools.aboutdebugging.showHiddenAddons", true);
2343 #endif
2345 // Map top-level await expressions in the console
2346 pref("devtools.debugger.features.map-await-expression", true);
2348 // Disable autohide for DevTools popups and tooltips.
2349 // This is currently not exposed by any UI to avoid making
2350 // about:devtools-toolbox tabs unusable by mistake.
2351 pref("devtools.popup.disable_autohide", false);
2353 // Load the DevTools toolbox in a frame with type=content instead of type=chrome
2354 // See Bug 1539979 for more details.
2355 // We keep the option of running devtools in a chrome frame while we fix racy
2356 // tests that started failing when using type=content, but this ultimately
2357 // should be removed.
2358 pref("devtools.toolbox.content-frame", true);
2360 // Visibility switch preference for the WhatsNew panel.
2361 pref("devtools.whatsnew.enabled", true);
2363 // Temporary preference to fully disable the WhatsNew panel on any target.
2364 // Should be removed in https://bugzilla.mozilla.org/show_bug.cgi?id=1596037
2365 pref("devtools.whatsnew.feature-enabled", true);
2367 // FirstStartup service time-out in ms
2368 pref("first-startup.timeout", 30000);