tbb-commits
Threads by month
- ----- 2025 -----
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- 1 participants
- 18490 discussions

[tor-browser/tor-browser-52.7.2esr-8.0-1] update mobile js prefs based on latest TB
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 1931909d9f2d6fac5db7e78a61fcf723f91ab072
Author: n8fr8 <nathan(a)freitas.net>
Date: Tue Jul 18 12:38:56 2017 -0400
update mobile js prefs based on latest TB
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
mobile/android/app/mobile.js | 485 ++++++++++++++++++++++++++++++++++++++-----
1 file changed, 432 insertions(+), 53 deletions(-)
diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js
index 437177a67250..8fe349a5129c 100644
--- a/mobile/android/app/mobile.js
+++ b/mobile/android/app/mobile.js
@@ -384,7 +384,7 @@ pref("geo.enabled", true);
// content sink control -- controls responsiveness during page load
// see https://bugzilla.mozilla.org/show_bug.cgi?id=481566#c9
//pref("content.sink.enable_perf_mode", 2); // 0 - switch, 1 - interactive, 2 - perf
-//pref("content.sink.pending_event_mode", 0);
+ /pref("content.sink.pending_event_mode", 0);
//pref("content.sink.perf_deflect_count", 1000000);
//pref("content.sink.perf_parse_time", 50000000);
@@ -905,20 +905,63 @@ pref("identity.fxaccounts.remote.oauth.uri", "https://oauth.accounts.firefox.com
// Token server used by Firefox Account-authenticated Sync.
pref("identity.sync.tokenserver.uri", "https://token.services.mozilla.com/1.0/sync/1.5");
+pref("general.useragent.override", "Mozilla/5.0 (Android; Mobile; rv:38.0) Gecko/38.0 Firefox/38.0");
+
+// Proxy and proxy security
+pref("network.proxy.socks", "127.0.0.1");
+pref("network.proxy.socks_port", 9050);
+pref("network.proxy.socks_remote_dns", true);
+
+// Security slider
+pref("svg.in-content.enabled", true);
+pref("mathml.disabled", false);
+
+// More Orfox specific flags (some might be redundant)
+pref("privacy.clearOnShutdown.cache", true);
+pref("privacy.clearOnShutdown.cookies",true);
+pref("privacy.clearOnShutdown.downloads",true);
+pref("privacy.clearOnShutdown.formdata",true);
+pref("privacy.clearOnShutdown.history",true);
+pref("privacy.clearOnShutdown.offlineApps",true);
+pref("privacy.clearOnShutdown.passwords",true);
+pref("privacy.clearOnShutdown.sessions",true);
+pref("privacy.clearOnShutdown.siteSettings",true);
+
+
# Default Preferences
# Tor Browser Bundle
# Do not edit this file.
// Please maintain unit tests at ./tbb-tests/browser_tor_TB4.js
-// Disable browser auto updaters and associated homepage notifications
-pref("app.update.auto", false);
-pref("app.update.enabled", false);
+// Disable initial homepage notifications
pref("browser.search.update", false);
pref("browser.rights.3.shown", true);
-pref("browser.startup.homepage_override.mstone", "ignore");
pref("startup.homepage_welcome_url", "");
-pref("startup.homepage_override_url", "");
+pref("startup.homepage_welcome_url.additional", "");
+// Not set Windows 10 users would get a special introduction on first start.
+pref("browser.usedOnWindows10", true);
+
+// Set a generic, default URL that will be opened in a tab after an update.
+// Typically, this will not be used; instead, the <update> element within
+// each update manifest should contain attributes similar to:
+// actions="showURL"
+// openURL="https://blog.torproject.org/tor-browser-55a2-released"
+pref("startup.homepage_override_url", "https://blog.torproject.org/category/tags/tor-browser");
+
+// Try to nag a bit more about updates: Pop up a restart dialog an hour after the initial dialog
+pref("app.update.promptWaitTime", 3600);
+pref("app.update.badge", true);
+pref("extensions.hotfix.id", ""); // Bug 16837: Disable hotfix updates as they may cause compat issues
+
+#ifdef XP_WIN
+// For now, disable staged updates on Windows (see #18292).
+pref("app.update.staging.enabled", false);
+#endif
+
+// No need to contact the Kinto-based blocklist system in addition to the old
+// one which is still used, see bug 22071.
+pref("services.blocklist.update_enabled", false);
// Disable "Slow startup" warnings and associated disk history
// (bug #13346)
@@ -926,6 +969,9 @@ pref("browser.slowStartup.notificationDisabled", true);
pref("browser.slowStartup.maxSamples", 0);
pref("browser.slowStartup.samples", 0);
+// Disable the "Refresh" prompt that is displayed for stale profiles.
+pref("browser.disableResetPrompt", true);
+
// Disk activity: Disable Browsing History Storage
pref("browser.privatebrowsing.autostart", true);
pref("browser.cache.disk.enable", false);
@@ -955,34 +1001,84 @@ pref("geo.wifi.uri", "");
pref("browser.search.suggest.enabled", false);
pref("browser.safebrowsing.enabled", false);
pref("browser.safebrowsing.malware.enabled", false);
+pref("browser.safebrowsing.phishing.enabled", false);
+pref("browser.safebrowsing.downloads.enabled", false);
+pref("browser.safebrowsing.downloads.remote.enabled", false);
+pref("browser.safebrowsing.blockedURIs.enabled", false);
+pref("browser.safebrowsing.downloads.remote.url", "");
+pref("browser.safebrowsing.provider.google.updateURL", "");
+pref("browser.safebrowsing.provider.google.gethashURL", "");
+pref("browser.safebrowsing.provider.google4.updateURL", "");
+pref("browser.safebrowsing.provider.google4.gethashURL", "");
+pref("browser.safebrowsing.provider.mozilla.updateURL", "");
+pref("browser.safebrowsing.provider.mozilla.gethashURL", "");
pref("browser.download.manager.scanWhenDone", false); // prevents AV remote reporting of downloads
pref("extensions.ui.lastCategory", "addons://list/extension");
pref("datareporting.healthreport.service.enabled", false); // Yes, all three of these must be set
pref("datareporting.healthreport.uploadEnabled", false);
pref("datareporting.policy.dataSubmissionEnabled", false);
-pref("security.mixed_content.block_active_content", false); // Disable until https://bugzilla.mozilla.org/show_bug.cgi?id=878890 is patched
+// Don't fetch a localized remote page that Tor Browser interacts with, see
+// #16727. And, yes, it is "reportUrl" and not "reportURL".
+pref("datareporting.healthreport.about.reportUrl", "data:text/plain,");
+// Make sure Selfsupport and Unified Telemetry are really disabled, see: #18738.
+pref("datareporting.healthreport.about.reportUrlUnified", "data:text/plain,");
+pref("browser.selfsupport.enabled", false);
+pref("browser.selfsupport.url", "");
+pref("toolkit.telemetry.unified", false);
+// No experiments, use Tor Browser. See 21797.
+pref("experiments.enabled", false);
+// Disable the UITour backend so there is no chance that a remote page
+// can use it to confuse Tor Browser users.
+pref("browser.uitour.enabled", false);
pref("browser.syncPromoViewsLeftMap", "{\"addons\":0, \"passwords\":0, \"bookmarks\":0}"); // Don't promote sync
pref("services.sync.engine.prefs", false); // Never sync prefs, addons, or tabs with other browsers
pref("services.sync.engine.addons", false);
pref("services.sync.engine.tabs", false);
+pref("services.sync.ui.hidden", true);
pref("extensions.getAddons.cache.enabled", false); // https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/
+pref("browser.newtabpage.directory.ping", "data:text/plain,"); // Bug 16316 - Avoid potential confusion over tiles for now.
+pref("browser.newtabpage.directory.source", "data:text/plain,"); // Bug 16316 - Avoid potential confusion over tiles for now.
+pref("browser.newtabpage.enhanced", false); // Bug 16316 - Avoid potential confusion over tiles for now.
+pref("browser.newtabpage.introShown", true); // Bug 16316 - Avoid potential confusion over tiles for now.
+pref("browser.newtabpage.preload", false); // Bug 16316 - Avoid potential confusion over tiles for now.
+pref("browser.newtabpage.remote", false); // Bug 21685: Disable remote new tab pages
+pref("browser.search.countryCode", "US"); // The next three prefs disable GeoIP search lookups (#16254)
+pref("browser.search.region", "US");
+pref("browser.search.geoip.url", "");
+pref("browser.fixup.alternate.enabled", false); // Bug #16783: Prevent .onion fixups
+// Make sure there is no Tracking Protection active in Tor Browser, see: #17898.
+pref("privacy.trackingprotection.pbmode.enabled", false);
+// Disable the Pocket extension (Bug #18886)
+pref("browser.pocket.enabled", false);
+pref("browser.pocket.api", "");
+pref("browser.pocket.site", "");
+pref("network.http.referer.hideOnionSource", true);
+
+// Disable Social API and related stuff (Bug #13612)
+pref("social.directories", "");
+pref("social.remote-install.enabled", false);
+pref("social.share.activationPanelEnabled", false);
+pref("social.shareDirectory", "");
+pref("social.toast-notifications.enabled", false);
+pref("social.whitelist", "");
// Fingerprinting
pref("webgl.min_capability_mode", true);
pref("webgl.disable-extensions", true);
-pref("dom.battery.enabled", false); // fingerprinting due to differing OS implementations
+pref("webgl.disable-fail-if-major-performance-caveat", true);
+pref("webgl.enable-webgl2", false);
pref("dom.network.enabled",false); // fingerprinting due to differing OS implementations
-pref("browser.display.max_font_attempts",10);
-pref("browser.display.max_font_count",10);
pref("gfx.downloadable_fonts.fallback_delay", -1);
-// pref("general.appname.override", "Netscape");
-// pref("general.appversion.override", "5.0 (Windows)");
-// pref("general.oscpu.override", "Windows NT 6.1");
-// pref("general.platform.override", "Win32");
-pref("general.useragent.override", "Mozilla/5.0 (Android; Mobile; rv:38.0) Gecko/38.0 Firefox/38.0");
-// pref("general.productSub.override", "20100101");
-// pref("general.buildID.override", "20100101");
-// pref("browser.startup.homepage_override.buildID", "20100101");
+
+//disabled for Orfox
+//pref("general.appname.override", "Netscape");
+//pref("general.appversion.override", "5.0 (Windows)");
+//pref("general.oscpu.override", "Windows NT 6.1");
+//pref("general.platform.override", "Win32");
+//pref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0");
+//pref("general.productSub.override", "20100101");
+pref("general.buildID.override", "20100101");
+pref("browser.startup.homepage_override.buildID", "20100101");
pref("general.useragent.vendor", "");
pref("general.useragent.vendorSub", "");
pref("dom.enable_performance", false);
@@ -999,6 +1095,21 @@ pref("javascript.use_us_english_locale", true);
pref("media.video_stats.enabled", false);
// Disable device sensors as possible fingerprinting vector (bug 15758)
pref("device.sensors.enabled", false);
+pref("dom.enable_resource_timing", false); // Bug 13024: To hell with this API
+pref("dom.enable_user_timing", false); // Bug 16336: To hell with this API
+pref("privacy.resistFingerprinting", true);
+pref("dom.event.highrestimestamp.enabled", true); // Bug #17046: "Highres" (but truncated) timestamps prevent uptime leaks
+pref("privacy.suppressModifierKeyEvents", true); // Bug #17009: Suppress ALT and SHIFT events"
+pref("ui.use_standins_for_native_colors", true); // https://bugzilla.mozilla.org/232227
+// Make Reader View users uniform if they really want to use that feature. See
+// bug 18950 for more details.
+pref("browser.reader.detectedFirstArticle", true);
+pref("reader.parse-on-load.enabled", false);
+pref("privacy.use_utc_timezone", true);
+pref("media.webspeech.synth.enabled", false); // Bug 10283: Disable SpeechSynthesis API
+pref("dom.webaudio.enabled", false); // Bug 13017: Disable Web Audio API
+pref("dom.maxHardwareConcurrency", 1); // Bug 21675: Spoof single-core cpu
+pref("dom.w3c_touch_events.enabled", 0); // Bug 10286: Always disable Touch API
// Third party stuff
pref("network.cookie.cookieBehavior", 1);
@@ -1006,11 +1117,18 @@ pref("security.enable_tls_session_tickets", false);
pref("network.http.spdy.enabled", false); // Stores state and may have keepalive issues (both fixable)
pref("network.http.spdy.enabled.v2", false); // Seems redundant, but just in case
pref("network.http.spdy.enabled.v3", false); // Seems redundant, but just in case
-pref("privacy.thirdparty.isolate", 2); // Always enforce third party isolation
-pref("dom.workers.sharedWorkers.enabled", false); // See https://bugs.torproject.org/15562
+pref("network.http.spdy.enabled.v3-1", false); // Seems redundant, but just in case
+pref("privacy.firstparty.isolate", true); // Always enforce first party isolation
+pref("network.http.spdy.enabled.http2", false); // Temporarily disabled pending implementation review
+pref("network.http.spdy.enabled.http2draft", false); // Temporarily disabled pending implementation review
+pref("network.predictor.enabled", false); // Temporarily disabled. See https://bugs.torproject.org/16633
+pref("network.http.altsvc.enabled", false); // Temporarily disabled. See https://bugs.torproject.org/16673
+pref("network.http.altsvc.oe", false); // Temporarily disabled. See https://bugs.torproject.org/16673
// Proxy and proxy security
pref("network.proxy.socks", "127.0.0.1");
+
+// Orbot is on 9050
pref("network.proxy.socks_port", 9050);
pref("network.proxy.socks_remote_dns", true);
pref("network.proxy.no_proxies_on", ""); // For fingerprinting and local service vulns (#10419)
@@ -1032,10 +1150,51 @@ pref("plugin.state.flash", 1);
pref("plugins.hide_infobar_for_missing_plugin", true);
pref("plugins.hideMissingPluginsNotification", true);
pref("media.peerconnection.enabled", false); // Disable WebRTC interfaces
+// Disables media devices but only if `media.peerconnection.enabled` is set to
+// `false` as well. (see bug 16328 for this defense-in-depth measure)
+pref("media.navigator.enabled", false);
+// GMPs: We make sure they don't show up on the Add-on panel and confuse users.
+// And the external update/donwload server must not get pinged. We apply a
+// clever solution for https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=769716.
+pref("media.gmp-provider.enabled", false);
+pref("media.gmp-manager.url.override", "data:text/plain,");
+// Since ESR52 it is not enough anymore to block pinging the GMP update/download
+// server. There is a local fallback that must be blocked now as well. See:
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1267495.
+pref("media.gmp-manager.updateEnabled", false);
+// Mozilla is relying on preferences to make sure no DRM blob is downloaded and
+// run. Even though those prefs should be set correctly by specifying
+// --disable-eme (which we do), we disable all of them here as well for defense
+// in depth.
+pref("browser.eme.ui.enabled", false);
+pref("media.gmp-eme-adobe.visible", false);
+pref("media.gmp-eme-adobe.enabled", false);
+pref("media.gmp-widevinecdm.visible", false);
+pref("media.gmp-widevinecdm.enabled", false);
+pref("media.eme.enabled", false);
+pref("media.eme.apiVisible", false);
+// WebIDE can bypass proxy settings for remote debugging. It also downloads
+// some additional addons that we have not reviewed. Turn all that off.
+pref("devtools.webide.autoinstallADBHelper", false);
+pref("devtools.webide.autoinstallFxdtAdapters", false);
+pref("devtools.webide.enabled", false);
+pref("devtools.appmanager.enabled", false);
+// The in-browser debugger for debugging chrome code is not coping with our
+// restrictive DNS look-up policy. We use "127.0.0.1" instead of "localhost" as
+// a workaround. See bug 16523 for more details.
+pref("devtools.debugger.chrome-debugging-host", "127.0.0.1");
+// Disable mozTCPSocket for sure (bug 18863)
+pref("dom.mozTCPSocket.enabled", false);
// Security slider
pref("svg.in-content.enabled", true);
pref("mathml.disabled", false);
+// Until we address at least the linkability concerns in #19417 let's disable
+// asmjs.
+pref("javascript.options.asmjs", false);
+// Mozilla keeps still finding critical bugs in Graphite code. Disable it for
+// now, see bug 21726.
+pref("gfx.font_rendering.graphite.enabled", false);
// Network and performance
pref("network.http.pipelining", true);
@@ -1051,6 +1210,12 @@ pref("network.http.pipelining.read-timeout", 60000);
// Hacked pref: Now means "Attempt to pipeline at least this many requests together"
pref("network.http.pipelining.max-optimistic-requests", 3);
pref("security.ssl.disable_session_identifiers", true);
+pref("network.manage-offline-status", false);
+// No need to leak things to Mozilla, see bug 21790
+pref("network.captive-portal-service.enabled", false);
+// As a "defense in depth" measure, configure an empty push server URL (the
+// DOM Push features are disabled by default via other prefs).
+pref("dom.push.serverURL", "");
// Extension support
pref("extensions.autoDisableScopes", 0);
@@ -1064,63 +1229,277 @@ pref("extensions.pendingOperations", false);
pref("xpinstall.whitelist.add", "");
pref("xpinstall.whitelist.add.36", "");
+// Toolbar layout
+pref("browser.uiCustomization.state", "{\"placements\":{\"PanelUI-contents\":[\"edit-controls\",\"zoom-controls\",\"new-window-button\",\"save-page-button\",\"print-button\",\"bookmarks-menu-button\",\"history-panelmenu\",\"find-button\",\"preferences-button\",\"add-ons-button\",\"developer-button\",\"https-everywhere-button\",\"downloads-button\"],\"addon-bar\":[\"addonbar-closebutton\",\"status-bar\"],\"PersonalToolbar\":[\"personal-bookmarks\"],\"nav-bar\":[\"noscript-tbb\",\"torbutton-button\",\"urlbar-container\",\"search-container\",\"webrtc-status-button\",\"loop-button\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"toolbar-menubar\":[\"menubar-items\"]},\"seen\":[],\"dirtyAreaCache\":[\"PersonalToolbar\",\"nav-bar\",\"TabsToolbar\",\"toolbar-menubar\",\"PanelUI-contents\",\"addon-bar\"],\"currentVersion\":4,\"newElementCount\":0}");
// Putting the search engine prefs into this file to fix #11236.
// Default search engine
-pref("browser.search.defaultenginename", "Search");
+pref("browser.search.defaultenginename", "data:text/plain,browser.search.defaultenginename=DuckDuckGo");
+// Make sure we use the same search engine regardless of locale
+pref("browser.search.geoSpecificDefaults", false);
// Search engine order (order displayed in the search bar dropdown)
// Somewhat surprisingly we get some random behavior if we specify more than
// two search engines as below. See
// https://bugzilla.mozilla.org/show_bug.cgi?id=1126722 for details.
-pref("browser.search.order.extra.1", "Search");
+pref("browser.search.order.extra.1", "DuckDuckGo");
pref("browser.search.order.extra.2", "YouTube");
+// Hacks/workarounds: Direct2D seems to crash w/ lots of video cards w/ MinGW?
+// Nvida cards also experience crashes without the second pref set to disabled
+pref("gfx.direct2d.disabled", true);
+pref("layers.acceleration.disabled", true);
+
// Audio_data is deprecated in future releases, but still present
// in FF24. This is a dangerous combination (spotted by iSec)
pref("media.audio_data.enabled", false);
// If true, remote JAR files will not be opened, regardless of content type
-// Patch done by Jeff Gibat (iSEC). We bind it to the security slider but allow
-// jar: in default mode.
-pref("network.jar.block-remote-files", false);
+// Patch written by Jeff Gibat (iSEC).
+pref("network.jar.block-remote-files", true);
// Enable TLS 1.1 and 1.2:
// https://trac.torproject.org/projects/tor/ticket/11253
pref("security.tls.version.max", 3);
+// Disable RC4 fallback. This will go live in Firefox 44, Chrome and IE/Edge:
+// https://blog.mozilla.org/security/2015/09/11/deprecating-the-rc4-cipher/
+pref("security.tls.unrestricted_rc4_fallback", false);
-#ifdef TOR_BROWSER_VERSION
-#expand pref("torbrowser.version", __TOR_BROWSER_VERSION__);
-#endif
+// Enforce certificate pinning, see: https://bugs.torproject.org/16206
+pref("security.cert_pinning.enforcement_level", 2);
-// More Orfox specific flags (some might be redundant)
-pref("privacy.clearOnShutdown.cache", true);
-pref("privacy.clearOnShutdown.cookies",true);
-pref("privacy.clearOnShutdown.downloads",true);
-pref("privacy.clearOnShutdown.formdata",true);
-pref("privacy.clearOnShutdown.history",true);
-pref("privacy.clearOnShutdown.offlineApps",true);
-pref("privacy.clearOnShutdown.passwords",true);
-pref("privacy.clearOnShutdown.sessions",true);
-pref("privacy.clearOnShutdown.siteSettings",true);
+// Don't allow MitM via Microsoft Family Safety, see bug 21686
+pref("security.family_safety.mode", 0);
-// Do Not Track!
-pref("privacy.donottrackheader.enabled",false);
-pref("privacy.donottrackheader.value",1);
+// Enforce SHA1 deprecation, see: bug 18042.
+pref("security.pki.sha1_enforcement_level", 2);
-// Don't send a referrer:
-pref("network.http.sendRefererHeader", 0);
+// Avoid report TLS errors to Mozilla. We might want to repurpose this feature
+// one day to help detecting bad relays (which is bug 19119). For now we just
+// hide the checkbox, see bug 22072.
+pref("security.ssl.errorReporting.enabled", false);
-// Make sure certificates are up-to-date:
-pref("security.OCSP.require", true); pref("security.checkloaduri",true);
+// Workaround for https://bugs.torproject.org/13579. Progress on
+// `about:downloads` is only shown if the following preference is set to `true`
+// in case the download panel got removed from the toolbar.
+pref("browser.download.panel.shown", true);
-// Don't display mixed content (i.e. not secure content on a secure page)
-pref("security.mixed_content.block_display_content", true);
+#ifdef TOR_BROWSER_VERSION
+#expand pref("torbrowser.version", __TOR_BROWSER_VERSION__);
+#endif
+
+// If we are bundling fonts, whitelist those bundled fonts, and restrict system fonts to a selection.
+
+#ifdef MOZ_BUNDLED_FONTS
+
+#ifdef XP_MACOSX
+pref("font.system.whitelist", "AppleGothic, Apple Color Emoji, Arial, Courier, Geneva, Georgia, Heiti TC, Helvetica, Helvetica Neue, .Helvetica Neue DeskInterface, Hiragino Kaku Gothic ProN, Lucida Grande, Monaco, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi, STHeiti, STIX Math, Tahoma, Thonburi, Times, Times New Roman, Verdana");
+pref("font.name-list.cursive.x-unicode", "Apple Chancery, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
+pref("font.name-list.fantasy.x-unicode", "Papyrus, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
+pref("font.name-list.monospace.x-unicode", "Courier, Arial, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
+pref("font.name-list.sans-serif.x-unicode", "Helvetica, Tahoma, Arial, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
+pref("font.name-list.serif.x-unicode", "Times, Arial, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
+pref("font.name.cursive.ar", "Arial");
+pref("font.name.fantasy.ar", "Arial");
+pref("font.name.monospace.ar", "Arial");
+pref("font.name.sans-serif.ar", "Arial");
+#endif
-// Disable RTSP
-pref("media.rtsp.enabled", false);
-pref("media.rtsp.video.enabled", false);
+#ifdef XP_WIN
+pref("font.system.whitelist", "Arial, Batang, 바탕, Cambria Math, Courier New, Euphemia, Gautami, Georgia, Gulim, 굴림, GulimChe, 굴림체, Iskoola Pota, Kalinga, Kartika, Latha, Lucida Console, MS Gothic, MS ゴシック, MS Mincho, MS 明朝, MS PGothic, MS Pゴシック, MS PMincho, MS P明朝, MV Boli, Malgun Gothic, Mangal, Meiryo, Meiryo UI, Microsoft Himalaya, Microsoft JhengHei, Microsoft JengHei UI, Microsoft YaHei, 微软雅黑, Microsoft YaHei UI, MingLiU, 細明體, Noto Sans Buginese, Noto Sans Khmer, Noto Sans Lao, Noto Sans Myanmar, Noto Sans Yi, Nyala, PMingLiU, 新細明體, Plantagenet Cherokee, Raavi, Segoe UI, Shruti, SimSun, 宋体, Sylfaen, Tahoma, Times New Roman, Tunga, Verdana, Vrinda, Yu Gothic UI");
+#endif
-// Disable UDP Push service wakeup
-pref("services.push.udp.wakeupEnabled", false);
-pref("dom.push.udp.wakeupEnabled", false);
+#ifdef XP_LINUX
+pref("font.default.lo", "Noto Sans Lao");
+pref("font.default.my", "Noto Sans Myanmar");
+pref("font.default.x-western", "sans-serif");
+pref("font.name-list.cursive.ar", "Noto Naskh Arabic, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.cursive.he", "Noto Sans Hebrew, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.cursive.x-cyrillic", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.cursive.x-unicode", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.cursive.x-western", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.fantasy.ar", "Noto Naskh Arabic, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.fantasy.el", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.fantasy.he", "Noto Sans Hebrew, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.fantasy.x-cyrillic", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.fantasy.x-unicode", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.fantasy.x-western", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.ar", "Noto Naskh Arabic, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.el", "Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.he", "Noto Sans Hebrew, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.ja", "Noto Sans JP Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.ko", "Noto Sans KR Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.th", "Noto Sans Thai, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-armn", "Noto Sans Armenian, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-beng", "Noto Sans Bengali, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-cyrillic", "Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-devanagari", "Noto Sans Devanagari, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-ethi", "Noto Sans Ethiopic, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-geor", "Noto Sans Georgian, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-gujr", "Noto Sans Gujarati, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-guru", "Noto Sans Gurmukhi, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-khmr", "Noto Sans Khmer, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-knda", "Noto Sans Kannada, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-mlym", "Noto Sans Malayalam, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-orya", "Noto Sans Oriya, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-sinh", "Noto Sans Sinhala, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-tamil", "Noto Sans Tamil, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-telu", "Noto Sans Telugu, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-tibt", "Noto Sans Tibetan, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-unicode", "Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.x-western", "Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.zh-CN", "Noto Sans SC Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.zh-HK", "Noto Sans TC Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.monospace.zh-TW", "Noto Sans TC Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.ar", "Noto Naskh Arabic, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.el", "Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.he", "Noto Sans Hebrew, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.ja", "Noto Sans JP Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.ko", "Noto Sans KR Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.th", "Noto Sans Thai, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-armn", "Noto Sans Armenian, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-beng", "Noto Sans Bengali, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-cyrillic", "Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-devanagari", "Noto Sans Devanagari, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-ethi", "Noto Sans Ethiopic, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-geor", "Noto Sans Georgian, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-gujr", "Noto Sans Gujarati, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-guru", "Noto Sans Gurmukhi, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-khmr", "Noto Sans Khmer, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-knda", "Noto Sans Kannada, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-mlym", "Noto Sans Malayalam, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-orya", "Noto Sans Oriya, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-sinh", "Noto Sans Sinhala, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-tamil", "Noto Sans Tamil, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-telu", "Noto Sans Telugu, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-tibt", "Noto Sans Tibetan, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-unicode", "Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.x-western", "Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.zh-CN", "Noto Sans SC Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.zh-HK", "Noto Sans TC Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.sans-serif.zh-TW", "Noto Sans TC Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.ar", "Noto Naskh Arabic, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.el", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.he", "Tinos, Georgia, Noto Sans Hebrew, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.ja", "Noto Sans JP Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.ko", "Noto Sans KR Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.th", "Noto Serif Thai, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-armn", "Noto Serif Armenian, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-beng", "Noto Sans Bengali, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-cyrillic", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-devanagari", "Noto Sans Devanagari, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-ethi", "Noto Sans Ethiopic, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-geor", "Noto Sans Georgian, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-gujr", "Noto Sans Gujarati, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-guru", "Noto Sans Gurmukhi, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-khmr", "Noto Serif Khmer, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-knda", "Noto Sans Kannada, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-mlym", "Noto Sans Malayalam, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-orya", "Noto Sans Oriya, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-sinh", "Noto Sans Sinhala, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-tamil", "Noto Sans Tamil, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-telu", "Noto Sans Telugu, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-tibt", "Noto Sans Tibetan, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-unicode", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.x-western", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.zh-CN", "Noto Sans SC Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.zh-HK", "Noto Sans TC Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name-list.serif.zh-TW", "Noto Sans TC Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
+pref("font.name.cursive.ar", "Noto Naskh Arabic");
+pref("font.name.cursive.el", "Tinos, Georgia");
+pref("font.name.cursive.he", "Noto Sans Hebrew");
+pref("font.name.cursive.x-cyrillic", "Tinos, Georgia");
+pref("font.name.cursive.x-unicode", "Tinos, Georgia");
+pref("font.name.cursive.x-western", "Tinos, Georgia");
+pref("font.name.fantasy.ar", "Noto Naskh Arabic");
+pref("font.name.fantasy.el", "Tinos, Georgia");
+pref("font.name.fantasy.he", "Noto Sans Hebrew");
+pref("font.name.fantasy.x-cyrillic", "Tinos, Georgia");
+pref("font.name.fantasy.x-unicode", "Tinos, Georgia");
+pref("font.name.fantasy.x-western", "Tinos, Georgia");
+pref("font.name.monospace.ar", "Noto Naskh Arabic");
+pref("font.name.monospace.el", "Tinos, Georgia");
+pref("font.name.monospace.he", "Noto Sans Hebrew");
+pref("font.name.monospace.ja", "Noto Sans JP Regular");
+pref("font.name.monospace.ko", "Noto Sans KR Regular");
+pref("font.name.monospace.my", "Noto Sans Myanmar");
+pref("font.name.monospace.th", "Noto Sans Thai");
+pref("font.name.monospace.x-armn", "Noto Sans Armenian");
+pref("font.name.monospace.x-beng", "Noto Sans Bengali");
+pref("font.name.monospace.x-cyrillic", "Cousine, Courier, Courier New");
+pref("font.name.monospace.x-devanagari", "Noto Sans Devanagari");
+pref("font.name.monospace.x-ethi", "Noto Sans Ethiopic");
+pref("font.name.monospace.x-geor", "Noto Sans Georgian");
+pref("font.name.monospace.x-gujr", "Noto Sans Gujarati");
+pref("font.name.monospace.x-guru", "Noto Sans Gurmukhi");
+pref("font.name.monospace.x-khmr", "Noto Sans Khmer");
+pref("font.name.monospace.x-knda", "Noto Sans Kannada");
+pref("font.name.monospace.x-mlym", "Noto Sans Malayalam");
+pref("font.name.monospace.x-orya", "Noto Sans Oriya");
+pref("font.name.monospace.x-sinh", "Noto Sans Sinhala");
+pref("font.name.monospace.x-tamil", "Noto Sans Tamil");
+pref("font.name.monospace.x-telu", "Noto Sans Telugu");
+pref("font.name.monospace.x-tibt", "Noto Sans Tibetan");
+pref("font.name.monospace.x-unicode", "Cousine, Courier, Courier New");
+pref("font.name.monospace.x-western", "Cousine, Courier, Courier New");
+pref("font.name.monospace.zh-CN", "Noto Sans SC Regular");
+pref("font.name.monospace.zh-HK", "Noto Sans TC Regular");
+pref("font.name.monospace.zh-TW", "Noto Sans TC Regular");
+pref("font.name.sans-serif.ar", "Noto Naskh Arabic");
+pref("font.name.sans-serif.el", "Arimo, Arial, Verdana");
+pref("font.name.sans-serif.he", "Noto Sans Hebrew");
+pref("font.name.sans-serif.ja", "Noto Sans JP Regular");
+pref("font.name.sans-serif.ko", "Noto Sans KR Regular");
+pref("font.name.sans-serif.th", "Noto Sans Thai");
+pref("font.name.sans-serif.x-armn", "Noto Sans Armenian");
+pref("font.name.sans-serif.x-beng", "Noto Sans Bengali");
+pref("font.name.sans-serif.x-cyrillic", "Arimo, Arial, Verdana");
+pref("font.name.sans-serif.x-devanagari", "Noto Sans Devanagari");
+pref("font.name.sans-serif.x-ethi", "Noto Sans Ethiopic");
+pref("font.name.sans-serif.x-geor", "Noto Sans Georgian");
+pref("font.name.sans-serif.x-gujr", "Noto Sans Gujarati");
+pref("font.name.sans-serif.x-guru", "Noto Sans Gurmukhi");
+pref("font.name.sans-serif.x-khmr", "Noto Sans Khmer");
+pref("font.name.sans-serif.x-knda", "Noto Sans Kannada");
+pref("font.name.sans-serif.x-mlym", "Noto Sans Malayalam");
+pref("font.name.sans-serif.x-orya", "Noto Sans Oriya");
+pref("font.name.sans-serif.x-sinh", "Noto Sans Sinhala");
+pref("font.name.sans-serif.x-tamil", "Noto Sans Tamil");
+pref("font.name.sans-serif.x-telu", "Noto Sans Telugu");
+pref("font.name.sans-serif.x-tibt", "Noto Sans Tibetan");
+pref("font.name.sans-serif.x-unicode", "Arimo, Arial, Verdana");
+pref("font.name.sans-serif.x-western", "Arimo, Arial, Verdana");
+pref("font.name.sans-serif.zh-CN", "Noto Sans SC Regular");
+pref("font.name.sans-serif.zh-HK", "Noto Sans TC Regular");
+pref("font.name.sans-serif.zh-TW", "Noto Sans TC Regular");
+pref("font.name.sans.my", "Noto Sans Myanmar");
+pref("font.name.serif.ar", "Noto Naskh Arabic");
+pref("font.name.serif.el", "Tinos, Georgia");
+pref("font.name.serif.he", "Noto Sans Hebrew");
+pref("font.name.serif.ja", "Noto Sans JP Regular");
+pref("font.name.serif.ko", "Noto Sans KR Regular");
+pref("font.name.serif.my", "Noto Sans Myanmar");
+pref("font.name.serif.th", "Noto Serif Thai");
+pref("font.name.serif.x-armn", "Noto Serif Armenian");
+pref("font.name.serif.x-beng", "Noto Sans Bengali");
+pref("font.name.serif.x-cyrillic", "Tinos, Georgia");
+pref("font.name.serif.x-devanagari", "Noto Sans Devanagari");
+pref("font.name.serif.x-ethi", "Noto Sans Ethiopic");
+pref("font.name.serif.x-geor", "Noto Sans Georgian");
+pref("font.name.serif.x-gujr", "Noto Sans Gujarati");
+pref("font.name.serif.x-guru", "Noto Sans Gurmukhi");
+pref("font.name.serif.x-khmr", "Noto Serif Khmer");
+pref("font.name.serif.x-knda", "Noto Sans Kannada");
+pref("font.name.serif.x-mlym", "Noto Sans Malayalam");
+pref("font.name.serif.x-orya", "Noto Sans Oriya");
+pref("font.name.serif.x-sinh", "Noto Sans Sinhala");
+pref("font.name.serif.x-tamil", "Noto Sans Tamil");
+pref("font.name.serif.x-telu", "Noto Sans Telugu");
+pref("font.name.serif.x-tibt", "Noto Sans Tibetan");
+pref("font.name.serif.x-unicode", "Tinos, Georgia");
+pref("font.name.serif.x-western", "Tinos, Georgia");
+pref("font.name.serif.zh-CN", "Noto Sans SC Regular");
+pref("font.name.serif.zh-HK", "Noto Sans TC Regular");
+pref("font.name.serif.zh-TW", "Noto Sans TC Regular");
+#endif
+#endif
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] update user-agent to 52 Mozilla/5.0 (Android; Mobile; rv:52.0) Gecko/20100101 Firefox/52.0
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 742742966a85a90d2528e8bcadf78705a4cf49da
Author: n8fr8 <nathan(a)freitas.net>
Date: Wed Dec 13 11:06:49 2017 -0500
update user-agent to 52 Mozilla/5.0 (Android; Mobile; rv:52.0) Gecko/20100101 Firefox/52.0
---
mobile/android/app/mobile.js | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js
index 0a1b1c450b08..a251d67697ce 100644
--- a/mobile/android/app/mobile.js
+++ b/mobile/android/app/mobile.js
@@ -980,7 +980,7 @@ pref("gfx.downloadable_fonts.fallback_delay", -1);
// pref("general.appversion.override", "5.0 (Windows)");
// pref("general.oscpu.override", "Windows NT 6.1");
// pref("general.platform.override", "Win32");
-pref("general.useragent.override", "Mozilla/5.0 (Android; Mobile; rv:38.0) Gecko/38.0 Firefox/38.0");
+pref("general.useragent.override", "Mozilla/5.0 (Android; Mobile; rv:52.0) Gecko/20100101 Firefox/52.0");
// pref("general.productSub.override", "20100101");
// pref("general.buildID.override", "20100101");
// pref("browser.startup.homepage_override.buildID", "20100101");
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] update to latest from TB browser.js prefs file
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 53e61ab67d0995f4b21814e82b468eb14818301a
Author: n8fr8 <nathan(a)freitas.net>
Date: Wed Jul 19 00:39:37 2017 -0400
update to latest from TB browser.js prefs file
fix user-agent for Orfox and set DDG as default search
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
mobile/android/app/mobile.js | 434 ++++++++++++++++++++-----------------------
1 file changed, 198 insertions(+), 236 deletions(-)
diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js
index 8fe349a5129c..4b8386e20115 100644
--- a/mobile/android/app/mobile.js
+++ b/mobile/android/app/mobile.js
@@ -384,7 +384,7 @@ pref("geo.enabled", true);
// content sink control -- controls responsiveness during page load
// see https://bugzilla.mozilla.org/show_bug.cgi?id=481566#c9
//pref("content.sink.enable_perf_mode", 2); // 0 - switch, 1 - interactive, 2 - perf
- /pref("content.sink.pending_event_mode", 0);
+//pref("content.sink.pending_event_mode", 0);
//pref("content.sink.perf_deflect_count", 1000000);
//pref("content.sink.perf_parse_time", 50000000);
@@ -482,6 +482,7 @@ pref("app.feedbackURL", "https://input.mozilla.org/feedback/android/%VERSION%/%C
pref("app.privacyURL", "https://www.mozilla.org/privacy/firefox/");
pref("app.creditsURL", "https://www.mozilla.org/credits/");
pref("app.channelURL", "https://www.mozilla.org/%LOCALE%/firefox/channel/");
+
#if MOZ_UPDATE_CHANNEL == aurora
pref("app.releaseNotesURL", "https://www.mozilla.com/%LOCALE%/mobile/%VERSION%/auroranotes/");
#elif MOZ_UPDATE_CHANNEL == beta
@@ -905,17 +906,194 @@ pref("identity.fxaccounts.remote.oauth.uri", "https://oauth.accounts.firefox.com
// Token server used by Firefox Account-authenticated Sync.
pref("identity.sync.tokenserver.uri", "https://token.services.mozilla.com/1.0/sync/1.5");
+# Default Preferences
+# Tor Browser Bundle
+# Do not edit this file.
+
+// Please maintain unit tests at ./tbb-tests/browser_tor_TB4.js
+
+// Disable browser auto updaters and associated homepage notifications
+pref("app.update.auto", false);
+pref("app.update.enabled", false);
+pref("browser.search.update", false);
+pref("browser.rights.3.shown", true);
+pref("browser.startup.homepage_override.mstone", "ignore");
+pref("startup.homepage_welcome_url", "");
+pref("startup.homepage_override_url", "");
+
+// Disable "Slow startup" warnings and associated disk history
+// (bug #13346)
+pref("browser.slowStartup.notificationDisabled", true);
+pref("browser.slowStartup.maxSamples", 0);
+pref("browser.slowStartup.samples", 0);
+
+// Disk activity: Disable Browsing History Storage
+pref("browser.privatebrowsing.autostart", true);
+pref("browser.cache.disk.enable", false);
+pref("browser.cache.offline.enable", false);
+pref("dom.indexedDB.enabled", false);
+pref("permissions.memory_only", true);
+pref("network.cookie.lifetimePolicy", 2);
+pref("browser.download.manager.retention", 1);
+pref("security.nocertdb", true);
+
+// Disk activity: TBB Directory Isolation
+pref("browser.download.useDownloadDir", false);
+pref("browser.shell.checkDefaultBrowser", false);
+pref("browser.download.manager.addToRecentDocs", false);
+
+// Misc privacy: Disk
+pref("signon.rememberSignons", false);
+pref("browser.formfill.enable", false);
+pref("signon.autofillForms", false);
+pref("browser.sessionstore.privacy_level", 2);
+pref("media.cache_size", 0);
+
+// Misc privacy: Remote
+pref("browser.send_pings", false);
+pref("geo.enabled", false);
+pref("geo.wifi.uri", "");
+pref("browser.search.suggest.enabled", false);
+pref("browser.safebrowsing.enabled", false);
+pref("browser.safebrowsing.malware.enabled", false);
+pref("browser.download.manager.scanWhenDone", false); // prevents AV remote reporting of downloads
+pref("extensions.ui.lastCategory", "addons://list/extension");
+pref("datareporting.healthreport.service.enabled", false); // Yes, all three of these must be set
+pref("datareporting.healthreport.uploadEnabled", false);
+pref("datareporting.policy.dataSubmissionEnabled", false);
+pref("security.mixed_content.block_active_content", false); // Disable until https://bugzilla.mozilla.org/show_bug.cgi?id=878890 is patched
+pref("browser.syncPromoViewsLeftMap", "{\"addons\":0, \"passwords\":0, \"bookmarks\":0}"); // Don't promote sync
+pref("services.sync.engine.prefs", false); // Never sync prefs, addons, or tabs with other browsers
+pref("services.sync.engine.addons", false);
+pref("services.sync.engine.tabs", false);
+pref("extensions.getAddons.cache.enabled", false); // https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/
+
+// Fingerprinting
+pref("webgl.min_capability_mode", true);
+pref("webgl.disable-extensions", true);
+pref("dom.battery.enabled", false); // fingerprinting due to differing OS implementations
+pref("dom.network.enabled",false); // fingerprinting due to differing OS implementations
+pref("browser.display.max_font_attempts",10);
+pref("browser.display.max_font_count",10);
+pref("gfx.downloadable_fonts.fallback_delay", -1);
+// pref("general.appname.override", "Netscape");
+// pref("general.appversion.override", "5.0 (Windows)");
+// pref("general.oscpu.override", "Windows NT 6.1");
+// pref("general.platform.override", "Win32");
pref("general.useragent.override", "Mozilla/5.0 (Android; Mobile; rv:38.0) Gecko/38.0 Firefox/38.0");
+// pref("general.productSub.override", "20100101");
+// pref("general.buildID.override", "20100101");
+// pref("browser.startup.homepage_override.buildID", "20100101");
+pref("general.useragent.vendor", "");
+pref("general.useragent.vendorSub", "");
+pref("dom.enable_performance", false);
+pref("plugin.expose_full_path", false);
+pref("browser.zoom.siteSpecific", false);
+pref("intl.charset.default", "windows-1252");
+pref("browser.link.open_newwindow.restriction", 0); // Bug 9881: Open popups in new tabs (to avoid fullscreen popups)
+pref("dom.gamepad.enabled", false); // bugs.torproject.org/13023
+pref("javascript.use_us_english_locale", true);
+// pref("intl.accept_languages", "en-us, en"); // Set by Torbutton
+// pref("intl.accept_charsets", "iso-8859-1,*,utf-8"); // Set by Torbutton
+// pref("intl.charsetmenu.browser.cache", "UTF-8"); // Set by Torbutton
+// Disable video statistics fingerprinting vector (bug 15757)
+pref("media.video_stats.enabled", false);
+// Disable device sensors as possible fingerprinting vector (bug 15758)
+pref("device.sensors.enabled", false);
+
+// Third party stuff
+pref("network.cookie.cookieBehavior", 1);
+pref("security.enable_tls_session_tickets", false);
+pref("network.http.spdy.enabled", false); // Stores state and may have keepalive issues (both fixable)
+pref("network.http.spdy.enabled.v2", false); // Seems redundant, but just in case
+pref("network.http.spdy.enabled.v3", false); // Seems redundant, but just in case
+pref("privacy.thirdparty.isolate", 2); // Always enforce third party isolation
+pref("dom.workers.sharedWorkers.enabled", false); // See https://bugs.torproject.org/15562
// Proxy and proxy security
pref("network.proxy.socks", "127.0.0.1");
pref("network.proxy.socks_port", 9050);
pref("network.proxy.socks_remote_dns", true);
+pref("network.proxy.no_proxies_on", ""); // For fingerprinting and local service vulns (#10419)
+pref("network.proxy.type", 1);
+pref("network.security.ports.banned", "9050,9051,9150,9151");
+pref("network.dns.disablePrefetch", true);
+pref("network.protocol-handler.external-default", false);
+pref("network.protocol-handler.external.mailto", false);
+pref("network.protocol-handler.external.news", false);
+pref("network.protocol-handler.external.nntp", false);
+pref("network.protocol-handler.external.snews", false);
+pref("network.protocol-handler.warn-external.mailto", true);
+pref("network.protocol-handler.warn-external.news", true);
+pref("network.protocol-handler.warn-external.nntp", true);
+pref("network.protocol-handler.warn-external.snews", true);
+pref("plugin.disable", true); // Disable to search plugins on first start
+pref("plugins.click_to_play", true);
+pref("plugin.state.flash", 1);
+pref("plugins.hide_infobar_for_missing_plugin", true);
+pref("plugins.hideMissingPluginsNotification", true);
+pref("media.peerconnection.enabled", false); // Disable WebRTC interfaces
// Security slider
pref("svg.in-content.enabled", true);
pref("mathml.disabled", false);
+// Network and performance
+pref("network.http.pipelining", true);
+pref("network.http.pipelining.aggressive", true);
+pref("network.http.pipelining.maxrequests", 12);
+pref("network.http.pipelining.ssl", true);
+pref("network.http.proxy.pipelining", true);
+pref("security.ssl.enable_false_start", true);
+pref("network.http.connection-retry-timeout", 0);
+pref("network.http.max-persistent-connections-per-proxy", 256);
+pref("network.http.pipelining.reschedule-timeout", 15000);
+pref("network.http.pipelining.read-timeout", 60000);
+// Hacked pref: Now means "Attempt to pipeline at least this many requests together"
+pref("network.http.pipelining.max-optimistic-requests", 3);
+pref("security.ssl.disable_session_identifiers", true);
+
+// Extension support
+pref("extensions.autoDisableScopes", 0);
+pref("extensions.bootstrappedAddons", "{}");
+pref("extensions.checkCompatibility.4.*", false);
+pref("extensions.databaseSchema", 3);
+pref("extensions.enabledAddons", "https-everywhere%40eff.org:3.1.4,%7B73a6fe31-595d-460b-a920-fcc0f8843232%7D:2.6.6.1,torbutton%40torproject.org:1.5.2,ubufox%40ubuntu.com:2.6,tor-launcher%40torproject.org:0.1.1pre-alpha,%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:17.0.5");
+pref("extensions.enabledItems", "langpack-en-US@firefox.mozilla.org:,{73a6fe31-595d-460b-a920-fcc0f8843232}:1.9.9.57,{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}:1.2.4,{972ce4c6-7e08-4474-a285-3208198ce6fd}:3.5.8");
+pref("extensions.enabledScopes", 1);
+pref("extensions.pendingOperations", false);
+pref("xpinstall.whitelist.add", "");
+pref("xpinstall.whitelist.add.36", "");
+
+
+// Putting the search engine prefs into this file to fix #11236.
+// Default search engine
+//pref("browser.search.defaultenginename", "Search");
+
+// Search engine order (order displayed in the search bar dropdown)
+// Somewhat surprisingly we get some random behavior if we specify more than
+// two search engines as below. See
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1126722 for details.
+//pref("browser.search.order.extra.1", "Search");
+//pref("browser.search.order.extra.2", "YouTube");
+
+// Audio_data is deprecated in future releases, but still present
+// in FF24. This is a dangerous combination (spotted by iSec)
+pref("media.audio_data.enabled", false);
+
+// If true, remote JAR files will not be opened, regardless of content type
+// Patch done by Jeff Gibat (iSEC). We bind it to the security slider but allow
+// jar: in default mode.
+pref("network.jar.block-remote-files", false);
+
+// Enable TLS 1.1 and 1.2:
+// https://trac.torproject.org/projects/tor/ticket/11253
+pref("security.tls.version.max", 3);
+
+#ifdef TOR_BROWSER_VERSION
+#expand pref("torbrowser.version", __TOR_BROWSER_VERSION__);
+#endif
+
// More Orfox specific flags (some might be redundant)
pref("privacy.clearOnShutdown.cache", true);
pref("privacy.clearOnShutdown.cookies",true);
@@ -927,12 +1105,24 @@ pref("privacy.clearOnShutdown.passwords",true);
pref("privacy.clearOnShutdown.sessions",true);
pref("privacy.clearOnShutdown.siteSettings",true);
+// Do Not Track!
+pref("privacy.donottrackheader.enabled",false);
+pref("privacy.donottrackheader.value",1);
-# Default Preferences
-# Tor Browser Bundle
-# Do not edit this file.
+// Don't send a referrer:
+pref("network.http.sendRefererHeader", 0);
+
+// Make sure certificates are up-to-date:
+pref("security.OCSP.require", true); pref("security.checkloaduri",true);
+
+// Disable RTSP
+pref("media.rtsp.enabled", false);
+pref("media.rtsp.video.enabled", false);
+
+// Disable UDP Push service wakeup
+pref("services.push.udp.wakeupEnabled", false);
+pref("dom.push.udp.wakeupEnabled", false);
-// Please maintain unit tests at ./tbb-tests/browser_tor_TB4.js
// Disable initial homepage notifications
pref("browser.search.update", false);
@@ -954,10 +1144,6 @@ pref("app.update.promptWaitTime", 3600);
pref("app.update.badge", true);
pref("extensions.hotfix.id", ""); // Bug 16837: Disable hotfix updates as they may cause compat issues
-#ifdef XP_WIN
-// For now, disable staged updates on Windows (see #18292).
-pref("app.update.staging.enabled", false);
-#endif
// No need to contact the Kinto-based blocklist system in addition to the old
// one which is still used, see bug 22071.
@@ -1069,16 +1255,14 @@ pref("webgl.disable-fail-if-major-performance-caveat", true);
pref("webgl.enable-webgl2", false);
pref("dom.network.enabled",false); // fingerprinting due to differing OS implementations
pref("gfx.downloadable_fonts.fallback_delay", -1);
-
-//disabled for Orfox
//pref("general.appname.override", "Netscape");
//pref("general.appversion.override", "5.0 (Windows)");
//pref("general.oscpu.override", "Windows NT 6.1");
//pref("general.platform.override", "Win32");
//pref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0");
//pref("general.productSub.override", "20100101");
-pref("general.buildID.override", "20100101");
-pref("browser.startup.homepage_override.buildID", "20100101");
+//pref("general.buildID.override", "20100101");
+//pref("browser.startup.homepage_override.buildID", "20100101");
pref("general.useragent.vendor", "");
pref("general.useragent.vendorSub", "");
pref("dom.enable_performance", false);
@@ -1127,8 +1311,6 @@ pref("network.http.altsvc.oe", false); // Temporarily disabled. See https://bugs
// Proxy and proxy security
pref("network.proxy.socks", "127.0.0.1");
-
-// Orbot is on 9050
pref("network.proxy.socks_port", 9050);
pref("network.proxy.socks_remote_dns", true);
pref("network.proxy.no_proxies_on", ""); // For fingerprinting and local service vulns (#10419)
@@ -1222,16 +1404,11 @@ pref("extensions.autoDisableScopes", 0);
pref("extensions.bootstrappedAddons", "{}");
pref("extensions.checkCompatibility.4.*", false);
pref("extensions.databaseSchema", 3);
-pref("extensions.enabledAddons", "https-everywhere%40eff.org:3.1.4,%7B73a6fe31-595d-460b-a920-fcc0f8843232%7D:2.6.6.1,torbutton%40torproject.org:1.5.2,ubufox%40ubuntu.com:2.6,tor-launcher%40torproject.org:0.1.1pre-alpha,%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:17.0.5");
-pref("extensions.enabledItems", "langpack-en-US@firefox.mozilla.org:,{73a6fe31-595d-460b-a920-fcc0f8843232}:1.9.9.57,{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}:1.2.4,{972ce4c6-7e08-4474-a285-3208198ce6fd}:3.5.8");
pref("extensions.enabledScopes", 1);
pref("extensions.pendingOperations", false);
pref("xpinstall.whitelist.add", "");
pref("xpinstall.whitelist.add.36", "");
-// Toolbar layout
-pref("browser.uiCustomization.state", "{\"placements\":{\"PanelUI-contents\":[\"edit-controls\",\"zoom-controls\",\"new-window-button\",\"save-page-button\",\"print-button\",\"bookmarks-menu-button\",\"history-panelmenu\",\"find-button\",\"preferences-button\",\"add-ons-button\",\"developer-button\",\"https-everywhere-button\",\"downloads-button\"],\"addon-bar\":[\"addonbar-closebutton\",\"status-bar\"],\"PersonalToolbar\":[\"personal-bookmarks\"],\"nav-bar\":[\"noscript-tbb\",\"torbutton-button\",\"urlbar-container\",\"search-container\",\"webrtc-status-button\",\"loop-button\"],\"TabsToolbar\":[\"tabbrowser-tabs\",\"new-tab-button\",\"alltabs-button\"],\"toolbar-menubar\":[\"menubar-items\"]},\"seen\":[],\"dirtyAreaCache\":[\"PersonalToolbar\",\"nav-bar\",\"TabsToolbar\",\"toolbar-menubar\",\"PanelUI-contents\",\"addon-bar\"],\"currentVersion\":4,\"newElementCount\":0}");
-
// Putting the search engine prefs into this file to fix #11236.
// Default search engine
pref("browser.search.defaultenginename", "data:text/plain,browser.search.defaultenginename=DuckDuckGo");
@@ -1282,224 +1459,9 @@ pref("security.ssl.errorReporting.enabled", false);
// Workaround for https://bugs.torproject.org/13579. Progress on
// `about:downloads` is only shown if the following preference is set to `true`
// in case the download panel got removed from the toolbar.
-pref("browser.download.panel.shown", true);
+//pref("browser.download.panel.shown", true);
#ifdef TOR_BROWSER_VERSION
#expand pref("torbrowser.version", __TOR_BROWSER_VERSION__);
#endif
-// If we are bundling fonts, whitelist those bundled fonts, and restrict system fonts to a selection.
-
-#ifdef MOZ_BUNDLED_FONTS
-
-#ifdef XP_MACOSX
-pref("font.system.whitelist", "AppleGothic, Apple Color Emoji, Arial, Courier, Geneva, Georgia, Heiti TC, Helvetica, Helvetica Neue, .Helvetica Neue DeskInterface, Hiragino Kaku Gothic ProN, Lucida Grande, Monaco, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi, STHeiti, STIX Math, Tahoma, Thonburi, Times, Times New Roman, Verdana");
-pref("font.name-list.cursive.x-unicode", "Apple Chancery, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
-pref("font.name-list.fantasy.x-unicode", "Papyrus, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
-pref("font.name-list.monospace.x-unicode", "Courier, Arial, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
-pref("font.name-list.sans-serif.x-unicode", "Helvetica, Tahoma, Arial, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
-pref("font.name-list.serif.x-unicode", "Times, Arial, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Tibetan, Noto Sans Yi");
-pref("font.name.cursive.ar", "Arial");
-pref("font.name.fantasy.ar", "Arial");
-pref("font.name.monospace.ar", "Arial");
-pref("font.name.sans-serif.ar", "Arial");
-#endif
-
-#ifdef XP_WIN
-pref("font.system.whitelist", "Arial, Batang, 바탕, Cambria Math, Courier New, Euphemia, Gautami, Georgia, Gulim, 굴림, GulimChe, 굴림체, Iskoola Pota, Kalinga, Kartika, Latha, Lucida Console, MS Gothic, MS ゴシック, MS Mincho, MS 明朝, MS PGothic, MS Pゴシック, MS PMincho, MS P明朝, MV Boli, Malgun Gothic, Mangal, Meiryo, Meiryo UI, Microsoft Himalaya, Microsoft JhengHei, Microsoft JengHei UI, Microsoft YaHei, 微软雅黑, Microsoft YaHei UI, MingLiU, 細明體, Noto Sans Buginese, Noto Sans Khmer, Noto Sans Lao, Noto Sans Myanmar, Noto Sans Yi, Nyala, PMingLiU, 新細明體, Plantagenet Cherokee, Raavi, Segoe UI, Shruti, SimSun, 宋体, Sylfaen, Tahoma, Times New Roman, Tunga, Verdana, Vrinda, Yu Gothic UI");
-#endif
-
-#ifdef XP_LINUX
-pref("font.default.lo", "Noto Sans Lao");
-pref("font.default.my", "Noto Sans Myanmar");
-pref("font.default.x-western", "sans-serif");
-pref("font.name-list.cursive.ar", "Noto Naskh Arabic, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.cursive.he", "Noto Sans Hebrew, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.cursive.x-cyrillic", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.cursive.x-unicode", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.cursive.x-western", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.fantasy.ar", "Noto Naskh Arabic, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.fantasy.el", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.fantasy.he", "Noto Sans Hebrew, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.fantasy.x-cyrillic", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.fantasy.x-unicode", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.fantasy.x-western", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.ar", "Noto Naskh Arabic, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.el", "Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.he", "Noto Sans Hebrew, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.ja", "Noto Sans JP Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.ko", "Noto Sans KR Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.th", "Noto Sans Thai, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-armn", "Noto Sans Armenian, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-beng", "Noto Sans Bengali, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-cyrillic", "Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-devanagari", "Noto Sans Devanagari, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-ethi", "Noto Sans Ethiopic, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-geor", "Noto Sans Georgian, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-gujr", "Noto Sans Gujarati, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-guru", "Noto Sans Gurmukhi, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-khmr", "Noto Sans Khmer, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-knda", "Noto Sans Kannada, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-mlym", "Noto Sans Malayalam, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-orya", "Noto Sans Oriya, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-sinh", "Noto Sans Sinhala, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-tamil", "Noto Sans Tamil, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-telu", "Noto Sans Telugu, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-tibt", "Noto Sans Tibetan, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-unicode", "Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.x-western", "Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.zh-CN", "Noto Sans SC Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.zh-HK", "Noto Sans TC Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.monospace.zh-TW", "Noto Sans TC Regular, Cousine, Courier, Courier New, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.ar", "Noto Naskh Arabic, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.el", "Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.he", "Noto Sans Hebrew, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.ja", "Noto Sans JP Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.ko", "Noto Sans KR Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.th", "Noto Sans Thai, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-armn", "Noto Sans Armenian, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-beng", "Noto Sans Bengali, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-cyrillic", "Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-devanagari", "Noto Sans Devanagari, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-ethi", "Noto Sans Ethiopic, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-geor", "Noto Sans Georgian, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-gujr", "Noto Sans Gujarati, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-guru", "Noto Sans Gurmukhi, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-khmr", "Noto Sans Khmer, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-knda", "Noto Sans Kannada, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-mlym", "Noto Sans Malayalam, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-orya", "Noto Sans Oriya, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-sinh", "Noto Sans Sinhala, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-tamil", "Noto Sans Tamil, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-telu", "Noto Sans Telugu, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-tibt", "Noto Sans Tibetan, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-unicode", "Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.x-western", "Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.zh-CN", "Noto Sans SC Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.zh-HK", "Noto Sans TC Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.sans-serif.zh-TW", "Noto Sans TC Regular, Arimo, Arial, Verdana, Noto Naskh Arabic, Noto Sans Armenian, Noto Sans Bengali, Noto Sans Buginese, Noto Sans JP Regular, Noto Sans KR Regular, Noto Sans SC Regular, Noto Sans TC Regular, Noto Sans Canadian Aboriginal, Noto Sans Cherokee, Noto Sans Devanagari, Noto Sans Ethiopic, Noto Sans Georgian, Noto Sans Gujarati, Noto Sans Gurmukhi, Noto Sans Hebrew, Noto Sans Kannada, Noto Sans Khmer, Noto Sans Lao, Noto Sans Malayalam, Noto Sans Mongolian, Noto Sans Myanmar, Noto Sans Oriya, Noto Sans Sinhala, Noto Sans Tamil, Noto Sans Telugu, Noto Sans Thaana, Noto Sans Thai, Noto Sans Tibetan, Noto Sans Yi, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.ar", "Noto Naskh Arabic, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.el", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.he", "Tinos, Georgia, Noto Sans Hebrew, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.ja", "Noto Sans JP Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.ko", "Noto Sans KR Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.th", "Noto Serif Thai, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-armn", "Noto Serif Armenian, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-beng", "Noto Sans Bengali, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-cyrillic", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-devanagari", "Noto Sans Devanagari, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-ethi", "Noto Sans Ethiopic, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-geor", "Noto Sans Georgian, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-gujr", "Noto Sans Gujarati, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-guru", "Noto Sans Gurmukhi, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-khmr", "Noto Serif Khmer, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-knda", "Noto Sans Kannada, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-mlym", "Noto Sans Malayalam, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-orya", "Noto Sans Oriya, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-sinh", "Noto Sans Sinhala, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-tamil", "Noto Sans Tamil, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-telu", "Noto Sans Telugu, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-tibt", "Noto Sans Tibetan, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-unicode", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.x-western", "Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.zh-CN", "Noto Sans SC Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.zh-HK", "Noto Sans TC Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name-list.serif.zh-TW", "Noto Sans TC Regular, Tinos, Georgia, Noto Serif Armenian, Noto Serif Khmer, Noto Serif Lao, Noto Serif Thai");
-pref("font.name.cursive.ar", "Noto Naskh Arabic");
-pref("font.name.cursive.el", "Tinos, Georgia");
-pref("font.name.cursive.he", "Noto Sans Hebrew");
-pref("font.name.cursive.x-cyrillic", "Tinos, Georgia");
-pref("font.name.cursive.x-unicode", "Tinos, Georgia");
-pref("font.name.cursive.x-western", "Tinos, Georgia");
-pref("font.name.fantasy.ar", "Noto Naskh Arabic");
-pref("font.name.fantasy.el", "Tinos, Georgia");
-pref("font.name.fantasy.he", "Noto Sans Hebrew");
-pref("font.name.fantasy.x-cyrillic", "Tinos, Georgia");
-pref("font.name.fantasy.x-unicode", "Tinos, Georgia");
-pref("font.name.fantasy.x-western", "Tinos, Georgia");
-pref("font.name.monospace.ar", "Noto Naskh Arabic");
-pref("font.name.monospace.el", "Tinos, Georgia");
-pref("font.name.monospace.he", "Noto Sans Hebrew");
-pref("font.name.monospace.ja", "Noto Sans JP Regular");
-pref("font.name.monospace.ko", "Noto Sans KR Regular");
-pref("font.name.monospace.my", "Noto Sans Myanmar");
-pref("font.name.monospace.th", "Noto Sans Thai");
-pref("font.name.monospace.x-armn", "Noto Sans Armenian");
-pref("font.name.monospace.x-beng", "Noto Sans Bengali");
-pref("font.name.monospace.x-cyrillic", "Cousine, Courier, Courier New");
-pref("font.name.monospace.x-devanagari", "Noto Sans Devanagari");
-pref("font.name.monospace.x-ethi", "Noto Sans Ethiopic");
-pref("font.name.monospace.x-geor", "Noto Sans Georgian");
-pref("font.name.monospace.x-gujr", "Noto Sans Gujarati");
-pref("font.name.monospace.x-guru", "Noto Sans Gurmukhi");
-pref("font.name.monospace.x-khmr", "Noto Sans Khmer");
-pref("font.name.monospace.x-knda", "Noto Sans Kannada");
-pref("font.name.monospace.x-mlym", "Noto Sans Malayalam");
-pref("font.name.monospace.x-orya", "Noto Sans Oriya");
-pref("font.name.monospace.x-sinh", "Noto Sans Sinhala");
-pref("font.name.monospace.x-tamil", "Noto Sans Tamil");
-pref("font.name.monospace.x-telu", "Noto Sans Telugu");
-pref("font.name.monospace.x-tibt", "Noto Sans Tibetan");
-pref("font.name.monospace.x-unicode", "Cousine, Courier, Courier New");
-pref("font.name.monospace.x-western", "Cousine, Courier, Courier New");
-pref("font.name.monospace.zh-CN", "Noto Sans SC Regular");
-pref("font.name.monospace.zh-HK", "Noto Sans TC Regular");
-pref("font.name.monospace.zh-TW", "Noto Sans TC Regular");
-pref("font.name.sans-serif.ar", "Noto Naskh Arabic");
-pref("font.name.sans-serif.el", "Arimo, Arial, Verdana");
-pref("font.name.sans-serif.he", "Noto Sans Hebrew");
-pref("font.name.sans-serif.ja", "Noto Sans JP Regular");
-pref("font.name.sans-serif.ko", "Noto Sans KR Regular");
-pref("font.name.sans-serif.th", "Noto Sans Thai");
-pref("font.name.sans-serif.x-armn", "Noto Sans Armenian");
-pref("font.name.sans-serif.x-beng", "Noto Sans Bengali");
-pref("font.name.sans-serif.x-cyrillic", "Arimo, Arial, Verdana");
-pref("font.name.sans-serif.x-devanagari", "Noto Sans Devanagari");
-pref("font.name.sans-serif.x-ethi", "Noto Sans Ethiopic");
-pref("font.name.sans-serif.x-geor", "Noto Sans Georgian");
-pref("font.name.sans-serif.x-gujr", "Noto Sans Gujarati");
-pref("font.name.sans-serif.x-guru", "Noto Sans Gurmukhi");
-pref("font.name.sans-serif.x-khmr", "Noto Sans Khmer");
-pref("font.name.sans-serif.x-knda", "Noto Sans Kannada");
-pref("font.name.sans-serif.x-mlym", "Noto Sans Malayalam");
-pref("font.name.sans-serif.x-orya", "Noto Sans Oriya");
-pref("font.name.sans-serif.x-sinh", "Noto Sans Sinhala");
-pref("font.name.sans-serif.x-tamil", "Noto Sans Tamil");
-pref("font.name.sans-serif.x-telu", "Noto Sans Telugu");
-pref("font.name.sans-serif.x-tibt", "Noto Sans Tibetan");
-pref("font.name.sans-serif.x-unicode", "Arimo, Arial, Verdana");
-pref("font.name.sans-serif.x-western", "Arimo, Arial, Verdana");
-pref("font.name.sans-serif.zh-CN", "Noto Sans SC Regular");
-pref("font.name.sans-serif.zh-HK", "Noto Sans TC Regular");
-pref("font.name.sans-serif.zh-TW", "Noto Sans TC Regular");
-pref("font.name.sans.my", "Noto Sans Myanmar");
-pref("font.name.serif.ar", "Noto Naskh Arabic");
-pref("font.name.serif.el", "Tinos, Georgia");
-pref("font.name.serif.he", "Noto Sans Hebrew");
-pref("font.name.serif.ja", "Noto Sans JP Regular");
-pref("font.name.serif.ko", "Noto Sans KR Regular");
-pref("font.name.serif.my", "Noto Sans Myanmar");
-pref("font.name.serif.th", "Noto Serif Thai");
-pref("font.name.serif.x-armn", "Noto Serif Armenian");
-pref("font.name.serif.x-beng", "Noto Sans Bengali");
-pref("font.name.serif.x-cyrillic", "Tinos, Georgia");
-pref("font.name.serif.x-devanagari", "Noto Sans Devanagari");
-pref("font.name.serif.x-ethi", "Noto Sans Ethiopic");
-pref("font.name.serif.x-geor", "Noto Sans Georgian");
-pref("font.name.serif.x-gujr", "Noto Sans Gujarati");
-pref("font.name.serif.x-guru", "Noto Sans Gurmukhi");
-pref("font.name.serif.x-khmr", "Noto Serif Khmer");
-pref("font.name.serif.x-knda", "Noto Sans Kannada");
-pref("font.name.serif.x-mlym", "Noto Sans Malayalam");
-pref("font.name.serif.x-orya", "Noto Sans Oriya");
-pref("font.name.serif.x-sinh", "Noto Sans Sinhala");
-pref("font.name.serif.x-tamil", "Noto Sans Tamil");
-pref("font.name.serif.x-telu", "Noto Sans Telugu");
-pref("font.name.serif.x-tibt", "Noto Sans Tibetan");
-pref("font.name.serif.x-unicode", "Tinos, Georgia");
-pref("font.name.serif.x-western", "Tinos, Georgia");
-pref("font.name.serif.zh-CN", "Noto Sans SC Regular");
-pref("font.name.serif.zh-HK", "Noto Sans TC Regular");
-pref("font.name.serif.zh-TW", "Noto Sans TC Regular");
-#endif
-#endif
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] Don't remove referer (Tor Browser doesn't) #23273 tor trac https://trac.torproject.org/projects/tor/ticket/23273
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit d3e384160f45d9d383c3618bf79f02b6d7906c10
Author: n8fr8 <nathan(a)freitas.net>
Date: Wed Dec 13 11:26:17 2017 -0500
Don't remove referer (Tor Browser doesn't) #23273 tor trac https://trac.torproject.org/projects/tor/ticket/23273
---
mobile/android/app/mobile.js | 3 ---
1 file changed, 3 deletions(-)
diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js
index a251d67697ce..c334226ba9ef 100644
--- a/mobile/android/app/mobile.js
+++ b/mobile/android/app/mobile.js
@@ -1109,9 +1109,6 @@ pref("privacy.clearOnShutdown.siteSettings",true);
pref("privacy.donottrackheader.enabled",false);
pref("privacy.donottrackheader.value",1);
-// Don't send a referrer:
-pref("network.http.sendRefererHeader", 0);
-
// Make sure certificates are up-to-date:
pref("security.OCSP.require", true); pref("security.checkloaduri",true);
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] fixes #10 disables attempts to access AccountManager
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 217a45b151cddcf2476a210abe7278132573f8f9
Author: n8fr8 <nathan(a)freitas.net>
Date: Sun Aug 6 22:42:26 2017 -0400
fixes #10 disables attempts to access AccountManager
---
.../src/main/java/org/mozilla/gecko/fxa/FirefoxAccounts.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/mobile/android/services/src/main/java/org/mozilla/gecko/fxa/FirefoxAccounts.java b/mobile/android/services/src/main/java/org/mozilla/gecko/fxa/FirefoxAccounts.java
index 4184340ec175..3c3cef8db0bd 100644
--- a/mobile/android/services/src/main/java/org/mozilla/gecko/fxa/FirefoxAccounts.java
+++ b/mobile/android/services/src/main/java/org/mozilla/gecko/fxa/FirefoxAccounts.java
@@ -34,7 +34,8 @@ public class FirefoxAccounts {
* @return true if at least one Firefox account exists.
*/
public static boolean firefoxAccountsExist(final Context context) {
- return getFirefoxAccounts(context).length > 0;
+ return false; //disable firefox acccounts for Orfox/Tor Browser
+ //return getFirefoxAccounts(context).length > 0;
}
/**
@@ -50,6 +51,8 @@ public class FirefoxAccounts {
* @return Firefox account objects.
*/
public static Account[] getFirefoxAccounts(final Context context) {
+ return new Account[0]; //disable accounts for Orfox/Tor Browser
+ /**
final Account[] accounts =
AccountManager.get(context).getAccountsByType(FxAccountConstants.ACCOUNT_TYPE);
if (accounts.length > 0) {
@@ -58,6 +61,7 @@ public class FirefoxAccounts {
final Account pickledAccount = getPickledAccount(context);
return (pickledAccount != null) ? new Account[] {pickledAccount} : new Account[0];
+ **/
}
private static Account getPickledAccount(final Context context) {
1
0

20 Mar '18
commit d2e0ce8b8b88ddc52a4045c84fdc2c64081b1c2d
Author: n8fr8 <nathan(a)freitas.net>
Date: Tue Aug 1 16:09:55 2017 -0400
disable chromecasting #6
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
mobile/android/app/mobile.js | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js
index 4b8386e20115..0a1b1c450b08 100644
--- a/mobile/android/app/mobile.js
+++ b/mobile/android/app/mobile.js
@@ -1465,3 +1465,5 @@ pref("security.ssl.errorReporting.enabled", false);
#expand pref("torbrowser.version", __TOR_BROWSER_VERSION__);
#endif
+// Disable Control media casting & mirroring features
+pref("browser.casting.enabled", false);
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] remove permissions we are not using in Orfox (GET_ACCOUNTS, Contacts)
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit b969df8bba42205a9562489860431be200786cb0
Author: n8fr8 <nathan(a)freitas.net>
Date: Thu Aug 3 15:12:48 2017 -0400
remove permissions we are not using in Orfox (GET_ACCOUNTS,Contacts)
---
mobile/android/base/FennecManifest_permissions.xml.in | 5 +++++
.../services/manifests/FxAccountAndroidManifest_permissions.xml.in | 2 ++
2 files changed, 7 insertions(+)
diff --git a/mobile/android/base/FennecManifest_permissions.xml.in b/mobile/android/base/FennecManifest_permissions.xml.in
index e711ce6a19de..b5a7b6a3132d 100644
--- a/mobile/android/base/FennecManifest_permissions.xml.in
+++ b/mobile/android/base/FennecManifest_permissions.xml.in
@@ -4,7 +4,10 @@
on top of a pre-installed bouncer APK. Add such elements here, so that
they can be easily shared between the two APKs. -->
+#ifdef TOR_IS_NOT_ORFOX
#include ../services/manifests/FxAccountAndroidManifest_permissions.xml.in
+#endif
+
#ifdef MOZ_ANDROID_SEARCH_ACTIVITY
#include ../search/manifests/SearchAndroidManifest_permissions.xml.in
@@ -15,7 +18,9 @@
them during the same release, which should be Fennec 48. Therefore we
decouple the push permission from MOZ_ANDROID_GCM to let it ride ahead
(potentially) of the push feature. -->
+#ifdef TOR_IS_NOT_ORFOX
#include GcmAndroidManifest_permissions.xml.in
+#endif
#ifdef MOZ_WIFI_STATE
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
diff --git a/mobile/android/services/manifests/FxAccountAndroidManifest_permissions.xml.in b/mobile/android/services/manifests/FxAccountAndroidManifest_permissions.xml.in
index d5c7e3e5c7dc..7f59f094ec77 100644
--- a/mobile/android/services/manifests/FxAccountAndroidManifest_permissions.xml.in
+++ b/mobile/android/services/manifests/FxAccountAndroidManifest_permissions.xml.in
@@ -1,3 +1,4 @@
+#ifdef MOZILLA_OFFICIAL
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
@@ -16,3 +17,4 @@
</permission>
<uses-permission android:name="@ANDROID_PACKAGE_NAME@_fxaccount.permission.PER_ACCOUNT_TYPE" />
+#endif
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] show only the "restricted" onboarding first time screens
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 1651731cd92cd03c6433685b17fad2232a374156
Author: n8fr8 <nathan(a)freitas.net>
Date: Tue Jul 18 14:55:02 2017 -0400
show only the "restricted" onboarding first time screens
simplify restricted mode first time string
tune the "First Run" user experience
- show the restricted first run
- change the link to the Orfox app page
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
.../base/java/org/mozilla/gecko/firstrun/FirstrunPagerConfig.java | 5 +++++
.../base/java/org/mozilla/gecko/firstrun/RestrictedWelcomePanel.java | 2 +-
mobile/android/base/locales/en-US/android_strings.dtd | 2 +-
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPagerConfig.java b/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPagerConfig.java
index 3f901d07b0fb..cb7e31fc7dfc 100644
--- a/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPagerConfig.java
+++ b/mobile/android/base/java/org/mozilla/gecko/firstrun/FirstrunPagerConfig.java
@@ -25,6 +25,10 @@ public class FirstrunPagerConfig {
public static final String KEY_SUBTEXT = "subtextRes";
public static List<FirstrunPanelConfig> getDefault(Context context) {
+
+ return getRestricted ();
+
+ /**
final List<FirstrunPanelConfig> panels = new LinkedList<>();
if (Experiments.isInExperimentLocal(context, Experiments.ONBOARDING3_B)) {
@@ -46,6 +50,7 @@ public class FirstrunPagerConfig {
panels.add(SimplePanelConfigs.signInPanelConfig);
}
return panels;
+ **/
}
public static List<FirstrunPanelConfig> getRestricted() {
diff --git a/mobile/android/base/java/org/mozilla/gecko/firstrun/RestrictedWelcomePanel.java b/mobile/android/base/java/org/mozilla/gecko/firstrun/RestrictedWelcomePanel.java
index efc91d20f486..b3b02c91001e 100644
--- a/mobile/android/base/java/org/mozilla/gecko/firstrun/RestrictedWelcomePanel.java
+++ b/mobile/android/base/java/org/mozilla/gecko/firstrun/RestrictedWelcomePanel.java
@@ -21,7 +21,7 @@ import java.util.EnumSet;
public class RestrictedWelcomePanel extends FirstrunPanel {
public static final int TITLE_RES = R.string.firstrun_panel_title_welcome;
- private static final String LEARN_MORE_URL = "https://support.mozilla.org/kb/controlledaccess";
+ private static final String LEARN_MORE_URL = "https://guardianproject.info/apps/orfox";
private HomePager.OnUrlOpenListener onUrlOpenListener;
diff --git a/mobile/android/base/locales/en-US/android_strings.dtd b/mobile/android/base/locales/en-US/android_strings.dtd
index 140e2a21689c..fd51410c8d21 100644
--- a/mobile/android/base/locales/en-US/android_strings.dtd
+++ b/mobile/android/base/locales/en-US/android_strings.dtd
@@ -38,7 +38,7 @@
<!ENTITY firstrun_account_title "You">
<!ENTITY firstrun_account_message "Have &brandShortName; on another device?">
-<!ENTITY onboard_start_restricted1 "Stay safe and in control with this simplified version of &brandShortName;.">
+<!ENTITY onboard_start_restricted1 "Stay safe and in control with &brandShortName;.">
<!-- Localization note: These are used as the titles of different pages on the home screen.
They are automatically converted to all caps by the Android platform. -->
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] add in custom distributio for xpi bundling
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 4b45b321d993372777f9a6f37d085c3c3dfb9b7c
Author: n8fr8 <nathan(a)freitas.net>
Date: Mon Jul 17 23:26:02 2017 -0400
add in custom distributio for xpi bundling
update bundled extensions
update extensions again for new build test
disable signed add-on requirement for now (we build our own versions of add-ons)
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
mobile/android/confvars.sh | 2 +-
mobile/android/orfox/distribution/README.md | 4 ++++
.../assets/distribution/bookmarks.json.off | 13 +++++++++++++
.../extensions/https-everywhere(a)eff.org.xpi | Bin 0 -> 2975335 bytes
.../tor-browser-settings(a)torproject.org.xpi | Bin 0 -> 18212 bytes
.../{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi | Bin 0 -> 180668 bytes
.../distribution/assets/distribution/preferences.json | 13 +++++++++++++
.../locales/en-US/suggestedsites.json.off | 14 ++++++++++++++
.../distribution/suggestedsites/res/hdpi/fennec.png | Bin 0 -> 6086 bytes
.../distribution/suggestedsites/res/mdpi/fennec.png | Bin 0 -> 6086 bytes
.../distribution/suggestedsites/res/xhdpi/fennec.png | Bin 0 -> 6086 bytes
.../distribution/suggestedsites/res/xxhdpi/fennec.png | Bin 0 -> 6086 bytes
.../orfox/distribution/mozconfigs/mozconfig1.json.off | 3 +++
13 files changed, 48 insertions(+), 1 deletion(-)
diff --git a/mobile/android/confvars.sh b/mobile/android/confvars.sh
index 0821a11cfed9..bb3b34b4627c 100644
--- a/mobile/android/confvars.sh
+++ b/mobile/android/confvars.sh
@@ -64,4 +64,4 @@ MOZ_WEBGL_CONFORMANT=1
export JS_GC_SMALL_CHUNK_SIZE=1
# Enable checking that add-ons are signed by the trusted root
-MOZ_ADDON_SIGNING=1
+MOZ_ADDON_SIGNING=0
diff --git a/mobile/android/orfox/distribution/README.md b/mobile/android/orfox/distribution/README.md
new file mode 100644
index 000000000000..afcd14bbb9bf
--- /dev/null
+++ b/mobile/android/orfox/distribution/README.md
@@ -0,0 +1,4 @@
+Fennec Distribution Sample
+==========================
+
+A sample distribution directory for Firefox for Android. For documentation about how this works, see the [Mobile Distribution wiki page](https://wiki.mozilla.org/Mobile/Distribution_Files).
diff --git a/mobile/android/orfox/distribution/assets/distribution/bookmarks.json.off b/mobile/android/orfox/distribution/assets/distribution/bookmarks.json.off
new file mode 100644
index 000000000000..47c8f93a9213
--- /dev/null
+++ b/mobile/android/orfox/distribution/assets/distribution/bookmarks.json.off
@@ -0,0 +1,13 @@
+[
+ {
+ "url": "http://example.com/1",
+ "title": "Bookmark #1",
+ "icon": "data:image/png;base64,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"
+ },
+ {
+ "url": "https://example.com/2",
+ "title": "Bookmark #2",
+ "icon": "data:image/png;base64,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"
+ }
+]
+
diff --git a/mobile/android/orfox/distribution/assets/distribution/extensions/https-everywhere(a)eff.org.xpi b/mobile/android/orfox/distribution/assets/distribution/extensions/https-everywhere(a)eff.org.xpi
new file mode 100644
index 000000000000..3b1ed8ec1c02
Binary files /dev/null and b/mobile/android/orfox/distribution/assets/distribution/extensions/https-everywhere(a)eff.org.xpi differ
diff --git a/mobile/android/orfox/distribution/assets/distribution/extensions/tor-browser-settings(a)torproject.org.xpi b/mobile/android/orfox/distribution/assets/distribution/extensions/tor-browser-settings(a)torproject.org.xpi
new file mode 100644
index 000000000000..2885a875fd4f
Binary files /dev/null and b/mobile/android/orfox/distribution/assets/distribution/extensions/tor-browser-settings(a)torproject.org.xpi differ
diff --git a/mobile/android/orfox/distribution/assets/distribution/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi b/mobile/android/orfox/distribution/assets/distribution/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi
new file mode 100644
index 000000000000..0dbd36a3ebd9
Binary files /dev/null and b/mobile/android/orfox/distribution/assets/distribution/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi differ
diff --git a/mobile/android/orfox/distribution/assets/distribution/preferences.json b/mobile/android/orfox/distribution/assets/distribution/preferences.json
new file mode 100644
index 000000000000..d62e69e2e31f
--- /dev/null
+++ b/mobile/android/orfox/distribution/assets/distribution/preferences.json
@@ -0,0 +1,13 @@
+{
+ "Global": {
+ "id": "Orfox",
+ "version": 7.5.1,
+ "about": "Orfox"
+ },
+ "Preferences": {
+ "privacy.donottrackheader.enabled": false
+ },
+ "LocalizablePreferences": {
+ "browser.search.defaultenginename": "DuckDuckGo"
+ }
+}
diff --git a/mobile/android/orfox/distribution/assets/distribution/suggestedsites/locales/en-US/suggestedsites.json.off b/mobile/android/orfox/distribution/assets/distribution/suggestedsites/locales/en-US/suggestedsites.json.off
new file mode 100644
index 000000000000..c1ab6dbe1342
--- /dev/null
+++ b/mobile/android/orfox/distribution/assets/distribution/suggestedsites/locales/en-US/suggestedsites.json.off
@@ -0,0 +1,14 @@
+[
+ {
+ "url": "http://example.com/1",
+ "title": "Example Site #1",
+ "imageurl": "gecko.distribution://suggestedsites/res/fennec",
+ "bgcolor": "#F400A1"
+ },
+ {
+ "url": "https://example.com/2",
+ "title": "Example Site #2",
+ "imageurl": "gecko.distribution://suggestedsites/res/fennec",
+ "bgcolor": "#FF7F00"
+ }
+]
\ No newline at end of file
diff --git a/mobile/android/orfox/distribution/assets/distribution/suggestedsites/res/hdpi/fennec.png b/mobile/android/orfox/distribution/assets/distribution/suggestedsites/res/hdpi/fennec.png
new file mode 100644
index 000000000000..de9ca927e645
Binary files /dev/null and b/mobile/android/orfox/distribution/assets/distribution/suggestedsites/res/hdpi/fennec.png differ
diff --git a/mobile/android/orfox/distribution/assets/distribution/suggestedsites/res/mdpi/fennec.png b/mobile/android/orfox/distribution/assets/distribution/suggestedsites/res/mdpi/fennec.png
new file mode 100644
index 000000000000..de9ca927e645
Binary files /dev/null and b/mobile/android/orfox/distribution/assets/distribution/suggestedsites/res/mdpi/fennec.png differ
diff --git a/mobile/android/orfox/distribution/assets/distribution/suggestedsites/res/xhdpi/fennec.png b/mobile/android/orfox/distribution/assets/distribution/suggestedsites/res/xhdpi/fennec.png
new file mode 100644
index 000000000000..de9ca927e645
Binary files /dev/null and b/mobile/android/orfox/distribution/assets/distribution/suggestedsites/res/xhdpi/fennec.png differ
diff --git a/mobile/android/orfox/distribution/assets/distribution/suggestedsites/res/xxhdpi/fennec.png b/mobile/android/orfox/distribution/assets/distribution/suggestedsites/res/xxhdpi/fennec.png
new file mode 100644
index 000000000000..de9ca927e645
Binary files /dev/null and b/mobile/android/orfox/distribution/assets/distribution/suggestedsites/res/xxhdpi/fennec.png differ
diff --git a/mobile/android/orfox/distribution/mozconfigs/mozconfig1.json.off b/mobile/android/orfox/distribution/mozconfigs/mozconfig1.json.off
new file mode 100644
index 000000000000..453ecf0d394d
--- /dev/null
+++ b/mobile/android/orfox/distribution/mozconfigs/mozconfig1.json.off
@@ -0,0 +1,3 @@
+{
+ "gecko_path": "mobile/android/config/mozconfigs/public-partner/distribution_sample/mozconfig1"
+}
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] set default to 'true' to clear all data
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 8fe9f7b563c5cedd5dc75cc90df1f949c560a261
Author: n8fr8 <nathan(a)freitas.net>
Date: Tue Jul 18 10:38:03 2017 -0400
set default to 'true' to clear all data
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
mobile/android/base/resources/values/arrays.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mobile/android/base/resources/values/arrays.xml b/mobile/android/base/resources/values/arrays.xml
index 8369d817da8d..d2f157a7ba33 100644
--- a/mobile/android/base/resources/values/arrays.xml
+++ b/mobile/android/base/resources/values/arrays.xml
@@ -99,7 +99,7 @@
<item>true</item>
<item>true</item>
<item>true</item>
- <item>false</item>
+ <item>true</item>
</string-array>
<string-array name="pref_private_data_values">
<item>private.data.history</item>
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] partial fix for #5 disabling experiments and telemtry
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit c70dafdb07f7b7b6d65d33cf1549ecc62fed064e
Author: n8fr8 <nathan(a)freitas.net>
Date: Tue Aug 1 16:16:17 2017 -0400
partial fix for #5 disabling experiments and telemtry
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
mobile/android/base/java/org/mozilla/gecko/BrowserApp.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
index 6cbad4c153c5..47cb6249d09a 100644
--- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
@@ -610,7 +610,9 @@ public class BrowserApp extends GeckoApp
}
final SafeIntent intent = new SafeIntent(getIntent());
- final boolean isInAutomation = IntentUtils.getIsInAutomationFromEnvironment(intent);
+
+ //Orfox: this disables Switchboard testing experiments and Telemtry Uploading
+ final boolean isInAutomation = true; //IntentUtils.getIsInAutomationFromEnvironment(intent);
// This has to be prepared prior to calling GeckoApp.onCreate, because
// widget code and BrowserToolbar need it, and they're created by the
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] for #4, ensure proxy settings are respected everywhere
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 9f121dad020ce4dbda882df9b75e3b1a25e6985a
Author: n8fr8 <nathan(a)freitas.net>
Date: Tue Aug 1 17:16:48 2017 -0400
for #4, ensure proxy settings are respected everywhere
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
.../src/main/java/org/mozilla/gecko/util/ProxySelector.java | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java
index 35010242b22d..6fe87271c825 100644
--- a/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java
+++ b/mobile/android/geckoview/src/main/java/org/mozilla/gecko/util/ProxySelector.java
@@ -30,6 +30,9 @@ import java.util.List;
public class ProxySelector {
public static URLConnection openConnectionWithProxy(URI uri) throws IOException {
+
+ //Orfox: Ignore system and use Orbot/Tor
+ /**
java.net.ProxySelector ps = java.net.ProxySelector.getDefault();
Proxy proxy = Proxy.NO_PROXY;
if (ps != null) {
@@ -38,8 +41,9 @@ public class ProxySelector {
proxy = proxies.get(0);
}
}
+ **/
- return uri.toURL().openConnection(proxy);
+ return uri.toURL().openConnection(ProxySettings.getProxy());
}
public ProxySelector() {
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] clear on exit is now true by default
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 7b85b5c7d32aed78a1706c75cab32970caad988a
Author: n8fr8 <nathan(a)freitas.net>
Date: Mon Jul 17 22:20:54 2017 -0400
clear on exit is now true by default
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
mobile/android/base/resources/xml/preferences_privacy.xml | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/mobile/android/base/resources/xml/preferences_privacy.xml b/mobile/android/base/resources/xml/preferences_privacy.xml
index 1d4593ec2523..7dff068e90c1 100644
--- a/mobile/android/base/resources/xml/preferences_privacy.xml
+++ b/mobile/android/base/resources/xml/preferences_privacy.xml
@@ -54,7 +54,10 @@
android:summary="@string/pref_clear_on_exit_summary2"
android:dialogTitle="@string/pref_clear_on_exit_dialog_title"
- android:positiveButtonText="@string/button_set"/>
+ android:positiveButtonText="@string/button_set"
+
+ android:defaultValue="true"
+ />
<PreferenceCategory android:title="@string/pref_category_logins">
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] fix #11 from https://github.com/amoghbl1/tor-browser/issues disable mic and QR code reader by default
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 572f377bd0a720c0dd9d91f86c5ed94f0dbea994
Author: n8fr8 <nathan(a)freitas.net>
Date: Mon Jul 17 13:28:54 2017 -0400
fix #11 from https://github.com/amoghbl1/tor-browser/issues disable mic and QR code reader by default
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
mobile/android/base/resources/xml/preferences_accessibility.xml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/mobile/android/base/resources/xml/preferences_accessibility.xml b/mobile/android/base/resources/xml/preferences_accessibility.xml
index 8e352f1fd8c4..be50140236d5 100644
--- a/mobile/android/base/resources/xml/preferences_accessibility.xml
+++ b/mobile/android/base/resources/xml/preferences_accessibility.xml
@@ -25,11 +25,11 @@
<SwitchPreference android:key="android.not_a_preference.voice_input_enabled"
android:title="@string/pref_voice_input"
android:summary="@string/pref_voice_input_summary"
- android:defaultValue="true"/>
+ android:defaultValue="false"/>
<SwitchPreference android:key="android.not_a_preference.qrcode_enabled"
android:title="@string/pref_qrcode_enabled"
android:summary="@string/pref_qrcode_enabled_summary"
- android:defaultValue="true"/>
+ android:defaultValue="false"/>
</PreferenceScreen>
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] disable building of bouncer.apk so we can bundle in orfox see: https://bugzilla.mozilla.org/show_bug.cgi?id=1258372
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit b7b2d5e322acd40b5279054ea8167bb0ab366581
Author: n8fr8 <nathan(a)freitas.net>
Date: Mon Jul 17 22:18:11 2017 -0400
disable building of bouncer.apk so we can bundle in orfox see: https://bugzilla.mozilla.org/show_bug.cgi?id=1258372
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
mobile/android/confvars.sh | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mobile/android/confvars.sh b/mobile/android/confvars.sh
index 8af6925a6dc9..0821a11cfed9 100644
--- a/mobile/android/confvars.sh
+++ b/mobile/android/confvars.sh
@@ -37,6 +37,8 @@ MOZ_SOCIAL=
MOZ_ANDROID_HISTORY=0
MOZ_DISABLE_EXPORT_JS=1
+MOZ_ANDROID_PACKAGE_INSTALL_BOUNCER=0
+
# use custom widget for html:select
MOZ_USE_NATIVE_POPUP_WINDOWS=1
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] add support for a distribution directory (for bundling add-ons)
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 70f793f8fcbd996488b70edb45d8b3c76d856830
Author: n8fr8 <nathan(a)freitas.net>
Date: Mon Jul 17 22:19:06 2017 -0400
add support for a distribution directory (for bundling add-ons)
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
.mozconfig-orfox | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.mozconfig-orfox b/.mozconfig-orfox
index 1db4bd923cd1..8ac842ffd116 100755
--- a/.mozconfig-orfox
+++ b/.mozconfig-orfox
@@ -10,7 +10,7 @@ ac_add_options --target=arm-linux-androideabi
ac_add_options --with-android-ndk="$NDK_BASE" #Enter the android ndk location(ndk r10e)
ac_add_options --with-android-sdk="$SDK_BASE" #Enter the android sdk location
ac_add_options --with-branding=mobile/android/branding/orfox
-ac_add_options --with-android-distribution-directory=mobile/android/orfox/distribution
+ac_add_options --with-android-distribution-directory=@TOPSRCDIR@/mobile/android/orfox/distribution
#enable ccache to set amount of cache assigned for build.
ac_add_options --with-ccache
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] Orfox: Disabling search widget.
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit a9366885de6def43dffac8ce3d2e4d248d40be4c
Author: Amogh Pradeep <amoghbl1(a)gmail.com>
Date: Tue Jul 26 15:06:54 2016 +0200
Orfox: Disabling search widget.
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
mobile/android/search/manifests/SearchAndroidManifest_activities.xml.in | 2 ++
1 file changed, 2 insertions(+)
diff --git a/mobile/android/search/manifests/SearchAndroidManifest_activities.xml.in b/mobile/android/search/manifests/SearchAndroidManifest_activities.xml.in
index 21aee71c0f9d..e4e15077204d 100644
--- a/mobile/android/search/manifests/SearchAndroidManifest_activities.xml.in
+++ b/mobile/android/search/manifests/SearchAndroidManifest_activities.xml.in
@@ -26,6 +26,7 @@
</activity>
<!-- Basic launcher widget. -->
+ <!-- Disabling for orfox, no receiver, no widget :D
<receiver android:name="org.mozilla.search.SearchWidget"
android:label="@string/search_widget_name">
@@ -47,6 +48,7 @@
<meta-data android:name="android.appwidget.provider" android:resource="@xml/search_widget_info" />
</receiver>
+ -->
<activity
android:name="org.mozilla.search.SearchPreferenceActivity"
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] fix crash with registerReceiver for Orbot status
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit a24f24be9f006f49f465949f1c78b99bec14c962
Author: n8fr8 <nathan(a)freitas.net>
Date: Sun Jul 16 23:56:16 2017 -0400
fix crash with registerReceiver for Orbot status
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
.../base/java/org/mozilla/gecko/BrowserApp.java | 25 +++++++++++-----------
1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
index 8cb69ce011ab..6cbad4c153c5 100644
--- a/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
+++ b/mobile/android/base/java/org/mozilla/gecko/BrowserApp.java
@@ -843,6 +843,7 @@ public class BrowserApp extends GeckoApp
// We want to get an understanding of how our user base is spread (bug 1221646).
final String installerPackageName = getPackageManager().getInstallerPackageName(getPackageName());
Telemetry.sendUIEvent(TelemetryContract.Event.LAUNCH, TelemetryContract.Method.SYSTEM, "installer_" + installerPackageName);
+
}
/**
@@ -1105,7 +1106,14 @@ public class BrowserApp extends GeckoApp
});
builder.show();
} else {
- registerReceiver(torStatusReceiver, new IntentFilter(OrbotHelper.ACTION_STATUS));
+ /* run in thread so Tor status updates will be received while the
+ * Gecko event sync is blocking the main thread */
+ HandlerThread handlerThread = new HandlerThread("torStatusReceiver");
+ handlerThread.start();
+ Looper looper = handlerThread.getLooper();
+ Handler handler = new Handler(looper);
+ registerReceiver(torStatusReceiver, new IntentFilter(OrbotHelper.ACTION_STATUS),
+ null, handler);
OrbotHelper.requestStartTor(this);
}
}
@@ -1117,22 +1125,14 @@ public class BrowserApp extends GeckoApp
if (mIsAbortingAppLaunch) {
return;
}
- /* run in thread so Tor status updates will be received while the
- * Gecko event sync is blocking the main thread */
- HandlerThread handlerThread = new HandlerThread("torStatusReceiver");
- handlerThread.start();
- Looper looper = handlerThread.getLooper();
- Handler handler = new Handler(looper);
- registerReceiver(torStatusReceiver, new IntentFilter(OrbotHelper.ACTION_STATUS),
- null, handler);
-
- checkStartOrbot();
processTabQueue();
for (BrowserAppDelegate delegate : delegates) {
delegate.onResume(this);
}
+
+ checkStartOrbot();
}
@Override
@@ -1152,6 +1152,8 @@ public class BrowserApp extends GeckoApp
for (BrowserAppDelegate delegate : delegates) {
delegate.onPause(this);
}
+
+ unregisterReceiver(torStatusReceiver);
}
@Override
@@ -1163,7 +1165,6 @@ public class BrowserApp extends GeckoApp
// Register for Prompt:ShowTop so we can foreground this activity even if it's hidden.
EventDispatcher.getInstance().registerGeckoThreadListener((GeckoEventListener) this,
"Prompt:ShowTop");
- unregisterReceiver(torStatusReceiver);
for (final BrowserAppDelegate delegate : delegates) {
delegate.onRestart(this);
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] Orfox: top sites changed, used bookmarks icon temporarily.
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 65346d3b1e0aa0ef706a80b8860882121b6335d4
Author: Amogh Pradeep <amoghbl1(a)gmail.com>
Date: Thu Jun 18 04:14:18 2015 -0400
Orfox: top sites changed, used bookmarks icon temporarily.
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
.../drawable-hdpi/suggestedsites_checktor.png | Bin 0 -> 1286 bytes
.../suggestedsites_guardianproject.png | Bin 0 -> 1286 bytes
.../drawable-hdpi/suggestedsites_torproject.png | Bin 0 -> 1286 bytes
.../drawable-mdpi/suggestedsites_checktor.png | Bin 0 -> 950 bytes
.../drawable-mdpi/suggestedsites_facebook.png | Bin 0 -> 950 bytes
.../suggestedsites_guardianproject.png | Bin 0 -> 950 bytes
.../drawable-mdpi/suggestedsites_torproject.png | Bin 0 -> 950 bytes
.../drawable-xhdpi/suggestedsites_checktor.png | Bin 0 -> 1626 bytes
.../suggestedsites_guardianproject.png | Bin 0 -> 1626 bytes
.../drawable-xhdpi/suggestedsites_torproject.png | Bin 0 -> 1626 bytes
.../drawable-xxhdpi/suggestedsites_checktor.png | Bin 0 -> 1626 bytes
.../suggestedsites_guardianproject.png | Bin 0 -> 1626 bytes
.../drawable-xxhdpi/suggestedsites_torproject.png | Bin 0 -> 1626 bytes
mobile/locales/en-US/chrome/region.properties | 71 +++++++--------------
14 files changed, 24 insertions(+), 47 deletions(-)
diff --git a/mobile/android/base/resources/drawable-hdpi/suggestedsites_checktor.png b/mobile/android/base/resources/drawable-hdpi/suggestedsites_checktor.png
new file mode 100644
index 000000000000..a87c16e3d566
Binary files /dev/null and b/mobile/android/base/resources/drawable-hdpi/suggestedsites_checktor.png differ
diff --git a/mobile/android/base/resources/drawable-hdpi/suggestedsites_guardianproject.png b/mobile/android/base/resources/drawable-hdpi/suggestedsites_guardianproject.png
new file mode 100644
index 000000000000..a87c16e3d566
Binary files /dev/null and b/mobile/android/base/resources/drawable-hdpi/suggestedsites_guardianproject.png differ
diff --git a/mobile/android/base/resources/drawable-hdpi/suggestedsites_torproject.png b/mobile/android/base/resources/drawable-hdpi/suggestedsites_torproject.png
new file mode 100644
index 000000000000..a87c16e3d566
Binary files /dev/null and b/mobile/android/base/resources/drawable-hdpi/suggestedsites_torproject.png differ
diff --git a/mobile/android/base/resources/drawable-mdpi/suggestedsites_checktor.png b/mobile/android/base/resources/drawable-mdpi/suggestedsites_checktor.png
new file mode 100644
index 000000000000..c20ab864297a
Binary files /dev/null and b/mobile/android/base/resources/drawable-mdpi/suggestedsites_checktor.png differ
diff --git a/mobile/android/base/resources/drawable-mdpi/suggestedsites_facebook.png b/mobile/android/base/resources/drawable-mdpi/suggestedsites_facebook.png
new file mode 100644
index 000000000000..c20ab864297a
Binary files /dev/null and b/mobile/android/base/resources/drawable-mdpi/suggestedsites_facebook.png differ
diff --git a/mobile/android/base/resources/drawable-mdpi/suggestedsites_guardianproject.png b/mobile/android/base/resources/drawable-mdpi/suggestedsites_guardianproject.png
new file mode 100644
index 000000000000..c20ab864297a
Binary files /dev/null and b/mobile/android/base/resources/drawable-mdpi/suggestedsites_guardianproject.png differ
diff --git a/mobile/android/base/resources/drawable-mdpi/suggestedsites_torproject.png b/mobile/android/base/resources/drawable-mdpi/suggestedsites_torproject.png
new file mode 100644
index 000000000000..c20ab864297a
Binary files /dev/null and b/mobile/android/base/resources/drawable-mdpi/suggestedsites_torproject.png differ
diff --git a/mobile/android/base/resources/drawable-xhdpi/suggestedsites_checktor.png b/mobile/android/base/resources/drawable-xhdpi/suggestedsites_checktor.png
new file mode 100644
index 000000000000..fa7f676310df
Binary files /dev/null and b/mobile/android/base/resources/drawable-xhdpi/suggestedsites_checktor.png differ
diff --git a/mobile/android/base/resources/drawable-xhdpi/suggestedsites_guardianproject.png b/mobile/android/base/resources/drawable-xhdpi/suggestedsites_guardianproject.png
new file mode 100644
index 000000000000..fa7f676310df
Binary files /dev/null and b/mobile/android/base/resources/drawable-xhdpi/suggestedsites_guardianproject.png differ
diff --git a/mobile/android/base/resources/drawable-xhdpi/suggestedsites_torproject.png b/mobile/android/base/resources/drawable-xhdpi/suggestedsites_torproject.png
new file mode 100644
index 000000000000..fa7f676310df
Binary files /dev/null and b/mobile/android/base/resources/drawable-xhdpi/suggestedsites_torproject.png differ
diff --git a/mobile/android/base/resources/drawable-xxhdpi/suggestedsites_checktor.png b/mobile/android/base/resources/drawable-xxhdpi/suggestedsites_checktor.png
new file mode 100644
index 000000000000..fa7f676310df
Binary files /dev/null and b/mobile/android/base/resources/drawable-xxhdpi/suggestedsites_checktor.png differ
diff --git a/mobile/android/base/resources/drawable-xxhdpi/suggestedsites_guardianproject.png b/mobile/android/base/resources/drawable-xxhdpi/suggestedsites_guardianproject.png
new file mode 100644
index 000000000000..fa7f676310df
Binary files /dev/null and b/mobile/android/base/resources/drawable-xxhdpi/suggestedsites_guardianproject.png differ
diff --git a/mobile/android/base/resources/drawable-xxhdpi/suggestedsites_torproject.png b/mobile/android/base/resources/drawable-xxhdpi/suggestedsites_torproject.png
new file mode 100644
index 000000000000..fa7f676310df
Binary files /dev/null and b/mobile/android/base/resources/drawable-xxhdpi/suggestedsites_torproject.png differ
diff --git a/mobile/locales/en-US/chrome/region.properties b/mobile/locales/en-US/chrome/region.properties
index 6d89a6f0fe75..201152118819 100644
--- a/mobile/locales/en-US/chrome/region.properties
+++ b/mobile/locales/en-US/chrome/region.properties
@@ -46,51 +46,28 @@ browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s
# browser.suggestedsites.NAME.title=Displayed name
# browser.suggestedsites.NAME.url=Website URL
# browser.suggestedsites.NAME.bgcolor= Color (hex format)
-#
-# Note that if you remove or add items to this set, you need to adjust
-# mobile/android/tests/browser/robocop/testDistribution.java
-# to reflect the new set of IDs reported as tiles data.
-#
-browser.suggestedsites.list.0=facebook
-browser.suggestedsites.list.1=youtube
-browser.suggestedsites.list.2=amazon
-browser.suggestedsites.list.3=wikipedia
-browser.suggestedsites.list.4=twitter
-browser.suggestedsites.facebook.title=Facebook
-browser.suggestedsites.facebook.url=https://m.facebook.com/
-browser.suggestedsites.facebook.bgcolor=#385185
-
-browser.suggestedsites.youtube.title=YouTube
-browser.suggestedsites.youtube.url=https://m.youtube.com/
-browser.suggestedsites.youtube.bgcolor=#cd201f
-
-browser.suggestedsites.amazon.title=Amazon
-browser.suggestedsites.amazon.url=https://www.amazon.com/
-browser.suggestedsites.amazon.bgcolor=#000000
-
-browser.suggestedsites.wikipedia.title=Wikipedia
-browser.suggestedsites.wikipedia.url=https://www.wikipedia.org/
-browser.suggestedsites.wikipedia.bgcolor=#000000
-
-browser.suggestedsites.twitter.title=Twitter
-browser.suggestedsites.twitter.url=https://mobile.twitter.com/
-browser.suggestedsites.twitter.bgcolor=#55acee
-
-browser.suggestedsites.restricted.list.0=restricted_fxsupport
-browser.suggestedsites.restricted.list.1=webmaker
-browser.suggestedsites.restricted.list.2=restricted_mozilla
-
-browser.suggestedsites.restricted_fxsupport.title=Firefox Help and Support for restricted profiles on Android tablets
-browser.suggestedsites.restricted_fxsupport.url=https://support.mozilla.org/kb/controlledaccess
-browser.suggestedsites.restricted_fxsupport.bgcolor=#f37c00
-
-browser.suggestedsites.webmaker.title=Learn the Web: Mozilla Webmaker
-browser.suggestedsites.webmaker.url=https://webmaker.org/
-browser.suggestedsites.webmaker.bgcolor=#f37c00
-
-# LOCALIZATION NOTE: browser.suggestedsites.restricted_mozilla.url must be different from browser.suggestedsites.mozilla.url
-browser.suggestedsites.restricted_mozilla.title=The Mozilla Project
-browser.suggestedsites.restricted_mozilla.url=https://www.mozilla.org
-browser.suggestedsites.restricted_mozilla.bgcolor=#ce4e41
-browser.suggestedsites.restricted_mozilla.trackingid=632
+browser.suggestedsites.list.0=checktor
+browser.suggestedsites.list.1=torproject
+browser.suggestedsites.list.2=guardianproject
+browser.suggestedsites.list.3=facebook
+
+browser.suggestedsites.checktor.title=Check Tor Connection
+browser.suggestedsites.checktor.url=https://check.torproject.org/
+browser.suggestedsites.checktor.bgcolor=#ffecf0f3
+browser.suggestedsites.checktor.trackingid=632
+
+browser.suggestedsites.torproject.title=The Tor Project
+browser.suggestedsites.torproject.url=https://www.torproject.org/
+browser.suggestedsites.torproject.bgcolor=#ffecf0f3
+browser.suggestedsites.torproject.trackingid=629
+
+browser.suggestedsites.guardianproject.title=The Guardian Project
+browser.suggestedsites.guardianproject.url=https://guardianproject.info/
+browser.suggestedsites.guardianproject.bgcolor=#ffecf0f3
+browser.suggestedsites.guardianproject.trackingid=630
+
+browser.suggestedsites.facebook.title=Facebook Hidden Service
+browser.suggestedsites.facebook.url=https://facebookcorewwwi.onion
+browser.suggestedsites.facebook.bgcolor=#ffecf0f3
+browser.suggestedsites.facebook.trackingid=631
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] Orfox: Add mozconfig for Orfox and pertinent branding files.
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit eb634b34db00b8eb6737bb6627451d623f1e3e7e
Author: Amogh Pradeep <amoghbl1(a)gmail.com>
Date: Thu Jun 4 00:06:36 2015 -0400
Orfox: Add mozconfig for Orfox and pertinent branding files.
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
.mozconfig-orfox | 33 +++++++++++++++++++++
mobile/android/branding/orfox/configure.sh | 8 +++++
mobile/android/branding/orfox/content/about.png | Bin 0 -> 16858 bytes
.../android/branding/orfox/content/favicon32.png | Bin 0 -> 2418 bytes
.../android/branding/orfox/content/favicon64.png | Bin 0 -> 7165 bytes
mobile/android/branding/orfox/content/jar.mn | 9 ++++++
mobile/android/branding/orfox/content/moz.build | 7 +++++
mobile/android/branding/orfox/ic_launcher.zip | Bin 0 -> 96525 bytes
mobile/android/branding/orfox/icon.png | Bin 0 -> 36456 bytes
mobile/android/branding/orfox/locales/Makefile.in | 5 ++++
.../android/branding/orfox/locales/en-US/brand.dtd | 8 +++++
.../branding/orfox/locales/en-US/brand.properties | 7 +++++
mobile/android/branding/orfox/locales/jar.mn | 11 +++++++
mobile/android/branding/orfox/locales/moz.build | 7 +++++
mobile/android/branding/orfox/moz.build | 7 +++++
mobile/android/branding/orfox/orfox.png | Bin 0 -> 36456 bytes
mobile/android/branding/orfox/orfox.xcf | Bin 0 -> 267775 bytes
.../branding/orfox/res/drawable-hdpi/icon.png | Bin 0 -> 8545 bytes
.../orfox/res/drawable-hdpi/large_icon.png | 1 +
.../orfox/res/drawable-hdpi/launcher_widget.png | Bin 0 -> 14001 bytes
.../branding/orfox/res/drawable-mdpi/icon.png | Bin 0 -> 4332 bytes
.../orfox/res/drawable-mdpi/large_icon.png | 1 +
.../orfox/res/drawable-mdpi/launcher_widget.png | Bin 0 -> 7661 bytes
.../branding/orfox/res/drawable-xhdpi/icon.png | Bin 0 -> 13454 bytes
.../orfox/res/drawable-xhdpi/large_icon.png | 1 +
.../orfox/res/drawable-xhdpi/launcher_widget.png | Bin 0 -> 21223 bytes
.../orfox/res/drawable-xhdpi/widget_icon.png | Bin 0 -> 4381 bytes
.../branding/orfox/res/drawable-xxhdpi/icon.png | Bin 0 -> 26491 bytes
.../orfox/res/drawable-xxhdpi/large_icon.png | 1 +
.../orfox/res/drawable-xxhdpi/launcher_widget.png | Bin 0 -> 32686 bytes
.../branding/orfox/res/drawable-xxxhdpi/icon.png | Bin 0 -> 42959 bytes
31 files changed, 106 insertions(+)
diff --git a/.mozconfig-orfox b/.mozconfig-orfox
new file mode 100755
index 000000000000..4b7a40f81123
--- /dev/null
+++ b/.mozconfig-orfox
@@ -0,0 +1,33 @@
+# Build Fennec
+
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-tbb-arm-linux-androideabi
+mk_add_options MOZ_APP_DISPLAYNAME="Orfox"
+mk_add_options MOZ_MAKE_FLAGS="-j4"
+
+# Android
+ac_add_options --enable-application=mobile/android
+ac_add_options --target=arm-linux-androideabi
+ac_add_options --with-android-ndk="$NDK_BASE" #Enter the android ndk location(ndk r10e)
+ac_add_options --with-android-sdk="$SDK_BASE" #Enter the android sdk location
+
+#enable ccache to set amount of cache assigned for build.
+ac_add_options --with-ccache
+
+ac_add_options --enable-optimize
+#ac_add_options --enable-official-branding
+ac_add_options --with-branding=mobile/android/branding/orfox
+##ac_add_options --enable-tor-browser-update
+##ac_add_options --enable-update-packaging
+ac_add_options --enable-signmar
+ac_add_options --enable-verify-mar
+#ac_add_options --disable-strip
+#ac_add_options --disable-install-strip == Known mobile build flag that causes errors
+ac_add_options --disable-tests
+ac_add_options --disable-debug
+ac_add_options --disable-maintenance-service
+ac_add_options --disable-crashreporter
+ac_add_options --disable-webrtc
+# Let's not compile EME at least until we can enable ClearKey and only Clearkey.
+# (Apart from that there is no Adobe CRM module for Linux right now)
+ac_add_options --disable-eme
+#ac_add_options --disable-ctypes
diff --git a/mobile/android/branding/orfox/configure.sh b/mobile/android/branding/orfox/configure.sh
new file mode 100644
index 000000000000..d58a5e340d09
--- /dev/null
+++ b/mobile/android/branding/orfox/configure.sh
@@ -0,0 +1,8 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+ANDROID_PACKAGE_NAME=info.guardianproject.orfox
+MOZ_APP_DISPLAYNAME="Orfox"
+MOZ_UPDATER=
+MOZ_ANDROID_ANR_REPORTER=
diff --git a/mobile/android/branding/orfox/content/about.png b/mobile/android/branding/orfox/content/about.png
new file mode 100644
index 000000000000..3819f6337a17
Binary files /dev/null and b/mobile/android/branding/orfox/content/about.png differ
diff --git a/mobile/android/branding/orfox/content/favicon32.png b/mobile/android/branding/orfox/content/favicon32.png
new file mode 100644
index 000000000000..90d37f997854
Binary files /dev/null and b/mobile/android/branding/orfox/content/favicon32.png differ
diff --git a/mobile/android/branding/orfox/content/favicon64.png b/mobile/android/branding/orfox/content/favicon64.png
new file mode 100644
index 000000000000..a3db8126f5a1
Binary files /dev/null and b/mobile/android/branding/orfox/content/favicon64.png differ
diff --git a/mobile/android/branding/orfox/content/jar.mn b/mobile/android/branding/orfox/content/jar.mn
new file mode 100644
index 000000000000..f934ed5e4634
--- /dev/null
+++ b/mobile/android/branding/orfox/content/jar.mn
@@ -0,0 +1,9 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+chrome.jar:
+% content branding %content/branding/
+ content/branding/about.png (about.png)
+ content/branding/favicon32.png (favicon32.png)
+ content/branding/favicon64.png (favicon64.png)
diff --git a/mobile/android/branding/orfox/content/moz.build b/mobile/android/branding/orfox/content/moz.build
new file mode 100644
index 000000000000..3bbe6729759c
--- /dev/null
+++ b/mobile/android/branding/orfox/content/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn']
diff --git a/mobile/android/branding/orfox/ic_launcher.zip b/mobile/android/branding/orfox/ic_launcher.zip
new file mode 100644
index 000000000000..69601344519e
Binary files /dev/null and b/mobile/android/branding/orfox/ic_launcher.zip differ
diff --git a/mobile/android/branding/orfox/icon.png b/mobile/android/branding/orfox/icon.png
new file mode 100644
index 000000000000..6e0051b95a32
Binary files /dev/null and b/mobile/android/branding/orfox/icon.png differ
diff --git a/mobile/android/branding/orfox/locales/Makefile.in b/mobile/android/branding/orfox/locales/Makefile.in
new file mode 100644
index 000000000000..82f614ecea29
--- /dev/null
+++ b/mobile/android/branding/orfox/locales/Makefile.in
@@ -0,0 +1,5 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+DEFINES += -DAB_CD=$(AB_CD)
diff --git a/mobile/android/branding/orfox/locales/en-US/brand.dtd b/mobile/android/branding/orfox/locales/en-US/brand.dtd
new file mode 100644
index 000000000000..f2411277f406
--- /dev/null
+++ b/mobile/android/branding/orfox/locales/en-US/brand.dtd
@@ -0,0 +1,8 @@
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+
+<!ENTITY brandShortName "Orfox">
+<!ENTITY brandFullName "Orfox">
+<!ENTITY vendorShortName "TGP">
+<!ENTITY logoTrademark "">
diff --git a/mobile/android/branding/orfox/locales/en-US/brand.properties b/mobile/android/branding/orfox/locales/en-US/brand.properties
new file mode 100644
index 000000000000..51c72d18381c
--- /dev/null
+++ b/mobile/android/branding/orfox/locales/en-US/brand.properties
@@ -0,0 +1,7 @@
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+#filter
+brandShortName=Orfox
+brandFullName=Orfox
diff --git a/mobile/android/branding/orfox/locales/jar.mn b/mobile/android/branding/orfox/locales/jar.mn
new file mode 100644
index 000000000000..825dabbfb470
--- /dev/null
+++ b/mobile/android/branding/orfox/locales/jar.mn
@@ -0,0 +1,11 @@
+#filter substitution
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+
+@AB_CD@.jar:
+% locale branding @AB_CD@ %locale/branding/
+# Nightly branding only exists in en-US
+ locale/branding/brand.dtd (en-US/brand.dtd)
+* locale/branding/brand.properties (en-US/brand.properties)
diff --git a/mobile/android/branding/orfox/locales/moz.build b/mobile/android/branding/orfox/locales/moz.build
new file mode 100644
index 000000000000..3bbe6729759c
--- /dev/null
+++ b/mobile/android/branding/orfox/locales/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+JAR_MANIFESTS += ['jar.mn']
diff --git a/mobile/android/branding/orfox/moz.build b/mobile/android/branding/orfox/moz.build
new file mode 100644
index 000000000000..8f320daeae90
--- /dev/null
+++ b/mobile/android/branding/orfox/moz.build
@@ -0,0 +1,7 @@
+# -*- Mode: python; c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 40 -*-
+# vim: set filetype=python:
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+
+DIRS += ['content', 'locales']
diff --git a/mobile/android/branding/orfox/orfox.png b/mobile/android/branding/orfox/orfox.png
new file mode 100644
index 000000000000..350edb58d994
Binary files /dev/null and b/mobile/android/branding/orfox/orfox.png differ
diff --git a/mobile/android/branding/orfox/orfox.xcf b/mobile/android/branding/orfox/orfox.xcf
new file mode 100644
index 000000000000..2a8f829c3c34
Binary files /dev/null and b/mobile/android/branding/orfox/orfox.xcf differ
diff --git a/mobile/android/branding/orfox/res/drawable-hdpi/icon.png b/mobile/android/branding/orfox/res/drawable-hdpi/icon.png
new file mode 100644
index 000000000000..30731f03daf6
Binary files /dev/null and b/mobile/android/branding/orfox/res/drawable-hdpi/icon.png differ
diff --git a/mobile/android/branding/orfox/res/drawable-hdpi/large_icon.png b/mobile/android/branding/orfox/res/drawable-hdpi/large_icon.png
new file mode 120000
index 000000000000..fd11ee776429
--- /dev/null
+++ b/mobile/android/branding/orfox/res/drawable-hdpi/large_icon.png
@@ -0,0 +1 @@
+../drawable-xxhdpi/icon.png
\ No newline at end of file
diff --git a/mobile/android/branding/orfox/res/drawable-hdpi/launcher_widget.png b/mobile/android/branding/orfox/res/drawable-hdpi/launcher_widget.png
new file mode 100644
index 000000000000..4d7dc659a565
Binary files /dev/null and b/mobile/android/branding/orfox/res/drawable-hdpi/launcher_widget.png differ
diff --git a/mobile/android/branding/orfox/res/drawable-mdpi/icon.png b/mobile/android/branding/orfox/res/drawable-mdpi/icon.png
new file mode 100644
index 000000000000..a7d98aa9c771
Binary files /dev/null and b/mobile/android/branding/orfox/res/drawable-mdpi/icon.png differ
diff --git a/mobile/android/branding/orfox/res/drawable-mdpi/large_icon.png b/mobile/android/branding/orfox/res/drawable-mdpi/large_icon.png
new file mode 120000
index 000000000000..79362e743cd1
--- /dev/null
+++ b/mobile/android/branding/orfox/res/drawable-mdpi/large_icon.png
@@ -0,0 +1 @@
+../drawable-xhdpi/icon.png
\ No newline at end of file
diff --git a/mobile/android/branding/orfox/res/drawable-mdpi/launcher_widget.png b/mobile/android/branding/orfox/res/drawable-mdpi/launcher_widget.png
new file mode 100644
index 000000000000..23d966478fdf
Binary files /dev/null and b/mobile/android/branding/orfox/res/drawable-mdpi/launcher_widget.png differ
diff --git a/mobile/android/branding/orfox/res/drawable-xhdpi/icon.png b/mobile/android/branding/orfox/res/drawable-xhdpi/icon.png
new file mode 100644
index 000000000000..155611f2da7d
Binary files /dev/null and b/mobile/android/branding/orfox/res/drawable-xhdpi/icon.png differ
diff --git a/mobile/android/branding/orfox/res/drawable-xhdpi/large_icon.png b/mobile/android/branding/orfox/res/drawable-xhdpi/large_icon.png
new file mode 120000
index 000000000000..17528430e69f
--- /dev/null
+++ b/mobile/android/branding/orfox/res/drawable-xhdpi/large_icon.png
@@ -0,0 +1 @@
+../drawable-xxxhdpi/icon.png
\ No newline at end of file
diff --git a/mobile/android/branding/orfox/res/drawable-xhdpi/launcher_widget.png b/mobile/android/branding/orfox/res/drawable-xhdpi/launcher_widget.png
new file mode 100644
index 000000000000..beff04f1fc1d
Binary files /dev/null and b/mobile/android/branding/orfox/res/drawable-xhdpi/launcher_widget.png differ
diff --git a/mobile/android/branding/orfox/res/drawable-xhdpi/widget_icon.png b/mobile/android/branding/orfox/res/drawable-xhdpi/widget_icon.png
new file mode 100644
index 000000000000..ef76eb342035
Binary files /dev/null and b/mobile/android/branding/orfox/res/drawable-xhdpi/widget_icon.png differ
diff --git a/mobile/android/branding/orfox/res/drawable-xxhdpi/icon.png b/mobile/android/branding/orfox/res/drawable-xxhdpi/icon.png
new file mode 100644
index 000000000000..8e6e60311f8f
Binary files /dev/null and b/mobile/android/branding/orfox/res/drawable-xxhdpi/icon.png differ
diff --git a/mobile/android/branding/orfox/res/drawable-xxhdpi/large_icon.png b/mobile/android/branding/orfox/res/drawable-xxhdpi/large_icon.png
new file mode 120000
index 000000000000..17528430e69f
--- /dev/null
+++ b/mobile/android/branding/orfox/res/drawable-xxhdpi/large_icon.png
@@ -0,0 +1 @@
+../drawable-xxxhdpi/icon.png
\ No newline at end of file
diff --git a/mobile/android/branding/orfox/res/drawable-xxhdpi/launcher_widget.png b/mobile/android/branding/orfox/res/drawable-xxhdpi/launcher_widget.png
new file mode 100644
index 000000000000..279af3fff38b
Binary files /dev/null and b/mobile/android/branding/orfox/res/drawable-xxhdpi/launcher_widget.png differ
diff --git a/mobile/android/branding/orfox/res/drawable-xxxhdpi/icon.png b/mobile/android/branding/orfox/res/drawable-xxxhdpi/icon.png
new file mode 100644
index 000000000000..9c4820ce6729
Binary files /dev/null and b/mobile/android/branding/orfox/res/drawable-xxxhdpi/icon.png differ
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] Orfox: confvars changes to disable screen casting
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 36df808f70e1108b926a1187a03387d4b4823878
Author: Amogh Pradeep <amoghbl1(a)gmail.com>
Date: Wed Jun 10 17:12:02 2015 -0400
Orfox: confvars changes to disable screen casting
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
mobile/android/confvars.sh | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/mobile/android/confvars.sh b/mobile/android/confvars.sh
index b4215ca89a0c..8af6925a6dc9 100644
--- a/mobile/android/confvars.sh
+++ b/mobile/android/confvars.sh
@@ -32,6 +32,11 @@ MOZ_RAW=1
MOZ_RUST_MP4PARSE=1
+MOZ_PLACES=
+MOZ_SOCIAL=
+MOZ_ANDROID_HISTORY=0
+MOZ_DISABLE_EXPORT_JS=1
+
# use custom widget for html:select
MOZ_USE_NATIVE_POPUP_WINDOWS=1
@@ -40,7 +45,7 @@ MOZ_APP_ID={aa3c5121-dab2-40e2-81ca-7ea25febc110}
MOZ_APP_STATIC_INI=1
# Enable second screen using native Android libraries.
-MOZ_NATIVE_DEVICES=1
+MOZ_NATIVE_DEVICES=0
# Enable install tracking SDK if we have Google Play support; MOZ_NATIVE_DEVICES
# is a proxy flag for that support.
1
0

[tor-browser/tor-browser-52.7.2esr-8.0-1] Orfox: Added tbb prefs to mobile.js Bug #5404 - We need a mobile friendly user-agent. Moving back to the default user-agent used by the esr38 build
by gk@torproject.org 20 Mar '18
by gk@torproject.org 20 Mar '18
20 Mar '18
commit 908389c3fdbcd76ec7e2f6f4b57741253e9757a6
Author: Amogh Pradeep <amoghbl1(a)gmail.com>
Date: Thu Jun 11 09:43:09 2015 -0400
Orfox: Added tbb prefs to mobile.js Bug #5404 - We need a mobile friendly user-agent. Moving back to the default user-agent used by the esr38 build
Signed-off-by: Amogh Pradeep <amoghbl1(a)gmail.com>
---
mobile/android/app/mobile.js | 226 +++++++++++++++++++++++++++++++++++++++++--
1 file changed, 216 insertions(+), 10 deletions(-)
diff --git a/mobile/android/app/mobile.js b/mobile/android/app/mobile.js
index 2a64297c4bbe..437177a67250 100644
--- a/mobile/android/app/mobile.js
+++ b/mobile/android/app/mobile.js
@@ -905,16 +905,222 @@ pref("identity.fxaccounts.remote.oauth.uri", "https://oauth.accounts.firefox.com
// Token server used by Firefox Account-authenticated Sync.
pref("identity.sync.tokenserver.uri", "https://token.services.mozilla.com/1.0/sync/1.5");
-// Enable Presentation API
-pref("dom.presentation.enabled", false);
-pref("dom.presentation.discovery.enabled", true);
-pref("dom.presentation.discovery.legacy.enabled", true); // for TV 2.5 backward capability
+# Default Preferences
+# Tor Browser Bundle
+# Do not edit this file.
-pref("dom.audiochannel.audioCompeting", true);
-pref("dom.audiochannel.mediaControl", true);
+// Please maintain unit tests at ./tbb-tests/browser_tor_TB4.js
-// Space separated list of URLS that are allowed to send objects (instead of
-// only strings) through webchannels. This list is duplicated in browser/app/profile/firefox.js
-pref("webchannel.allowObject.urlWhitelist", "https://accounts.firefox.com https://content.cdn.mozilla.net https://input.mozilla.org https://support.mozilla.org https://install.mozilla.org");
+// Disable browser auto updaters and associated homepage notifications
+pref("app.update.auto", false);
+pref("app.update.enabled", false);
+pref("browser.search.update", false);
+pref("browser.rights.3.shown", true);
+pref("browser.startup.homepage_override.mstone", "ignore");
+pref("startup.homepage_welcome_url", "");
+pref("startup.homepage_override_url", "");
+
+// Disable "Slow startup" warnings and associated disk history
+// (bug #13346)
+pref("browser.slowStartup.notificationDisabled", true);
+pref("browser.slowStartup.maxSamples", 0);
+pref("browser.slowStartup.samples", 0);
+
+// Disk activity: Disable Browsing History Storage
+pref("browser.privatebrowsing.autostart", true);
+pref("browser.cache.disk.enable", false);
+pref("browser.cache.offline.enable", false);
+pref("dom.indexedDB.enabled", false);
+pref("permissions.memory_only", true);
+pref("network.cookie.lifetimePolicy", 2);
+pref("browser.download.manager.retention", 1);
+pref("security.nocertdb", true);
+
+// Disk activity: TBB Directory Isolation
+pref("browser.download.useDownloadDir", false);
+pref("browser.shell.checkDefaultBrowser", false);
+pref("browser.download.manager.addToRecentDocs", false);
+
+// Misc privacy: Disk
+pref("signon.rememberSignons", false);
+pref("browser.formfill.enable", false);
+pref("signon.autofillForms", false);
+pref("browser.sessionstore.privacy_level", 2);
+pref("media.cache_size", 0);
+
+// Misc privacy: Remote
+pref("browser.send_pings", false);
+pref("geo.enabled", false);
+pref("geo.wifi.uri", "");
+pref("browser.search.suggest.enabled", false);
+pref("browser.safebrowsing.enabled", false);
+pref("browser.safebrowsing.malware.enabled", false);
+pref("browser.download.manager.scanWhenDone", false); // prevents AV remote reporting of downloads
+pref("extensions.ui.lastCategory", "addons://list/extension");
+pref("datareporting.healthreport.service.enabled", false); // Yes, all three of these must be set
+pref("datareporting.healthreport.uploadEnabled", false);
+pref("datareporting.policy.dataSubmissionEnabled", false);
+pref("security.mixed_content.block_active_content", false); // Disable until https://bugzilla.mozilla.org/show_bug.cgi?id=878890 is patched
+pref("browser.syncPromoViewsLeftMap", "{\"addons\":0, \"passwords\":0, \"bookmarks\":0}"); // Don't promote sync
+pref("services.sync.engine.prefs", false); // Never sync prefs, addons, or tabs with other browsers
+pref("services.sync.engine.addons", false);
+pref("services.sync.engine.tabs", false);
+pref("extensions.getAddons.cache.enabled", false); // https://blog.mozilla.org/addons/how-to-opt-out-of-add-on-metadata-updates/
+
+// Fingerprinting
+pref("webgl.min_capability_mode", true);
+pref("webgl.disable-extensions", true);
+pref("dom.battery.enabled", false); // fingerprinting due to differing OS implementations
+pref("dom.network.enabled",false); // fingerprinting due to differing OS implementations
+pref("browser.display.max_font_attempts",10);
+pref("browser.display.max_font_count",10);
+pref("gfx.downloadable_fonts.fallback_delay", -1);
+// pref("general.appname.override", "Netscape");
+// pref("general.appversion.override", "5.0 (Windows)");
+// pref("general.oscpu.override", "Windows NT 6.1");
+// pref("general.platform.override", "Win32");
+pref("general.useragent.override", "Mozilla/5.0 (Android; Mobile; rv:38.0) Gecko/38.0 Firefox/38.0");
+// pref("general.productSub.override", "20100101");
+// pref("general.buildID.override", "20100101");
+// pref("browser.startup.homepage_override.buildID", "20100101");
+pref("general.useragent.vendor", "");
+pref("general.useragent.vendorSub", "");
+pref("dom.enable_performance", false);
+pref("plugin.expose_full_path", false);
+pref("browser.zoom.siteSpecific", false);
+pref("intl.charset.default", "windows-1252");
+pref("browser.link.open_newwindow.restriction", 0); // Bug 9881: Open popups in new tabs (to avoid fullscreen popups)
+pref("dom.gamepad.enabled", false); // bugs.torproject.org/13023
+pref("javascript.use_us_english_locale", true);
+// pref("intl.accept_languages", "en-us, en"); // Set by Torbutton
+// pref("intl.accept_charsets", "iso-8859-1,*,utf-8"); // Set by Torbutton
+// pref("intl.charsetmenu.browser.cache", "UTF-8"); // Set by Torbutton
+// Disable video statistics fingerprinting vector (bug 15757)
+pref("media.video_stats.enabled", false);
+// Disable device sensors as possible fingerprinting vector (bug 15758)
+pref("device.sensors.enabled", false);
+
+// Third party stuff
+pref("network.cookie.cookieBehavior", 1);
+pref("security.enable_tls_session_tickets", false);
+pref("network.http.spdy.enabled", false); // Stores state and may have keepalive issues (both fixable)
+pref("network.http.spdy.enabled.v2", false); // Seems redundant, but just in case
+pref("network.http.spdy.enabled.v3", false); // Seems redundant, but just in case
+pref("privacy.thirdparty.isolate", 2); // Always enforce third party isolation
+pref("dom.workers.sharedWorkers.enabled", false); // See https://bugs.torproject.org/15562
+
+// Proxy and proxy security
+pref("network.proxy.socks", "127.0.0.1");
+pref("network.proxy.socks_port", 9050);
+pref("network.proxy.socks_remote_dns", true);
+pref("network.proxy.no_proxies_on", ""); // For fingerprinting and local service vulns (#10419)
+pref("network.proxy.type", 1);
+pref("network.security.ports.banned", "9050,9051,9150,9151");
+pref("network.dns.disablePrefetch", true);
+pref("network.protocol-handler.external-default", false);
+pref("network.protocol-handler.external.mailto", false);
+pref("network.protocol-handler.external.news", false);
+pref("network.protocol-handler.external.nntp", false);
+pref("network.protocol-handler.external.snews", false);
+pref("network.protocol-handler.warn-external.mailto", true);
+pref("network.protocol-handler.warn-external.news", true);
+pref("network.protocol-handler.warn-external.nntp", true);
+pref("network.protocol-handler.warn-external.snews", true);
+pref("plugin.disable", true); // Disable to search plugins on first start
+pref("plugins.click_to_play", true);
+pref("plugin.state.flash", 1);
+pref("plugins.hide_infobar_for_missing_plugin", true);
+pref("plugins.hideMissingPluginsNotification", true);
+pref("media.peerconnection.enabled", false); // Disable WebRTC interfaces
+
+// Security slider
+pref("svg.in-content.enabled", true);
+pref("mathml.disabled", false);
+
+// Network and performance
+pref("network.http.pipelining", true);
+pref("network.http.pipelining.aggressive", true);
+pref("network.http.pipelining.maxrequests", 12);
+pref("network.http.pipelining.ssl", true);
+pref("network.http.proxy.pipelining", true);
+pref("security.ssl.enable_false_start", true);
+pref("network.http.connection-retry-timeout", 0);
+pref("network.http.max-persistent-connections-per-proxy", 256);
+pref("network.http.pipelining.reschedule-timeout", 15000);
+pref("network.http.pipelining.read-timeout", 60000);
+// Hacked pref: Now means "Attempt to pipeline at least this many requests together"
+pref("network.http.pipelining.max-optimistic-requests", 3);
+pref("security.ssl.disable_session_identifiers", true);
+
+// Extension support
+pref("extensions.autoDisableScopes", 0);
+pref("extensions.bootstrappedAddons", "{}");
+pref("extensions.checkCompatibility.4.*", false);
+pref("extensions.databaseSchema", 3);
+pref("extensions.enabledAddons", "https-everywhere%40eff.org:3.1.4,%7B73a6fe31-595d-460b-a920-fcc0f8843232%7D:2.6.6.1,torbutton%40torproject.org:1.5.2,ubufox%40ubuntu.com:2.6,tor-launcher%40torproject.org:0.1.1pre-alpha,%7B972ce4c6-7e08-4474-a285-3208198ce6fd%7D:17.0.5");
+pref("extensions.enabledItems", "langpack-en-US@firefox.mozilla.org:,{73a6fe31-595d-460b-a920-fcc0f8843232}:1.9.9.57,{e0204bd5-9d31-402b-a99d-a6aa8ffebdca}:1.2.4,{972ce4c6-7e08-4474-a285-3208198ce6fd}:3.5.8");
+pref("extensions.enabledScopes", 1);
+pref("extensions.pendingOperations", false);
+pref("xpinstall.whitelist.add", "");
+pref("xpinstall.whitelist.add.36", "");
+
+
+// Putting the search engine prefs into this file to fix #11236.
+// Default search engine
+pref("browser.search.defaultenginename", "Search");
+
+// Search engine order (order displayed in the search bar dropdown)
+// Somewhat surprisingly we get some random behavior if we specify more than
+// two search engines as below. See
+// https://bugzilla.mozilla.org/show_bug.cgi?id=1126722 for details.
+pref("browser.search.order.extra.1", "Search");
+pref("browser.search.order.extra.2", "YouTube");
+
+// Audio_data is deprecated in future releases, but still present
+// in FF24. This is a dangerous combination (spotted by iSec)
+pref("media.audio_data.enabled", false);
+
+// If true, remote JAR files will not be opened, regardless of content type
+// Patch done by Jeff Gibat (iSEC). We bind it to the security slider but allow
+// jar: in default mode.
+pref("network.jar.block-remote-files", false);
+
+// Enable TLS 1.1 and 1.2:
+// https://trac.torproject.org/projects/tor/ticket/11253
+pref("security.tls.version.max", 3);
+
+#ifdef TOR_BROWSER_VERSION
+#expand pref("torbrowser.version", __TOR_BROWSER_VERSION__);
+#endif
-pref("media.openUnsupportedTypeWithExternalApp", true);
+// More Orfox specific flags (some might be redundant)
+pref("privacy.clearOnShutdown.cache", true);
+pref("privacy.clearOnShutdown.cookies",true);
+pref("privacy.clearOnShutdown.downloads",true);
+pref("privacy.clearOnShutdown.formdata",true);
+pref("privacy.clearOnShutdown.history",true);
+pref("privacy.clearOnShutdown.offlineApps",true);
+pref("privacy.clearOnShutdown.passwords",true);
+pref("privacy.clearOnShutdown.sessions",true);
+pref("privacy.clearOnShutdown.siteSettings",true);
+
+// Do Not Track!
+pref("privacy.donottrackheader.enabled",false);
+pref("privacy.donottrackheader.value",1);
+
+// Don't send a referrer:
+pref("network.http.sendRefererHeader", 0);
+
+// Make sure certificates are up-to-date:
+pref("security.OCSP.require", true); pref("security.checkloaduri",true);
+
+// Don't display mixed content (i.e. not secure content on a secure page)
+pref("security.mixed_content.block_display_content", true);
+
+// Disable RTSP
+pref("media.rtsp.enabled", false);
+pref("media.rtsp.video.enabled", false);
+
+// Disable UDP Push service wakeup
+pref("services.push.udp.wakeupEnabled", false);
+pref("dom.push.udp.wakeupEnabled", false);
1
0

19 Mar '18
commit 35fcafe980c7b86a15ed433fbac31bd143dfa7b3
Author: Nicolas Vigier <boklm(a)torproject.org>
Date: Wed Feb 14 13:31:29 2018 +0100
Bug 16472: update binutils to 2.29.1
---
keyring/binutils.gpg | Bin 25772 -> 2242 bytes
projects/binutils/64bit-fixups.patch | 31 ++--
projects/binutils/binutils-224-gold.patch | 98 -------------
projects/binutils/build | 9 --
projects/binutils/config | 8 +-
projects/binutils/enable-reloc-section-ld.patch | 83 ++++++-----
projects/binutils/fix-warning-bfd.patch | 186 ------------------------
projects/binutils/peXXigen.patch | 14 --
projects/mingw-w64/build | 8 +-
projects/nsis/build | 31 +++-
projects/openssl/config | 2 +-
projects/selfrando/config | 2 +-
projects/zlib/build | 4 +-
rbm.conf | 2 +-
14 files changed, 100 insertions(+), 378 deletions(-)
diff --git a/keyring/binutils.gpg b/keyring/binutils.gpg
index f24bb01..eab4406 100644
Binary files a/keyring/binutils.gpg and b/keyring/binutils.gpg differ
diff --git a/projects/binutils/64bit-fixups.patch b/projects/binutils/64bit-fixups.patch
index 33c0297..7dc1294 100644
--- a/projects/binutils/64bit-fixups.patch
+++ b/projects/binutils/64bit-fixups.patch
@@ -1,14 +1,19 @@
-From f3ba95e14437f10de8b8f296930ff2a8495d18c6 Mon Sep 17 00:00:00 2001
+From 05164a1162d5f6f696d7f7c4b1bc61ef06d1c288 Mon Sep 17 00:00:00 2001
From: Georg Koppen <gk(a)torproject.org>
Date: Tue, 12 Sep 2017 07:21:16 +0000
Subject: [PATCH] 64bit fixups
+---
+ ld/emultempl/pep.em | 4 ++--
+ ld/pep-dll.c | 1 +
+ ld/pep-dll.h | 1 +
+ 3 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em
-index b566903b14..27006bdf79 100644
+index fccbd63..f7c0a57 100644
--- a/ld/emultempl/pep.em
+++ b/ld/emultempl/pep.em
-@@ -730,7 +730,7 @@ gld${EMULATION_NAME}_handle_option (int optc)
+@@ -742,7 +742,7 @@ gld${EMULATION_NAME}_handle_option (int optc)
pep_dll_exclude_all_symbols = 1;
break;
case OPTION_ENABLE_RELOC_SECTION:
@@ -17,17 +22,17 @@ index b566903b14..27006bdf79 100644
break;
case OPTION_EXCLUDE_LIBS:
pep_dll_add_excludes (optarg, EXCLUDELIBS);
-@@ -1623,7 +1623,7 @@ gld_${EMULATION_NAME}_finish (void)
-
+@@ -1862,7 +1862,7 @@ gld_${EMULATION_NAME}_finish (void)
#ifdef DLL_SUPPORT
- if (link_info.shared
-- || (!link_info.relocatable && pe_dll_enable_reloc_section)
-+ || (!link_info.relocatable && pep_dll_enable_reloc_section)
- || (!link_info.relocatable && pep_def_file->num_exports != 0))
+ if (bfd_link_pic (&link_info)
+ || (!bfd_link_relocatable (&link_info)
+- && pe_dll_enable_reloc_section)
++ && pep_dll_enable_reloc_section)
+ || (!bfd_link_relocatable (&link_info)
+ && pep_def_file->num_exports != 0))
{
- pep_dll_fill_sections (link_info.output_bfd, &link_info);
diff --git a/ld/pep-dll.c b/ld/pep-dll.c
-index 0e5e8b1523..b5f99b90e0 100644
+index b8c017f..5ad5733 100644
--- a/ld/pep-dll.c
+++ b/ld/pep-dll.c
@@ -31,6 +31,7 @@
@@ -39,7 +44,7 @@ index 0e5e8b1523..b5f99b90e0 100644
#define pe_dll_stdcall_aliases pep_dll_stdcall_aliases
#define pe_dll_warn_dup_exports pep_dll_warn_dup_exports
diff --git a/ld/pep-dll.h b/ld/pep-dll.h
-index 1e7e3d65d4..c31e69cc8e 100644
+index 0a27c1f..95d9c15 100644
--- a/ld/pep-dll.h
+++ b/ld/pep-dll.h
@@ -31,6 +31,7 @@ extern def_file * pep_def_file;
@@ -51,5 +56,5 @@ index 1e7e3d65d4..c31e69cc8e 100644
extern int pep_dll_stdcall_aliases;
extern int pep_dll_warn_dup_exports;
--
-2.14.1
+2.1.4
diff --git a/projects/binutils/binutils-224-gold.patch b/projects/binutils/binutils-224-gold.patch
deleted file mode 100644
index a45e49c..0000000
--- a/projects/binutils/binutils-224-gold.patch
+++ /dev/null
@@ -1,98 +0,0 @@
-From f984741df04cd68bb116073fdfa9405808810ab4 Mon Sep 17 00:00:00 2001
-From: Cary Coutant <ccoutant(a)google.com>
-Date: Wed, 5 Feb 2014 22:59:02 -0800
-Subject: [PATCH] Fix issues with gold undefined symbol diagnostics.
-
-PR binutils/15435 complains that gold issues a visibility error for an
-weak undefined symbol with hidden visibility. The message should be
-suppressed if the symbol is a weak undef.
-
-An earlier patch to add an extra note about key functions when a class's
-vtable symbol is undefined missed a case where the reference to the
-vtable came from a shared library. This patch moves the check to a
-lower-level routine that catches both cases.
-
-gold/
-
-2014-02-05 Cary Coutant <ccoutant(a)google.com>
-
- * errors.cc (Errors::undefined_symbol): Move undef vtable symbol
- check to here.
- * target-reloc.h (is_strong_undefined): New function.
- (relocate_section): Move undef vtable symbol check from here.
- Check for is_strong_undefined.
-
-diff --git a/gold/ChangeLog b/gold/ChangeLog
-index dcf7ed41f8..dd7ef72980 100644
---- a/gold/ChangeLog
-+++ b/gold/ChangeLog
-@@ -1,3 +1,14 @@
-+2014-02-05 Cary Coutant <ccoutant(a)google.com>
-+
-+ Fix issues with gold undefined symbol diagnostics.
-+
-+ PR binutils/15435
-+ * errors.cc (Errors::undefined_symbol): Move undef vtable symbol
-+ check to here.
-+ * target-reloc.h (is_strong_undefined): New function.
-+ (relocate_section): Move undef vtable symbol check from here.
-+ Check for is_strong_undefined.
-+
- 2013-11-22 Cary Coutant <ccoutant(a)google.com>
-
- * testsuite/Makefile.am (exception_x86_64_bnd_test): Use in-tree
-diff --git a/gold/errors.cc b/gold/errors.cc
-index b79764bd1d..98db0fdd86 100644
---- a/gold/errors.cc
-+++ b/gold/errors.cc
-@@ -193,6 +193,11 @@ Errors::undefined_symbol(const Symbol* sym, const std::string& location)
- fprintf(stderr,
- _("%s: %s: undefined reference to '%s', version '%s'\n"),
- location.c_str(), zmsg, sym->demangled_name().c_str(), version);
-+
-+ if (sym->is_cxx_vtable())
-+ gold_info(_("%s: the vtable symbol may be undefined because "
-+ "the class is missing its key function"),
-+ program_name);
- }
-
- // Issue a debugging message.
-diff --git a/gold/target-reloc.h b/gold/target-reloc.h
-index b544c78f37..d609bcbaa8 100644
---- a/gold/target-reloc.h
-+++ b/gold/target-reloc.h
-@@ -144,6 +144,12 @@ class Default_comdat_behavior
- }
- };
-
-+inline bool
-+is_strong_undefined(const Symbol* sym)
-+{
-+ return sym->is_undefined() && sym->binding() != elfcpp::STB_WEAK;
-+}
-+
- // Give an error for a symbol with non-default visibility which is not
- // defined locally.
-
-@@ -411,16 +417,10 @@ relocate_section(
- }
-
- if (issue_undefined_symbol_error(sym))
-- {
-- gold_undefined_symbol_at_location(sym, relinfo, i, offset);
-- if (sym->is_cxx_vtable())
-- gold_info(_("%s: the vtable symbol may be undefined because "
-- "the class is missing its key function"),
-- program_name);
-- }
-+ gold_undefined_symbol_at_location(sym, relinfo, i, offset);
- else if (sym != NULL
- && sym->visibility() != elfcpp::STV_DEFAULT
-- && (sym->is_undefined() || sym->is_from_dynobj()))
-+ && (is_strong_undefined(sym) || sym->is_from_dynobj()))
- visibility_error(sym);
-
- if (sym != NULL && sym->has_warning())
---
-2.11.0
-
diff --git a/projects/binutils/build b/projects/binutils/build
index ee6db1a..8a4ae3f 100644
--- a/projects/binutils/build
+++ b/projects/binutils/build
@@ -21,21 +21,12 @@ cd [% project %]-[% c("version") %]
[% IF c('var/windows') -%]
# XXX: This is needed due to bug 10102.
sed 's/= extern_rt_rel_d;/= extern_rt_rel_d;\n memset (extern_rt_rel_d, 0, PE_IDATA5_SIZE);/' -i ld/pe-dll.c
- # Zeroing timestamps in PE headers reliably, see bug 12753.
- patch -p1 < ../peXXigen.patch
# Needed for the hardening...
patch -p1 < ../enable-reloc-section-ld.patch
- # fix "right-hand operand of comma expression has no effect" warning
- patch -p1 < ../fix-warning-bfd.patch
[% END -%]
[% IF c('var/windows-x86_64') -%]
patch -p1 < ../64bit-fixups.patch
[% END -%]
-[% IF c("var/linux") && ! c("var/release") -%]
- # We need to work around a gold linker bug in 2.24 to get selfrando working,
- # see bug 20683.
- patch -p1 < $rootdir/binutils-224-gold.patch
-[% END -%]
./configure --prefix=$distdir [% c('var/configure_opt') %]
make -j[% c("buildconf/num_procs") %]
make install
diff --git a/projects/binutils/config b/projects/binutils/config
index 5c35588..7ac3799 100644
--- a/projects/binutils/config
+++ b/projects/binutils/config
@@ -1,5 +1,5 @@
# vim: filetype=yaml sw=2
-version: 2.24
+version: 2.29.1
filename: '[% project %]-[% c("version") %]-[% c("var/build_id") %].tar.gz'
var:
configure_opt: '--disable-multilib --enable-gold --enable-deterministic-archives --enable-plugins'
@@ -19,11 +19,5 @@ input_files:
- project: container-image
- filename: enable-reloc-section-ld.patch
enable: '[% c("var/windows") %]'
- - filename: fix-warning-bfd.patch
- enable: '[% c("var/windows") %]'
- filename: 64bit-fixups.patch
enable: '[% c("var/windows-x86_64") %]'
- - filename: peXXigen.patch
- enable: '[% c("var/windows") %]'
- - filename: binutils-224-gold.patch
- enable: '[% c("var/linux") %]'
diff --git a/projects/binutils/enable-reloc-section-ld.patch b/projects/binutils/enable-reloc-section-ld.patch
index f393f51..a6600c3 100644
--- a/projects/binutils/enable-reloc-section-ld.patch
+++ b/projects/binutils/enable-reloc-section-ld.patch
@@ -1,30 +1,29 @@
-From 093b08a9e7af23a258306b710ebc4556d12f94f7 Mon Sep 17 00:00:00 2001
+From fba503a78c50d6134943245d55e820f53e8f19cd Mon Sep 17 00:00:00 2001
From: Erinn Clark <erinn(a)torproject.org>
Date: Fri, 8 Aug 2014 14:23:44 -0400
Subject: [PATCH] add relocation section so Windows bundles can have ASLR
Patch by skruffy.
-
---
- ld/emultempl/pe.em | 6 +++++
- ld/emultempl/pep.em | 8 ++++++-
+ ld/emultempl/pe.em | 7 ++++++
+ ld/emultempl/pep.em | 11 ++++++++--
ld/pe-dll.c | 63 ++++++++++++++++++++++++++++++-----------------------
ld/pe-dll.h | 1 +
- 4 files changed, 50 insertions(+), 28 deletions(-)
+ 4 files changed, 53 insertions(+), 29 deletions(-)
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
-index 5d6da9e..14c07f7 100644
+index 339b7c5..3958b81 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
-@@ -268,6 +268,7 @@ fragment <<EOF
- #define OPTION_TERMINAL_SERVER_AWARE (OPTION_WDM_DRIVER + 1)
- /* Determinism. */
+@@ -272,6 +272,7 @@ fragment <<EOF
#define OPTION_INSERT_TIMESTAMP (OPTION_TERMINAL_SERVER_AWARE + 1)
-+#define OPTION_ENABLE_RELOC_SECTION (OPTION_INSERT_TIMESTAMP + 1)
+ #define OPTION_NO_INSERT_TIMESTAMP (OPTION_INSERT_TIMESTAMP + 1)
+ #define OPTION_BUILD_ID (OPTION_NO_INSERT_TIMESTAMP + 1)
++#define OPTION_ENABLE_RELOC_SECTION (OPTION_BUILD_ID + 1)
static void
gld${EMULATION_NAME}_add_options
-@@ -310,6 +311,7 @@ gld${EMULATION_NAME}_add_options
+@@ -315,6 +316,7 @@ gld${EMULATION_NAME}_add_options
{"export-all-symbols", no_argument, NULL, OPTION_EXPORT_ALL},
{"exclude-symbols", required_argument, NULL, OPTION_EXCLUDE_SYMBOLS},
{"exclude-all-symbols", no_argument, NULL, OPTION_EXCLUDE_ALL_SYMBOLS},
@@ -32,7 +31,7 @@ index 5d6da9e..14c07f7 100644
{"exclude-libs", required_argument, NULL, OPTION_EXCLUDE_LIBS},
{"exclude-modules-for-implib", required_argument, NULL, OPTION_EXCLUDE_MODULES_FOR_IMPLIB},
{"kill-at", no_argument, NULL, OPTION_KILL_ATS},
-@@ -773,6 +775,9 @@ gld${EMULATION_NAME}_handle_option (int optc)
+@@ -782,6 +784,9 @@ gld${EMULATION_NAME}_handle_option (int optc)
case OPTION_EXCLUDE_ALL_SYMBOLS:
pe_dll_exclude_all_symbols = 1;
break;
@@ -42,29 +41,30 @@ index 5d6da9e..14c07f7 100644
case OPTION_EXCLUDE_LIBS:
pe_dll_add_excludes (optarg, EXCLUDELIBS);
break;
-@@ -1839,6 +1844,7 @@ gld_${EMULATION_NAME}_finish (void)
- if (link_info.shared
+@@ -2076,6 +2081,8 @@ gld_${EMULATION_NAME}_finish (void)
#if !defined(TARGET_IS_shpe)
- || (!link_info.relocatable && pe_def_file->num_exports != 0)
-+ || (!link_info.relocatable && pe_dll_enable_reloc_section)
+ || (!bfd_link_relocatable (&link_info)
+ && pe_def_file->num_exports != 0)
++ || (!bfd_link_relocatable (&link_info)
++ && pe_dll_enable_reloc_section)
#endif
)
{
diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em
-index b738800..b566903 100644
+index c253d2f..fccbd63 100644
--- a/ld/emultempl/pep.em
+++ b/ld/emultempl/pep.em
-@@ -242,7 +242,8 @@ enum options
- OPTION_NO_BIND,
- OPTION_WDM_DRIVER,
+@@ -246,7 +246,8 @@ enum options
OPTION_INSERT_TIMESTAMP,
-- OPTION_TERMINAL_SERVER_AWARE
-+ OPTION_TERMINAL_SERVER_AWARE,
+ OPTION_NO_INSERT_TIMESTAMP,
+ OPTION_TERMINAL_SERVER_AWARE,
+- OPTION_BUILD_ID
++ OPTION_BUILD_ID,
+ OPTION_ENABLE_RELOC_SECTION
};
static void
-@@ -284,6 +285,7 @@ gld${EMULATION_NAME}_add_options
+@@ -288,6 +289,7 @@ gld${EMULATION_NAME}_add_options
{"export-all-symbols", no_argument, NULL, OPTION_EXPORT_ALL},
{"exclude-symbols", required_argument, NULL, OPTION_EXCLUDE_SYMBOLS},
{"exclude-all-symbols", no_argument, NULL, OPTION_EXCLUDE_ALL_SYMBOLS},
@@ -72,7 +72,7 @@ index b738800..b566903 100644
{"exclude-libs", required_argument, NULL, OPTION_EXCLUDE_LIBS},
{"exclude-modules-for-implib", required_argument, NULL, OPTION_EXCLUDE_MODULES_FOR_IMPLIB},
{"kill-at", no_argument, NULL, OPTION_KILL_ATS},
-@@ -727,6 +729,9 @@ gld${EMULATION_NAME}_handle_option (int optc)
+@@ -739,6 +741,9 @@ gld${EMULATION_NAME}_handle_option (int optc)
case OPTION_EXCLUDE_ALL_SYMBOLS:
pep_dll_exclude_all_symbols = 1;
break;
@@ -82,19 +82,22 @@ index b738800..b566903 100644
case OPTION_EXCLUDE_LIBS:
pep_dll_add_excludes (optarg, EXCLUDELIBS);
break;
-@@ -1618,6 +1623,7 @@ gld_${EMULATION_NAME}_finish (void)
-
+@@ -1857,7 +1862,9 @@ gld_${EMULATION_NAME}_finish (void)
#ifdef DLL_SUPPORT
- if (link_info.shared
-+ || (!link_info.relocatable && pe_dll_enable_reloc_section)
- || (!link_info.relocatable && pep_def_file->num_exports != 0))
+ if (bfd_link_pic (&link_info)
+ || (!bfd_link_relocatable (&link_info)
+- && pep_def_file->num_exports != 0))
++ && pe_dll_enable_reloc_section)
++ || (!bfd_link_relocatable (&link_info)
++ && pep_def_file->num_exports != 0))
{
pep_dll_fill_sections (link_info.output_bfd, &link_info);
+ if (command_line.out_implib_filename)
diff --git a/ld/pe-dll.c b/ld/pe-dll.c
-index e9e133b..4230dc3 100644
+index c398f23..3797f1a 100644
--- a/ld/pe-dll.c
+++ b/ld/pe-dll.c
-@@ -152,6 +152,7 @@ def_file * pe_def_file = 0;
+@@ -151,6 +151,7 @@ def_file * pe_def_file = 0;
int pe_dll_export_everything = 0;
int pe_dll_exclude_all_symbols = 0;
int pe_dll_do_default_excludes = 1;
@@ -102,10 +105,10 @@ index e9e133b..4230dc3 100644
int pe_dll_kill_ats = 0;
int pe_dll_stdcall_aliases = 0;
int pe_dll_warn_dup_exports = 0;
-@@ -3370,8 +3371,15 @@ pe_dll_build_sections (bfd *abfd, struct bfd_link_info *info)
+@@ -3430,8 +3431,15 @@ pe_dll_build_sections (bfd *abfd, struct bfd_link_info *info)
process_def_file_and_drectve (abfd, info);
- if (pe_def_file->num_exports == 0 && !info->shared)
+ if (pe_def_file->num_exports == 0 && !bfd_link_pic (info))
- return;
-
+ {
@@ -120,7 +123,7 @@ index e9e133b..4230dc3 100644
generate_edata (abfd, info);
build_filler_bfd (1);
pe_output_file_set_long_section_names (filler_bfd);
-@@ -3386,13 +3394,9 @@ pe_exe_build_sections (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
+@@ -3446,13 +3454,9 @@ pe_exe_build_sections (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED)
pe_output_file_set_long_section_names (filler_bfd);
}
@@ -136,13 +139,13 @@ index e9e133b..4230dc3 100644
generate_reloc (abfd, info);
if (reloc_sz > 0)
{
-@@ -3409,38 +3413,43 @@ pe_dll_fill_sections (bfd *abfd, struct bfd_link_info *info)
+@@ -3469,38 +3473,43 @@ pe_dll_fill_sections (bfd *abfd, struct bfd_link_info *info)
lang_do_assignments (lang_final_phase_enum);
}
- fill_edata (abfd, info);
-
-- if (info->shared && !info->pie)
+- if (bfd_link_dll (info))
- pe_data (abfd)->dll = 1;
-
- edata_s->contents = edata_d;
@@ -174,7 +177,7 @@ index e9e133b..4230dc3 100644
- /* Resize the sections. */
- lang_reset_memory_regions ();
- lang_size_sections (NULL, TRUE);
-+ if (info->shared && !info->pie)
++ if (bfd_link_pic (info) && !bfd_link_pie (info))
+ pe_data (abfd)->dll = 1;
- /* Redo special stuff. */
@@ -200,10 +203,10 @@ index e9e133b..4230dc3 100644
bfd_boolean
diff --git a/ld/pe-dll.h b/ld/pe-dll.h
-index 4697390..2bf71d9 100644
+index 48d169b..05ff72b 100644
--- a/ld/pe-dll.h
+++ b/ld/pe-dll.h
-@@ -31,6 +31,7 @@ extern def_file *pe_def_file;
+@@ -30,6 +30,7 @@ extern def_file *pe_def_file;
extern int pe_dll_export_everything;
extern int pe_dll_exclude_all_symbols;
extern int pe_dll_do_default_excludes;
@@ -212,5 +215,5 @@ index 4697390..2bf71d9 100644
extern int pe_dll_stdcall_aliases;
extern int pe_dll_warn_dup_exports;
--
-2.0.1
+2.1.4
diff --git a/projects/binutils/fix-warning-bfd.patch b/projects/binutils/fix-warning-bfd.patch
deleted file mode 100644
index fa04405..0000000
--- a/projects/binutils/fix-warning-bfd.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-From 27b829ee701e29804216b3803fbaeb629be27491 Mon Sep 17 00:00:00 2001
-From: Nick Clifton <nickc(a)redhat.com>
-Date: Wed, 29 Jan 2014 13:46:39 +0000
-Subject: [PATCH] Following up on Tom's suggestion I am checking in a patch to
- replace the various bfd_xxx_set macros with static inline functions, so that
- we can avoid compile time warnings about comma expressions with unused
- values.
-
- * bfd-in.h (bfd_set_section_vma): Delete.
- (bfd_set_section_alignment): Delete.
- (bfd_set_section_userdata): Delete.
- (bfd_set_cacheable): Delete.
- * bfd.c (bfd_set_cacheable): New static inline function.
- * section.c (bfd_set_section_userdata): Likewise.
- (bfd_set_section_vma): Likewise.
- (bfd_set_section_alignment): Likewise.
- * bfd-in2.h: Regenerate.
----
- bfd/bfd-in.h | 5 -----
- bfd/bfd-in2.h | 41 +++++++++++++++++++++++++++++++++++------
- bfd/bfd.c | 8 ++++++++
- bfd/section.c | 26 ++++++++++++++++++++++++++
- 5 files changed, 81 insertions(+), 11 deletions(-)
-
-diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
-index 3afd71b..c7c5a7d 100644
---- a/bfd/bfd-in.h
-+++ b/bfd/bfd-in.h
-@@ -292,9 +292,6 @@ typedef struct bfd_section *sec_ptr;
-
- #define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
-
--#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
--#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE)
--#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE)
- /* Find the address one past the end of SEC. */
- #define bfd_get_section_limit(bfd, sec) \
- (((bfd)->direction != write_direction && (sec)->rawsize != 0 \
-@@ -517,8 +514,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *);
-
- #define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
-
--#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
--
- extern bfd_boolean bfd_cache_close
- (bfd *abfd);
- /* NB: This declaration should match the autogenerated one in libbfd.h. */
-diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
-index 71996db..b5aeb40 100644
---- a/bfd/bfd-in2.h
-+++ b/bfd/bfd-in2.h
-@@ -299,9 +299,6 @@ typedef struct bfd_section *sec_ptr;
-
- #define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
-
--#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
--#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE)
--#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE)
- /* Find the address one past the end of SEC. */
- #define bfd_get_section_limit(bfd, sec) \
- (((bfd)->direction != write_direction && (sec)->rawsize != 0 \
-@@ -524,8 +521,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *);
-
- #define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
-
--#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
--
- extern bfd_boolean bfd_cache_close
- (bfd *abfd);
- /* NB: This declaration should match the autogenerated one in libbfd.h. */
-@@ -1029,7 +1024,7 @@ bfd *bfd_openr (const char *filename, const char *target);
-
- bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
-
--bfd *bfd_openstreamr (const char *, const char *, void *);
-+bfd *bfd_openstreamr (const char * filename, const char * target, void * stream);
-
- bfd *bfd_openr_iovec (const char *filename, const char *target,
- void *(*open_func) (struct bfd *nbfd,
-@@ -1596,6 +1591,32 @@ struct relax_table {
- int size;
- };
-
-+/* Note: the following are provided as inline functions rather than macros
-+ because not all callers use the return value. A macro implementation
-+ would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
-+ compilers will complain about comma expressions that have no effect. */
-+static inline bfd_boolean
-+bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val)
-+{
-+ ptr->userdata = val;
-+ return TRUE;
-+}
-+
-+static inline bfd_boolean
-+bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val)
-+{
-+ ptr->vma = ptr->lma = val;
-+ ptr->user_set_vma = TRUE;
-+ return TRUE;
-+}
-+
-+static inline bfd_boolean
-+bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val)
-+{
-+ ptr->alignment_power = val;
-+ return TRUE;
-+}
-+
- /* These sections are global, and are managed by BFD. The application
- and target back end are not permitted to change the values in
- these sections. */
-@@ -6415,6 +6436,14 @@ struct bfd
- unsigned int selective_search : 1;
- };
-
-+/* See note beside bfd_set_section_userdata. */
-+static inline bfd_boolean
-+bfd_set_cacheable (bfd * abfd, bfd_boolean val)
-+{
-+ abfd->cacheable = val;
-+ return TRUE;
-+}
-+
- typedef enum bfd_error
- {
- bfd_error_no_error = 0,
-diff --git a/bfd/bfd.c b/bfd/bfd.c
-index 8d0580c..2d174f3 100644
---- a/bfd/bfd.c
-+++ b/bfd/bfd.c
-@@ -311,6 +311,14 @@ CODE_FRAGMENT
- . unsigned int selective_search : 1;
- .};
- .
-+.{* See note beside bfd_set_section_userdata. *}
-+.static inline bfd_boolean
-+.bfd_set_cacheable (bfd * abfd, bfd_boolean val)
-+.{
-+. abfd->cacheable = val;
-+. return TRUE;
-+.}
-+.
- */
-
- #include "sysdep.h"
-diff --git a/bfd/section.c b/bfd/section.c
-index fb19d8c..a661228 100644
---- a/bfd/section.c
-+++ b/bfd/section.c
-@@ -542,6 +542,32 @@ CODE_FRAGMENT
- . int size;
- .};
- .
-+.{* Note: the following are provided as inline functions rather than macros
-+. because not all callers use the return value. A macro implementation
-+. would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
-+. compilers will complain about comma expressions that have no effect. *}
-+.static inline bfd_boolean
-+.bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val)
-+.{
-+. ptr->userdata = val;
-+. return TRUE;
-+.}
-+.
-+.static inline bfd_boolean
-+.bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val)
-+.{
-+. ptr->vma = ptr->lma = val;
-+. ptr->user_set_vma = TRUE;
-+. return TRUE;
-+.}
-+.
-+.static inline bfd_boolean
-+.bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val)
-+.{
-+. ptr->alignment_power = val;
-+. return TRUE;
-+.}
-+.
- .{* These sections are global, and are managed by BFD. The application
- . and target back end are not permitted to change the values in
- . these sections. *}
---
-2.1.4
-
diff --git a/projects/binutils/peXXigen.patch b/projects/binutils/peXXigen.patch
deleted file mode 100644
index 785aa02..0000000
--- a/projects/binutils/peXXigen.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -crB binutils-2.24/bfd/peXXigen.c binutils-2.24/bfd/peXXigen.c
-*** binutils-2.24/bfd/peXXigen.c Tue Nov 26 11:37:33 2013
---- binutils-2.24/bfd/peXXigen.c Mon Aug 4 07:10:15 2014
-***************
-*** 795,800 ****
---- 795,802 ----
- /* Only use a real timestamp if the option was chosen. */
- if ((pe_data (abfd)->insert_timestamp))
- H_PUT_32 (abfd, time(0), filehdr_out->f_timdat);
-+ else
-+ H_PUT_32 (abfd, 0, filehdr_out->f_timdat);
-
- PUT_FILEHDR_SYMPTR (abfd, filehdr_in->f_symptr,
- filehdr_out->f_symptr);
diff --git a/projects/mingw-w64/build b/projects/mingw-w64/build
index 8d3e567..8acd41d 100644
--- a/projects/mingw-w64/build
+++ b/projects/mingw-w64/build
@@ -29,7 +29,7 @@ sed 's/msvcrt/msvcr100/' -i $distdir/msvcr100.spec
sed 's/msvcrt/msvcr100/' -i gcc-[% c("var/gcc_version") %]/gcc/config/i386/t-mingw-w32
# LDFLAGS_FOR_TARGET does not work for some reason. Thus, we take
# CFLAGS_FOR_TARGET.
-export CFLAGS_FOR_TARGET="-specs=$distdir/msvcr100.spec -Wl,--nxcompat -Wl,--dynamicbase"
+export CFLAGS_FOR_TARGET="-specs=$distdir/msvcr100.spec -Wl,--nxcompat -Wl,--dynamicbase -Wl,--no-insert-timestamp"
gcc-[% c("var/gcc_version") %]/configure --prefix=$distdir --target=[% c("arch") %]-w64-mingw32 --disable-multilib --enable-languages=c,c++
make -j[% c("buildconf/num_procs") %] all-gcc
make install-gcc
@@ -59,17 +59,17 @@ mkdir -p $distdir/helpers
cat > $distdir/helpers/[% c("arch") %]-w64-mingw32-g++ << 'EOF'
#!/bin/sh
-/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-g++ -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -fstack-protector --param ssp-buffer-size=4 -fno-strict-overflow "$@"
+/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-g++ -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -Wl,--no-insert-timestamp -fstack-protector --param ssp-buffer-size=4 -fno-strict-overflow "$@"
EOF
cat > $distdir/helpers/[% c("arch") %]-w64-mingw32-gcc << 'EOF'
#!/bin/sh
-/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-gcc -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -fstack-protector --param ssp-buffer-size=4 -fno-strict-overflow "$@"
+/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-gcc -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -Wl,--no-insert-timestamp -fstack-protector --param ssp-buffer-size=4 -fno-strict-overflow "$@"
EOF
cat > $distdir/helpers/[% c("arch") %]-w64-mingw32-ld << 'EOF'
#!/bin/sh
-/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-ld --dynamicbase --nxcompat --enable-reloc-section -lssp -L$gcclibs "$@"
+/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-ld --dynamicbase --nxcompat --enable-reloc-section --no-insert-timestamp -lssp -L$gcclibs "$@"
EOF
chmod +x $distdir/helpers/*
diff --git a/projects/nsis/build b/projects/nsis/build
index af19dd7..7a66884 100755
--- a/projects/nsis/build
+++ b/projects/nsis/build
@@ -1,8 +1,35 @@
#!/bin/bash
[% c("var/set_default_env") -%]
[% pc(c('var/compiler'), 'var/setup', { compiler_tarfile => c('input_files_by_name/' _ c('var/compiler')) }) %]
-# remove hardening wrappers
-rm -Rf /var/tmp/dist/mingw-w64/helpers
+# Some of the hardening flags are causing the build to fail, so we
+# overwrite the helpers with only the flags required to make the build
+# reproducible.
+helpersdir=/var/tmp/dist/mingw-w64/helpers
+cat > $helpersdir/[% c("arch") %]-w64-mingw32-g++ << 'EOF'
+#!/bin/sh
+/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-g++ -Wl,--no-insert-timestamp "$@"
+EOF
+
+cat > $helpersdir/[% c("arch") %]-w64-mingw32-gcc << 'EOF'
+#!/bin/sh
+/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-gcc -Wl,--no-insert-timestamp "$@"
+EOF
+
+cat > $helpersdir/[% c("arch") %]-w64-mingw32-ld << 'EOF'
+#!/bin/sh
+/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-ld --no-insert-timestamp "$@"
+EOF
+# the nsis build system expects all toolchain binaries to be in the same
+# directory, so we create wrappers for the other commands in the same
+# directory.
+for util in ar ranlib windres
+do
+ cat > $helpersdir/[% c("arch") %]-w64-mingw32-$util <<EOF
+#!/bin/sh
+/var/tmp/dist/mingw-w64/bin/[% c("arch") %]-w64-mingw32-$util "\$@"
+EOF
+ chmod +x $helpersdir/[% c("arch") %]-w64-mingw32-$util
+done
mkdir -p /var/tmp/dist
mkdir -p /var/tmp/build
tar -C /var/tmp/build -xf nsis-[% c('version') %].tar.bz2
diff --git a/projects/openssl/config b/projects/openssl/config
index 378ee53..fc8e1ff 100644
--- a/projects/openssl/config
+++ b/projects/openssl/config
@@ -15,7 +15,7 @@ targets:
configure_opts: -shared linux-generic32
windows:
var:
- configure_opts: '-shared --cross-compile-prefix=[% c("arch") %]-w64-mingw32- mingw[% IF c("var/windows-x86_64") %]64[% END %] "-fstack-protector-all -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -lssp -L$gcclibs"'
+ configure_opts: '-shared --cross-compile-prefix=[% c("arch") %]-w64-mingw32- mingw[% IF c("var/windows-x86_64") %]64[% END %] "-fstack-protector-all -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -Wl,--no-insert-timestamp -lssp -L$gcclibs"'
osx-x86_64:
var:
configure_opts: --cross-compile-prefix=x86_64-apple-darwin10- darwin64-x86_64-cc enable-ec_nistp_64_gcc_128
diff --git a/projects/selfrando/config b/projects/selfrando/config
index f8afa5d..07195f7 100644
--- a/projects/selfrando/config
+++ b/projects/selfrando/config
@@ -1,6 +1,6 @@
# vim: filetype=yaml sw=2
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
-version: 0.3.3
+version: 0.4.1
git_hash: 'tb-v[% c("version") %]'
git_url: https://github.com/immunant/selfrando.git
gpg_keyring: selfrando.gpg
diff --git a/projects/zlib/build b/projects/zlib/build
index 4cb384b..ef26882 100644
--- a/projects/zlib/build
+++ b/projects/zlib/build
@@ -7,8 +7,8 @@ tar -C /var/tmp/build -xf [% project %]-[% c('version') %].tar.gz
cd /var/tmp/build/[% project %]-[% c('version') %]
export CFLAGS="[% c("var/CFLAGS") %]"
export LDFLAGS="[% c("var/LDFLAGS") %]"
-make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- -j4 SHARED_MODE=1 LOC="-fstack-protector-all -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -lssp -L$gcclibs"
-make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- -j4 SHARED_MODE=1 LOC="-fstack-protector-all -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -lssp -L$gcclibs" install
+make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- -j4 SHARED_MODE=1 LOC="-fstack-protector-all -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -Wl,--no-insert-timestamp -lssp -L$gcclibs"
+make BINARY_PATH=$distdir/lib INCLUDE_PATH=$distdir/include LIBRARY_PATH=$distdir/lib -f win32/Makefile.gcc PREFIX=[% c("arch") %]-w64-mingw32- -j4 SHARED_MODE=1 LOC="-fstack-protector-all -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -Wl,--no-insert-timestamp -lssp -L$gcclibs" install
cd /var/tmp/dist
[% c('tar', {
diff --git a/rbm.conf b/rbm.conf
index f6a9212..23e4eaf 100644
--- a/rbm.conf
+++ b/rbm.conf
@@ -217,7 +217,7 @@ targets:
suite: jessie
configure_opt: '--host=[% c("arch") %]-w64-mingw32 CFLAGS="[% c("var/CFLAGS") %]" LDFLAGS="[% c("var/LDFLAGS") %]"'
CFLAGS: '[% c("var/flag_mwindows") %] -fstack-protector-all -Wstack-protector --param ssp-buffer-size=4 -fno-strict-overflow -Wno-missing-field-initializers -Wformat -Wformat-security'
- LDFLAGS: '[% c("var/flag_mwindows") %] -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -lssp -L$gcclibs'
+ LDFLAGS: '[% c("var/flag_mwindows") %] -Wl,--dynamicbase -Wl,--nxcompat -Wl,--enable-reloc-section -Wl,--no-insert-timestamp -lssp -L$gcclibs'
flag_mwindows: '-mwindows'
compiler: mingw-w64
deps:
1
0

[tor-browser-build/master] Merge remote-tracking branch 'boklm/bug_16472_v8'
by gk@torproject.org 19 Mar '18
by gk@torproject.org 19 Mar '18
19 Mar '18
commit b8bae5882eac6159c8a6ad466b9dc4a7b18ba27b
Merge: 42720c5 35fcafe
Author: Georg Koppen <gk(a)torproject.org>
Date: Mon Mar 19 08:47:51 2018 +0000
Merge remote-tracking branch 'boklm/bug_16472_v8'
keyring/binutils.gpg | Bin 25772 -> 2242 bytes
projects/binutils/64bit-fixups.patch | 31 ++--
projects/binutils/binutils-224-gold.patch | 98 -------------
projects/binutils/build | 9 --
projects/binutils/config | 8 +-
projects/binutils/enable-reloc-section-ld.patch | 83 ++++++-----
projects/binutils/fix-warning-bfd.patch | 186 ------------------------
projects/binutils/peXXigen.patch | 14 --
projects/mingw-w64/build | 8 +-
projects/nsis/build | 31 +++-
projects/openssl/config | 2 +-
projects/selfrando/config | 2 +-
projects/zlib/build | 4 +-
rbm.conf | 2 +-
14 files changed, 100 insertions(+), 378 deletions(-)
1
0

[tor-browser-build/master] Bug 25449: Bump snowflake/go-webrtc for trac 21312
by gk@torproject.org 19 Mar '18
by gk@torproject.org 19 Mar '18
19 Mar '18
commit 42720c512520ecef5437d23e405d8ce011764661
Author: Arlo Breault <arlolra(a)gmail.com>
Date: Mon Mar 5 23:32:32 2018 -0500
Bug 25449: Bump snowflake/go-webrtc for trac 21312
---
projects/go-webrtc/config | 2 +-
projects/snowflake/config | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/projects/go-webrtc/config b/projects/go-webrtc/config
index c97a959..bcfaffa 100644
--- a/projects/go-webrtc/config
+++ b/projects/go-webrtc/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
git_url: https://github.com/keroserene/go-webrtc.git
-git_hash: ab1b64862e0c4b4182010699911c2c5818f0a101
+git_hash: 62dbae8e3b7e7db076e079a7437166966c747033
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
build: '[% c("projects/go/var/build_go_lib") %]'
diff --git a/projects/snowflake/config b/projects/snowflake/config
index 4bf438e..d28f8b2 100644
--- a/projects/snowflake/config
+++ b/projects/snowflake/config
@@ -1,7 +1,7 @@
# vim: filetype=yaml sw=2
version: '[% c("abbrev") %]'
git_url: https://git.torproject.org/pluggable-transports/snowflake.git
-git_hash: 9f2e9a6ecb696149708716ca06ce842df03cf492
+git_hash: d0686b1c8df037413f32bef891ef90638b75a080
filename: '[% project %]-[% c("version") %]-[% c("var/osname") %]-[% c("var/build_id") %].tar.gz'
var:
1
0