001-base-profile.js (67665B)
1 // Preferences to harden Firefox's security and privacy 2 // Do not edit this file. 3 4 // Use the OS locale by default (tor-browser#17400) 5 pref("intl.locale.requested", ""); 6 7 // Home page is blank rather than Firefox Home (Activity Stream). 8 // tor-browser#31575 and tor-browser#30662 9 pref("browser.startup.homepage", "about:blank"); 10 11 // tor-browser#43164: Prevent search-bar from being auto-hidden when not used for awhile 12 // This preference is locked so that the browser itself can never set an actual 13 // value that would trigger the migration. 14 pref("browser.search.widget.lastUsed", "", locked); 15 16 // Disable initial homepage notifications 17 pref("browser.search.update", false); 18 pref("startup.homepage_welcome_url", ""); 19 pref("startup.homepage_welcome_url.additional", ""); 20 21 // Disable Firefox Welcome Dialog 22 pref("browser.aboutwelcome.enabled", false); 23 24 #if MOZ_UPDATE_CHANNEL == release 25 // tor-browser#42640: Disable Firefox Flame button due to unknown interactions with New Identity 26 pref("browser.privatebrowsing.resetPBM.enabled", false, locked); 27 #endif 28 29 // Bug 41668: allow users to apply updates. This is set also in firefox.js for 30 // all platforms, except for Windows. As explained on firefox.js, Firefox uses a 31 // per-installation preference on Windows. However, we patch this behavior, and 32 // we set this preference also for Windows. 33 pref("app.update.auto", true); 34 35 // Try to nag a bit more about updates: Pop up a restart dialog an hour after the initial dialog 36 pref("app.update.promptWaitTime", 3600); 37 38 #ifndef XP_MACOSX 39 // Disable staged updates on platforms other than macOS. 40 // Staged updates do not work on Windows due to #18292. 41 // Also, on Windows and Linux any changes that are made to the browser profile 42 // or Tor data after an update is staged will be lost. 43 pref("app.update.staging.enabled", false); 44 #endif 45 46 pref("browser.startup.homepage_override.buildID", "20100101"); 47 48 // Disable the "Refresh" prompt that is displayed for stale profiles. 49 pref("browser.disableResetPrompt", true); 50 51 // Disk activity: Disable Browsing History Storage 52 pref("browser.privatebrowsing.autostart", true); 53 pref("browser.cache.disk.enable", false); 54 pref("permissions.memory_only", true); 55 pref("security.nocertdb", true); 56 pref("media.aboutwebrtc.hist.enabled", false); 57 58 // Disk Activity 59 60 // Disable auto-downloading to ~/Downloads and other download tweaks to minimize 61 // disk leaks (tor-browser#42050). 62 pref("browser.download.useDownloadDir", false); 63 pref("browser.download.always_ask_before_handling_new_types", true); 64 pref("browser.download.manager.addToRecentDocs", false); 65 pref("browser.download.start_downloads_in_tmp_dir", true); 66 // tor-browser#42147: Always delete temporary files, also on macOS (this pref is 67 // already true for other platforms). 68 // Also, this always happens in PBM. If not in PBM, requires 69 // browser.download.start_downloads_in_tmp_dir to be true too. 70 pref("browser.helperApps.deleteTempFileOnExit", true); 71 72 // Prevent download stuffing / DOS (tor-browser#41764) 73 pref("browser.download.enable_spam_prevention", true); 74 75 // tor-browser#41131: This is normally gated on 76 // privacy.sanitize.sanitizeOnShutdown, which is false by default. But in case 77 // users enable it, make sure background tasks are not used for this, since we 78 // disable them as well (but at compile time). 79 pref("network.cache.shutdown_purge_in_background_task", false); 80 81 // Misc privacy: Disk 82 pref("signon.rememberSignons", false); 83 pref("browser.formfill.enable", false); 84 pref("signon.formlessCapture.enabled", false); // Added with tor-browser#41496 85 pref("signon.autofillForms", false); 86 // NOTE: extensions.formautofill.available is a legacy preference that upstream 87 // has not removed yet, and is only used for a migration to the newer 88 // "*.supported" preferences. See bugzilla bug 1745248. 89 pref("extensions.formautofill.available", ""); 90 // Suppress formautofill component. tor-browser#44460. 91 // NOTE: With the "formautofill" built-in extension removed from Base Browser 92 // builds, some of these preferences have almost no effect at the time of 93 // implementation, but we include them in case they help with future-proofing. 94 pref("extensions.formautofill.addresses.supported", "off"); 95 pref("extensions.formautofill.addresses.experiments.enabled", false); 96 pref("extensions.formautofill.addresses.enabled", false); 97 pref("extensions.formautofill.creditCards.supported", "off"); 98 pref("extensions.formautofill.creditCards.enabled", false); 99 // Do not store extra data (form, scrollbar positions, cookies, POST data) for 100 // the session restore functionality. 101 pref("browser.sessionstore.privacy_level", 2); 102 // Use the in-memory media cache and increase its maximum size (#29120) 103 pref("browser.privatebrowsing.forceMediaMemoryCache", true); 104 pref("media.memory_cache_max_size", 65536); 105 // tor-browser#41065: lie about the available quota. 106 // This value is in KiB, and will be divided by 5. Currently: 50GiB, to be 107 // coherent with Firefox's usual value. However, this might be too much for live 108 // systems. 109 // This will be the limit also after granting the persistent storage permission, 110 // but we are not interested in it, since we support only PBM. 111 // We can come back to it, and hardcode the two spaced differently, if we ever 112 // think we need it. 113 pref("dom.quotaManager.temporaryStorage.fixedLimit", 52428800); 114 // Disable restore in case of crash (tor-browser#41503) 115 // This should not be needed in PBM, but we added it anyway like other options. 116 pref("browser.sessionstore.resume_from_crash", false); 117 // Disable capturing thumbnails (tor-browser#41595) 118 // Also not needed in PBM at the moment. 119 pref("browser.pagethumbnails.capturing_disabled", true); 120 // tor-browser#41988: Remove page titles from window titles to prevent possible 121 // disk leaks, e.g., in system logs. 122 // For example, it happened that GNOME shell logged the window name that caused 123 // JS errors/unexpected conditions for unrelated issues. 124 // TODO: commented out for now because of UX concerns, to be reconsidered in 14.5 125 // pref("privacy.exposeContentTitleInWindow", false); 126 // pref("privacy.exposeContentTitleInWindow.pbm", false); 127 128 // tor-browser#42054: Opt-out from any built-in backup system, even though 129 // local, as it might be a violation of our standalone mode. 130 // Users can still opt-in if they wish. 131 pref("browser.backup.enabled", false); 132 pref("browser.backup.scheduled.enabled", false); 133 134 // Empty clipboard content from private windows on exit (tor-browser#42154) 135 pref("browser.privatebrowsing.preserveClipboard", false); 136 137 // tor-browser#42611: Do not include the URL of the image, when copying it. 138 // Also, do not save clipboard in history/cloud. 139 pref("clipboard.imageAsFile.enabled", false); 140 pref("clipboard.copyPrivateDataToClipboardCloudOrHistory", false); 141 142 // Enable HTTPS-Only mode (tor-browser#19850) 143 pref("dom.security.https_only_mode", true); 144 // The previous pref automatically sets this to true (see StaticPrefList.yaml), 145 // but set it anyway only as a defense-in-depth. 146 pref("dom.security.https_only_mode_pbm", true); 147 // tor-browser#43197, defense in depth if ever https-only got disabled 148 pref("dom.security.https_first_add_exception_on_failure", false); 149 150 // tor-browser#22320: Hide referer when coming from a .onion address 151 // We enable this here (rather than in Tor Browser) in case users of other 152 // base-browser derived browsers configure it to use a system Tor daemon 153 // to visit onion services. 154 pref("network.http.referer.hideOnionSource", true); 155 156 // Require Safe Negotiation ( https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/27719 ) 157 // Blocks connections to servers that don't support RFC 5746 [2] as they're potentially vulnerable to a 158 // MiTM attack [3]. A server without RFC 5746 can be safe from the attack if it disables renegotiations 159 // but the problem is that the browser can't know that. Setting this pref to true is the only way for the 160 // browser to ensure there will be no unsafe renegotiations on the channel between the browser and the server 161 // [STATS] SSL Labs (July 2021) reports over 99% of top sites have secure renegotiation [4] 162 // [1] https://wiki.mozilla.org/Security:Renegotiation 163 // [2] https://datatracker.ietf.org/doc/html/rfc5746 164 // [3] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555 165 // [4] https://www.ssllabs.com/ssl-pulse/ 166 pref("security.ssl.require_safe_negotiation", true); 167 168 // lock those disabled by https://bugzilla.mozilla.org/show_bug.cgi?id=1036765 169 pref("security.ssl3.dhe_rsa_aes_128_sha", false, locked); 170 pref("security.ssl3.dhe_rsa_aes_256_sha", false, locked); 171 172 // Wrapping a static pref to lock it and prevent changing. 173 // See tor-browser#40565. 174 pref("security.tls.version.enable-deprecated", false, locked); 175 176 // tor-browser#44187: Disable session identifiers to make PBM and normal mode 177 // more similar. 178 pref("security.ssl.disable_session_identifiers", true); 179 180 // Misc privacy: Remote 181 pref("browser.send_pings", false); 182 // Space separated list of URLs that are allowed to send objects (instead of 183 // only strings) through webchannels. The default for Firefox is some Mozilla 184 // domains. 185 pref("webchannel.allowObject.urlWhitelist", ""); 186 pref("geo.enabled", false); 187 pref("geo.provider.network.url", ""); 188 pref("geo.provider.ms-windows-location", false); 189 pref("geo.provider.use_corelocation", false); 190 pref("geo.provider.use_gpsd", false); 191 pref("geo.provider.use_geoclue", false); 192 pref("browser.search.suggest.enabled", false); 193 pref("browser.search.suggest.enabled.private", false); 194 pref("browser.urlbar.suggest.searches", false); 195 pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); 196 pref("browser.urlbar.suggest.quicksuggest.sponsored", false); 197 // tor-browser#41576: Do not suggest weather and addons. 198 pref("browser.urlbar.suggest.addons", false); 199 pref("browser.urlbar.addons.featureGate", false); 200 pref("browser.urlbar.suggest.weather", false); 201 pref("browser.urlbar.weather.featureGate", false); 202 // tor-browser#42886: Disable trending results. 203 pref("browser.urlbar.suggest.trending", false); 204 pref("browser.urlbar.trending.featureGate", false); 205 // tor-browser#42792: Explicitly turn off Pocket suggestions in the URL bar. 206 pref("browser.urlbar.pocket.featureGate", false); 207 // tor-browser#41691: Hide "Firefox Suggest" in the UI 208 pref("browser.urlbar.groupLabels.enabled", false); 209 pref("browser.safebrowsing.malware.enabled", false); 210 pref("browser.safebrowsing.phishing.enabled", false); 211 pref("browser.safebrowsing.downloads.enabled", false); 212 pref("browser.safebrowsing.downloads.remote.enabled", false); 213 pref("browser.safebrowsing.blockedURIs.enabled", false); 214 pref("browser.safebrowsing.downloads.remote.url", ""); 215 pref("browser.safebrowsing.provider.google.updateURL", ""); 216 pref("browser.safebrowsing.provider.google.gethashURL", ""); 217 pref("browser.safebrowsing.provider.google4.updateURL", ""); 218 pref("browser.safebrowsing.provider.google4.gethashURL", ""); 219 pref("browser.safebrowsing.provider.mozilla.updateURL", ""); 220 pref("browser.safebrowsing.provider.mozilla.gethashURL", ""); 221 // tor-browser#42735: Disable recent search suggestions 222 pref("browser.urlbar.recentsearches.featureGate", false); 223 pref("browser.urlbar.suggest.recentsearches", false); 224 225 // tor-browser#44262: Disable adding search engines from HTML forms 226 pref("browser.urlbar.update2.engineAliasRefresh", false); 227 228 // Disable the UITour API 229 // See tor-browser#41457 and 230 // https://bugzilla.mozilla.org/show_bug.cgi?id=1915280 231 pref("browser.uitour.enabled", false); 232 233 // Make sure Unified Telemetry is really disabled, see: #18738. 234 pref("toolkit.telemetry.unified", false); 235 // This needs to be locked, or nightly builds will automatically lock it to true 236 pref("toolkit.telemetry.enabled", false, locked); 237 pref("toolkit.telemetry.server", "data:,"); 238 pref("toolkit.telemetry.archive.enabled", false); 239 pref("toolkit.telemetry.newProfilePing.enabled", false); // Added in tor-browser#41496 240 pref("toolkit.telemetry.shutdownPingSender.enabled", false); // Added in tor-browser#41496 241 pref("toolkit.telemetry.firstShutdownPing.enabled", false); // Added in tor-browser#41496 242 pref("toolkit.telemetry.updatePing.enabled", false); // Make sure updater telemetry is disabled; see #25909. 243 pref("toolkit.telemetry.bhrPing.enabled", false); 244 pref("toolkit.telemetry.coverage.opt-out", true); 245 pref("datareporting.healthreport.uploadEnabled", false); 246 pref("datareporting.policy.dataSubmissionEnabled", false); 247 // Force all telemtry identifier to their canary values tor-browser#43750 248 pref("toolkit.telemetry.cachedClientID", "c0ffeec0-ffee-c0ff-eec0-ffeec0ffeec0", locked); 249 pref("toolkit.telemetry.cachedProfileGroupID", "decafdec-afde-cafd-ecaf-decafdecafde", locked); 250 pref("datareporting.dau.cachedUsageProfileID", "beefbeef-beef-beef-beef-beeefbeefbee", locked); 251 pref("datareporting.dau.cachedUsageProfileGroupID", "b0bacafe-b0ba-cafe-b0ba-cafeb0bacafe", locked); 252 pref("toolkit.coverage.opt-out", true); 253 pref("toolkit.coverage.endpoint.base", ""); 254 pref("browser.tabs.crashReporting.sendReport", false); 255 pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); 256 // Added in tor-browser#41496 even though false by default 257 pref("browser.crashReports.unsubmittedCheck.enabled", false); 258 // tor-browser#44026: Disable the modal that shows upstream terms of usage, 259 // since we opt out of their telemetry and data collection. 260 pref("browser.preonboarding.enabled", false); 261 // Disable checkbox in about:neterror that controls 262 // security.xfocsp.errorReporting.automatic. See tor-browser#42653. 263 pref("security.xfocsp.errorReporting.enabled", false); 264 // Added in tor-browser#41496 even though it shuld be already always disabled 265 // since we disable MOZ_CRASHREPORTER. 266 pref("breakpad.reportURL", "data:"); 267 // tor-browser#43985: Disable captcha detector code that is just used upstream 268 // for identifying captchas with the purpose of sending telemetry about it. 269 pref("captchadetection.actor.enabled", false); 270 #ifdef XP_WIN 271 // Defense-in-depth: ensure that the Windows default browser agent will 272 // not ping Mozilla if it is somehow present (we omit it at build time). 273 pref("default-browser-agent.enabled", false); 274 #endif 275 // Disable sync by default 276 pref("identity.fxaccounts.enabled", false); 277 // Blank the sync URL as a defense in depth (added with tor-browser#41496) 278 pref("identity.sync.tokenserver.uri", ""); 279 // Never sync with other browsers 280 pref("services.sync.engine.addons", false); 281 pref("services.sync.engine.addresses", false); 282 pref("services.sync.engine.bookmarks", false); 283 pref("services.sync.engine.creditcards", false); 284 pref("services.sync.engine.history", false); 285 pref("services.sync.engine.passwords", false); 286 pref("services.sync.engine.prefs", false); 287 pref("services.sync.engine.tabs", false); 288 pref("extensions.getAddons.cache.enabled", false); // https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/ 289 pref("privacy.donottrackheader.enabled", false); // (mullvad-browser#17) 290 // Make sure there is no Tracking Protection active in Tor Browser, see: #17898. 291 pref("privacy.trackingprotection.enabled", false); 292 pref("privacy.trackingprotection.pbmode.enabled", false); 293 pref("privacy.trackingprotection.emailtracking.pbmode.enabled", false); 294 pref("privacy.trackingprotection.annotate_channels", false); 295 pref("privacy.trackingprotection.cryptomining.enabled", false); 296 pref("privacy.trackingprotection.fingerprinting.enabled", false); 297 pref("privacy.trackingprotection.socialtracking.enabled", false); 298 // tor-browser#43986: Explicitly disable bounce tracking protection 299 pref("privacy.bounceTrackingProtection.mode", 0); 300 pref("privacy.socialtracking.block_cookies.enabled", false); 301 pref("privacy.annotate_channels.strict_list.enabled", false); 302 // tor-browser#43178: for defense-in-depth, avoid remote overrides to FPP. 303 // Notice that it should not apply to RFP anyway... 304 pref("privacy.fingerprintingProtection.remoteOverrides.enabled", false); 305 306 // Disable the Pocket extension (Bug #18886 and #31602) 307 pref("extensions.pocket.enabled", false); 308 309 // Disable Privacy-Preserving-Attribution (Bug #42687) 310 pref("dom.private-attribution.submission.enabled", false); 311 312 // Custom extensions preferences tor-browser#41581 313 pref("extensions.hideNoScript", true); 314 pref("extensions.hideUnifiedWhenEmpty", true); 315 316 // Disable activity stream/"Recommended by Pocket" in about:home (Bug #41029) 317 pref("browser.newtabpage.activity-stream.discoverystream.enabled", false); 318 pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); 319 pref("browser.newtabpage.activity-stream.showSponsored", false); 320 pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); 321 pref("browser.newtabpage.activity-stream.default.sites", ""); 322 // Activity Stream telemetry 323 pref("browser.newtabpage.activity-stream.feeds.telemetry", false); 324 pref("browser.newtabpage.activity-stream.telemetry", false); 325 326 // tor-browser#40788: disable AS's calls to home. 327 // Notice that null is between quotes because it is a JSON string. 328 // Keep checked firefox.js to see if new entries are added. 329 pref("browser.newtabpage.activity-stream.asrouter.providers.cfr", "null"); 330 pref("browser.newtabpage.activity-stream.asrouter.providers.message-groups", "null"); 331 pref("browser.newtabpage.activity-stream.asrouter.providers.messaging-experiments", "null"); 332 333 // Disable fetching asrouter.ftl and related console errors (tor-browser#40763). 334 pref("browser.newtabpage.activity-stream.asrouter.useRemoteL10n", false); 335 336 // tor-browser#42054: make sure search result telemetry is disabled. 337 pref("browser.search.serpEventTelemetryCategorization.enabled", false); 338 339 340 341 // ML components that we want to hide from the user. See tor-browser#44045. 342 // Many of these preferences are locked because the component is entirely 343 // removed, so they could not be functionally enabled. 344 345 // tor-browser#42872, #42555, #44045: Disable ML translations. 346 // Maybe re-enable after auditing and fixing the UX (tor-browser#41837). 347 // NOTE: whilst the "translations" component is still included in the build, we 348 // lock the preference because the engine is excluded and the 349 // "translations-models" RemoteSettings needed for the engine is empty. 350 pref("browser.translations.enable", false, locked); 351 // Disables many (but not all) ML engines. Note, this does not have overall 352 // control over exposure to ML features. tor-browser#44045. 353 pref("browser.ml.enable", false, locked); 354 // Disable third party AI chatbot. tor-browser#43989. 355 pref("browser.ml.chat.enabled", false, locked); 356 // Disable LinkPreview. tor-browser#44045 and tor-browser#43867. 357 pref("browser.ml.linkPreview.enabled", false, locked); 358 // Disable Smart Tab Groups. tor-browser#44045. 359 pref("browser.tabs.groups.smart.enabled", false, locked); 360 pref("browser.tabs.groups.smart.userEnabled", false, locked); 361 // Don't expose ModelHub API for extensions. tor-browser#44045. 362 pref("extensions.ml.enabled", false, locked); 363 // Don't enable ML generated alt text. tor-browser#44045. 364 // pdfjs.enableAltText controls whether MLManager is created, 365 // pdfjs.enableGuessAltText controls whether the MLManager can create an ML 366 // engine. pdfs.enableAltText controls whether the latter preference can be 367 // changed by the user in the UI, but also has the side effect of hiding the 368 // UI controls for the non-ML preference pdfjs.enableNewAltTextWhenAddingImage. 369 // See bugzilla bug 1943456 comment 12. 370 pref("pdfjs.enableAltText", false, locked); 371 pref("pdfjs.enableAltTextForEnglish", false, locked); 372 pref("pdfjs.enableGuessAltText", false, locked); 373 pref("pdfjs.enableAltTextModelDownload", false, locked); 374 // Disable SuggestBackendMl. tor-browser#44045. 375 pref("browser.urlbar.quicksuggest.mlEnabled", false, locked); 376 // Disable SemanticHistory search. tor-browser#44045. 377 pref("places.semanticHistory.featureGate", false, locked); 378 379 380 // tor-browser#41945 - disable automatic cookie banners dismissal until 381 // we're sure it does not causes fingerprinting risks or other issues. 382 pref("cookiebanners.service.mode", 0); 383 pref("cookiebanners.service.mode.privateBrowsing", 0); 384 pref("cookiebanners.ui.desktop.enabled", false); 385 386 // Disable moreFromMozilla pane in the preferences/settings (tor-browser#41292). 387 pref("browser.preferences.moreFromMozilla", false); 388 389 // Disable webcompat reporter 390 pref("extensions.webcompat-reporter.enabled", false); 391 392 // Disable Content Analysis SDK (tor-browser#42364) 393 pref("browser.contentanalysis.enabled", false); 394 pref("browser.contentanalysis.default_result", 0); 395 396 // Disable contentRelevancy component (which itself is gated on Nimbus) (tor-browser#42867) 397 pref("toolkit.contentRelevancy.enabled", false); 398 pref("toolkit.contentRelevancy.ingestEnabled", false); 399 pref("toolkit.contentRelevancy.log", false); 400 401 pref("browser.search.region", "US"); // Disable GeoIP search lookups (#16254) 402 // Disable use of WiFi location information 403 pref("browser.region.network.scan", false); 404 pref("browser.region.network.url", ""); 405 pref("browser.region.local-geocoding", false); 406 // Bug 40083: Make sure Region.sys.mjs fetching is disabled 407 pref("browser.region.update.enabled", false); 408 409 // Don't load Mozilla domains in a separate privileged tab process 410 pref("browser.tabs.remote.separatePrivilegedMozillaWebContentProcess", false); 411 pref("browser.tabs.remote.separatedMozillaDomains", ""); 412 413 // Avoid DNS lookups on search terms 414 pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0); 415 416 // Disable about:newtab and "first run" experiments 417 pref("messaging-system.rsexperimentloader.enabled", false); 418 // true means that you are *not* opting out. See its usage in various file. 419 pref("app.shield.optoutstudies.enabled", false); 420 // Disable nimbus rollouts. 421 // See bugzilla bug 2003350. See tor-browser#44520. 422 pref("nimbus.rollouts.enabled", false); 423 // Disable Normandy/Shield 424 pref("app.normandy.enabled", false); 425 pref("app.normandy.api_url", ""); 426 427 // [SETTING] General>Browsing>Recommend extensions as you browse (Bug #40700) 428 pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); // disable CFR [FF67+] 429 430 // [SETTING] General>Browsing>Recommend features as you browse (Bug #40700) 431 pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); // disable CFR [FF67+] 432 433 // Clear the list of trusted recursive resolver services 434 pref("network.trr.default_provider_uri", ""); 435 436 // Disable the /etc/hosts parser 437 // If true, entries from /etc/hosts will be excluded **from TRR results**. 438 // Vice-versa, if it is false, TRR will override any /etc/hosts customization. 439 pref("network.trr.exclude-etc-hosts", false); 440 441 // Disable crlite 442 pref("security.remote_settings.crlite_filters.enabled", false); 443 pref("security.pki.crlite_mode", 0); 444 445 // Disable website password breach alerts 446 pref("signon.management.page.breach-alerts.enabled", false); 447 // tor-browser#42814: Opt out from Firefox relay by default. 448 // Firefox would normally assign disabled when a user has been presented the 449 // opportunity to use the service and opted out (see firefox.js). 450 pref("signon.firefoxRelay.feature", "disabled"); 451 452 // Disable remote "password recipes". They are a way to improve the UX of the 453 // password manager by havinc specific heuristics for some sites. 454 // It needs remote settings and in general we disable the password manager. 455 // More information about this feature at 456 // https://bugzilla.mozilla.org/show_bug.cgi?id=1119454 457 pref("signon.recipes.remoteRecipes.enabled", false); 458 459 // Disable ServiceWorkers by default. They do not work in PBM in any case. 460 // See https://bugzilla.mozilla.org/show_bug.cgi?id=1320796 461 pref("dom.serviceWorkers.enabled", false); 462 // Push notifications use an online Mozilla service and a persistent ID stored 463 // in dom.push.userAgentID, so disable them by default. 464 // See also https://support.mozilla.org/kb/push-notifications-firefox 465 pref("dom.push.enabled", false); 466 // As a defense in depth measure, also set the push server URL to empty. 467 // See tor-browser#18801. 468 pref("dom.push.serverURL", ""); 469 470 // Fingerprinting 471 // tor-browser#41797: For release builds, lock RFP 472 // tor-browser#42125: Set (and lock in release) also exempted domains. 473 #if MOZ_UPDATE_CHANNEL == release 474 pref("privacy.resistFingerprinting", true, locked); 475 pref("privacy.resistFingerprinting.exemptedDomains", "", locked); 476 // tor-browser#42125: Some misleading guides suggest to set this to false, but 477 // the result would be that the canvas is completely white 478 // (see StaticPrefList.yaml), so lock it to true. 479 // Might be removed (MozBug 1670447). 480 pref("privacy.resistFingerprinting.randomDataOnCanvasExtract", true, locked); 481 #else 482 pref("privacy.resistFingerprinting", true); 483 pref("privacy.resistFingerprinting.exemptedDomains", ""); 484 #endif 485 // tor-browser#43904: Enable this so we skip the blank window if user is resisting fingerprinting. 486 pref("privacy.resistFingerprinting.skipEarlyBlankFirstPaint", true); 487 // tor-browser#18603: failIfMajorPerformanceCaveat is an optional attribute that 488 // can be used when creating a WebGL context if the browser detects that the 489 // performance would be low. That could be used to fingerpting users with a not 490 // good graphics card, so disable it (actually, defense in depth, it is already 491 // disabled by default from Firefox). 492 pref("webgl.disable-fail-if-major-performance-caveat", true); 493 // tor-browser#16404: disable until we investigate it further (#22333) 494 pref("webgl.enable-webgl2", false); 495 pref("browser.link.open_newwindow.restriction", 0); // Bug 9881: Open popups in new tabs (to avoid fullscreen popups) 496 // tor-browser#42767: Disable offscreen canvas until verified it is not fingerprintable 497 pref("gfx.offscreencanvas.enabled", false); 498 // Prevent scripts from moving and resizing open windows 499 pref("dom.disable_window_move_resize", true); 500 // Set video VP9 to 0 for everyone (bug 22548) 501 pref("media.benchmark.vp9.threshold", 0); 502 // tor-browser#43950: Disable HEVC, as it will reveal lacking hardware support, 503 // or differences in installed codec for Linux systems. 504 pref("media.hevc.enabled", false); 505 pref("privacy.resistFingerprinting.block_mozAddonManager", true); // Bug 26114 506 pref("dom.webmidi.enabled", false); // Bug 41398: Disable Web MIDI API 507 // tor-browser#42043: Stop reporting device IDs (and spoof their number without 508 // RFP, RFP already reports 1 audioinput and 1 videoinput, but still has 509 // randomized IDs when this pref is true). 510 // Defense-in-depth (already the default value) from Firefox 119 or 120. 511 pref("media.devices.enumerate.legacy.enabled", false); 512 #ifndef ANDROID 513 // Bug 42138: Disable touch-based overscroll UX 514 pref("apz.overscroll.enabled", false); 515 #endif 516 pref("dom.vr.enabled", false); // Bug 21607: Disable WebVR for now 517 pref("security.webauth.webauthn", false); // Bug 26614: Disable Web Authentication API for now 518 // Disable SAB, no matter if the sites are cross-origin isolated. 519 pref("dom.postMessage.sharedArrayBuffer.withCOOP_COEP", false); 520 // Disable intermediate preloading (Bug 30682) 521 pref("security.remote_settings.intermediates.enabled", false); 522 // Bug 2874: Block Components.interfaces from content 523 pref("dom.use_components_shim", false); 524 // Enable letterboxing 525 pref("privacy.resistFingerprinting.letterboxing", true); 526 // tor-browser#41917: Center letterboxed area vertically 527 pref("privacy.resistFingerprinting.letterboxing.vcenter", true); 528 // tor-browser#41917: Letterboxing gradient background 529 pref("privacy.resistFingerprinting.letterboxing.gradient", true); 530 // tor-browser#41918: Should we reuse last window sizes if letterboxing is enabled 531 pref("privacy.resistFingerprinting.letterboxing.rememberSize", false); 532 // tor-browser#41695: How many warnings we show if user closes them without restoring the window size 533 pref("privacy.resistFingerprinting.resizeWarnings", 3); 534 // tor-browser#43402: Avoid a resize from the skeleton to the newwin size. 535 // Should be fixed in ESR-140 with Bug 1448423. 536 pref("browser.startup.blankWindow", false); 537 // Enforce Network Information API as disabled 538 pref("dom.netinfo.enabled", false); 539 pref("network.http.referer.defaultPolicy", 2); // Bug 32948: Make referer behavior consistent regardless of private browing mode status 540 pref("network.http.referer.defaultPolicy.pbmode", 2); 541 pref("network.http.referer.XOriginTrimmingPolicy", 2); // Bug 17228: Force trim referer to scheme+host+port in cross-origin requests 542 // Bug 40463: Disable Windows SSO 543 pref("network.http.windows-sso.enabled", false, locked); 544 // Bug 43165: Disable Microsoft SSO on macOS 545 pref("network.http.microsoft-entra-sso.enabled", false); 546 pref("network.microsoft-sso-authority-list", ""); 547 // tor-browser#40424 548 pref("pdfjs.enableScripting", false); 549 #if MOZ_UPDATE_CHANNEL == release 550 // tor-browser#42255: pdfjs.disabled used to be part of RFP until Bug 1838415; lock pref to false in stable 551 pref("pdfjs.disabled", false, locked); 552 #endif 553 // tor-browser#43850. Keep forced colors off by default for all platforms. 554 // Upstream sets a value of "0" for Windows. 555 pref("browser.display.document_color_use", 1); 556 // Bug 40057: Ensure system colors are not used for CSS4 colors. 557 // FIXME: This preference seems to be unread since bugzilla bug 1898096, but 558 // still exists in the static preference list. Remove when upstream removes 559 // this or confirms it will not be used again in the future. 560 pref("browser.display.use_system_colors", false); 561 // tor-browser#43366: do not use system accent color in inputs. 562 // See also https://bugzilla.mozilla.org/show_bug.cgi?id=1861362. 563 pref("widget.non-native-theme.use-theme-accent", false); 564 // tor-browser#43236: Disable vsync on Wayland to prevent refresh rate leaks. 565 pref("widget.wayland.vsync.enabled", false); 566 // tor-browser#44571: Disable HTML rating attribute for filtering web content. 567 // This could potentially be used as a fingerprinting vector based on if content 568 // marked with a specific rating is loaded or not. 569 pref("security.restrict_to_adults.always", false); 570 pref("security.restrict_to_adults.respect_platform", false); 571 572 // tor-browser#41943: defense-in-depth, but do not lock anymore (enabled in Firefox 119, http://bugzil.la/1851162) 573 pref("javascript.options.spectre.disable_for_isolated_content", false); 574 575 // Third party stuff 576 pref("privacy.firstparty.isolate", true); // Always enforce first party isolation 577 // tor-browser#40123 and #40308: Disable for now until audit 578 pref("privacy.partition.network_state", false); 579 // Only accept cookies from the originating site (block third party cookies) 580 pref("network.cookie.cookieBehavior", 1); 581 pref("network.cookie.cookieBehavior.pbmode", 1); 582 pref("network.predictor.enabled", false); // Temporarily disabled. See https://bugs.torproject.org/16633 583 pref("network.predictor.enable-prefetch", false); 584 pref("network.http.speculative-parallel-limit", 0); 585 pref("browser.places.speculativeConnect.enabled", false); 586 pref("network.prefetch-next", false); 587 pref("browser.urlbar.speculativeConnect.enabled", false); 588 // Bug 40220: Make sure tracker cookie purging is disabled. 589 // It depends on Firefox's tracking protection, which we currently do not enable 590 // See also tor-browser#30939. 591 pref("privacy.purge_trackers.enabled", false); 592 // Do not allow cross-origin sub-resources to open HTTP authentication 593 // credentials dialogs. Hardens against potential credentials phishing. 594 pref("network.auth.subresource-http-auth-allow", 1); 595 596 // tor-browser#42684: Disable network prefetch 597 pref("network.dns.disablePrefetch", true); 598 pref("network.dns.disablePrefetchFromHTTPS", true); 599 pref("dom.prefetch_dns_for_anchor_http_document", false); 600 pref("dom.prefetch_dns_for_anchor_https_document", false); 601 602 pref("network.protocol-handler.external-default", false); 603 pref("network.protocol-handler.external.mailto", false); 604 pref("network.protocol-handler.external.news", false); 605 pref("network.protocol-handler.external.nntp", false); 606 pref("network.protocol-handler.external.snews", false); 607 pref("network.protocol-handler.warn-external.mailto", true); 608 pref("network.protocol-handler.warn-external.news", true); 609 pref("network.protocol-handler.warn-external.nntp", true); 610 pref("network.protocol-handler.warn-external.snews", true); 611 #ifdef XP_WIN 612 pref("network.protocol-handler.external.ms-windows-store", false); 613 pref("network.protocol-handler.warn-external.ms-windows-store", true); 614 #endif 615 pref("network.proxy.allow_bypass", false, locked); // #40682 616 // Bug 40548: Disable proxy-bypass 617 pref("network.proxy.failover_direct", false, locked); 618 // Lock to 'true', which is already the firefox default, to prevent users 619 // from making themselves fingerprintable by disabling. This pref 620 // alters content load order in a page. See tor-browser#24686 621 pref("network.http.tailing.enabled", true, locked); 622 623 // Block 0.0.0.0 624 // https://bugzilla.mozilla.org/show_bug.cgi?id=1889130 625 // tor-browser#43811 626 pref("network.socket.ip_addr_any.disabled", true); 627 628 // tor-browser#23044: Make sure we don't have any GIO supported protocols 629 // (defense in depth measure). 630 // As of Firefox 118 (Bug 1843763), upstream does not add any protocol by 631 // default, but setting it to blank seems a good idea (tor-browser#42054). 632 pref("network.gio.supported-protocols", ""); 633 pref("media.peerconnection.enabled", false); // Disable WebRTC interfaces 634 // Mullvad Browser enables WebRTC by default, meaning that there the following prefs 635 // are first-line defense, rather than "in depth" (mullvad-browser#40) 636 // tor-browser#41667 - Defense in depth: use mDNS to avoid local IP leaks on Android too if user enables WebRTC 637 pref("media.peerconnection.ice.obfuscate_host_addresses", true); 638 // tor-browser#41671 - Defense in depth: connect using TURN only, to avoid IP leaks if user enables WebRTC 639 pref("media.peerconnection.ice.relay_only", true); 640 // tor-browser#42029 - Defense-in-depth: disable non-proxied UDP WebRTC 641 pref("media.peerconnection.ice.default_address_only", true); 642 pref("media.peerconnection.ice.no_host", true); 643 pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true); 644 645 // Disables media devices but only if `media.peerconnection.enabled` is set to 646 // `false` as well. (see bug 16328 for this defense-in-depth measure) 647 pref("media.navigator.enabled", false); 648 // GMPs (Gecko Media Plugins, https://wiki.mozilla.org/GeckoMediaPlugins) 649 // We make sure they don't show up on the Add-on panel and confuse users. 650 // And the external update/donwload server must not get pinged. We apply a 651 // clever solution for https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=769716. 652 // See tor-browser#15910. 653 pref("media.gmp-provider.enabled", false); 654 pref("media.gmp-manager.url.override", "data:text/plain,"); 655 // Since ESR52 it is not enough anymore to block pinging the GMP update/download 656 // server. There is a local fallback that must be blocked now as well. See: 657 // https://bugzilla.mozilla.org/show_bug.cgi?id=1267495. 658 pref("media.gmp-manager.updateEnabled", false); 659 // Mozilla is relying on preferences to make sure no DRM blob is downloaded and 660 // run. Even though those prefs should be set correctly by specifying 661 // --disable-eme (which we do), we disable all of them here as well for defense 662 // in depth (see bug 16285 for more details). 663 pref("browser.eme.ui.enabled", false); 664 pref("media.gmp-widevinecdm.visible", false); 665 pref("media.gmp-widevinecdm.enabled", false); 666 pref("media.eme.enabled", false); 667 pref("media.mediadrm-widevinecdm.visible", false); 668 // The in-browser debugger for debugging chrome code is not coping with our 669 // restrictive DNS look-up policy. We use "127.0.0.1" instead of "localhost" as 670 // a workaround. See bug 16523 for more details. 671 pref("devtools.debugger.chrome-debugging-host", "127.0.0.1"); 672 // Disable using UNC paths (bug 26424 and Mozilla's bug 1413868) 673 pref("network.file.disable_unc_paths", true); 674 // Enhance our treatment of file:// to avoid proxy bypasses (see Mozilla's bug 675 // 1412081 and CVE-2017-16541) 676 pref("network.file.path_blacklist", "/net"); 677 678 // Security slider 679 pref("svg.disabled", false); 680 pref("mathml.disabled", false); 681 682 // Bug 40408 683 pref("svg.context-properties.content.allowed-domains", ""); 684 685 // Network and performance 686 pref("security.ssl.enable_false_start", true); 687 // tor-browser#18945 688 pref("network.manage-offline-status", false); 689 // No need to leak things to Mozilla, see bug 21790 and tor-browser#40322 690 pref("network.captive-portal-service.enabled", false); 691 pref("network.connectivity-service.enabled", false); 692 pref("captivedetect.canonicalURL", ""); 693 694 #ifdef XP_WIN 695 // tor-browser#41683: Disable the network process on Windows 696 // Mozilla already disables the network process for HTTP. 697 // With this preference, we completely disable it, because we found that it 698 // breaks stuff with mingw. See also tor-browser#41489. 699 pref("network.process.enabled", false); 700 #endif 701 702 // Extension support 703 pref("extensions.autoDisableScopes", 0); 704 // Only load extensions from the application and user profile. 705 // Do not load from the user directory (AddonManager.SCOPE_USER=2, which is 706 // shared between profiles, e.g., %appdata%\Mozilla\Extensions\ on Windows, or 707 // ~/.mozilla/extensions on Linux for Firefox), and do not load from system 708 // directories/the Windows registry (AddonManager.SCOPE_SYSTEM=8). 709 // More information: https://archive.ph/DYjAM 710 pref("extensions.enabledScopes", 5); // AddonManager.SCOPE_PROFILE=1 | AddonManager.SCOPE_APPLICATION=4 711 // We don't know what extensions Mozilla is advertising to our users and we 712 // don't want to have some random Google Analytics script running either on the 713 // about:addons page, see bug 22073, 22900 and 31601. 714 pref("extensions.getAddons.showPane", false); 715 pref("extensions.htmlaboutaddons.recommendations.enabled", false); 716 // Disable personalized Extension Recommendations in about:addons and 717 // addons.mozilla.org 718 pref("browser.discovery.enabled", false); 719 // tor-browser#26114: Allow NoScript to work on addons.mozilla.org and other Mozilla sites. 720 // Revisited and confirmed in tor-browser#41445. 721 pref("extensions.webextensions.restrictedDomains", ""); 722 // Don't give Mozilla-recommended third-party extensions special privileges. 723 pref("extensions.postDownloadThirdPartyPrompt", false); 724 // tor-browser#41701: Reporting an extension does not work. The request goes to 725 // Mozilla and is always rejected anyway (HTTP 400). 726 pref("extensions.abuseReport.enabled", false); 727 // We are already providing the languages we support in multi-lingual packages. 728 // Therefore, do not allow download of additional language packs. They are not a 729 // privacy/security threat, we are disabling them for UX reasons. See bug 41377. 730 pref("intl.multilingual.downloadEnabled", false); 731 732 // Enforce certificate pinning, see: https://bugs.torproject.org/16206 733 pref("security.cert_pinning.enforcement_level", 2); 734 735 // Don't load OS client certs. 736 pref("security.osclientcerts.autoload", false); 737 738 // Don't allow MitM via enterprise roots, see bug 30681 739 pref("security.enterprise_roots.enabled", false); 740 741 // Don't ping Mozilla for MitM detection, see bug 32321 742 pref("security.certerrors.mitm.priming.enabled", false); 743 744 // Don't automatically enable enterprise roots, see bug 40166 745 pref("security.certerrors.mitm.auto_enable_enterprise_roots", false); 746 747 // Disable share menus on Mac and Windows tor-browser#41117 748 pref("browser.menu.share_url.allow", false, locked); 749 750 // Disable special URL bar behaviors 751 pref("browser.urlbar.suggest.topsites", false); 752 pref("browser.urlbar.quicksuggest.enabled", false); 753 pref("browser.urlbar.quicksuggest.online.available", false); 754 pref("browser.urlbar.quicksuggest.online.enabled", false); 755 pref("browser.urlbar.richSuggestions.featureGate", false); 756 pref("browser.urlbar.yelp.featureGate", false); 757 pref("browser.urlbar.mdn.featureGate", false); 758 759 // tor-browser#41884: Do not start a search when clicking on the new tab button 760 // with the middle mouse button (to prevent searching for anything you might 761 // have selected or already in your clipboard). 762 pref("browser.tabs.searchclipboardfor.middleclick", false); 763 764 // tor-browser#41417: do not allow live reload until we switch to Fluent and 765 // stop using .textContent. 766 // Even after that, it might be a good idea to keep it off, as it is not handled 767 // very well, and it might give a window during which websites could fingerprint 768 // the change (see tor-browser#42349 and tor-browser#42771). 769 pref("intl.multilingual.liveReload", false); 770 771 // Enable URL query stripping to protect against cross-site tracking (tor-browser#41092) 772 pref("privacy.query_stripping.enabled", true); 773 pref("privacy.query_stripping.enabled.pbmode", true); 774 pref("privacy.query_stripping.strip_on_share.enabled", true); 775 776 // Ensure global privacy control headers are consistent in private browsing and 777 // non-private browsing (tor-browser#42777). 778 pref("privacy.globalprivacycontrol.enabled", true); 779 pref("privacy.globalprivacycontrol.pbmode.enabled", true); 780 781 // Disable platform text recognition functionality (tor-browser#42057) 782 pref("dom.text-recognition.enabled", false); 783 784 // Log levels 785 pref("browser.new_identity.log_level", "Info"); 786 787 #ifdef XP_WIN 788 pref("browser.taskbar.lists.enabled", false); 789 pref("browser.taskbar.lists.frequent.enabled", false); 790 pref("browser.taskbar.lists.tasks.enabled", false); 791 pref("browser.taskbar.lists.recent.enabled", false); 792 793 // tor-browser#41806: Prevent the browser from adding a new Private Browsing 794 // start menu item automatically 795 pref("browser.privacySegmentation.createdShortcut", true); 796 797 // Do not re-open the browser automatically after reboots when "Restart apps" is 798 // enabled (tor-browser#41503) 799 pref("toolkit.winRegisterApplicationRestart", false); 800 // tor-browser#43051: Hide the checkbox to open the browser automatically on 801 // Windows startup. 802 pref("browser.startup.windowsLaunchOnLogin.enabled", false); 803 #endif 804 805 #ifdef ANDROID 806 // tor-browser#43023 Force use of only standard emoji font 807 // (not actually stopping samsung emoji font detection, but defense in depth and a step towards normalization) 808 pref("font.name-list.emoji", "Noto Color Emoji"); 809 #endif 810 811 // If we are bundling fonts, whitelist those bundled fonts, and restrict system fonts to a selection. 812 813 #ifdef MOZ_BUNDLED_FONTS 814 815 // Bug 40342: Always use bundled fonts 816 pref("gfx.bundled-fonts.activate", 1); 817 818 #ifdef XP_MACOSX 819 pref("font.system.whitelist", "AppleGothic, Apple Color Emoji, Arial, Arial Black, Arial Narrow, Courier, Courier New, Geneva, Georgia, Heiti TC, Helvetica, Helvetica Neue, Hiragino Kaku Gothic ProN, Kailasa, Lucida Grande, Menlo, Monaco, PingFang HK, PingFang SC, PingFang TC, Songti SC, Songti TC, Tahoma, Thonburi, Times, Times New Roman, Verdana, STIX Two Math, Noto Sans Adlam, Noto Sans Armenian, Noto Sans Balinese, Noto Sans Bamum, Noto Sans Bassa Vah, Noto Sans Batak, Noto Sans Bengali, Noto Sans Buginese, Noto Sans Buhid, Noto Sans Canadian Aboriginal, Noto Sans Chakma, Noto Sans Cham, Noto Sans Cherokee, Noto Sans Coptic, Noto Sans Deseret, Noto Sans Devanagari, Noto Sans Elbasan, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Grantha, Noto Sans Gujarati, Noto Sans Gunjala Gondi, Noto Sans Gurmukhi, Noto Sans Hanifi Rohingya, Noto Sans Hanunoo, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Javanese, Noto Sans Kayah Li, Noto Sans Khojki, Noto Sans Khudawadi, Noto Sans Lao, Noto Sans Lepcha, Noto Sans Limbu, Noto Sans Lisu, Noto Sans Mahajani, Noto Sans Malayalam, Noto Sans Mandaic, Noto Sans Masaram Gondi, Noto Sans Medefaidrin, Noto Sans Meetei Mayek, Noto Sans Mende Kikakui, Noto Sans Miao, Noto Sans Modi, Noto Sans Mongolian, Noto Sans Mro, Noto Sans Multani, Noto Sans Newa, Noto Sans New Tai Lue, Noto Sans NKo, Noto Sans Ol Chiki, Noto Sans Oriya, Noto Sans Osage, Noto Sans Osmanya, Noto Sans Pahawh Hmong, Noto Sans Pau Cin Hau, Noto Sans Rejang, Noto Sans Runic, Noto Sans Samaritan, Noto Sans Saurashtra, Noto Sans Sharada, Noto Sans Shavian, Noto Sans Sinhala, Noto Sans Sora Sompeng, Noto Sans Soyombo, Noto Sans Sundanese, Noto Sans Syloti Nagri, Noto Sans Symbols 2, Noto Sans Symbols, Noto Sans Syriac, Noto Sans Tagalog, Noto Sans Tagbanwa, Noto Sans Tai Le, Noto Sans Tai Tham, Noto Sans Tai Viet, Noto Sans Takri, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tifinagh Adrar, Noto Sans Tifinagh Agraw Imazighen, Noto Sans Tifinagh Ahaggar, Noto Sans Tifinagh Air, Noto Sans Tifinagh APT, Noto Sans Tifinagh Azawagh, Noto Sans Tifinagh Ghat, Noto Sans Tifinagh Hawad, Noto Sans Tifinagh, Noto Sans Tifinagh Rhissa Ixa, Noto Sans Tifinagh SIL, Noto Sans Tifinagh Tawellemmet, Noto Sans Tirhuta, Noto Sans Vai, Noto Sans Wancho, Noto Sans Warang Citi, Noto Sans Yi, Noto Sans Zanabazar Square, Noto Serif Armenian, Noto Serif Balinese, Noto Serif Bengali, Noto Serif Devanagari, Noto Serif Dogra, Noto Serif Ethiopic, Noto Serif Georgian, Noto Serif Grantha, Noto Serif Gujarati, Noto Serif Gurmukhi, Noto Serif Hebrew, Noto Serif Kannada, Noto Serif Khmer, Noto Serif Khojki, Noto Serif Lao, Noto Serif Malayalam, Noto Serif Myanmar, Noto Serif NP Hmong, Noto Serif Sinhala, Noto Serif Tamil, Noto Serif Telugu, Noto Serif Tibetan, Noto Serif Yezidi, Pyidaungsu"); 820 821 // Armenian 822 pref("font.name-list.serif.x-armn", "Noto Serif Armenian, Times, Times New Roman"); 823 pref("font.name-list.sans-serif.x-armn", "Noto Sans Armenian, Helvetica, Arial"); 824 pref("font.name-list.monospace.x-armn", "Noto Sans Armenian, Menlo, Courier New"); 825 // Bengali 826 pref("font.name-list.serif.x-beng", "Noto Serif Bengali, Times, Times New Roman"); 827 pref("font.name-list.sans-serif.x-beng", "Noto Sans Bengali, Helvetica, Arial"); 828 pref("font.name-list.monospace.x-beng", "Noto Sans Bengali, Menlo, Courier New"); 829 // Canadian Aboriginal 830 pref("font.name-list.serif.x-cans", "Noto Serif Canadian Aboriginal, Times, Times New Roman"); 831 pref("font.name-list.sans-serif.x-cans", "Noto Sans Canadian Aboriginal, Helvetica, Arial"); 832 pref("font.name-list.monospace.x-cans", "Noto Sans Canadian Aboriginal, Menlo, Courier New"); 833 // ChineseCN 834 pref("font.name-list.serif.zh-CN", "Songti SC, Times, Times New Roman"); 835 pref("font.name-list.sans-serif.zh-CN", "PingFang SC, Helvetica, Arial"); 836 pref("font.name-list.monospace.zh-CN", "PingFang SC, Menlo, Courier New"); 837 // ChineseHK 838 pref("font.name-list.serif.zh-HK", "Songti TC, Times, Times New Roman"); 839 pref("font.name-list.sans-serif.zh-HK", "PingFang HK, Helvetica, Arial"); 840 pref("font.name-list.monospace.zh-HK", "PingFang HK, Menlo, Courier New"); 841 // ChineseTW 842 pref("font.name-list.serif.zh-TW", "Songti TC, Times, Times New Roman"); 843 pref("font.name-list.sans-serif.zh-TW", "PingFang TC, Helvetica, Arial"); 844 pref("font.name-list.monospace.zh-TW", "PingFang TC, Menlo, Courier New"); 845 // Devanagari 846 pref("font.name-list.serif.x-devanagari", "Noto Serif Devanagari, Times, Times New Roman"); 847 pref("font.name-list.sans-serif.x-devanagari", "Noto Sans Devanagari, Helvetica, Arial"); 848 pref("font.name-list.monospace.x-devanagari", "Noto Sans Devanagari, Menlo, Courier New"); 849 // Ethiopic 850 pref("font.name-list.serif.x-ethi", "Noto Serif Ethiopic, Times, Times New Roman"); 851 pref("font.name-list.sans-serif.x-ethi", "Noto Sans Ethiopic, Helvetica, Arial"); 852 pref("font.name-list.monospace.x-ethi", "Noto Sans Ethiopic, Menlo, Courier New"); 853 // Georgian 854 pref("font.name-list.serif.x-geor", "Noto Serif Georgian, Times, Times New Roman"); 855 pref("font.name-list.sans-serif.x-geor", "Noto Sans Georgian, Helvetica, Arial"); 856 pref("font.name-list.monospace.x-geor", "Noto Sans Georgian, Menlo, Courier New"); 857 // Gujarati 858 pref("font.name-list.serif.x-gujr", "Noto Serif Gujarati, Times, Times New Roman"); 859 pref("font.name-list.sans-serif.x-gujr", "Noto Sans Gujarati, Helvetica, Arial"); 860 pref("font.name-list.monospace.x-gujr", "Noto Sans Gujarati, Menlo, Courier New"); 861 // Gurmukhi 862 pref("font.name-list.serif.x-guru", "Noto Serif Gurmukhi, Times, Times New Roman"); 863 pref("font.name-list.sans-serif.x-guru", "Noto Sans Gurmukhi, Helvetica, Arial"); 864 pref("font.name-list.monospace.x-guru", "Noto Sans Gurmukhi, Menlo, Courier New"); 865 // Hebrew 866 pref("font.name-list.serif.he", "Noto Serif Hebrew, Times, Times New Roman"); 867 pref("font.name-list.sans-serif.he", "Noto Sans Hebrew, Helvetica, Arial"); 868 pref("font.name-list.monospace.he", "Noto Sans Hebrew, Menlo, Courier New"); 869 // Kannada 870 pref("font.name-list.serif.x-knda", "Noto Serif Kannada, Times, Times New Roman"); 871 pref("font.name-list.sans-serif.x-knda", "Noto Sans Kannada, Helvetica, Arial"); 872 pref("font.name-list.monospace.x-knda", "Noto Sans Kannada, Menlo, Courier New"); 873 // Khmer 874 pref("font.name-list.serif.x-khmr", "Noto Serif Khmer, Times, Times New Roman"); 875 pref("font.name-list.sans-serif.x-khmr", "Noto Sans Khmer, Helvetica, Arial"); 876 pref("font.name-list.monospace.x-khmr", "Noto Sans Khmer, Menlo, Courier New"); 877 // Malayalam 878 pref("font.name-list.serif.x-mlym", "Noto Serif Malayalam, Times, Times New Roman"); 879 pref("font.name-list.sans-serif.x-mlym", "Noto Sans Malayalam, Helvetica, Arial"); 880 pref("font.name-list.monospace.x-mlym", "Noto Sans Malayalam, Menlo, Courier New"); 881 // Mathematics 882 pref("font.name-list.serif.x-math", "STIX Two Math, Times, Times New Roman"); 883 pref("font.name-list.sans-serif.x-math", "STIX Two Math, Helvetica, Arial"); 884 pref("font.name-list.monospace.x-math", "STIX Two Math, Menlo, Courier New"); 885 // Oriya 886 pref("font.name-list.serif.x-orya", "Noto Sans Oriya, Times, Times New Roman"); 887 pref("font.name-list.sans-serif.x-orya", "Noto Sans Oriya, Helvetica, Arial"); 888 pref("font.name-list.monospace.x-orya", "Noto Sans Oriya, Menlo, Courier New"); 889 // Sinhala 890 pref("font.name-list.serif.x-sinh", "Noto Serif Sinhala, Times, Times New Roman"); 891 pref("font.name-list.sans-serif.x-sinh", "Noto Sans Sinhala, Helvetica, Arial"); 892 pref("font.name-list.monospace.x-sinh", "Noto Sans Sinhala, Menlo, Courier New"); 893 // Tamil 894 pref("font.name-list.serif.x-tamil", "Noto Serif Tamil, Times, Times New Roman"); 895 pref("font.name-list.sans-serif.x-tamil", "Noto Sans Tamil, Helvetica, Arial"); 896 pref("font.name-list.monospace.x-tamil", "Noto Sans Tamil, Menlo, Courier New"); 897 // Telugu 898 pref("font.name-list.serif.x-telu", "Noto Serif Telugu, Times, Times New Roman"); 899 pref("font.name-list.sans-serif.x-telu", "Noto Sans Telugu, Helvetica, Arial"); 900 pref("font.name-list.monospace.x-telu", "Noto Sans Telugu, Menlo, Courier New"); 901 // Tibetan 902 pref("font.name-list.serif.x-tibt", "Noto Serif Tibetan, Times, Times New Roman"); 903 pref("font.name-list.sans-serif.x-tibt", "Noto Serif Tibetan, Helvetica, Arial"); 904 pref("font.name-list.monospace.x-tibt", "Noto Serif Tibetan, Menlo, Courier New"); 905 // Others (Balinese, Grantha, Khojki, Lao, Myanmar) 906 pref("font.name-list.serif.x-unicode", "Times, Times New Roman, Noto Serif Balinese, Noto Serif Grantha, Noto Serif Khojki, Noto Serif Lao, Noto Serif Myanmar"); 907 pref("font.name-list.sans-serif.x-unicode", "Helvetica, Arial, Noto Sans Balinese, Noto Sans Grantha, Noto Sans Khojki, Noto Sans Lao, Pyidaungsu"); 908 pref("font.name-list.monospace.x-unicode", "Menlo, Courier New, Noto Sans Balinese, Noto Sans Grantha, Noto Sans Khojki, Noto Sans Lao, Pyidaungsu"); 909 // The rest are not customized, because they are covered only by one font 910 #endif 911 912 #ifdef XP_WIN 913 pref("font.system.whitelist", "Arial, Cambria Math, Consolas, Courier New, Georgia, Lucida Console, MS Gothic, MS ゴシック, MS PGothic, MS Pゴシック, MV Boli, Malgun Gothic, Microsoft Himalaya, Microsoft JhengHei, Microsoft YaHei, 微软雅黑, Segoe UI, SimSun, 宋体, Sylfaen, Tahoma, Times New Roman, Verdana, Noto Sans Adlam, Noto Sans Balinese, Noto Sans Bamum, Noto Sans Bassa Vah, Noto Sans Batak, Noto Sans Bengali, Noto Sans Buginese, Noto Sans Buhid, Noto Sans Canadian Aboriginal, Noto Sans Chakma, Noto Sans Cham, Noto Sans Cherokee, Noto Sans Coptic, Noto Sans Deseret, Noto Sans Devanagari, Noto Sans Elbasan, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Grantha, Noto Sans Gujarati, Noto Sans Gunjala Gondi, Noto Sans Gurmukhi, Noto Sans Hanifi Rohingya, Noto Sans Hanunoo, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Javanese, Noto Sans Kayah Li, Noto Sans Khojki, Noto Sans Khudawadi, Noto Sans Lao, Noto Sans Lepcha, Noto Sans Limbu, Noto Sans Lisu, Noto Sans Mahajani, Noto Sans Malayalam, Noto Sans Mandaic, Noto Sans Masaram Gondi, Noto Sans Medefaidrin, Noto Sans Meetei Mayek, Noto Sans Mende Kikakui, Noto Sans Miao, Noto Sans Modi, Noto Sans Mongolian, Noto Sans Mro, Noto Sans Multani, Noto Sans Newa, Noto Sans New Tai Lue, Noto Sans NKo, Noto Sans Ol Chiki, Noto Sans Oriya, Noto Sans Osage, Noto Sans Osmanya, Noto Sans Pahawh Hmong, Noto Sans Pau Cin Hau, Noto Sans Rejang, Noto Sans Runic, Noto Sans Samaritan, Noto Sans Saurashtra, Noto Sans Sharada, Noto Sans Shavian, Noto Sans Sinhala, Noto Sans Sora Sompeng, Noto Sans Soyombo, Noto Sans Sundanese, Noto Sans Syloti Nagri, Noto Sans Symbols 2, Noto Sans Symbols, Noto Sans Syriac, Noto Sans Tagalog, Noto Sans Tagbanwa, Noto Sans Tai Le, Noto Sans Tai Tham, Noto Sans Tai Viet, Noto Sans Takri, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tifinagh Adrar, Noto Sans Tifinagh Agraw Imazighen, Noto Sans Tifinagh Ahaggar, Noto Sans Tifinagh Air, Noto Sans Tifinagh APT, Noto Sans Tifinagh Azawagh, Noto Sans Tifinagh Ghat, Noto Sans Tifinagh Hawad, Noto Sans Tifinagh, Noto Sans Tifinagh Rhissa Ixa, Noto Sans Tifinagh SIL, Noto Sans Tifinagh Tawellemmet, Noto Sans Tirhuta, Noto Sans Vai, Noto Sans Wancho, Noto Sans Warang Citi, Noto Sans Yi, Noto Sans Zanabazar Square, Noto Serif Balinese, Noto Serif Bengali, Noto Serif Devanagari, Noto Serif Dogra, Noto Serif Ethiopic, Noto Serif Georgian, Noto Serif Grantha, Noto Serif Gujarati, Noto Serif Gurmukhi, Noto Serif Kannada, Noto Serif Khmer, Noto Serif Khojki, Noto Serif Lao, Noto Serif Malayalam, Noto Serif Myanmar, Noto Serif NP Hmong, Noto Serif Sinhala, Noto Serif Tamil, Noto Serif Telugu, Noto Serif Tibetan, Noto Serif Yezidi, Noto Naskh Arabic, Noto Sans, Noto Serif, Pyidaungsu, Twemoji Mozilla"); 914 915 pref("font.name-list.emoji", "Twemoji Mozilla"); 916 // Arabic 917 pref("font.name-list.serif.ar", "Times New Roman, Noto Naskh Arabic"); 918 pref("font.name-list.sans-serif.ar", "Segoe UI, Tahoma, Arial, Noto Naskh Arabic"); 919 pref("font.name-list.monospace.ar", "Consolas, Noto Naskh Arabic"); 920 // Bengali 921 pref("font.name-list.serif.x-beng", "Noto Serif Bengali, Times New Roman"); 922 pref("font.name-list.sans-serif.x-beng", "Noto Sans Bengali, Arial"); 923 pref("font.name-list.monospace.x-beng", "Noto Sans Bengali, Consolas"); 924 // Canadian Aboriginal 925 pref("font.name-list.serif.x-cans", "Noto Serif Canadian Aboriginal, Times New Roman"); 926 pref("font.name-list.sans-serif.x-cans", "Noto Sans Canadian Aboriginal, Arial"); 927 pref("font.name-list.monospace.x-cans", "Noto Sans Canadian Aboriginal, Consolas"); 928 // Cyrillic (we use Noto only for fallback, system fonts have a good coverage) 929 pref("font.name-list.serif.x-cyrillic", "Times New Roman, Noto Serif"); 930 pref("font.name-list.sans-serif.x-cyrillic", "Arial, Noto Sans"); 931 // Devanagari 932 pref("font.name-list.serif.x-devanagari", "Noto Serif Devanagari, Times New Roman"); 933 pref("font.name-list.sans-serif.x-devanagari", "Noto Sans Devanagari, Arial"); 934 pref("font.name-list.monospace.x-devanagari", "Noto Sans Devanagari, Consolas"); 935 // Ethiopic 936 pref("font.name-list.serif.x-ethi", "Noto Serif Ethiopic, Times New Roman"); 937 pref("font.name-list.sans-serif.x-ethi", "Noto Sans Ethiopic, Arial"); 938 pref("font.name-list.monospace.x-ethi", "Noto Sans Ethiopic, Consolas"); 939 // Georgian 940 pref("font.name-list.serif.x-geor", "Noto Serif Georgian, Times New Roman"); 941 pref("font.name-list.sans-serif.x-geor", "Noto Sans Georgian, Arial"); 942 pref("font.name-list.monospace.x-geor", "Noto Sans Georgian, Consolas"); 943 // Gujarati 944 pref("font.name-list.serif.x-gujr", "Noto Serif Gujarati, Times New Roman"); 945 pref("font.name-list.sans-serif.x-gujr", "Noto Sans Gujarati, Arial"); 946 pref("font.name-list.monospace.x-gujr", "Noto Sans Gujarati, Consolas"); 947 // Gurmukhi 948 pref("font.name-list.serif.x-guru", "Noto Serif Gurmukhi, Times New Roman"); 949 pref("font.name-list.sans-serif.x-guru", "Noto Sans Gurmukhi, Arial"); 950 pref("font.name-list.monospace.x-guru", "Noto Sans Gurmukhi, Consolas"); 951 // Kannada 952 pref("font.name-list.serif.x-knda", "Noto Serif Kannada, Times New Roman"); 953 pref("font.name-list.sans-serif.x-knda", "Noto Sans Kannada, Arial"); 954 pref("font.name-list.monospace.x-knda", "Noto Sans Kannada, Consolas"); 955 // Khmer 956 pref("font.name-list.serif.x-khmr", "Noto Serif Khmer, Times New Roman"); 957 pref("font.name-list.sans-serif.x-khmr", "Noto Sans Khmer, Arial"); 958 pref("font.name-list.monospace.x-khmr", "Noto Sans Khmer, Consolas"); 959 // Malayalam 960 pref("font.name-list.serif.x-mlym", "Noto Serif Malayalam, Times New Roman"); 961 pref("font.name-list.sans-serif.x-mlym", "Noto Sans Malayalam, Arial"); 962 pref("font.name-list.monospace.x-mlym", "Noto Sans Malayalam, Consolas"); 963 // Oriya 964 pref("font.name-list.serif.x-orya", "Noto Sans Oriya, Times New Roman"); 965 pref("font.name-list.sans-serif.x-orya", "Noto Sans Oriya, Arial"); 966 pref("font.name-list.monospace.x-orya", "Noto Sans Oriya, Consolas"); 967 // Sinhala 968 pref("font.name-list.serif.x-sinh", "Noto Serif Sinhala, Times New Roman"); 969 pref("font.name-list.sans-serif.x-sinh", "Noto Sans Sinhala, Arial"); 970 pref("font.name-list.monospace.x-sinh", "Noto Sans Sinhala, Consolas"); 971 // Tamil 972 pref("font.name-list.serif.x-tamil", "Noto Serif Tamil, Times New Roman"); 973 pref("font.name-list.sans-serif.x-tamil", "Noto Sans Tamil, Arial"); 974 pref("font.name-list.monospace.x-tamil", "Noto Sans Tamil, Consolas"); 975 // Telugu 976 pref("font.name-list.serif.x-telu", "Noto Serif Telugu, Times New Roman"); 977 pref("font.name-list.sans-serif.x-telu", "Noto Sans Telugu, Arial"); 978 pref("font.name-list.monospace.x-telu", "Noto Sans Telugu, Consolas"); 979 // Tibetan 980 pref("font.name-list.serif.x-tibt", "Microsoft Himalaya, Noto Serif Tibetan, Times New Roman"); 981 pref("font.name-list.sans-serif.x-tibt", "Microsoft Himalaya, Noto Serif Tibetan, Arial"); 982 pref("font.name-list.monospace.x-tibt", "Microsoft Himalaya, Noto Serif Tibetan, Consolas"); 983 // Others (Balinese, Grantha, Khojki, Lao, Myanmar) 984 pref("font.name-list.serif.x-unicode", "Times New Roman, Noto Serif Balinese, Noto Serif Grantha, Noto Serif Khojki, Noto Serif Lao, Noto Serif Myanmar"); 985 pref("font.name-list.sans-serif.x-unicode", "Arial, Noto Sans Balinese, Noto Sans Grantha, Noto Sans Khojki, Noto Sans Lao, Pyidaungsu"); 986 pref("font.name-list.monospace.x-unicode", "Consolas, Noto Sans Balinese, Noto Sans Grantha, Noto Sans Khojki, Noto Sans Lao, Pyidaungsu"); 987 // The rest are not customized, because they are covered only by one font 988 #endif 989 990 #ifdef XP_LINUX 991 pref("font.system.whitelist", "Arimo, Cousine, Noto Color Emoji, Noto Naskh Arabic, Noto Sans Adlam, Noto Sans Armenian, Noto Sans Balinese, Noto Sans Bamum, Noto Sans Bassa Vah, Noto Sans Batak, Noto Sans Bengali, Noto Sans Buginese, Noto Sans Buhid, Noto Sans Canadian Aboriginal, Noto Sans Chakma, Noto Sans Cham, Noto Sans Cherokee, Noto Sans Coptic, Noto Sans Deseret, Noto Sans Devanagari, Noto Sans Elbasan, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Grantha, Noto Sans Gujarati, Noto Sans Gunjala Gondi, Noto Sans Gurmukhi, Noto Sans Hanifi Rohingya, Noto Sans Hanunoo, Noto Sans Hebrew, Noto Sans JP, Noto Sans Javanese, Noto Sans KR, Noto Sans Kannada, Noto Sans Kayah Li, Noto Sans Khmer, Noto Sans Khojki, Noto Sans Khudawadi, Noto Sans Lao, Noto Sans Lepcha, Noto Sans Limbu, Noto Sans Lisu, Noto Sans Mahajani, Noto Sans Malayalam, Noto Sans Mandaic, Noto Sans Masaram Gondi, Noto Sans Medefaidrin, Noto Sans Meetei Mayek, Noto Sans Mende Kikakui, Noto Sans Miao, Noto Sans Modi, Noto Sans Mongolian, Noto Sans Mro, Noto Sans Multani, Noto Sans NKo, Noto Sans New Tai Lue, Noto Sans Newa, Noto Sans Ol Chiki, Noto Sans Oriya, Noto Sans Osage, Noto Sans Osmanya, Noto Sans Pahawh Hmong, Noto Sans Pau Cin Hau, Noto Sans Rejang, Noto Sans Runic, Noto Sans SC, Noto Sans Samaritan, Noto Sans Saurashtra, Noto Sans Sharada, Noto Sans Shavian, Noto Sans Sinhala, Noto Sans Sora Sompeng, Noto Sans Soyombo, Noto Sans Sundanese, Noto Sans Syloti Nagri, Noto Sans Symbols, Noto Sans Symbols 2, Noto Sans Syriac, Noto Sans TC, Noto Sans Tagalog, Noto Sans Tagbanwa, Noto Sans Tai Le, Noto Sans Tai Tham, Noto Sans Tai Viet, Noto Sans Takri, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tifinagh, Noto Sans Tifinagh APT, Noto Sans Tifinagh Adrar, Noto Sans Tifinagh Agraw Imazighen, Noto Sans Tifinagh Ahaggar, Noto Sans Tifinagh Air, Noto Sans Tifinagh Azawagh, Noto Sans Tifinagh Ghat, Noto Sans Tifinagh Hawad, Noto Sans Tifinagh Rhissa Ixa, Noto Sans Tifinagh SIL, Noto Sans Tifinagh Tawellemmet, Noto Sans Tirhuta, Noto Sans Vai, Noto Sans Wancho, Noto Sans Warang Citi, Noto Sans Yi, Noto Sans Zanabazar Square, Noto Serif Armenian, Noto Serif Balinese, Noto Serif Bengali, Noto Serif Devanagari, Noto Serif Dogra, Noto Serif Ethiopic, Noto Serif Georgian, Noto Serif Grantha, Noto Serif Gujarati, Noto Serif Gurmukhi, Noto Serif Hebrew, Noto Serif Kannada, Noto Serif Khmer, Noto Serif Khojki, Noto Serif Lao, Noto Serif Malayalam, Noto Serif Myanmar, Noto Serif NP Hmong, Noto Serif Sinhala, Noto Serif Tamil, Noto Serif Telugu, Noto Serif Thai, Noto Serif Tibetan, Noto Serif Yezidi, Pyidaungsu, STIX Two Math, Tinos, Twemoji Mozilla"); 992 993 pref("font.name-list.emoji", "Noto Color Emoji, Twemoji Mozilla"); 994 // Arabic 995 pref("font.name-list.serif.ar", "Noto Naskh Arabic, Tinos"); 996 pref("font.name-list.sans-serif.ar", "Noto Naskh Arabic, Arimo"); 997 pref("font.name-list.monospace.ar", "Noto Naskh Arabic, Cousine"); 998 // Armenian 999 pref("font.name-list.serif.x-armn", "Noto Serif Armenian, Tinos"); 1000 pref("font.name-list.sans-serif.x-armn", "Noto Sans Armenian, Arimo"); 1001 pref("font.name-list.sans-serif.x-armn", "Noto Sans Armenian, Cousine"); 1002 // Bengali 1003 pref("font.name-list.serif.x-beng", "Noto Serif Bengali, Tinos"); 1004 pref("font.name-list.sans-serif.x-beng", "Noto Sans Bengali, Arimo"); 1005 pref("font.name-list.monospace.x-beng", "Noto Sans Bengali, Cousine"); 1006 // Canadian Aboriginal 1007 pref("font.name-list.serif.x-cans", "Noto Serif Canadian Aboriginal, Tinos"); 1008 pref("font.name-list.sans-serif.x-cans", "Noto Sans Canadian Aboriginal, Arimo"); 1009 pref("font.name-list.monospace.x-cans", "Noto Sans Canadian Aboriginal, Cousine"); 1010 // ChineseCN 1011 pref("font.name-list.serif.zh-CN", "Noto Sans SC, Tinos"); 1012 pref("font.name-list.sans-serif.zh-CN", "Noto Sans SC, Arimo"); 1013 pref("font.name-list.monospace.zh-CN", "Noto Sans SC, Cousine"); 1014 // ChineseHK 1015 pref("font.name-list.serif.zh-HK", "Noto Sans TC, Tinos"); 1016 pref("font.name-list.sans-serif.zh-HK", "Noto Sans TC, Arimo"); 1017 pref("font.name-list.monospace.zh-HK", "Noto Sans TC, Cousine"); 1018 // ChineseTW 1019 pref("font.name-list.serif.zh-TW", "Noto Sans TC, Tinos"); 1020 pref("font.name-list.sans-serif.zh-TW", "Noto Sans TC, Arimo"); 1021 pref("font.name-list.monospace.zh-TW", "Noto Sans TC, Cousine"); 1022 // Cyrillic 1023 pref("font.name-list.serif.x-cyrillic", "Tinos"); 1024 pref("font.name-list.sans-serif.x-cyrillic", "Arimo"); 1025 pref("font.name-list.monospace.x-cyrillic", "Cousine"); 1026 // Devanagari 1027 pref("font.name-list.serif.x-devanagari", "Noto Serif Devanagari, Tinos"); 1028 pref("font.name-list.sans-serif.x-devanagari", "Noto Sans Devanagari, Arimo"); 1029 pref("font.name-list.monospace.x-devanagari", "Noto Sans Devanagari, Cousine"); 1030 // Ethiopic 1031 pref("font.name-list.serif.x-ethi", "Noto Serif Ethiopic, Tinos"); 1032 pref("font.name-list.sans-serif.x-ethi", "Noto Sans Ethiopic, Arimo"); 1033 pref("font.name-list.monospace.x-ethi", "Noto Sans Ethiopic, Cousine"); 1034 // Georgian 1035 pref("font.name-list.serif.x-geor", "Noto Serif Georgian, Tinos"); 1036 pref("font.name-list.sans-serif.x-geor", "Noto Sans Georgian, Arimo"); 1037 pref("font.name-list.monospace.x-geor", "Noto Sans Georgian, Cousine"); 1038 // Greek 1039 pref("font.name-list.serif.el", "Tinos"); 1040 pref("font.name-list.sans-serif.el", "Arimo"); 1041 pref("font.name-list.monospace.el", "Cousine"); 1042 // Gujarati 1043 pref("font.name-list.serif.x-gujr", "Noto Serif Gujarati, Tinos"); 1044 pref("font.name-list.sans-serif.x-gujr", "Noto Sans Gujarati, Arimo"); 1045 pref("font.name-list.monospace.x-gujr", "Noto Sans Gujarati, Cousine"); 1046 // Gurmukhi 1047 pref("font.name-list.serif.x-guru", "Noto Serif Gurmukhi, Tinos"); 1048 pref("font.name-list.sans-serif.x-guru", "Noto Sans Gurmukhi, Arimo"); 1049 pref("font.name-list.monospace.x-guru", "Noto Sans Gurmukhi, Cousine"); 1050 // Hebrew 1051 pref("font.name-list.serif.he", "Noto Serif Hebrew, Tinos"); 1052 pref("font.name-list.sans-serif.he", "Noto Sans Hebrew, Arimo"); 1053 pref("font.name-list.monospace.he", "Noto Sans Hebrew, Cousine"); 1054 // Japanese 1055 pref("font.name-list.serif.ja", "Noto Sans JP, Tinos"); 1056 pref("font.name-list.sans-serif.ja", "Noto Sans JP, Arimo"); 1057 pref("font.name-list.monospace.ja", "Noto Sans JP, Cousine"); 1058 // Kannada 1059 pref("font.name-list.serif.x-knda", "Noto Serif Kannada, Tinos"); 1060 pref("font.name-list.sans-serif.x-knda", "Noto Sans Kannada, Arimo"); 1061 pref("font.name-list.monospace.x-knda", "Noto Sans Kannada, Cousine"); 1062 // Khmer 1063 pref("font.name-list.serif.x-khmr", "Noto Serif Khmer, Tinos"); 1064 pref("font.name-list.sans-serif.x-khmr", "Noto Sans Khmer, Arimo"); 1065 pref("font.name-list.monospace.x-khmr", "Noto Sans Khmer, Cousine"); 1066 // Korean 1067 pref("font.name-list.serif.ko", "Noto Sans KR Regular"); 1068 pref("font.name-list.sans-serif.ko", "Noto Sans KR Regular"); 1069 pref("font.name-list.monospace.ko", "Noto Sans KR Regular"); 1070 // Malayalam 1071 pref("font.name-list.serif.x-mlym", "Noto Serif Malayalam, Tinos"); 1072 pref("font.name-list.sans-serif.x-mlym", "Noto Sans Malayalam, Arimo"); 1073 pref("font.name-list.monospace.x-mlym", "Noto Sans Malayalam, Cousine"); 1074 // Mathematics 1075 pref("font.name-list.serif.x-math", "STIX Two Math, Tinos"); 1076 pref("font.name-list.sans-serif.x-math", "STIX Two Math, Arimo"); 1077 pref("font.name-list.monospace.x-math", "STIX Two Math, Cousine"); 1078 // Oriya 1079 pref("font.name-list.serif.x-orya", "Noto Sans Oriya, Tinos"); 1080 pref("font.name-list.sans-serif.x-orya", "Noto Sans Oriya, Arimo"); 1081 pref("font.name-list.monospace.x-orya", "Noto Sans Oriya, Cousine"); 1082 // Sinhala 1083 pref("font.name-list.serif.x-sinh", "Noto Serif Sinhala, Tinos"); 1084 pref("font.name-list.sans-serif.x-sinh", "Noto Sans Sinhala, Arimo"); 1085 pref("font.name-list.monospace.x-sinh", "Noto Sans Sinhala, Cousine"); 1086 // Tamil 1087 pref("font.name-list.serif.x-tamil", "Noto Serif Tamil, Tinos"); 1088 pref("font.name-list.sans-serif.x-tamil", "Noto Sans Tamil, Arimo"); 1089 pref("font.name-list.monospace.x-tamil", "Noto Sans Tamil, Cousine"); 1090 // Telugu 1091 pref("font.name-list.serif.x-telu", "Noto Serif Telugu, Tinos"); 1092 pref("font.name-list.sans-serif.x-telu", "Noto Sans Telugu, Arimo"); 1093 pref("font.name-list.monospace.x-telu", "Noto Sans Telugu, Cousine"); 1094 // Thai 1095 pref("font.name-list.serif.th", "Noto Serif Thai, Tinos"); 1096 pref("font.name-list.sans-serif.th", "Noto Sans Thai, Arimo"); 1097 pref("font.name-list.monospace.th", "Noto Sans Thai, Cousine"); 1098 // Tibetan 1099 pref("font.name-list.serif.x-tibt", "Noto Serif Tibetan, Tinos"); 1100 pref("font.name-list.sans-serif.x-tibt", "Noto Serif Tibetan, Arimo"); 1101 pref("font.name-list.monospace.x-tibt", "Noto Serif Tibetan, Cousine"); 1102 // Western 1103 pref("font.name-list.serif.x-western", "Tinos"); 1104 pref("font.name-list.sans-serif.x-western", "Arimo"); 1105 pref("font.name-list.monospace.x-western", "Cousine"); 1106 // Others (Balinese, Grantha, Khojki, Lao, Myanmar) 1107 pref("font.name-list.serif.x-unicode", "Tinos, Noto Serif Balinese, Noto Serif Grantha, Noto Serif Khojki, Noto Serif Lao, Noto Serif Myanmar"); 1108 pref("font.name-list.sans-serif.x-unicode", "Arimo, Noto Sans Balinese, Noto Sans Grantha, Noto Sans Khojki, Noto Sans Lao, Pyidaungsu"); 1109 pref("font.name-list.monospace.x-unicode", "Cousine, Noto Sans Balinese, Noto Sans Grantha, Noto Sans Khojki, Noto Sans Lao, Pyidaungsu"); 1110 // The rest are not customized, because they are covered only by one font 1111 #endif 1112 #endif 1113 1114 // tor-browser#42630: Disable LaterRun. 1115 // 1116 // This preference is set in a few places in code. Even though it's locked, 1117 // setting it will still change the value in `prefs.js`, but it will be ignored. 1118 // If this is ever unlocked, the value in prefs.js will be used. 1119 pref("browser.laterrun.enabled", false, locked); 1120 1121 // tor-browser#44123: Never trim the protocol off of URLs. 1122 pref("browser.urlbar.trimURLs", false);