From 699e016f30bdde0bb0f9a53c9d7ac273448320fb Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Tue, 2 Jan 2018 11:35:44 -0800 Subject: "Initial commit" --- PKGBUILD | 241 ++ distribution.ini | 9 + drm-free.png | Bin 0 -> 3213 bytes enable-object-directory-paths.patch | 13 + gnu_headshadow.png | Bin 0 -> 6785 bytes iceweasel-install-dir.patch | 11 + iceweasel.desktop | 310 ++ libre.patch | 1295 +++++++ mozconfig | 46 + mozilla-1253216.patch | 12 + mozilla-build-arm.patch | 24 + no-crmf.patch | 16 + parabola-banner.png | Bin 0 -> 7768 bytes ...ult-and-shell-icons-in-packaging-manifest.patch | 34 + vendor.js | 908 +++++ watermark.svg | 4095 ++++++++++++++++++++ wifi-disentangle.patch | 245 ++ wifi-fix-interface.patch | 26 + 18 files changed, 7285 insertions(+) create mode 100644 PKGBUILD create mode 100644 distribution.ini create mode 100644 drm-free.png create mode 100644 enable-object-directory-paths.patch create mode 100644 gnu_headshadow.png create mode 100644 iceweasel-install-dir.patch create mode 100644 iceweasel.desktop create mode 100644 libre.patch create mode 100644 mozconfig create mode 100644 mozilla-1253216.patch create mode 100644 mozilla-build-arm.patch create mode 100644 no-crmf.patch create mode 100644 parabola-banner.png create mode 100644 remove-default-and-shell-icons-in-packaging-manifest.patch create mode 100644 vendor.js create mode 100644 watermark.svg create mode 100644 wifi-disentangle.patch create mode 100644 wifi-fix-interface.patch diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..406d291 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,241 @@ +# Maintainer: Andreas Grapentin +# Contributor: André Silva +# Contributor: Márcio Silva +# Contributor (ConnochaetOS): Henry Jensen +# Contributor: Luke Shumaker +# Contributor: fauno +# Contributor: vando +# Contributor (Arch): Jakub Schmidtke +# Contributor: Figue +# Contributor: taro-k +# Contributor: Michał Masłowski +# Contributor: Luke R. +# Contributor: Isaac David +# Contributor: bill-auger +# Thank you very much to the older contributors: +# Contributor: evr +# Contributor: Muhammad 'MJ' Jassim + +_oldname=firefox +pkgname=iceweasel + +epoch=1 +pkgver=57.0.2 +pkgrel=2.arcfour1 +_brandingver=57.0 +_brandingrel=1 +_parabolarepo=https://repo.parabola.nu/other/iceweasel +arch=(i686 x86_64 armv7h) + +pkgdesc="Iceweasel, the libre web browser based on Mozilla Firefox." +url="https://wiki.parabola.nu/$pkgname" +license=(MPL GPL LGPL) + +depends=(alsa-lib dbus-glib ffmpeg gtk2 gtk3 hunspell libvpx libxt mime-types mozilla-common nss sqlite startup-notification ttf-font) +depends_x86_64=("icu>=60" "icu<61") +depends_i686=("icu>=60" "icu<61") +depends_armv7h=("icu>=60" "icu<61") +makedepends=(autoconf2.13 diffutils gconf imagemagick imake inetutils libidl2 libpulse librsvg libxslt mesa mozilla-searchplugins pkg-config python2 quilt unzip yasm zip) +makedepends_i686=(rust clang llvm) +makedepends_x86_64=("${makedepends_i686[@]}") +optdepends=('networkmanager: Location detection via available WiFi networks' + 'libnotify: Notification integration' + 'speech-dispatcher: Text-to-Speech') + +replaces=("$_oldname-libre" "$pkgname-libre" "$_oldname") +conflicts=("$_oldname-libre" "$pkgname-libre" "$_oldname") + +options=(!emptydirs !makeflags !strip debug) + +source=("https://ftp.mozilla.org/pub/$_oldname/releases/$pkgver/source/$_oldname-$pkgver.source.tar.xz" + "$_parabolarepo/${pkgname}_$_brandingver-$_brandingrel.branding.tar.xz" + "$_parabolarepo/${pkgname}_$_brandingver-$_brandingrel.branding.tar.xz.sig" + mozconfig + libre.patch + remove-default-and-shell-icons-in-packaging-manifest.patch + drm-free.png + gnu_headshadow.png + parabola-banner.png + watermark.svg + $pkgname.desktop + $pkgname-install-dir.patch + vendor.js + distribution.ini + enable-object-directory-paths.patch + mozilla-1253216.patch + no-crmf.patch + mozilla-build-arm.patch + wifi-disentangle.patch + wifi-fix-interface.patch) +sha256sums=('cad021a13daf8fd2c951fab763e784c82aabef45e68a34c941fb64d62f1a5707' + 'e93f2363d7b414d207250eb1c63d955681f158c8d5678ef3d2e9232cdb0382c7' + 'SKIP' + '71e20557568330c29553201a6009060feb65921b021fff8053ad9f7cb67670fa' + '7b7d608f738d0f48be923b6b61281918cfb35f372d7b9fc7b1b7133efa2dd17f' + '6e23fe534394bbab0041f5935cd23c2590285f7541b0a10f3042905676b1561e' + '56eba484179c7f498076f8dc603d8795e99dce8c6ea1da9736318c59d666bff6' + '93e3001ce152e1d142619e215a9ef07dd429943b99d21726c25da9ceb31e31cd' + '3ba321484226e4cbd9b139d584339a51613b1d27c5c290f07a97e2a54facf16f' + '642b214b219e3c7668abed7119c3fadaeee9da80e98aba93a42ea8128eccd73c' + '250f7aaa3c1362f9d2bb2211cd605eab93a5e806e8540f184979d41acf46142a' + '46e588300797bda599c8f5157437fd79f88b6e1179f2fde49e0405e435e03efa' + 'e2a344b7296d3cd7d30cef083d5a6f1a26bd93711e770671b21ff8d343b83901' + 'd28b14a870aa100273243039d08ab9e64d325c28b6291413441146ebdf5d38ee' + 'ce1765c7812da53dc555103d54998d57890def127aa034b37f21dbfab65dde65' + 'fbb6011501a74a8ea6d01c041870fcefb7ef2859c134aedc676e5f6452833f65' + 'c0ceaaa83a0c79035cdb39b6c130064409dffa546ae2d576fa061b52e4a0392f' + '56eecee8162c138c442773d66483886f1242c8dd2b16eed5711ae5e63d9b0e3a' + 'f068b84ad31556095145d8fefc012dd3d1458948533ed3fff6cbc7250b6e73ed' + 'e98a3453d803cc7ddcb81a7dc83f883230dd8591bdf936fc5a868428979ed1f1') +validpgpkeys=( + 'BFA8008A8265677063B11BF47171986E4B745536' # Andreas Grapentin +) + +prepare() { + cd "$srcdir/$_oldname-$pkgver" + + local brandingdir="$srcdir/$pkgname-$_brandingver" + + # Prepare branding for the Iceweasel packages + mkdir -v browser/branding/$pkgname + + # copy the branding files + cp -va $brandingdir/branding/* browser/branding/$pkgname + + # patch + export QUILT_PATCHES=$brandingdir/patches + export QUILT_REFRESH_ARGS='-p ab --no-timestamps --no-index' + export QUILT_DIFF_ARGS='--no-timestamps' + + quilt push -av + + # Put "Start Page" branding images in the source code + install -m644 "$srcdir/"{drm-free,gnu_headshadow,parabola-banner}.png \ + browser/base/content/abouthome + install -m644 "$srcdir/watermark.svg" \ + browser/extensions/onboarding/content/img + + # Useless since we are doing it ourselves + patch -Np1 -i "$srcdir/remove-default-and-shell-icons-in-packaging-manifest.patch" + + # Enable object directory paths for Iceweasel rebranding + patch -Np1 -i "$srcdir/enable-object-directory-paths.patch" + + # Install to /usr/lib/iceweasel + patch -Np1 -i "$srcdir/$pkgname-install-dir.patch" + + # Patch and remove anything that's left + patch -Np1 -i "$srcdir/libre.patch" + sed -i 's|Adobe Flash|SWF Player|g; + ' browser/base/content/pageinfo/permissions.js \ + browser/base/content/browser-plugins.js + sed -i '\|["]displayName["][:] ["]Flash["]| s|Flash|SWF Player| + \|["]displayName["][:] ["]Shockwave["]| s|Shockwave|DCR Player| + \|["]displayName["][:] ["]QuickTime["]| s|QuickTime|MOV Player| + \|installLinux| s|true|false| + ' browser/base/content/browser-plugins.js + + # Load our build config, disable SafeSearch + cp "$srcdir/mozconfig" .mozconfig + + # override the new newtab obscenity with the abouthome stuff + cat browser/base/content/abouthome/aboutHome.xhtml > browser/base/content/newtab/newTab.xhtml + + # https://bugzilla.mozilla.org/show_bug.cgi?id=1314968 + patch -Np1 -i ../wifi-disentangle.patch + patch -Np1 -i ../wifi-fix-interface.patch + + # https://bugzilla.mozilla.org/show_bug.cgi?id=1371991 + patch -Np1 -i "$srcdir/no-crmf.patch" + + mkdir "$srcdir/path" + ln -s /usr/bin/python2 "$srcdir/path/python" + + # Load our searchplugins + rm -rv browser/locales/searchplugins + cp -av /usr/lib/mozilla/searchplugins browser/locales + + # Disable various components at the source level + sed -i 's|[;]1|;0|' toolkit/components/telemetry/TelemetryStartup.manifest || die "failed break telemetry startup" + sed -i 's|[;]1|;0|' browser/experiments/Experiments.manifest || die "failed to break ExperimentsService" + sed -i '/pocket/d' browser/extensions/moz.build || die "failed to wipe pocket" + sed -i '/activity-stream/d' browser/extensions/moz.build || die "failed to wipe activity-stream" + + # ARM-specific changes: + if [[ "$CARCH" == arm* ]]; then + sed -i '/ac_add_options --enable-rust/d' .mozconfig + echo "ac_add_options --disable-ion" >> .mozconfig + echo "ac_add_options --disable-elf-hack" >> .mozconfig + echo "ac_add_options --disable-webrtc" >> .mozconfig + + # Disable gold linker, reduce memory consumption at link time + sed -i '/ac_add_options --enable-gold/d' .mozconfig + LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads" + echo "ac_add_options --disable-tests" >> .mozconfig + echo "ac_add_options --disable-debug" >> .mozconfig + + patch -p1 -i ../mozilla-1253216.patch + patch -p1 -i ../mozilla-build-arm.patch + fi +} + +build() { + cd "$srcdir/$_oldname-$pkgver" + + # _FORTIFY_SOURCE causes configure failures + CPPFLAGS+=" -O2" + + # Hardening + LDFLAGS+=" -Wl,-z,now" + + # GCC 6 + CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2" + CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2" + + export PATH="$srcdir/path:$PATH" + export PYTHON="/usr/bin/python2" + + make -f client.mk build +} + +package() { + cd "$srcdir/$_oldname-$pkgver" + + make -f client.mk DESTDIR="$pkgdir" INSTALL_SDK= install + + install -Dm644 "$srcdir/vendor.js" "$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js" + local shortver=$(echo $pkgver | cut -d'.' -f1,2) + sed -i "s/@PKGVER@/$shortver/g" "$pkgdir/usr/lib/$pkgname/browser/defaults/preferences/vendor.js" + + local brandingdir="$srcdir/$pkgname-$_brandingver" + + # install iceweasel icons + local icondir="$pkgdir/usr/share/icons/hicolor" + for i in 16 22 24 32 48 64 128 192 256 384; do + rsvg-convert -w $i -h $i "$brandingdir/branding/${pkgname}_icon.svg" \ + -o "$brandingdir/default$i.png" + install -Dm644 "$brandingdir/default$i.png" \ + "$icondir/${i}x${i}/apps/$pkgname.png" + done + + install -Dm644 "$brandingdir/branding/${pkgname}_icon.svg" \ + "$icondir/scalable/apps/$pkgname.svg" + + # Parabola rebranding + install -m644 "$srcdir/distribution.ini" \ + "$pkgdir/usr/lib/$pkgname/distribution" + + # Install Iceweasel desktop + install -d "$pkgdir/usr/share/applications" + install -m644 "$srcdir/$pkgname.desktop" \ + "$pkgdir/usr/share/applications" + + # Use system-provided dictionaries + rm -rf "$pkgdir/usr/lib/$pkgname/"{dictionaries,hyphenation} + ln -s /usr/share/hunspell "$pkgdir/usr/lib/$pkgname/dictionaries" + ln -s /usr/share/hyphen "$pkgdir/usr/lib/$pkgname/hyphenation" + + # Replace duplicate binary with symlink + # https://bugzilla.mozilla.org/show_bug.cgi?id=658850 + ln -sf $pkgname "$pkgdir/usr/lib/$pkgname/$pkgname-bin" +} diff --git a/distribution.ini b/distribution.ini new file mode 100644 index 0000000..9246426 --- /dev/null +++ b/distribution.ini @@ -0,0 +1,9 @@ +[Global] +id=parabola +version=1.0 +about=Iceweasel for Parabola GNU/Linux-libre + +[Preferences] +app.distributor=parabola +app.distributor.channel=iceweasel +app.partner.parabola=parabola diff --git a/drm-free.png b/drm-free.png new file mode 100644 index 0000000..e30994e Binary files /dev/null and b/drm-free.png differ diff --git a/enable-object-directory-paths.patch b/enable-object-directory-paths.patch new file mode 100644 index 0000000..7cfbdd3 --- /dev/null +++ b/enable-object-directory-paths.patch @@ -0,0 +1,13 @@ +diff --git a/python/mozbuild/mozbuild/frontend/context.py b/python/mozbuild/mozbuild/frontend/context.py +index 41ae8ae..dcc3263 100644 +--- a/python/mozbuild/mozbuild/frontend/context.py ++++ b/python/mozbuild/mozbuild/frontend/context.py +@@ -468,8 +468,6 @@ class Path(ContextDerivedValue, unicode): + class SourcePath(Path): + """Like Path, but limited to paths in the source directory.""" + def __init__(self, context, value): +- if value.startswith('!'): +- raise ValueError('Object directory paths are not allowed') + if value.startswith('%'): + raise ValueError('Filesystem absolute paths are not allowed') + super(SourcePath, self).__init__(context, value) diff --git a/gnu_headshadow.png b/gnu_headshadow.png new file mode 100644 index 0000000..e0f73a3 Binary files /dev/null and b/gnu_headshadow.png differ diff --git a/iceweasel-install-dir.patch b/iceweasel-install-dir.patch new file mode 100644 index 0000000..d4fb24e --- /dev/null +++ b/iceweasel-install-dir.patch @@ -0,0 +1,11 @@ +--- a/config/baseconfig.mk ++++ b/config/baseconfig.mk +@@ -4,7 +4,7 @@ + # whether a normal build is happening or whether the check is running. + includedir := $(includedir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) + idldir = $(datadir)/idl/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) +-installdir = $(libdir)/$(MOZ_APP_NAME)-$(MOZ_APP_VERSION) ++installdir = $(libdir)/$(MOZ_APP_NAME) + sdkdir = $(libdir)/$(MOZ_APP_NAME)-devel-$(MOZ_APP_VERSION) + ifeq (.,$(DEPTH)) + DIST = dist diff --git a/iceweasel.desktop b/iceweasel.desktop new file mode 100644 index 0000000..aabf411 --- /dev/null +++ b/iceweasel.desktop @@ -0,0 +1,310 @@ +[Desktop Entry] +Version=1.0 +Name=Iceweasel +GenericName=Web Browser +GenericName[ar]=متصفح وِب +GenericName[ast]=Restolador Web +GenericName[bn]=ওয়েব ব্রাউজার +GenericName[ca]=Navegador web +GenericName[cs]=Webový prohlížeč +GenericName[da]=Webbrowser +GenericName[de]=Webbrowser +GenericName[el]=Περιηγητής διαδικτύου +GenericName[es]=Navegador web +GenericName[et]=Veebibrauser +GenericName[fa]=مرورگر اینترنتی +GenericName[fi]=WWW-selain +GenericName[fr]=Navigateur Web +GenericName[gl]=Navegador Web +GenericName[he]=דפדפן אינטרנט +GenericName[hr]=Web preglednik +GenericName[hu]=Webböngésző +GenericName[it]=Browser Web +GenericName[ja]=ウェブ・ブラウザ +GenericName[ko]=웹 브라우저 +GenericName[ku]=Geroka torê +GenericName[lt]=Interneto naršyklė +GenericName[nb]=Nettleser +GenericName[nl]=Webbrowser +GenericName[nn]=Nettlesar +GenericName[no]=Nettleser +GenericName[pl]=Przeglądarka WWW +GenericName[pt]=Navegador Web +GenericName[pt_BR]=Navegador Web +GenericName[ro]=Navigator Internet +GenericName[ru]=Веб-браузер +GenericName[sk]=Internetový prehliadač +GenericName[sl]=Spletni brskalnik +GenericName[sv]=Webbläsare +GenericName[tr]=Web Tarayıcı +GenericName[ug]=توركۆرگۈ +GenericName[uk]=Веб-браузер +GenericName[vi]=Trình duyệt Web +GenericName[zh_CN]=网络浏览器 +GenericName[zh_TW]=網路瀏覽器 +Comment=Browse the Web +Comment[ar]=تصفح الوِب +Comment[ast]=Restola pela Rede +Comment[bn]=ইন্টারনেট ব্রাউজ করুন +Comment[ca]=Navegueu per el web +Comment[cs]=Prohlížení stránek World Wide Webu +Comment[da]=Surf på internettet +Comment[de]=Im Internet surfen +Comment[el]=Μπορείτε να περιηγηθείτε στο διαδίκτυο (Web) +Comment[es]=Navegue por la web +Comment[et]=Lehitse veebi +Comment[fa]=صفحات شبکه جهانی اینترنت را مرور نمایید +Comment[fi]=Selaa Internetin WWW-sivuja +Comment[fr]=Naviguer sur le Web +Comment[gl]=Navegar pola rede +Comment[he]=גלישה ברחבי האינטרנט +Comment[hr]=Pretražite web +Comment[hu]=A világháló böngészése +Comment[it]=Esplora il web +Comment[ja]=ウェブを閲覧します +Comment[ko]=웹을 돌아 다닙니다 +Comment[ku]=Li torê bigere +Comment[lt]=Naršykite internete +Comment[nb]=Surf på nettet +Comment[nl]=Verken het internet +Comment[nn]=Surf på nettet +Comment[no]=Surf på nettet +Comment[pl]=Przeglądanie stron WWW +Comment[pt]=Navegue na Internet +Comment[pt_BR]=Navegue na Internet +Comment[ro]=Navigați pe Internet +Comment[ru]=Доступ в Интернет +Comment[sk]=Prehliadanie internetu +Comment[sl]=Brskajte po spletu +Comment[sv]=Surfa på webben +Comment[tr]=İnternet'te Gezinin +Comment[ug]=دۇنيادىكى توربەتلەرنى كۆرگىلى بولىدۇ +Comment[uk]=Перегляд сторінок Інтернету +Comment[vi]=Để duyệt các trang web +Comment[zh_CN]=浏览互联网 +Comment[zh_TW]=瀏覽網際網路 +Exec=iceweasel %u +Icon=iceweasel +Terminal=false +Type=Application +MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https; +StartupNotify=true +Categories=Network;WebBrowser; +Keywords=web;browser;internet; +Actions=new-window;new-private-window; + +[Desktop Action new-window] +Name=New Window +Name[ach]=Dirica manyen +Name[af]=Nuwe venster +Name[an]=Nueva finestra +Name[ar]=نافذة جديدة +Name[as]=নতুন উইন্ডো +Name[ast]=Ventana nueva +Name[az]=Yeni Pəncərə +Name[be]=Новае акно +Name[bg]=Нов прозорец +Name[bn_BD]=নতুন উইন্ডো (N) +Name[bn_IN]=নতুন উইন্ডো +Name[br]=Prenestr nevez +Name[brx]=गोदान उइन्ड'(N) +Name[bs]=Novi prozor +Name[ca]=Finestra nova +Name[cak]=K'ak'a' tzuwäch +Name[cs]=Nové okno +Name[cy]=Ffenestr Newydd +Name[da]=Nyt vindue +Name[de]=Neues Fenster +Name[dsb]=Nowe wokno +Name[el]=Νέο παράθυρο +Name[en_GB]=New Window +Name[en_US]=New Window +Name[en_ZA]=New Window +Name[eo]=Nova fenestro +Name[es_AR]=Nueva ventana +Name[es_CL]=Nueva ventana +Name[es_ES]=Nueva ventana +Name[es_MX]=Nueva ventana +Name[et]=Uus aken +Name[eu]=Leiho berria +Name[fa]=پنجره جدید +Name[ff]=Henorde Hesere +Name[fi]=Uusi ikkuna +Name[fr]=Nouvelle fenêtre +Name[fy_NL]=Nij finster +Name[ga_IE]=Fuinneog Nua +Name[gd]=Uinneag ùr +Name[gl]=Nova xanela +Name[gn]=Ovetã pyahu +Name[gu_IN]=નવી વિન્ડો +Name[he]=חלון חדש +Name[hi_IN]=नया विंडो +Name[hr]=Novi prozor +Name[hsb]=Nowe wokno +Name[hu]=Új ablak +Name[hy_AM]=Նոր Պատուհան +Name[id]=Jendela Baru +Name[is]=Nýr gluggi +Name[it]=Nuova finestra +Name[ja]=新しいウィンドウ +Name[ja_JP-mac]=新規ウインドウ +Name[ka]=ახალი ფანჯარა +Name[kk]=Жаңа терезе +Name[km]=បង្អួចថ្មី +Name[kn]=ಹೊಸ ಕಿಟಕಿ +Name[ko]=새 창 +Name[kok]=नवें जनेल +Name[ks]=نئئ وِنڈو +Name[lij]=Neuvo barcon +Name[lo]=ຫນ້າຕ່າງໃຫມ່ +Name[lt]=Naujas langas +Name[ltg]=Jauns lūgs +Name[lv]=Jauns logs +Name[mai]=नव विंडो +Name[mk]=Нов прозорец +Name[ml]=പുതിയ ജാലകം +Name[mr]=नवीन पटल +Name[ms]=Tetingkap Baru +Name[my]=ဝင်းဒိုးအသစ် +Name[nb_NO]=Nytt vindu +Name[ne_NP]=नयाँ सञ्झ्याल +Name[nl]=Nieuw venster +Name[nn_NO]=Nytt vindauge +Name[or]=ନୂତନ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਵਿੰਡੋ +Name[pl]=Nowe okno +Name[pt_BR]=Nova janela +Name[pt_PT]=Nova janela +Name[rm]=Nova fanestra +Name[ro]=Fereastră nouă +Name[ru]=Новое окно +Name[sat]=नावा विंडो (N) +Name[si]=නව කවුළුවක් +Name[sk]=Nové okno +Name[sl]=Novo okno +Name[son]=Zanfun taaga +Name[sq]=Dritare e Re +Name[sr]=Нови прозор +Name[sv_SE]=Nytt fönster +Name[ta]=புதிய சாளரம் +Name[te]=కొత్త విండో +Name[th]=หน้าต่างใหม่ +Name[tr]=Yeni pencere +Name[tsz]=Eraatarakua jimpani +Name[uk]=Нове вікно +Name[ur]=نیا دریچہ +Name[uz]=Yangi oyna +Name[vi]=Cửa sổ mới +Name[wo]=Palanteer bu bees +Name[xh]=Ifestile entsha +Name[zh_CN]=新建窗口 +Name[zh_TW]=開新視窗 +Exec=iceweasel --new-window %u + +[Desktop Action new-private-window] +Name=New Private Window +Name[ach]=Dirica manyen me mung +Name[af]=Nuwe privaatvenster +Name[an]=Nueva finestra privada +Name[ar]=نافذة خاصة جديدة +Name[as]=নতুন ব্যক্তিগত উইন্ডো +Name[ast]=Ventana privada nueva +Name[az]=Yeni Məxfi Pəncərə +Name[be]=Новае акно адасаблення +Name[bg]=Нов прозорец за поверително сърфиране +Name[bn_BD]=নতুন ব্যক্তিগত উইন্ডো +Name[bn_IN]=নতুন ব্যক্তিগত উইন্ডো +Name[br]=Prenestr merdeiñ prevez nevez +Name[brx]=गोदान प्राइभेट उइन्ड' +Name[bs]=Novi privatni prozor +Name[ca]=Finestra privada nova +Name[cak]=K'ak'a' ichinan tzuwäch +Name[cs]=Nové anonymní okno +Name[cy]=Ffenestr Breifat Newydd +Name[da]=Nyt privat vindue +Name[de]=Neues privates Fenster +Name[dsb]=Nowe priwatne wokno +Name[el]=Νέο παράθυρο ιδιωτικής περιήγησης +Name[en_GB]=New Private Window +Name[en_US]=New Private Window +Name[en_ZA]=New Private Window +Name[eo]=Nova privata fenestro +Name[es_AR]=Nueva ventana privada +Name[es_CL]=Nueva ventana privada +Name[es_ES]=Nueva ventana privada +Name[es_MX]=Nueva ventana privada +Name[et]=Uus privaatne aken +Name[eu]=Leiho pribatu berria +Name[fa]=پنجره ناشناس جدید +Name[ff]=Henorde Suturo Hesere +Name[fi]=Uusi yksityinen ikkuna +Name[fr]=Nouvelle fenêtre de navigation privée +Name[fy_NL]=Nij priveefinster +Name[ga_IE]=Fuinneog Nua Phríobháideach +Name[gd]=Uinneag phrìobhaideach ùr +Name[gl]=Nova xanela privada +Name[gn]=Ovetã ñemi pyahu +Name[gu_IN]=નવી ખાનગી વિન્ડો +Name[he]=חלון פרטי חדש +Name[hi_IN]=नयी निजी विंडो +Name[hr]=Novi privatni prozor +Name[hsb]=Nowe priwatne wokno +Name[hu]=Új privát ablak +Name[hy_AM]=Սկսել Գաղտնի դիտարկում +Name[id]=Jendela Mode Pribadi Baru +Name[is]=Nýr huliðsgluggi +Name[it]=Nuova finestra anonima +Name[ja]=新しいプライベートウィンドウ +Name[ja_JP-mac]=新規プライベートウインドウ +Name[ka]=ახალი პირადი ფანჯარა +Name[kk]=Жаңа жекелік терезе +Name[km]=បង្អួចឯកជនថ្មី +Name[kn]=ಹೊಸ ಖಾಸಗಿ ಕಿಟಕಿ +Name[ko]=새 사생활 보호 모드 +Name[kok]=नवो खाजगी विंडो +Name[ks]=نْو پرایوٹ وینڈو +Name[lij]=Nêuvo barcón privòu +Name[lo]=ເປີດຫນ້າຕ່າງສວນຕົວຂື້ນມາໃຫມ່ +Name[lt]=Naujas privataus naršymo langas +Name[ltg]=Jauns privatais lūgs +Name[lv]=Jauns privātais logs +Name[mai]=नया निज विंडो (W) +Name[mk]=Нов приватен прозорец +Name[ml]=പുതിയ സ്വകാര്യ ജാലകം +Name[mr]=नवीन वैयक्तिक पटल +Name[ms]=Tetingkap Persendirian Baharu +Name[my]=New Private Window +Name[nb_NO]=Nytt privat vindu +Name[ne_NP]=नयाँ निजी सञ्झ्याल +Name[nl]=Nieuw privévenster +Name[nn_NO]=Nytt privat vindauge +Name[or]=ନୂତନ ବ୍ୟକ୍ତିଗତ ୱିଣ୍ଡୋ +Name[pa_IN]=ਨਵੀਂ ਪ੍ਰਾਈਵੇਟ ਵਿੰਡੋ +Name[pl]=Nowe okno prywatne +Name[pt_BR]=Nova janela privativa +Name[pt_PT]=Nova janela privada +Name[rm]=Nova fanestra privata +Name[ro]=Fereastră privată nouă +Name[ru]=Новое приватное окно +Name[sat]=नावा निजेराक् विंडो (W ) +Name[si]=නව පුද්ගලික කවුළුව (W) +Name[sk]=Nové okno v režime Súkromné prehliadanie +Name[sl]=Novo zasebno okno +Name[son]=Sutura zanfun taaga +Name[sq]=Dritare e Re Private +Name[sr]=Нови приватан прозор +Name[sv_SE]=Nytt privat fönster +Name[ta]=புதிய தனிப்பட்ட சாளரம் +Name[te]=కొత్త ఆంతరంగిక విండో +Name[th]=หน้าต่างส่วนตัวใหม่ +Name[tr]=Yeni gizli pencere +Name[tsz]=Juchiiti eraatarakua jimpani +Name[uk]=Приватне вікно +Name[ur]=نیا نجی دریچہ +Name[uz]=Yangi maxfiy oyna +Name[vi]=Cửa sổ riêng tư mới +Name[wo]=Panlanteeru biir bu bees +Name[xh]=Ifestile yangasese entsha +Name[zh_CN]=新建隐私浏览窗口 +Name[zh_TW]=新增隱私視窗 +Exec=iceweasel --private-window %u diff --git a/libre.patch b/libre.patch new file mode 100644 index 0000000..6597b5a --- /dev/null +++ b/libre.patch @@ -0,0 +1,1295 @@ +diff --git a/browser/base/content/abouthome/aboutHome.css b/browser/base/content/abouthome/aboutHome.css +index c0b02e257..dc726d41a 100644 +--- a/browser/base/content/abouthome/aboutHome.css ++++ b/browser/base/content/abouthome/aboutHome.css +@@ -41,16 +41,6 @@ a { + position: relative; + } + +-#brandLogo { +- height: 192px; +- width: 192px; +- margin: 0 auto 20px; +- background-image: url("chrome://branding/content/about-logo.png"); +- background-size: 192px auto; +- background-position: center center; +- background-repeat: no-repeat; +-} +- + #searchWrapper, + #snippets { + width: 470px; +@@ -310,13 +300,63 @@ body[narrow] #restorePreviousSession::before { + width: 32px; + } + ++#topSection { ++ margin-top: 1em; ++} ++ ++#aboutGNU , #aboutDRMfree , #brandLogo { ++ transition: opacity 150ms; ++} ++ ++#aboutGNU , #aboutDRMfree { ++ margin: 1em; ++ opacity: 0.2; ++} ++ ++#brandLogo { ++ opacity: 0.8; ++} ++ ++#aboutGNU:hover , #aboutDRMfree:hover , #brandLogo:hover { ++ opacity: 1.0; ++} ++ ++#aboutGNU { ++ float: left; ++} ++ ++#aboutDRMfree { ++ float: right; ++} ++ ++#aboutGNU::before { ++ content: url("chrome://browser/content/abouthome/gnu_headshadow.png"); ++} ++ ++#aboutDRMfree::before { ++ content: url("chrome://browser/content/abouthome/drm-free.png"); ++} ++ ++#brandLogo::before { ++ content: url("chrome://branding/content/about-logo.png"); ++} ++ ++#brandLogo::after { ++ content: url("chrome://browser/content/abouthome/parabola-banner.png"); ++} ++ ++ + /* [HiDPI] + * At resolutions above 1dppx, prefer downscaling the 2x Retina graphics + * rather than upscaling the original-size ones (bug 818940). + */ + @media not all and (max-resolution: 1dppx) { +- #brandLogo { +- background-image: url("chrome://branding/content/about-logo@2x.png"); ++ #brandLogo::before { ++ content: url("chrome://branding/content/about-logo@2x.png"); ++ } ++ ++ #brandLogo::after { ++ content: url("chrome://browser/content/abouthome/parabola-banner@2x.png"); + } + + #defaultSnippet1, +diff --git a/browser/base/content/abouthome/aboutHome.js b/browser/base/content/abouthome/aboutHome.js +index 50f3e01cd..5df008555 100644 +--- a/browser/base/content/abouthome/aboutHome.js ++++ b/browser/base/content/abouthome/aboutHome.js +@@ -11,17 +11,13 @@ + // * add a for it in aboutHome.xhtml + // * add an entry here in the proper ordering (based on spans) + // The part of the snippet will be linked to the corresponding url. +-const DEFAULT_SNIPPETS_URLS = [ +- "https://www.mozilla.org/firefox/features/?utm_source=snippet&utm_medium=snippet&utm_campaign=default+feature+snippet", +- "https://addons.mozilla.org/firefox/?utm_source=snippet&utm_medium=snippet&utm_campaign=addons" +-]; ++const DEFAULT_SNIPPETS_URLS = [ "" ]; + +-const SNIPPETS_UPDATE_INTERVAL_MS = 14400000; // 4 hours. ++const SNIPPETS_UPDATE_INTERVAL_MS = 86400000; // 1 day. + + // IndexedDB storage constants. + const DATABASE_NAME = "abouthome"; + const DATABASE_VERSION = 1; +-const DATABASE_STORAGE = "persistent"; + const SNIPPETS_OBJECTSTORE_NAME = "snippets"; + var searchText; + +diff --git a/browser/base/content/abouthome/aboutHome.xhtml b/browser/base/content/abouthome/aboutHome.xhtml +index c288e732e..6d14ee773 100644 +--- a/browser/base/content/abouthome/aboutHome.xhtml ++++ b/browser/base/content/abouthome/aboutHome.xhtml +@@ -36,8 +36,12 @@ + + +
++
++ ++ ++
+
+- ++

+ +
+
+@@ -49,10 +53,6 @@ +
+ +
+- + +
+
+diff --git a/browser/base/jar.mn b/browser/base/jar.mn +index 4dcd47c95..219019b20 100644 +--- a/browser/base/jar.mn ++++ b/browser/base/jar.mn +@@ -27,6 +27,9 @@ browser.jar: + content/browser/abouthome/settings.png (content/abouthome/settings.png) + content/browser/abouthome/restore.png (content/abouthome/restore.png) + content/browser/abouthome/restore-large.png (content/abouthome/restore-large.png) ++ content/browser/abouthome/gnu_headshadow.png (content/abouthome/gnu_headshadow.png) ++ content/browser/abouthome/drm-free.png (content/abouthome/drm-free.png) ++ content/browser/abouthome/parabola-banner.png (content/abouthome/parabola-banner.png) + content/browser/abouthome/snippet1@2x.png (content/abouthome/snippet1@2x.png) + content/browser/abouthome/snippet2@2x.png (content/abouthome/snippet2@2x.png) + content/browser/abouthome/downloads@2x.png (content/abouthome/downloads@2x.png) +diff --git a/browser/locales/en-US/chrome/browser/aboutHome.dtd b/browser/locales/en-US/chrome/browser/aboutHome.dtd +index 7e3b57a79..6edc89d58 100644 +--- a/browser/locales/en-US/chrome/browser/aboutHome.dtd ++++ b/browser/locales/en-US/chrome/browser/aboutHome.dtd +@@ -11,14 +11,6 @@ + + + +- +-latest features."> +- +-Choose from thousands of add-ons."> + + Know your rights…"> + +diff --git a/browser/locales/en-US/chrome/browser-region/region.properties b/browser/locales/en-US/chrome/browser-region/region.properties +index e078ed528..ce2c5ed4d 100644 +--- a/browser/locales/en-US/chrome/browser-region/region.properties ++++ b/browser/locales/en-US/chrome/browser-region/region.properties +@@ -3,17 +3,12 @@ + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + + # Default search engine +-browser.search.defaultenginename=Google ++browser.search.defaultenginename=searx + + # Search engine order (order displayed in the search bar dropdown)s +-browser.search.order.1=Google +-browser.search.order.2=Yahoo +-browser.search.order.3=Bing +- +-# This is the default set of web based feed handlers shown in the reader +-# selection UI +-browser.contentHandlers.types.0.title=My Yahoo! +-browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s ++browser.search.order.1=searx ++browser.search.order.2=DuckDuckGo HTML ++browser.search.order.3=DuckDuckGo Lite + + # increment this number when anything gets changed in the list below. This will + # cause Firefox to re-read these prefs and inject any new handlers into the +@@ -22,20 +17,10 @@ browser.contentHandlers.types.0.uri=https://add.my.yahoo.com/rss?url=%s + # don't make any spelling errors here. + gecko.handlerService.defaultHandlersVersion=4 + +-# The default set of protocol handlers for webcal: +-gecko.handlerService.schemes.webcal.0.name=30 Boxes +-gecko.handlerService.schemes.webcal.0.uriTemplate=https://30boxes.com/external/widget?refer=ff&url=%s +- +-# The default set of protocol handlers for mailto: +-gecko.handlerService.schemes.mailto.0.name=Yahoo! Mail +-gecko.handlerService.schemes.mailto.0.uriTemplate=https://compose.mail.yahoo.com/?To=%s +-gecko.handlerService.schemes.mailto.1.name=Gmail +-gecko.handlerService.schemes.mailto.1.uriTemplate=https://mail.google.com/mail/?extsrc=mailto&url=%s +- + # The default set of protocol handlers for irc: +-gecko.handlerService.schemes.irc.0.name=Mibbit +-gecko.handlerService.schemes.irc.0.uriTemplate=https://www.mibbit.com/?url=%s ++gecko.handlerService.schemes.irc.0.name=Freenode Web IRC ++gecko.handlerService.schemes.irc.0.uriTemplate=https://webchat.freenode.net + + # The default set of protocol handlers for ircs: +-gecko.handlerService.schemes.ircs.0.name=Mibbit +-gecko.handlerService.schemes.ircs.0.uriTemplate=https://www.mibbit.com/?url=%s ++gecko.handlerService.schemes.ircs.0.name=Freenode Web IRC ++gecko.handlerService.schemes.ircs.0.uriTemplate=https://webchat.freenode.net +diff --git a/browser/locales/generic/profile/bookmarks.html.in b/browser/locales/generic/profile/bookmarks.html.in +index 5b7bdad69..19871732e 100644 +--- a/browser/locales/generic/profile/bookmarks.html.in ++++ b/browser/locales/generic/profile/bookmarks.html.in +@@ -5,17 +5,15 @@ + #define AB_CD ja + #endif + +-#define mozilla_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gwMDAsTBZbkNwAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAABNElEQVQ4y8WSsU0DURBE3yyWIaAJaqAAN4DPSL6AlIACKIEOyJEgRsIgOOkiInJqgAKowNg7BHdn7MOksNl+zZ//dvbDf5cAiklp22BdVtXdeTEpDYDB9m1VzU6OJuVp2NdEQCaI96fH2YHG4+mDduKYNMYINTcjcGbXzQVDEAphG0k48zUsajIbnAiMIXThpW8EICE0RAK4dvoKg9NIcTiQ589otyHOZLnwqK5nLwBFUZ4igc3iM0d1ff8CMC6mZ6Ihiaqq3gi1aUAnArD00SW1fq5OLBg0ymYmSZsR2/t4e/rGyCLW0sbp3oq+yTYqVgytQWui2FS7XYF7GFprY921T4CNQt8zr47dNzCkIX7y/jBtH+v+RGMQrc828W8pApnZbmEVQp/Ae7BlOy2ttib81/UFc+WRWEbjckIAAAAASUVORK5CYII= ++#define parabola_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABL0lEQVQ4jWNgoCcoq16VU1GzygnEBtEVDWuV8GooKFuhWVG3uiM3d5UokG4qr1szAaa5vGbVt4ralacwNDU0rGIrr10VBVG0+lxhwyqVsqqVtRW1q6eD5IvL19oB2V+B+D9QzQu4xtDQVZylVavygRKHqurWOlbUrknKK12qWlCwWLK8elUFA8N/xvLy5VYVtas+gzWDDVi9E2QjT1XdcufymjWpQJt1cXmnvHwVP1DzR7hmIC6vW+kOtpnYQKysW30arrlm9RVi9cFBRfXKJTADympWJZNsQFnN6rUQA1adAQU2SZqBXmUGBtozUDiU1qxQJtl2oCY3kO2l1avCSdYMAsBAWwyM2plkaS4p6eYGOv1YQ0MDB1kGlFWuDChuWKZBlmYQqK5eJU22ZkIAAEIlnQZQkzITAAAAAElFTkSuQmCC + +-#define nightly_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA01JREFUeNpkk01oXFUUx//vzp33ZiaTzkwnyUwmsbbNRpp0GhuVKiVgQIUiLmoX7lyIG10I6qIUrG6KGyuYZbMwiATqxipSMVhQYwWhiwSJwUxKkzbz8ZJ5H/M+7/vunUIE7Vnc1f3/zjn/c46wsCbjIOI4Rlfew+Zf6/h9+RYYYzj70hymZp7GULUCSin+H8IBwLYsfLOwiOfffndK1c2LmhO84jl+2e5ZCTN6Xer0fpp5dmq+frxy5zGAY9n49IOLuHDls8uqE3y07YV0ywwQGA6oZsJRFRT0FnK2Hpw8PTl/7tXZDw8ApF/29YUvufjqxxqLPrnLQBUiQRUI4EcQHQ+EgwbjENl8Pv3H9W/f//m7W9cOAKkXzr+J4pm5umy6S/uEkiAEOlzscWHG5jTbhcsrDJiHsN1CIScJTlc5JaSlldEna9uk8fcGHNO6tOMGqfssQjNFoHOxyAXU9xF5HiRXw2AqhuUEsLs6giCkjbXG549a+O3mMhQneLnthOh0NBiaAdozkTEdpC0Hnm2hKAKR3ESJRigNFZBHCF2zn+p7SMIwRM9kRcI/D5g2xAcd1PQeMtw8xkGuafIRGRgZKfHfCbKlIu5t3IVASYYDDtMzL85il2fLuh6qIkFkWtjrARY3zjENJLwCKgqwOjLcnW30Qh/HnpmGYTJhT1bSdPL0NBpr+6rbs8qhIiPivQtRhDDJQuCViI4BxdJRrx/jBopob25BDmIMnzgZjFTK+2R4tAo4+q8iM9Ba3wBTuxirHELeM5AxFO6FCsnSsHNnFfL9XUiFIo7ypNmB9D3eQkT665nS5Xm72Q5r3KCo04be2MIRKULOUlEkPnJpAbn8AI7XJyEUy/CBhIrJlUdT6D/rP3x1u1yQFjP5bFIbH4HdbHG2j/GJMfiqzneCwVI0oFrD8OgTiKLgl5Ubi0v/uYV3ZqcrE2ff+Do2/LlUxAi/HKQZH9eegupzpxDztL4gIfTU9d3VG+ev/nh7s6/797wiz1K3VpYuDU3MvFWunXg9ly2WTNVNDZaPgIU08V3NMNXVZfmfP68lvt187Br78d5r52hoKaUkiWspQqqHx4+OCQLhFu3KAXNbCYQWzR5SBCr5X3x/M+lrHgowAMP2wWqd+FzxAAAAAElFTkSuQmCC ++#define fsf_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAACXBIWXMAAAsTAAALEwEAmpwYAAADG0lEQVQoFQEQA+/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQECAAAAAAAAAAAAAAAAAAAA2qOp7tTXAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAP///wAAAAAAAOCyt7pUXQcSEgcQDwAAAP///wAAAAAAAAD//x9NSDqNhQEBAQQAAAAAAAAAAAAAAAAQJiQGDQ0aPToZPjoAAQEAAAAAAAAAAAABAQEpZV4AAAAAAAAAAAAA////////////////pSIv05KZ////////////////////////////////AAAAAQAAAP///6krNwAAAAAAAPHc3ggSEQcSEQAAAAAAAAAAABY3NEGelQAAAAAAAAEBAQEAAAD///+YARAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGDg1g690CBgYAAAABAQEEAAAAAAAAS7etAAAAAAAAwGVtHklFIlJOAAAAAAAAAAAAAAAA+/X2BwYGAAAAAAAABAAAAAAAAB1IQwAAAAAAAAYNDBAmJB1IQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAgL//v4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAQEB//7/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAECAv/+/gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////cqK3qzM////////////////////////////////8AAAABAAAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQEBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGuLjDf9F8oBAAAAAElFTkSuQmCC + +-#define firefox_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAz5JREFUeNpcU0toXFUY/s49596588ikySSmM8rk0UkJEirVTVEjYk1NUdRFFgouXZQI2k2hUCjdiYIuCi4Kuig0DbqQYgU3Yi0iFRuRCBMwaZvMZDTNY95z3/fM8b8jldpzOeeee/i/737n+/+f4ZExf730rkiaZ9NJMx/nmk5HypMqqLr+ZuD4F67N5ZYejmfRsnvhyKsLhSs3zP70SubgYKHSdFENu+gXAprQIGnvBi5ez0m1b6u7M399+PTx+UvtCKtFi2F6195qXK2byir88esy5ksfYND5DhuhRCtUKBNB0Q7w5Z8ee2GgWdjOn250fn5v5j8F5dOHlZD0kWRgAwp3hrKY0S9BJWKIcQ5PShhNG4+1bHx+IocT+RXcrRSDMfFNRvvt3Oyp/icIrRhUl9hoO4kt3F55Bxf3LkLV20jWOohbDjzXxyc/lMH0cRSyCd1xq+dFhu986t7T0CUwIzB8EkW3O5ibhj44ib7NJhiBKRoB/aS4ZWHjbxtjGQYP7nGRTjim1SaQqYiAVAREpHG8vzWJn+6PQ6CF0HPR7nQQczpYeEWHyWMUkwU8MSECGwgJxAWp9xWKNzkuH3oet+JDlIE9Momedh1G4CN0bfhVG9nsS0BQQthJx0V7j3elq7ihqV5ezQTwZmodP9ZGkU/bOPr4Nr53xtDYsaD7Dg4nNqFaH5OCYSSdGhf7daNmuv6wEKqXk/yExKGBHSznFsH6FFpKQ/JAA0ulUejWLt44lkHXsqDaX6C6Nl4Rnq8vK8s/KThDMlJhkI91YOO+iR3XwEelCdTCBLSgijNzd6DLNfhlHfZ6FtWiWBQpq/V2LdSrrNPljBQkoOjuCiPxAMutOIbkPqYSEqeequGZaTLzdhZhS0PlnlB9bvhtr5CuHj3y2Qj8hVQ/kEopxONEEsO/0yATDYXYAdWrE69JEElXq7Hyk0tro+xBU1yZmr4xrIcvptIRCZlJJAYBmRGRkD08aivA7VDvWPqt564Xn41w/AHB1/u7l1/uGxGU8mNcgodUNDIq0JDeLnpzc1uo1Qr76rWbqyf/142PjsXJqdkmN2YDnQ9oGkJNU+t57q7qUv4y9/t64+HYfwQYAN7OczrzUDvGAAAAAElFTkSuQmCC ++#define gnu_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgBAMAAACBVGfHAAAAGFBMVEVFRUV+fn6mpqa/v7/Ozs7Y2Njg4OD8/Pwuhn+TAAAAAWJLR0QAiAUdSAAAAAlwSFlzAAALEQAACxEBf2RfkQAAAAd0SU1FB9MBDhQ6Gd8s57cAAAEVSURBVBgZBcGxVtpgGADQL9gHSBzqSognzMixmcWWzB6pmRHhnyvku6/fewMAIPD3TwHmQxHs6vr+A16bphNum/vV0x429201hcPjAGBTDZGnR/Kw1U181+u4HXvOdSxjUcztz8jjg1xGVBG9XPYxt4PviKiaWLg168iXtbrq+mPT1utjNcR1U73deRnL43M2sRgj3+oYs8uL3rLphPd2QWmHbMu/VS/cnk6UdtSW657g9yBlcZ0UAkUWzPvyRaAYmfd+HT4IZtvC59ibEJxXiqJjQpBpNEufBYE0McoOAunGhRMEFIPc7h4goJigQEBxk8u7AgEpL3IEAUZfcgAByGFXQACm5+4MAuB19QMEgI8CAgDgP4rivVgoKP6ZAAAAAElFTkSuQmCC + +-#define bugzilla_icon data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAnYCL7J0pY9wwETY9kYEM9AAAAAEBAYAhVVVUDAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1bjTOS1Vb/wAA2/8JEqT/Q0g8kQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJnMqoiJtJ/0haST/NEkp/yQnW/8AAPD8AAHY/RsgP/JZUI+GKitih4ObUEAAAAAAAAAAAAAAAAAAAAAAKnouwip5Lv9ooW//a6Jz/y9GIv8JBXb/AADO/gEBvf8AAK7/FRJp/z9BfP8iLGj1AAAAAAAAAAAAAAAAL4YzwiB0I/+UwJ3/bK+C/02eZ/9CTjz/DBa1/wABxf8BAOj/AACp/w8Oc/sJCv//EhCN9AAAAAAAAAAANJA6iC2MMv93tYL/TZ5U/3mzjP9NoWr/NEss/wYIU/8CBOn/ARCX/wwNqP0TD6X/Cgyex5qacDAAAAAAAAAAADKUN/ZirWj/d76R/0SgXf9Ln1P/eLSM/1mda/8rOkb/CQiD/wMQvf8UEnT/MTAt4P//MwUhZyN8AAAAAAAAAAAznDf5UqlZ/228jP9NqnD/Qp9c/0yiVP+Dv5b/VaVw/0VxXf9PZXD/S3pQ/y54Nf8jcCf/I2wn/wAAAAA0ozjIM6E4/zOeOP+Uz6z/XLR+/06scv9BoV3/TqZX/4XBmP9XqHP/hr6Z/yp+Lf8leSr1JXUqbQAAAAA3rTz7Nqo7/zWmOqM3oz7rUK1W/43Mpf9etYD/T61z/0KjXf9Rqln/msup/46/lf8pgy7/JFg6sAAAAAAAAAAAOK8+8jqvOiMAAAAAAAAAADSlOv85pT//kM6o/2K5hP9Ysnv/YLJ2/ziXPv8piS3/V6Ri/yZQQ9wAAAAAAAAAAAAAAAAAAAAAAAAAADetP0E2qzz/OKg98UWsS/+e1K3/pNe4/4XDjv8ojy3/T7df/5fIqv8sjTH/K4kw/yqFLv8AAAAAAAAAAAAAAAA4sT3xN7A8+QAAAAA4qz3yNag6/zSlOf80oTn/csJ+/6/jwv9fjHj/MmRMdQAAAAAAAAAAAAAAAAAAAAAAAAAAOrdA/zm0QHQAAAAAAAAAADasO/k2qTvuRX5lpjqGT/gznDr/O3FXigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADq9QiMAAAAAAAAAAAAAAAA4sj7/Nq09s0uOaSI1qTplM6U68wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOrc//zu0P0EAAAAAOK4+UjWsPPgAAAAAAAAAAAAAAAAAAAAA/48AAP8HAAD4AQAA8AAAAOAAAADAAQAAwAMAAMAAAACAAwAAAAMAAHADAADwAAAA5AcAAO4HAAD+bwAA/u8AAA== ++#define libreplanet_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAACfElEQVQ4jZXTS0hUcRTH8f+9M3fGd0gRRq1a2bZdBAotWtS6TQtB6IHgKzRy0UKqjRaRCAq+R21MDMsUR83JR5fJxhmaK2lzsWAWw+ToEHJxgnFm7reFIgza66z/58P/dzhHcESZpsluIsFPwyCVSmGa5lHPEEIIkdGYTqPPvqUlP4fK8nJ2DINYNEq71YJ3fv4QlAGkUynaj+VRdfUK7580M52rEN/ZYWNjg2GrjEMSPFXsmOn0YcA0TZ4V5tNZUkJTTTWfJiZIJhJ8U1VczwcZs0o4JUHzufM0ZGcf/OQASCaTxGIxDMNA00P8iEbpuXyJ8Tw77+wWJhWZQYuVbiHoFIKwpmUC4XCYzc1NDMMgHo9z8+IFvl6/xsf7D9ArbjOpyAxLEt1C0CUErfvJDwBd14lEImxvb/N9fR1fgY3egmyWsq0sO/poUyw4pb3mLiFolyRM09wDEokEfr+fUChEJBJh4HgBS7kKn92zLIy9ZriqklFZwiEEHfsRRp1O0un0HpDa3cU9M8PKygp3Tp5AzbKgZlmYt1uYtkn02q0MyYKmnBxWNI27Nhtut5tkMrkHmKZJbWkpqqryQpFxKTJTisyEVeaVRWJIlqgpLuZRWRkejwe/34/P58ucwZvWVhYXF5l2uejIzeHGqbM4ZYmB/dy1hUV8mJpibm4On8/H1tbW4T1YXV3F6/WysLDA5Pg4nfsDe5yfz8OiIjweD5qmEQwGf7/KwWCQtbU1NE2jRZbpEoI2SWKqr49lVUXX9T/fAkAgEKC/e5SW6mo6hKD+zGn6e0bw+/x/PyaA9S/rvOwfobGukfpbddyraMDR7iCwHPg34H9KCCF+Abts3KCj/p6aAAAAAElFTkSuQmCC + +-#define mdn_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAACYklEQVQ4y3WSTYjNYRTGf+f9/+/NuDN3GKMxt1mYpKR8RT6zEk1iyUo2IysSNspCxEIZRSN07YiUJSWkaUIZizELMzIZlO9h3MzXvf/341jcmTGa69RZvKfnPOc5z3mhQlRd651Ry17tqQQl5uR9ONHC3EtdiPPxWKZ24bhJvQV0OlBHhiV7pTs3WpUdEmeLrnWJAhhOtJA5/3RjqZg8Lrnwy4bQT/DvTb73Qt3N9ymATNvTU15Mvx8vfvTWDrmgT0y+dzuAZM527lM0Xx6jFKvnEKIYvIIqVeMFRCfEiDBWMw9UQUBUT8fBWvmrU9HEUpUWDq2cT23a0P6kQEqEwTFLQCBJpm9mYrV+6lW0ngNr62jb0kw6KvMeXJohZYSLzz9xvOMDJG6aPUKMtZPDObq+iXPbmoG/ooJC0QVaVy2g5AI3Bkq8/jYCkQEBo9ah1hESS1N1Gu9DxXNFRji0oYm+/Stoaa4tK0kcRq1HE4fxHqOKEf4bk16ubphd9iKxGKxFrcOWLB1vvuOCzmg0Irig1MxKMfBznPbOd2DLCmJNHKgSIdzr/kjXhwKbFtVPNQ+NJiw7+YDh0YTFuVr6CwLpaNJDjCYOtR61DldyHL7975c9dqeH4ZESscC7r79BFBI7kY5YrZsCC8qL/kFyR+6yY0UjS3M1PHz5ich71IOIQGSn0cskwdTeryTyfV9+jGzOP3rTQAiIHUNQEBkCeUbkcqguB2JEMGqt4sJlg8lGIsv0+p5dON8YaVgn3veJ85/F61YNtn5uXf3OCF0TQVacP0PiXMVzpfbemlnbna+I/QPSFTsRLd+hHAAAAABJRU5ErkJggg== +- +-#define addon_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAKoSURBVDiNjZNLaJRnFIaf75vvy2UGTWr8NYkxl0IFUYkNXSSZQNWFWlxIEVy1FLLo0i4adddVXRnS4kJwYxci2GaRTWlSFGKFGRXNmFBF62VMO4TENBdjMv9k5p//Oy4SLzgqHs7yPc95eTlHiQjvqniPbVYRzuBoR+FQDEvId4neIPNCY945DayNVff/8NUvn9XXNJMv5hhKnTvYP3ymHmj/IMBSbmHjjP8fycxv+MEzGqtatUI1vK7R7wM4J32XUv3Li/l5imGBkbtXlsMw/PF1jXozg3iP3aM0Z8XRBFDr1fl7Og9EnTguXx30p/6fjAIozb/i6C4BdB2z6QOfH27ZUFNL0QUELs/tycs4J2zdGEerCADTM1P8df3PxyUZiKPF8zyGHpwGFLC6QCCRuYA4QQQ6mw4hjhYT77GN2qiBWFnV5sXc0xMAgfKx5foVYKURB2vLPbxoM8auODE6ws/fH+77dHtjhxp5OHzywpWf/IIsRk25Rq0CRFY4UVNNndkmqZFRf3YuWaYUS0aE3RP5MXX3/iCOgu3Y1WYfL90sdSDgxRoYTY5mZ2anjwC/AqEBdM4tMJ4dwYs1YiOGSBkYrVHqlQNxoC34OV8BdxK9gQ+guo7bwdYdrXu92nU6nR7Pzc/PSXxfazTj30IpRaWpIqbX4UQoBDkWJlRwLzVeLBTyGs2UcUX5duzvsfPqNpvDovQhnBIdELGaWFk1hclYmLx2fxmFbNm5qXJNvdi2DQ1WAsO1P/5petshyf6v25gJ0nxUUUeiP531s/kvAcor7MDOL2pjz3JzVKpqUoMTpb8QsSqdeTT98fomjyDv8LP5aKI3uAgQP2orCkGAVRVMZxbQhnQJIAzkm3s3Js6GSfkEQEd4+bpa8+TW71P1ANqoB65I93OA2DgV+Z+omgAAAABJRU5ErkJggg== ++#define hnode_icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABgElEQVQ4jaXRz2uSARzHcb0vlRGEzTVWISU1BVkFYTIyjNK1pKcxHA+yhWMWIamHYikFgpoLIi9jwegi3QbL9SzdLmMbM9J+DkJBgm5RDvEPeHeQHOyQz0OH9+V7ePGBr0pqpPmfVPsP8a0AR4MnMEwf48x9K0s/E8oAY9iEMOvD+8yP2qVjrhhRBnSN61n5sIpULqC+pGHh8wNlgEY8jPQXcGh4VXukDND5evYAl46odIuXtYdKAANSudAChO52/XeMZMohecCbcoGdH99Y+7LO72adT9+/4nh8nYOjBl7/SsoB8gBkpHk8T0S2K++pN3fRin3cfnFDHvCuWkI9rEMvHGEo5gbAHnXhnLF1BpZLeRaLOVT2A8Q3A5wMngXgWtKLxX9KPqC+rCWQvYkpeK4NWKcGOgO50ts2MJJ0cPreeQDciTHMchZYIhcwh2wcuqjn+ccwGm9v6wsTxxn0dVgQXZ7Ek3Agpq6QrcaQGmmebtxFSDkRU1fJVmL/BpT2ByV/3eDMhinRAAAAAElFTkSuQmCC + +@@ -27,30 +25,21 @@ +

+

@bookmarks_toolbarfolder@

+
@bookmarks_toolbarfolder_description@ +-#ifndef NIGHTLY_BUILD +
+-

@getting_started@
++

Parabola GNU/Linux-libre
+
+-

@firefox_heading@

++

Parabola GNU/Linux-libre

+

+-

@firefox_help@ +-
@firefox_customize@ +-
@firefox_community@ +-
@firefox_about@ +-
+-#else +-
+-

@firefox_community@ ++
Parabola GNU/Linux-libre ++
Parabola GNU/Linux-libre Packages ++
Parabola GNU/Linux-libre Wiki ++
Parabola GNU/Linux-libre Labs +
+-

@nightly_heading@

++

Free Software Foundation

+

+-

@nightly_blog@ +-
@bugzilla@ +-
@mdn@ +-
@nightly_tester_tools@ +-
@crashes@ +-
@irc@ +-
@planet@ ++
Free Software Foundation ++
The GNU Operating System and the Free Software Movement ++
LibrePlanet ++
h-node +
+-#endif +
+diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn +index eff09189b..6d76d20f0 100644 +--- a/browser/locales/jar.mn ++++ b/browser/locales/jar.mn +@@ -97,12 +97,6 @@ + locale/browser/searchplugins/ (.deps/generated_@AB_CD@/*.xml) + locale/browser/searchplugins/list.json (.deps/generated_@AB_CD@/list.json) + #endif +- locale/browser/searchplugins/images/amazon.ico (searchplugins/images/amazon.ico) +- locale/browser/searchplugins/images/ebay.ico (searchplugins/images/ebay.ico) +- locale/browser/searchplugins/images/wikipedia.ico (searchplugins/images/wikipedia.ico) +- locale/browser/searchplugins/images/yahoo.ico (searchplugins/images/yahoo.ico) +- locale/browser/searchplugins/images/yandex-en.ico (searchplugins/images/yandex-en.ico) +- locale/browser/searchplugins/images/yandex-ru.ico (searchplugins/images/yandex-ru.ico) + % locale browser-region @AB_CD@ %locale/browser-region/ + locale/browser-region/region.properties (%chrome/browser-region/region.properties) + # the following files are browser-specific overrides +diff --git a/browser/locales/search/list.json b/browser/locales/search/list.json +index 544740a43..4961e5437 100644 +--- a/browser/locales/search/list.json ++++ b/browser/locales/search/list.json +@@ -1,802 +1,748 @@ + { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazondotcom", "bing", "ddg", "twitter", "wikipedia" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + }, + "regionOverrides": { + "US": { +- "google": "google-nocodes" + }, + "CA": { +- "google": "google-nocodes", +- "ebay": "ebay-ca", +- "ebay-fr": "ebay-ca" + }, + "KZ": { +- "google": "google-nocodes" + }, + "BY": { +- "google": "google-nocodes" + }, + "RU": { +- "google": "google-nocodes" + }, + "TR": { +- "google": "google-nocodes" + }, + "CN": { +- "google": "google-nocodes" + }, + "TW": { +- "google": "google-nocodes" + }, + "HK": { +- "google": "google-nocodes" + }, + "AT": { +- "ebay-de": "ebay-at" + }, + "AU": { +- "ebay": "ebay-au", +- "ebay-uk": "ebay-au" + }, + "BE": { +- "ebay": "ebay-be", +- "ebay-nl": "ebay-be", +- "ebay-fr": "ebay-be" + }, + "CH": { +- "ebay": "ebay-ch", +- "ebay-de": "ebay-ch", +- "ebay-fr": "ebay-ch" + }, + "IE": { +- "ebay": "ebay-ie", +- "ebay-uk": "ebay-ie" + }, + "NL": { +- "ebay": "ebay-nl" + }, + "GB": { +- "ebay": "ebay-uk" + } + }, + "locales": { + "en-US": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazondotcom", "bing", "ddg", "ebay", "twitter", "wikipedia" +- ] +- }, +- "experimental-hidden": { +- "visibleDefaultEngines": [ +- "amazon-ca", "amazon-au", "google-2018", "yahoo-en-CA", "yandex-en" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ach": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "af": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "wikipedia-af" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "an": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-es", "bing", "ebay-es", "wikipedia-an", "ddg", "twitter" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ar": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "wikipedia-ar" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "as": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "amazondotcom", "ddg", "wikipedia-as" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ast": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-es", "bing", "diccionariu-alla", "ddg", "ebay-es", "wikipedia-ast" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "az": { + "default": { + "visibleDefaultEngines": [ +- "google", "amazondotcom", "azerdict", "bing", "ddg", "wikipedia-az", "yandex-az" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "be": { + "default": { + "visibleDefaultEngines": [ +- "yandex-by", "google", "ddg", "wikipedia-be", "wikipedia-be-tarask" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "bg": { + "default": { + "visibleDefaultEngines": [ +- "google", "amazondotcom", "ddg", "portalbgdict", "wikipedia-bg" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "bn-BD": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "ddg", "wikipedia-bn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "bn-IN": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "amazondotcom", "bing", "ddg", "rediff", "wikipedia-bn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "br": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-france", "amazon-france", "ddg", "ebay-fr", "freelang", "klask", "wikipedia-br" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "bs": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "ddg", "olx", "twitter", "wikipedia-bs" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ca": { + "default": { + "visibleDefaultEngines": [ +- "google", "bing", "diec2", "ddg", "ebay-es", "twitter", "wikipedia-ca" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "cak": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-espanol", "bing", "amazondotcom", "ddg", "wikipedia-es" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "cs": { + "default": { + "visibleDefaultEngines": [ +- "google", "seznam-cz", "ddg", "heureka-cz", "mapy-cz", "wikipedia-cz" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "cy": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-en-GB", "amazon-en-GB", "ddg", "ebay-uk", "palasprint", "termau", "wikipedia-cy" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "da": { + "default": { + "visibleDefaultEngines": [ +- "google", "bing", "amazon-en-GB", "ddg", "wikipedia-da" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "de": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-de", "amazondotcom-de", "bing", "ddg", "ebay-de", "leo_ende_de", "wikipedia-de" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "dsb": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-de", "bing", "amazondotcom-de", "ddg", "ebay-de", "leo_ende_de", "wikipedia-dsb" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "el": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazon-en-GB", "bing", "ddg", "wikipedia-el" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "en-GB": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-en-GB", "bing", "amazon-en-GB", "chambers-en-GB", "ddg", "ebay-uk", "twitter", "wikipedia" +- ] +- }, +- "experimental-hidden": { +- "visibleDefaultEngines": [ +- "yandex-en" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "en-ZA": { + "default": { + "visibleDefaultEngines": [ +- "google", "bing", "amazondotcom", "ddg", "twitter", "wikipedia" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "eo": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "reta-vortaro", "wikipedia-eo" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "es-AR": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-ar", "amazondotcom", "drae", "ddg", "mercadolibre-ar", "wikipedia-es" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "es-CL": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-cl", "bing", "drae", "ddg", "mercadolibre-cl", "wikipedia-es" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "es-ES": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-es", "bing", "drae", "ddg", "ebay-es", "twitter", "wikipedia-es" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "es-MX": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-mx", "bing", "ddg", "mercadolibre-mx", "wikipedia-es" +- ] +- }, +- "experimental-hidden": { +- "visibleDefaultEngines": [ +- "amazon-mx" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "et": { + "default": { + "visibleDefaultEngines": [ +- "google", "neti-ee", "ddg", "osta-ee", "wikipedia-et", "eki-ee" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "eu": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazon-en-GB", "ddg", "ebay-es", "elebila", "wikipedia-eu" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "fa": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazondotcom", "bing", "ddg", "wikipedia-fa" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ff": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-france", "bing", "amazon-france", "ddg", "cnrtl-tlfi-fr", "wikipedia-fr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "fi": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-fi", "bing", "bookplus-fi", "ddg", "wikipedia-fi" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "fr": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-france", "bing", "amazon-france", "ddg", "ebay-fr", "cnrtl-tlfi-fr", "wikipedia-fr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "fy-NL": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-fy-NL", "bing", "bolcom-fy-NL", "ddg", "ebay-nl", "marktplaats-fy-NL", "wikipedia-fy-NL" +- ] +- }, +- "experimental-hidden": { +- "visibleDefaultEngines": [ +- "amazon-nl" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ga-IE": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-en-GB", "amazon-en-GB", "ddg", "ebay-ie", "tearma", "twitter", "wikipedia-ga-IE" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "gd": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-en-GB", "amazon-en-GB", "bbc-alba", "ddg", "ebay-uk", "faclair-beag", "wikipedia-gd" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "gl": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-es", "amazon-en-GB", "ddg", "ebay-es", "wikipedia-gl" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "gn": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-es", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-gn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "gu-IN": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "ddg", "gujaratilexicon", "wikipedia-gu" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "he": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "ddg", "wikipedia-he", "morfix-dic" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "hi-IN": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "ddg", "wikipedia-hi" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "hr": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazon-en-GB", "bing", "ddg", "eudict", "twitter", "wikipedia-hr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "hsb": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-de", "bing", "amazondotcom-de", "ddg", "ebay-de", "leo_ende_de", "wikipedia-hsb" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "hu": { + "default": { + "visibleDefaultEngines": [ +- "google", "ddg", "sztaki-en-hu", "vatera", "wikipedia-hu" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "hy-AM": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazondotcom", "ddg", "list-am", "wikipedia-hy" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "id": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-id", "ddg", "wikipedia-id" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "is": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "leit-is", "wikipedia-is" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "it": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-it", "bing", "amazon-it", "ddg", "ebay-it", "hoepli", "wikipedia-it" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ja-JP-mac": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ja": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-jp", "bing", "amazon-jp", "rakuten", "yahoo-jp-auctions", "oshiete-goo", "twitter-ja", "wikipedia-ja", "ddg" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ka": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ka" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "kab": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-france", "bing", "ddg", "wikipedia-kab" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "kk": { + "default": { + "visibleDefaultEngines": [ +- "yandex-kk", "google", "ddg", "flip", "kaz-kk", "twitter", "wikipedia-kk" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "km": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-km" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "kn": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "amazondotcom", "ddg", "kannadastore", "wikipedia-kn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ko": { + "default": { + "visibleDefaultEngines": [ +- "google", "ddg", "naver-kr", "danawa-kr", "daum-kr", "wikipedia-kr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "lij": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-it", "bing", "amazon-it", "ddg", "ebay-it", "paroledigenova-lij", "wikipedia-lij" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "lo": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "ddg", "wikipedia-lo", "twitter" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "lt": { + "default": { + "visibleDefaultEngines": [ +- "google", "wikipedia-lt", "bing", "amazondotcom", "ddg", "twitter" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ltg": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "dict-enlv", "ddg", "salidzinilv", "sslv", "wikipedia-lv" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "lv": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "dict-enlv", "ddg", "salidzinilv", "sslv", "wikipedia-lv" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "mai": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "ddg", "twitter", "wikipedia-hi" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "mk": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "wikipedia-mk" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ml": { + "default": { + "visibleDefaultEngines": [ +- "google", "webdunia", "bing", "ddg", "rediff", "wikipedia", "wikipedia-ml" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "mr": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "amazondotcom", "ddg", "rediff", "wikipedia-mr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ms": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-ms" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "my": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-my" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "nb-NO": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-NO", "amazon-en-GB", "bing", "ddg", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NO" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ne-NP": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "ddg", "twitter", "wikipedia-ne" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "nl": { + "default": { + "visibleDefaultEngines": [ +- "google", "bing", "bolcom-nl", "ddg", "ebay-nl", "marktplaats-nl", "wikipedia-nl" +- ] +- }, +- "experimental-hidden": { +- "visibleDefaultEngines": [ +- "amazon-nl" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "nn-NO": { + "default": { + "visibleDefaultEngines": [ +- "google", "bing", "amazon-en-GB", "ddg", "gulesider-NO", "bok-NO", "qxl-NO", "wikipedia-NN" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "or": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "amazondotcom", "ddg", "wikipedia-or" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "pa-IN": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "ddg", "wikipedia-pa" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "pl": { + "default": { + "visibleDefaultEngines": [ +- "google", "allegro-pl", "ddg", "pwn-pl", "wikipedia-pl", "wolnelektury-pl" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "pt-BR": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-br", "bing", "buscape", "ddg", "mercadolivre", "twitter", "wikipedia-pt" +- ] +- }, +- "experimental-hidden": { +- "visibleDefaultEngines": [ +- "amazon-br" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "pt-PT": { + "default": { + "visibleDefaultEngines": [ +- "google", "amazon-en-GB", "ddg", "priberam", "sapo", "wikipedia-pt" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "rm": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-ch", "bing", "ddg", "ebay-ch", "leo_ende_de-rm", "pledarigrond", "wikipedia-rm" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ro": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "wikipediaro" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ru": { + "default": { + "visibleDefaultEngines": [ +- "yandex-ru", "google", "ddg", "ozonru", "priceru", "wikipedia-ru", "mailru" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "si": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazondotcom", "ddg", "wikipedia-si" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "sk": { + "default": { + "visibleDefaultEngines": [ +- "google", "azet-sk", "atlas-sk", "ddg", "slovnik-sk", "wikipedia-sk", "zoznam-sk" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "sl": { + "default": { + "visibleDefaultEngines": [ +- "google", "ceneji", "ddg", "najdi-si", "odpiralni", "twitter", "wikipedia-sl" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "son": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-france", "bing", "amazon-france", "ddg", "cnrtl-tlfi-fr", "wikipedia-fr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "sq": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazon-en-GB", "ddg", "wikipedia-sq" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "sr": { + "default": { + "visibleDefaultEngines": [ +- "google", "amazon-en-GB", "bing", "ddg", "wikipedia-sr", "pogodak" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "sv-SE": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-sv-SE", "bing", "allaannonser-sv-SE", "ddg", "prisjakt-sv-SE", "tyda-sv-SE", "wikipedia-sv-SE" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ta": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "ddg", "wikipedia-ta" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "te": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "amazondotcom", "ddg", "wikipedia-te", "wiktionary-te" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "th": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "amazondotcom", "bing", "ddg", "longdo", "wikipedia-th" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "tl": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-tl", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-tl" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "tr": { + "default": { + "visibleDefaultEngines": [ +- "yandex-tr", "google", "ddg", "twitter", "wikipedia-tr" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "uk": { + "default": { + "visibleDefaultEngines": [ +- "google", "yandex-uk", "meta-ua", "ddg", "wikipedia-uk", "metamarket" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "ur": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo-in", "bing", "amazon-in", "ddg", "twitter", "wikipedia-ur" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "uz": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "twitter", "wikipedia-uz" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "vi": { + "default": { + "visibleDefaultEngines": [ +- "google", "coccoc", "ddg", "wikipedia-vi", "zing-mp3" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "wo": { + "default": { + "visibleDefaultEngines": [ +- "google", "yahoo", "bing", "amazondotcom", "ddg", "wikipedia-wo" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "xh": { + "default": { + "visibleDefaultEngines": [ +- "google", "bing", "ddg", "wikipedia" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "zh-CN": { + "default": { + "visibleDefaultEngines": [ +- "baidu", "google", "bing", "ddg", "wikipedia-zh-CN", "amazondotcn" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + }, + "zh-TW": { + "default": { + "visibleDefaultEngines": [ +- "yahoo-zh-TW", "google", "ddg", "findbook-zh-TW", "wikipedia-zh-TW", "yahoo-zh-TW-HK", "yahoo-bid-zh-TW", "yahoo-answer-zh-TW" ++ "duckduckgo-html", "duckduckgo-lite", "internet-archive", "parabola-packages", "parabola-wiki-en", "searx", "seeks", "wikipedia-en", "yacy" + ] + } + } +diff --git a/devtools/client/locales/en-US/connection-screen.dtd b/devtools/client/locales/en-US/connection-screen.dtd +index 674a408d5..d27e97fd5 100644 +--- a/devtools/client/locales/en-US/connection-screen.dtd ++++ b/devtools/client/locales/en-US/connection-screen.dtd +@@ -24,7 +24,7 @@ + +- ++ + + + +diff --git a/devtools/client/locales/en-US/sourceeditor.properties b/devtools/client/locales/en-US/sourceeditor.properties +index 842d549f0..31dcb82e5 100644 +--- a/devtools/client/locales/en-US/sourceeditor.properties ++++ b/devtools/client/locales/en-US/sourceeditor.properties +@@ -4,7 +4,7 @@ + + # LOCALIZATION NOTE These strings are used inside the Source Editor component. + # This component is used whenever source code is displayed for the purpose of +-# being edited, inside the Firefox developer tools - current examples are the ++# being edited, inside the Iceweasel developer tools - current examples are the + # Scratchpad and the Style Editor tools. + + # LOCALIZATION NOTE The correct localization of this file might be to keep it +diff --git a/devtools/client/locales/en-US/toolbox.dtd b/devtools/client/locales/en-US/toolbox.dtd +index 6097fa82a..3dfe372db 100644 +--- a/devtools/client/locales/en-US/toolbox.dtd ++++ b/devtools/client/locales/en-US/toolbox.dtd +@@ -80,7 +80,7 @@ + - checkbox that toggles remote debugging, i.e. devtools.debugger.remote-enabled + - boolean preference in about:config, in the options panel. --> + +- ++ + + + +- ++ + + + +@@ -55,7 +55,7 @@ + + + +- ++ + + + +diff --git a/devtools/client/locales/en-US/webide.properties b/devtools/client/locales/en-US/webide.properties +index 2368ad7f1..05e39c74f 100644 +--- a/devtools/client/locales/en-US/webide.properties ++++ b/devtools/client/locales/en-US/webide.properties +@@ -2,8 +2,8 @@ + # 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/. + +-title_noApp=Firefox WebIDE +-title_app=Firefox WebIDE: %S ++title_noApp=Iceweasel WebIDE ++title_app=Iceweasel WebIDE: %S + + runtimeButton_label=Select Runtime + projectButton_label=Open App diff --git a/mozconfig b/mozconfig new file mode 100644 index 0000000..d63a44e --- /dev/null +++ b/mozconfig @@ -0,0 +1,46 @@ +ac_add_options --enable-application=browser + +ac_add_options --prefix=/usr +ac_add_options --enable-release +ac_add_options --enable-gold +ac_add_options --enable-pie +ac_add_options --enable-optimize="-O2" + +# Iceweasel +ac_add_options --with-distribution-id=nu.parabola +ac_add_options --disable-official-branding +ac_add_options --with-branding=browser/branding/iceweasel +# Disable telemetry more +export MOZ_TELEMETRY_REPORTING=0 +# Disable checking that add-ons are signed by the trusted root +export MOZ_ADDON_SIGNING=0 +# Disable enforcing that add-ons are signed by the trusted root +export MOZ_REQUIRE_ADDON_SIGNING=0 + +# System libraries +ac_add_options --with-system-nspr +ac_add_options --with-system-nss +ac_add_options --with-system-icu +ac_add_options --with-system-jpeg +ac_add_options --with-system-zlib +ac_add_options --with-system-bz2 +ac_add_options --with-system-libvpx +ac_add_options --enable-system-hunspell +ac_add_options --enable-system-sqlite +ac_add_options --enable-system-ffi +ac_add_options --enable-system-pixman + +# Features +ac_add_options --enable-alsa +ac_add_options --disable-pulseaudio +ac_add_options --enable-startup-notification +ac_add_options --disable-crashreporter +ac_add_options --disable-eme +ac_add_options --disable-safe-browsing +ac_add_options --disable-stylo +ac_add_options --disable-tests +ac_add_options --disable-updater +ac_add_options --disable-url-classifier +ac_add_options --disable-webrtc + +STRIP_FLAGS="--strip-debug" diff --git a/mozilla-1253216.patch b/mozilla-1253216.patch new file mode 100644 index 0000000..c9252da --- /dev/null +++ b/mozilla-1253216.patch @@ -0,0 +1,12 @@ +diff -up firefox-48.0/js/src/jit/AtomicOperations.h.old firefox-48.0/js/src/jit/AtomicOperations.h +--- firefox-48.0/js/src/jit/AtomicOperations.h.old 2016-07-27 09:42:43.148175449 +0200 ++++ firefox-48.0/js/src/jit/AtomicOperations.h 2016-07-27 09:41:13.000000000 +0200 +@@ -340,7 +340,7 @@ AtomicOperations::isLockfree(int32_t siz + # elif defined(__aarch64__) + # include "jit/arm64/AtomicOperations-arm64.h" + # else +-# include "jit/none/AtomicOperations-none.h" // These MOZ_CRASH() always ++# include "jit/none/AtomicOperations-ppc.h" + # endif + #elif defined(JS_CODEGEN_X86) || defined(JS_CODEGEN_X64) + # include "jit/x86-shared/AtomicOperations-x86-shared.h" diff --git a/mozilla-build-arm.patch b/mozilla-build-arm.patch new file mode 100644 index 0000000..774147b --- /dev/null +++ b/mozilla-build-arm.patch @@ -0,0 +1,24 @@ +diff -up firefox-46.0/media/webrtc/trunk/webrtc/build/common.gypi.arm firefox-46.0/media/webrtc/trunk/webrtc/build/common.gypi +--- firefox-46.0/media/webrtc/trunk/webrtc/build/common.gypi.arm 2016-04-25 12:03:12.486027089 +0200 ++++ firefox-46.0/media/webrtc/trunk/webrtc/build/common.gypi 2016-04-25 12:05:55.714644873 +0200 +@@ -312,20 +312,6 @@ + 'defines': [ + 'WEBRTC_ARCH_ARM', + ], +- 'conditions': [ +- ['arm_version>=7', { +- 'defines': ['WEBRTC_ARCH_ARM_V7', +- 'WEBRTC_BUILD_NEON_LIBS'], +- 'conditions': [ +- ['arm_neon==1', { +- 'defines': ['WEBRTC_ARCH_ARM_NEON',], +- }], +- ['arm_neon==0 and arm_neon_optional==1', { +- 'defines': ['WEBRTC_DETECT_ARM_NEON',], +- }], +- ], +- }], +- ], + }], + ['os_bsd==1', { + 'defines': [ diff --git a/no-crmf.patch b/no-crmf.patch new file mode 100644 index 0000000..9d4e5f1 --- /dev/null +++ b/no-crmf.patch @@ -0,0 +1,16 @@ +diff --git i/old-configure.in w/old-configure.in +index 0a06e470d2085922..d41c8e9d5dd2dbfb 100644 +--- i/old-configure.in ++++ w/old-configure.in +@@ -1906,9 +1906,7 @@ if test -n "$_USE_SYSTEM_NSS"; then + AM_PATH_NSS(3.33, [MOZ_SYSTEM_NSS=1], [AC_MSG_ERROR([you don't have NSS installed or your version is too old])]) + fi + +-if test -n "$MOZ_SYSTEM_NSS"; then +- NSS_LIBS="$NSS_LIBS -lcrmf" +-else ++if test -z "$MOZ_SYSTEM_NSS"; then + NSS_CFLAGS="-I${DIST}/include/nss" + case "${OS_ARCH}" in + # Only few platforms have been tested with GYP + diff --git a/parabola-banner.png b/parabola-banner.png new file mode 100644 index 0000000..621ee4e Binary files /dev/null and b/parabola-banner.png differ diff --git a/remove-default-and-shell-icons-in-packaging-manifest.patch b/remove-default-and-shell-icons-in-packaging-manifest.patch new file mode 100644 index 0000000..f46f46d --- /dev/null +++ b/remove-default-and-shell-icons-in-packaging-manifest.patch @@ -0,0 +1,34 @@ +diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in +index cffcff1..85d28cc 100644 +--- a/browser/installer/package-manifest.in ++++ b/browser/installer/package-manifest.in +@@ -621,11 +621,6 @@ + @RESPATH@/chrome/toolkit.manifest + @RESPATH@/chrome/recording.manifest + @RESPATH@/chrome/recording/* +-#ifdef MOZ_GTK +-@RESPATH@/browser/chrome/icons/default/default16.png +-@RESPATH@/browser/chrome/icons/default/default32.png +-@RESPATH@/browser/chrome/icons/default/default48.png +-#endif + @RESPATH@/browser/features/* + + ; [Webide Files] +@@ -644,17 +639,10 @@ + @RESPATH@/browser/@PREF_DIR@/devtools.js + @RESPATH@/browser/@PREF_DIR@/debugger.js + +-; shell icons +-#ifdef XP_UNIX +-#ifndef XP_MACOSX +-; shell icons +-@RESPATH@/browser/icons/*.png + #ifdef MOZ_UPDATER + ; updater icon + @RESPATH@/icons/updater.png + #endif +-#endif +-#endif + + ; [Default Preferences] + ; All the pref files must be part of base to prevent migration bugs diff --git a/vendor.js b/vendor.js new file mode 100644 index 0000000..6e18dff --- /dev/null +++ b/vendor.js @@ -0,0 +1,908 @@ +//pref("accessibility.blockautorefresh", false); +pref("accessibility.blockautorefresh", true); //Conflict +pref("accessibility.force_disabled", 1); + + +pref("alerts.showFavicons", false); //Breaks favicons + +pref("app.faqURL", "https://libreplanet.org/wiki/Group:IceCat/FAQ"); +pref("app.privacyURL", "https://www.gnu.org/software/gnuzilla/"); +pref("app.releaseNotesURL", "https://savannah.gnu.org/news/?group=gnuzilla"); +pref("app.shield.optoutstudies.enabled", false); +pref("app.support.baseURL", "https://libreplanet.org/wiki/Group:IceCat/"); +pref("app.update.auto", false); +pref("app.update.checkInstallTime", false); +pref("app.update.enabled", false); +pref("app.update.service.enabled", false); +pref("app.update.silent", false); +pref("app.update.staging.enabled", false); +pref("app.update.url", ""); +pref("app.update.url.details", "https://www.gnu.org/software/gnuzilla/"); +pref("app.update.url.manual", "https://www.gnu.org/software/gnuzilla/"); +pref("app.vendorURL", "https://www.gnu.org/software/gnuzilla/"); + +//pref("beacon.enabled", true); +pref("beacon.enabled", false); //Conflict + +//pref("breakpad.reportURL", "https://crash-stats.mozilla.com/report/index/"); +pref("breakpad.reportURL", ""); //Conflict + +//pref("browser.aboutHomeSnippets.updateUrl", "https://snippets.cdn.mozilla.net/%STARTPAGE_VERSION%/%NAME%/%VERSION%/%APPBUILDID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/"); +pref("browser.aboutHomeSnippets.updateUrl", "https://127.0.0.1"); //Conflict +pref("browser.backspace_action", 2); +//pref("browser.bookmarks.max_backups", 15); +pref("browser.bookmarks.max_backups", 0); //Conflict +//pref("browser.cache.disk.capacity", 256000); +pref("browser.cache.disk.capacity", 0); //Conflict +pref("browser.cache.disk.enable", false); +//pref("browser.cache.disk.smart_size.enabled", true); +pref("browser.cache.disk.smart_size.enabled", false); //Conflict +pref("browser.cache.disk.smart_size.first_run", false); +//pref("browser.cache.disk_cache_ssl", true); +pref("browser.cache.disk_cache_ssl", false); //Conflict +//pref("browser.cache.frecency_experiment", 0); +pref("browser.cache.frecency_experiment", -1); //Conflict +pref("browser.cache.memory.capacity", 1048576); //Hidden +pref("browser.cache.offline.enable", false); +pref("browser.crashReports.unsubmittedCheck.autoSubmit", false); +pref("browser.crashReports.unsubmittedCheck.enabled", false); +//pref("browser.customizemode.tip0.learnMoreUrl", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/customize"); +pref("browser.customizemode.tip0.learnMoreUrl", "https://libreplanet.org/wiki/Group:IceCat/Tour"); //Conflict +pref("browser.disableResetPrompt", true); +//pref("browser.display.use_document_fonts", 1); +pref("browser.display.use_document_fonts", 0); //Conflict +pref("browser.download.folderList", 1); +//pref("browser.download.forbid_open_with", false); +pref("browser.download.forbid_open_with", true); //Conflict +//pref("browser.download.hide_plugins_without_extensions", true); +pref("browser.download.hide_plugins_without_extensions", false); //Conflict +pref("browser.download.manager.addToRecentDocs", false); +pref("browser.download.manager.retention", 1); +pref("browser.download.manager.scanWhenDone", false); +pref("browser.download.panel.shown", true); +pref("browser.download.useDownloadDir", false); +pref("browser.eme.ui.enabled", false); +pref("browser.fixup.alternate.enabled", false); +pref("browser.fixup.hide_user_pass", true); +pref("browser.formfill.enable", false); +pref("browser.helperApps.deleteTempFileOnExit", true); +pref("browser.laterrun.enabled", false); +pref("browser.library.activity-stream.enabled", false); +pref("browser.link.open_newwindow.restriction", 0); +pref("browser.migrate.automigrate.enabled", false); +//pref("browser.newtab.preload", true); +pref("browser.newtab.preload", false); //Conflict +pref("browser.newtab.url", "about:blank"); //FIXME //TabMix can unset this at times +pref("browser.newtabpage.activity-stream.enabled", false); +pref("browser.newtabpage.directory.source", "data:text/plain,"); +pref("browser.newtabpage.activity-stream.aboutHome.enabled", false); +pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); +//pref("browser.newtabpage.enabled", true); +pref("browser.newtabpage.enabled", false); //Conflict +pref("browser.newtabpage.enhanced", false); //Also set by TabMix +pref("browser.newtabpage.introShown", true); +pref("browser.newtabpage.preload", false); +pref("browser.newtabpage.remote", false); +pref("browser.offline-apps.notify", true); +pref("browser.onboarding.enabled", false); +//pref("browser.pagethumbnails.capturing_disabled", true); //Breaks page thumbnails +pref("browser.pagethumbnails.capturing_disabled", false); //Breaks page thumbnails if true +pref("browser.ping-centre.telemetry", false); +//pref("browser.privatebrowsing.autostart", true); +pref("browser.privatebrowsing.autostart", false); //Conflict +pref("browser.reader.detectedFirstArticle", true); +pref("browser.rights.3.shown", true); +pref("browser.safebrowsing.blockedURIs.enabled", false); +pref("browser.safebrowsing.downloads.enabled", false); +pref("browser.safebrowsing.downloads.remote.block_dangerous", false); +pref("browser.safebrowsing.downloads.remote.block_dangerous_host", false); +pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); +pref("browser.safebrowsing.downloads.remote.block_uncommon", false); +pref("browser.safebrowsing.downloads.remote.enabled", false); +pref("browser.safebrowsing.downloads.remote.url", ""); +pref("browser.safebrowsing.malware.enabled", false); +pref("browser.safebrowsing.phishing.enabled", false); +pref("browser.safebrowsing.provider.mozilla.gethashURL", ""); +pref("browser.safebrowsing.provider.mozilla.reportURL", ""); +pref("browser.safebrowsing.provider.mozilla.updateURL", ""); +pref("browser.safebrowsing.provider.google.gethashURL", ""); +pref("browser.safebrowsing.provider.google.reportURL", ""); +pref("browser.safebrowsing.provider.google.updateURL", ""); +pref("browser.safebrowsing.provider.google.reportMalwareMistakeURL", ""); +pref("browser.safebrowsing.provider.google.reportPhishMistakeURL", ""); +pref("browser.safebrowsing.provider.google4.gethashURL", ""); +pref("browser.safebrowsing.provider.google4.reportURL", ""); +pref("browser.safebrowsing.provider.google4.reportMalwareMistakeURL", ""); +pref("browser.safebrowsing.provider.google4.reportPhishMistakeURL", ""); +pref("browser.safebrowsing.provider.google4.updateURL", ""); +//pref("browser.safebrowsing.reportPhishURL", "https://%LOCALE%.phish-report.mozilla.com/?hl=%LOCALE%&url="); +pref("browser.safebrowsing.reportPhishURL", ""); //Conflict +pref("browser.search.countryCode", "US"); +//pref("browser.search.defaultenginename", "data:text/plain,browser.search.defaultenginename=DuckDuckGo"); +pref("browser.search.defaultenginename", "data:text/plain,browser.search.defaultenginename=DuckDuckGo Lite"); //Conflict +//pref("browser.search.defaultenginename.US", "data:text/plain,browser.search.defaultenginename.US=Yahoo"); +pref("browser.search.defaultenginename.US", "data:text/plain,browser.search.defaultenginename=DuckDuckGo Lite"); //Conflict +pref("browser.search.geoSpecificDefaults", false); +//pref("browser.search.geoSpecificDefaults.url", "https://search.services.mozilla.com/1/%APP%/%VERSION%/%CHANNEL%/%LOCALE%/%REGION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%"); +pref("browser.search.geoSpecificDefaults.url", ""); //Conflict +pref("browser.search.geoip.url", ""); +//pref("browser.search.order.1", "Google"); +pref("browser.search.order.1", "DuckDuckGo Lite"); //Conflict +//pref("browser.search.order.2", "Yahoo"); +pref("browser.search.order.2", "Parabola Packages"); //Conflict +//pref("browser.search.order.3", "Bing"); +pref("browser.search.order.3", "ParabolaWiki"); //Conflict +//pref("browser.search.order.extra.1", "DuckDuckGo"); +pref("browser.search.order.extra.1", "DuckDuckGo Lite"); //Conflict +//pref("browser.search.order.extra.2", "YouTube"); +pref("browser.search.order.extra.2", "Parabola Packages"); //Conflict +//pref("browser.search.order.US.1", "data:text/plain,browser.search.order.US.1=Yahoo"); +pref("browser.search.order.US.1", "data:text/plain,browser.search.order.US.1=DuckDuckGo Lite"); //Conflict +//pref("browser.search.order.US.2", "data:text/plain,browser.search.order.US.2=Google"); +pref("browser.search.order.US.2", "data:text/plain,browser.search.order.US.2=Parabola Packages"); //Conflict +//pref("browser.search.order.US.3", "data:text/plain,browser.search.order.US.3=Bing"); +pref("browser.search.order.US.3", "data:text/plain,browser.search.order.US.3=ParabolaWiki"); //Conflict +pref("browser.search.region", "US"); +pref("browser.search.suggest.enabled", false); +pref("browser.search.update", false); +pref("browser.send_pings", false); +pref("browser.send_pings.require_same_host", true); +//pref("browser.sessionhistory.max_entries", 50); +pref("browser.sessionhistory.max_entries", 10); //Conflict +pref("browser.sessionstore.privacy_level", 2); +//pref("browser.sessionstore.resume_from_crash", true); +pref("browser.sessionstore.resume_from_crash", false); //Conflict +pref("browser.shell.checkDefaultBrowser", false); +pref("browser.slowStartup.maxSamples", 0); +pref("browser.slowStartup.notificationDisabled", true); +pref("browser.slowStartup.samples", 0); +pref("browser.ssl_override_behavior", 2); +pref("browser.startup.homepage_override.buildID", "20100101"); +pref("browser.startup.homepage_override.mstone", "ignore"); +pref("browser.storageManager.enabled", false); +pref("browser.syncPromoViewsLeftMap", "{\"addons\":0, \"passwords\":0, \"bookmarks\":0}"); +//pref("browser.tabs.crashReporting.sendReport", true); +pref("browser.tabs.crashReporting.sendReport", false); //Conflict +pref("browser.tabs.remote.allowLinkedWebInFileUriProcess", false); +pref("browser.tabs.remote.autostart", true); //If you want e10 +//pref("browser.tabs.remote.autostart.2", true); //Control Group e10, ignore +//pref("browser.tabs.remote.force-enable", true); //If you really want e10 //Hidden +pref("browser.tabs.remote.separateFileUriProcess", true); //If you want e10 +pref("browser.taskbar.lists.enabled", false); +pref("browser.taskbar.lists.frequent.enabled", false); +pref("browser.taskbar.lists.recent.enabled", false); +pref("browser.taskbar.lists.tasks.enabled", false); +pref("browser.taskbar.previews.enable", false); +pref("browser.uitour.enabled", false); +//pref("browser.uitour.url", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/tour/"); +pref("browser.uitour.url", "https://libreplanet.org/wiki/Group:IceCat/Tour"); //Conflict +pref("browser.urlbar.decodeURLsOnCopy", true); +pref("browser.urlbar.filter.javascript", true); +pref("browser.urlbar.maxHistoricalSearchSuggestions", 0); +pref("browser.urlbar.oneOffSearches", false); +pref("browser.urlbar.speculativeConnect.enabled", false); +//pref("browser.urlbar.autocomplete.enabled", true); +pref("browser.urlbar.autocomplete.enabled", false); //Conflict +//pref("browser.urlbar.autoFill", true); +pref("browser.urlbar.autoFill", false); //Conflict +//pref("browser.urlbar.autoFill.typed", true); +pref("browser.urlbar.autoFill.typed", false); //Conflict +//pref("browser.urlbar.suggest.bookmark", true); +pref("browser.urlbar.suggest.bookmark", false); //Conflict +//pref("browser.urlbar.suggest.history", true); +pref("browser.urlbar.suggest.history", false); //Conflict +//pref("browser.urlbar.suggest.openpage", false); +pref("browser.urlbar.suggest.openpage", false); //Conflict +//pref("browser.urlbar.trimURLs", true); +pref("browser.urlbar.trimURLs", false); //Conflict +//pref("browser.urlbar.userMadeSearchSuggestionsChoice", false); +pref("browser.urlbar.userMadeSearchSuggestionsChoice", true); //Conflict +pref("browser.urlbar.usepreloadedtopurls.enabled", false); +pref("browser.usedOnWindows10", true); +//pref("browser.xul.error_pages.expert_bad_cert", false); +pref("browser.xul.error_pages.expert_bad_cert", true); //Conflict + +//pref("camera.control.face_detection.enabled", true); +pref("camera.control.face_detection.enabled", false); //Conflict + +pref("captivedetect.canonicalURL", ""); + +//pref("canvas.capturestream.enabled", true); +pref("canvas.capturestream.enabled", false); //Conflict + +pref("clipboard.autocopy", false); + +pref("datareporting.healthreport.about.reportUrl", "data:text/plain,"); +pref("datareporting.healthreport.uploadEnabled", false); +pref("datareporting.policy.dataSubmissionEnabled", false); +pref("datareporting.policy.firstRunURL", ""); + +pref("device.storage.enabled", false); + +pref("devtools.appmanager.enabled", false); +pref("devtools.chrome.enabled", false); +pref("devtools.debugger.chrome-debugging-host", "127.0.0.1"); +pref("devtools.debugger.force-local", true); +pref("devtools.debugger.prompt-connection", true); +pref("devtools.debugger.remote-enabled", false); +pref("devtools.devedition.promo.url", "https://www.gnu.org/software/gnuzilla/"); //Makes sense to me +pref("devtools.webide.autoinstallADBHelper", false); +pref("devtools.webide.enabled", false); + +pref("dom.allow_cut_copy", false); //Hidden +pref("dom.caches.enabled", false); +//pref("dom.event.clipboardevents.enabled", true); +pref("dom.event.clipboardevents.enabled", false); //Conflict +pref("dom.event.highrestimestamp.enabled", true); +pref("dom.flyweb.enabled", false); +pref("dom.forms.autocomplete.experimental", false); +pref("dom.gamepad.extensions.enabled", false); +pref("dom.gamepad.non_standard_events.enabled", false); +pref("dom.gamepad.test.enabled", false); +pref("dom.keyboardevent.dispatch_during_composition", false); +//pref("dom.idle-observers-api.enabled", true); +pref("dom.idle-observers-api.enabled", false); //Conflict +pref("dom.imagecapture.enabled", false); +//pref("dom.indexedDB.enabled", true); +pref("dom.indexedDB.enabled", false); //Conflict +pref("dom.input.dirpicker", false); +pref("dom.IntersectionObserver.enabled", false); +//pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", true); +pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false); //Conflict +//pref("dom.ipc.plugins.reportCrashURL", true); +pref("dom.ipc.plugins.reportCrashURL", false); //Conflict +//pref("dom.ipc.plugins.sandbox-level.default", "donotuse"); +//pref("dom.ipc.plugins.sandbox-level.flash", "donotuse"); +pref("dom.ipc.processCount", 1); //If you want e10 +//pref("dom.ipc.processCount.extension", 1); //If you want e10 +//pref("dom.ipc.processCount.file", 1); //If you want e10 +pref("dom.ipc.shims.enabledWarnings", true); +pref("dom.mozTCPSocket.enabled", false); +pref("dom.performance.enable_user_timing_logging", false); +pref("dom.presentation.enabled", false); +pref("dom.presentation.controller.enabled", false); +pref("dom.presentation.discoverable", false); +pref("dom.presentation.discovery.enabled", false); +pref("dom.presentation.discovery.legacy.enabled", false); +pref("dom.presentation.receiver.enabled", false); +pref("dom.presentation.tcp_server.debug", false); +pref("dom.presentation.session_transport.data_channel.enable", false); +pref("dom.popup_allowed_events", "change click dblclick mouseup notificationclick reset submit touchend"); +//pref("dom.popup_maximum", 20); +pref("dom.popup_maximum", 3); //Conflict +pref("dom.push.connection.enabled", false); +pref("dom.push.enabled", false); +pref("dom.push.serverURL", ""); +pref("dom.push.userAgentID", ""); +pref("dom.securecontext.whitelist_onions", true); +pref("dom.serviceWorkers.enabled", false); +//pref("dom.storage.enabled", true); +pref("dom.storage.enabled", false); //Conflict +pref("dom.storageManager.enabled", false); +pref("dom.vibrator.enabled", false); +pref("dom.vr.enabled", false); +pref("dom.vr.add-test-devices", 0); +pref("dom.vr.cardboard.enabled", false); +pref("dom.vr.openvr.enabled", false); +pref("dom.vr.osvr.enabled", false); +pref("dom.vr.poseprediction.enabled", false); +pref("dom.webaudio.enabled", false); +//pref("dom.webnotifications.enabled", true); +pref("dom.webnotifications.enabled", false); //Conflict +pref("dom.webnotifications.requireinteraction.enabled", false); +//pref("dom.workers.enabled", true); +pref("dom.workers.enabled", false); //Conflict + +pref("experiments.activeExperiment", false); +pref("experiments.enabled", false); +pref("experiments.manifest.uri", ""); +pref("experiments.supported", false); + +//pref("extensions.autoDisableScopes", 0); //bits: 1=profile 2=.mozilla/extensions 4=/usr/lib/firefox 8=/usr/share/firefox +pref("extensions.autoDisableScopes", 10); //bits: 1=profile 2=.mozilla/extensions 4=/usr/lib/firefox 8=/usr/share/firefox //Conflict +pref("extensions.blocklist.detailsURL", "https://www.mozilla.com/%LOCALE%/blocklist/"); +pref("extensions.blocklist.itemURL", "https://blocklist.addons.mozilla.org/%LOCALE%/%APP%/blocked/%blockID%"); +pref("extensions.blocklist.url", "https://blocklists.settings.services.mozilla.com/v1/blocklist/3/%APP_ID%/%APP_VERSION%/"); +//pref("extensions.bootstrappedAddons", "{}"); +//pref("extensions.checkCompatibility.4.*", false); +//pref("extensions.databaseSchema", 3); +//pref("extensions.enabledScopes", 1); //bits: 1=profile 2=.mozilla/extensions 4=/usr/lib/firefox 8=/usr/share/firefox +pref("extensions.enabledScopes", 5); //bits: 1=profile 2=.mozilla/extensions 4=/usr/lib/firefox 8=/usr/share/firefox //Conflict +pref("extensions.formautofill.addresses.enabled", false); +pref("extensions.formautofill.available", "off"); +pref("extensions.formautofill.creditCards.enabled", false); +pref("extensions.formautofill.heuristics.enabled", false); +pref("extensions.getAddons.cache.enabled", false); +//pref("extensions.getAddons.get.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/guid:%IDS%?src=firefox&appOS=%OS%&appVersion=%VERSION%"); +pref("extensions.getAddons.get.url", ""); //Conflict +//pref("extensions.getAddons.getWithPerformance.url", "https://services.addons.mozilla.org/%LOCALE%/firefox/api/%API_VERSION%/search/guid:%IDS%?src=firefox&appOS=%OS%&appVersion=%VERSION%&tMain=%TIME_MAIN%&tFirstPaint=%TIME_FIRST_PAINT%&tSessionRestored=%TIME_SESSION_RESTORED%"); +pref("extensions.getAddons.getWithPerformance.url", ""); //Conflict +//pref("extensions.getAddons.recommended.url", "https://services.addons.mozilla.org/%LOCALE%/%APP%/api/%API_VERSION%/list/recommended/all/%MAX_RESULTS%/%OS%/%VERSION%?src=firefox"); +pref("extensions.getAddons.recommended.url", ""); //Conflict +pref("extensions.getAddons.showPane", false); +pref("extensions.hotfix.id", ""); +pref("extensions.icecathome.intl.accept_languages", "en-US, en"); +//pref("extensions.pendingOperations", false); +//pref("extensions.pocket.enabled", true); +pref("extensions.pocket.enabled", false); //Conflict +pref("extensions.screenshots.disabled", true); +pref("extensions.shield-recipe-client.api_url", ""); +pref("extensions.shield-recipe-client.enabled", false); +pref("extensions.systemAddon.update.url", ""); +pref("extensions.ui.lastCategory", "addons://list/extension"); +//pref("extensions.update.autoUpdateDefault", true); +pref("extensions.update.autoUpdateDefault", false); //Conflict +//pref("extensions.update.background.url", "https://versioncheck-bg.addons.mozilla.org/update/VersionCheck.php?reqVersion=%REQ_VERSION%&id=%ITEM_ID%&version=%ITEM_VERSION%&maxAppVersion=%ITEM_MAXAPPVERSION%&status=%ITEM_STATUS%&appID=%APP_ID%&appVersion=%APP_VERSION%&appOS=%APP_OS%&appABI=%APP_ABI%&locale=%APP_LOCALE%¤tAppVersion=%CURRENT_APP_VERSION%&updateType=%UPDATE_TYPE%&compatMode=%COMPATIBILITY_MODE%"); +pref("extensions.update.background.url", ""); //Conflict +//pref("extensions.update.enabled", true); +pref("extensions.update.enabled", false); //Conflict +pref("extensions.webcompat-reporter.enabled", false); +pref("extensions.webextensions.keepStorageOnUninstall", false); +pref("extensions.webextensions.keepUuidOnUninstall", false); +//pref("extensions.webextensions.remote", true); //If you want e10 //Breaks alot of WebExt currently +//pref("extensions.webservice.discoverURL", "https://discovery.addons.mozilla.org/%LOCALE%/firefox/discovery/pane/%VERSION%/%OS%/%COMPATIBILITY_MODE%"); +pref("extensions.webservice.discoverURL", "https://directory.fsf.org/wiki/GNU_IceCat"); //Conflict + +//pref("full-screen-api.warning.timeout", 3000); +pref("full-screen-api.warning.timeout", 0); //Conflict + +pref("font.blacklist.underline_offset", "FangSong,Gulim,GulimChe,MingLiU,MingLiU-ExtB,MingLiU_HKSCS,MingLiU-HKSCS-ExtB,MS Gothic,MS Mincho,MS PGothic,MS PMincho,MS UI Gothic,PMingLiU,PMingLiU-ExtB,SimHei,SimSun,SimSun-ExtB,Hei,Kai,Apple LiGothic,Apple LiSung,Osaka"); + +//pref("general.warnOnAboutConfig", true); +pref("general.warnOnAboutConfig", false); //Conflict + +pref("geo.wifi.logging.enabled", false); +pref("geo.wifi.uri", ""); +pref("geo.wifi.xhr.timeout", 1); + +pref("gfx.direct2d.disabled", true); +pref("gfx.downloadable_fonts.enabled", true); +pref("gfx.downloadable_fonts.fallback_delay", -1); +pref("gfx.downloadable_fonts.woff2.enabled", true); +pref("gfx.font_rendering.graphite.enabled", false); +pref("gfx.font_rendering.opentype_svg.enabled", false); +pref("gfx.layerscope.enabled", false); +pref("gfx.offscreencanvas.enabled", false); + +pref("identity.mobilepromo.android", "https://f-droid.org/repository/browse/?fdid=org.gnu.icecat"); +pref("identity.mobilepromo.ios", ""); + +pref("intl.charset.default", "windows-1252"); +pref("intl.locale.matchOS", false); +pref("intl.accept_languages", "en-US, en"); +pref("intl.regional_prefs.use_os_locales", false); + +pref("javascript.options.asmjs", false); +pref("javascript.options.baselinejit.content", false); +pref("javascript.options.ion", false); +pref("javascript.options.native_regexp", false); +pref("javascript.options.wasm", false); +pref("javascript.options.wasm_baselinejit", false); +pref("javascript.use_us_english_locale", true); + +//pref("keyword.enabled", true); +pref("keyword.enabled", false); //Conflict + +pref("layers.acceleration.disabled", true); + +pref("layout.css.font-loading-api.enabled", true); +pref("layout.css.visited_links_enabled", false); + +//pref("lightweightThemes.recommendedThemes", "[{"id":"recommended-1","homepageURL":"https://addons.mozilla.org/firefox/addon/a-web-browser-renaissance/","headerURL":"resource:///chrome/browser/content/browser/defaultthemes/1.header.jpg","footerURL":"resource:///chrome/browser/content/browser/defaultthemes/1.footer.jpg","textcolor":"#000000","accentcolor":"#f2d9b1","iconURL":"resource:///chrome/browser/content/browser/defaultthemes/1.icon.jpg","previewURL":"resource:///chrome/browser/content/browser/defaultthemes/1.preview.jpg","author":"Sean.Martell","version":"0"},{"id":"recommended-2","homepageURL":"https://addons.mozilla.org/firefox/addon/space-fantasy/","headerURL":"resource:///chrome/browser/content/browser/defaultthemes/2.header.jpg","footerURL":"resource:///chrome/browser/content/browser/defaultthemes/2.footer.jpg","textcolor":"#ffffff","accentcolor":"#d9d9d9","iconURL":"resource:///chrome/browser/content/browser/defaultthemes/2.icon.jpg","previewURL":"resource:///chrome/browser/content/browser/defaultthemes/2.preview.jpg","author":"fx5800p","version":"1.0"},{"id":"recommended-3","homepageURL":"https://addons.mozilla.org/firefox/addon/linen-light/","headerURL":"resource:///chrome/browser/content/browser/defaultthemes/3.header.png","footerURL":"resource:///chrome/browser/content/browser/defaultthemes/3.footer.png","accentcolor":"#ada8a8","iconURL":"resource:///chrome/browser/content/browser/defaultthemes/3.icon.png","previewURL":"resource:///chrome/browser/content/browser/defaultthemes/3.preview.png","author":"DVemer","version":"1.0"},{"id":"recommended-4","homepageURL":"https://addons.mozilla.org/firefox/addon/pastel-gradient/","headerURL":"resource:///chrome/browser/content/browser/defaultthemes/4.header.png","footerURL":"resource:///chrome/browser/content/browser/defaultthemes/4.footer.png","textcolor":"#000000","accentcolor":"#000000","iconURL":"resource:///chrome/browser/content/browser/defaultthemes/4.icon.png","previewURL":"resource:///chrome/browser/content/browser/defaultthemes/4.preview.png","author":"darrinhenein","version":"1.0"},{"id":"recommended-5","homepageURL":"https://addons.mozilla.org/firefox/addon/carbon-light/","headerURL":"resource:///chrome/browser/content/browser/defaultthemes/5.header.png","footerURL":"resource:///chrome/browser/content/browser/defaultthemes/5.footer.png","textcolor":"#3b3b3b","accentcolor":"#2e2e2e","iconURL":"resource:///chrome/browser/content/browser/defaultthemes/5.icon.jpg","previewURL":"resource:///chrome/browser/content/browser/defaultthemes/5.preview.jpg","author":"Jaxivo","version":"1.0"}]"); +pref("lightweightThemes.recommendedThemes", ""); //Conflict +//pref("lightweightThemes.update.enabled", true); +pref("lightweightThemes.update.enabled", false); //Conflict + +pref("mathml.disabled", true); + +pref("media.audio_data.enabled", false); +//pref("media.autoplay.enabled", true); +pref("media.autoplay.enabled", false); //Conflict +//pref("media.block-autoplay-until-in-foreground", false); +pref("media.block-autoplay-until-in-foreground", true); //Conflict +pref("media.cache_size", 0); +pref("media.eme.enabled", false); +pref("media.getusermedia.audiocapture.enabled", false); +pref("media.getusermedia.browser.enabled", false); +pref("media.getusermedia.noise_enabled", false); +//pref("media.getusermedia.screensharing.allowed_domains", "webex.com,*.webex.com,ciscospark.com,*.ciscospark.com,projectsquared.com,*.projectsquared.com,*.room.co,room.co,beta.talky.io,talky.io,*.clearslide.com,appear.in,*.appear.in,tokbox.com,*.tokbox.com,*.sso.francetelecom.fr,*.si.francetelecom.fr,*.sso.infra.ftgroup,*.multimedia-conference.orange-business.com,*.espacecollaboration.orange-business.com,free.gotomeeting.com,g2m.me,*.g2m.me,*.mypurecloud.com,*.mypurecloud.com.au,spreed.me,*.spreed.me,*.spreed.com,air.mozilla.org,*.circuit.com,*.yourcircuit.com,circuit.siemens.com,yourcircuit.siemens.com,circuitsandbox.net,*.unify.com,tandi.circuitsandbox.net,*.ericsson.net,*.cct.ericsson.net,*.opentok.com,*.conf.meetecho.com,meet.jit.si,*.meet.jit.si,web.stage.speakeasyapp.net,web.speakeasyapp.net,*.hipchat.me,*.beta-wspbx.com,*.wspbx.com,*.unifiedcloudit.com,*.smartboxuc.com,*.smartbox-uc.com,*.panterranetworks.com,pexipdemo.com,*.pexipdemo.com,pex.me,*.pex.me,*.rd.pexip.com,1click.io,*.1click.io,*.fuze.com,*.fuzemeeting.com,*.thinkingphones.com,gotomeeting.com,*.gotomeeting.com,gotowebinar.com,*.gotowebinar.com,gototraining.com,*.gototraining.com,citrix.com,*.citrix.com,expertcity.com,*.expertcity.com,citrixonline.com,*.citrixonline.com,g2m.me,*.g2m.me,gotomeet.me,*.gotomeet.me,gotomeet.at,*.gotomeet.at,miriadaxdes.miriadax.net,certificacion.miriadax.net,miriadax.net,*.wire.com,sylaps.com,*.sylaps.com,bluejeans.com,*.bluejeans.com,*.a.bluejeans.com,*.bbcollab.com"); +pref("media.getusermedia.screensharing.allowed_domains", ""); //Conflict +//pref("media.getusermedia.screensharing.enabled", true); +pref("media.getusermedia.screensharing.enabled", false); //Conflict +pref("media.gmp-gmpopenh264.autoupdate", false); +pref("media.gmp-gmpopenh264.enabled", false); //Hidden +pref("media.gmp-manager.updateEnabled", false); +//pref("media.gmp-manager.url", "https://aus5.mozilla.org/update/3/GMP/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml"); +pref("media.gmp-manager.url", "data:text/plain,"); //Conflict +pref("media.gmp-manager.url.override", "data:text/plain,"); +pref("media.gmp-provider.enabled", false); +//pref("media.gmp.trial-create.enabled", true); +pref("media.gmp.trial-create.enabled", false); //Conflict +pref("media.gmp-widevinecdm.autoupdate", false); +pref("media.gmp-widevinecdm.enabled", false); +pref("media.gmp-widevinecdm.visible", false); +pref("media.navigator.enabled", false); +pref("media.navigator.video.enabled", false); +//pref("media.ondevicechange.enabled", true); +pref("media.ondevicechange.enabled", false); //Conflict +pref("media.ondevicechange.fakeDeviceChangeEvent.enabled", false); +pref("media.peerconnection.enabled", false); +pref("media.peerconnection.ice.no_host", true); +pref("media.peerconnection.ice.tcp", false); +pref("media.peerconnection.identity.enabled", false); +pref("media.peerconnection.identity.timeout", 1); +pref("media.peerconnection.turn.disable", true); +pref("media.peerconnection.use_document_iceservers", false); +pref("media.peerconnection.video.enabled", false); + +//pref("middlemouse.contentLoadURL", true); +pref("middlemouse.contentLoadURL", false); //Conflict + +//pref("network.allow-experiments", true); +pref("network.allow-experiments", false); //Conflict +pref("network.auth.subresource-img-cross-origin-http-auth-allow", false); +pref("network.captive-portal-service.enabled", false); +pref("network.cookie.cookieBehavior", 2); +pref("network.cookie.leave-secure-alone", true); +pref("network.cookie.lifetimePolicy", 2); +pref("network.cookie.thirdparty.sessionOnly", true); +pref("network.dns.blockDotOnion", true); +pref("network.dns.disablePrefetch", true); +pref("network.dns.disablePrefetchFromHTTPS", true); //Hidden +pref("network.gio.supported-protocols", ""); +pref("network.http.altsvc.enabled", false); +pref("network.http.altsvc.oe", false); +pref("network.http.connection-retry-timeout", 0); +pref("network.http.keep-alive.timeout", 115); +pref("network.http.max-persistent-connections-per-proxy", 256); +//pref("network.http.redirection-limit", 20); +pref("network.http.redirection-limit", 10); //Conflict +pref("network.http.referer.hideOnionSource", true); +pref("network.http.referer.spoofSource", false); +//pref("network.http.sendRefererHeader", 0); //Breaks many sites +//pref("network.http.referer.trimmingPolicy", 2); //Breaks many sites, using RAS/refcontrol is easier +//pref("network.http.referer.XOriginPolicy", 2); //Breaks many sites, using RAS/refcontrol is easier +//pref("network.http.referer.XOriginTrimmingPolicy", 0); //Breaks many sites +//pref("network.http.referer.userControlPolicy", 0); //Breaks many sites +pref("network.http.spdy.enabled", false); +pref("network.http.spdy.enabled.deps", false); +pref("network.http.spdy.enabled.http2", false); +//pref("network.http.speculative-parallel-limit", 6); +pref("network.http.speculative-parallel-limit", 0); //Conflict +pref("network.http.tailing.enabled", false); +//pref("network.IDN_show_punycode", false); +pref("network.IDN_show_punycode", true); //Conflict +pref("network.jar.block-remote-files", true); +pref("network.jar.open-unsafe-types", false); +pref("network.manage-offline-status", false); +pref("network.predictor.enabled", false); +pref("network.predictor.enable-prefetch", false); +//pref("network.prefetch-next", true); +pref("network.prefetch-next", false); //Conflict +pref("network.protocol-handler.external.ms-windows-store", false); +pref("network.proxy.autoconfig_url.include_path", false); +pref("network.proxy.no_proxies_on", ""); +pref("network.proxy.socks", "127.0.0.1"); +pref("network.proxy.socks_port", 9150); +pref("network.proxy.socks_remote_dns", true); +//pref("network.proxy.type", 5); +pref("network.proxy.type", 0); //Conflict +pref("network.security.ports.banned", "9050,9051,9150,9151"); +pref("network.stricttransportsecurity.preloadlist", true); + +pref("noscript.ABE.wanIpAsLocal", false); +pref("noscript.allowWhitelistUpdates", false); +pref("noscript.forbidFonts", true); +pref("noscript.forbidMedia", true); + +pref("nsITelemetry.canRecordBase", false); +pref("nsITelemetry.canRecordExtended", false); + +//pref("offline-apps.allow_by_default", true); +pref("offline-apps.allow_by_default", false); //Conflict + +//pref("pdfjs.disabled", false); +pref("pdfjs.disabled", true); //Conflict +pref("pdfjs.enableWebGL", false); + +//pref("permissions.manager.defaultsUrl", "resource://app/defaults/permissions"); +pref("permissions.manager.defaultsUrl", ""); //Conflict +//pref("permissions.memory_only", true); +pref("permissions.memory_only", false); //Conflict + +pref("places.history.enabled", false); + +//pref("plugin.default.state", 1); +pref("plugin.default.state", 0); //Conflict +//pref("plugin.defaultXpi.state", 2); +pref("plugin.defaultXpi.state", 0); //Conflict +pref("plugin.disable", true); +pref("plugin.expose_full_path", false); +pref("plugins.hide_infobar_for_missing_plugin", true); +pref("plugin.scan.plid.all", false); +//pref("plugin.sessionPermissionNow.intervalInMinutes", 60); +pref("plugin.sessionPermissionNow.intervalInMinutes", 0); //Conflict +//pref("plugin.state.flash", 1); +pref("plugin.state.flash", 0); //Conflict +//pref("plugin.state.java", 1); +pref("plugin.state.java", 0); //Conflict +pref("plugin.state.libgnome-shell-browser-plugin", 0); + +pref("plugins.click_to_play", true); + +pref("pointer-lock-api.prefixed.enabled", false); + +pref("privacy.clearOnShutdown.cache", true); +//pref("privacy.clearOnShutdown.cookies", true); +pref("privacy.clearOnShutdown.cookies", false); //Conflict +pref("privacy.clearOnShutdown.downloads", true); +pref("privacy.clearOnShutdown.formdata", true); +pref("privacy.clearOnShutdown.history", true); +pref("privacy.clearOnShutdown.offlineApps", true); +pref("privacy.clearOnShutdown.openWindows", false); //Bugged; Opens multiple windows per launch +//pref("privacy.clearOnShutdown.sessions", true); +pref("privacy.clearOnShutdown.sessions", false); //Conflict +pref("privacy.clearOnShutdown.siteSettings", false); //Also clears HSTS logs +pref("privacy.cpd.cache", true); +pref("privacy.cpd.cookies", true); +pref("privacy.cpd.downloads", true); +pref("privacy.cpd.formdata", true); +pref("privacy.cpd.history", true); +//pref("privacy.cpd.offlineApps", false); +pref("privacy.cpd.offlineApps", true); //Conflict +pref("privacy.cpd.openWindows", false); +//pref("privacy.cpd.passwords", false); +pref("privacy.cpd.passwords", true); //Conflict +pref("privacy.cpd.sessions", true); +//pref("privacy.cpd.siteSettings", false); //Also clears HSTS logs //Conflict +pref("privacy.cpd.siteSettings", true); //Also clears HSTS logs +pref("privacy.donottrackheader.enabled", false); +pref("privacy.firstparty.isolate", true); +pref("privacy.firstparty.isolate.restrict_opener_access", true); +pref("privacy.resistFingerprinting", true); +pref("privacy.resistFingerprinting.block_mozAddonManager", true); //Hidden +//pref("privacy.sanitize.sanitizeOnShutdown", false); +pref("privacy.sanitize.sanitizeOnShutdown", true); //Conflict +//pref("privacy.sanitize.timeSpan", 1); +pref("privacy.sanitize.timeSpan", 0); //Conflict +pref("privacy.suppressModifierKeyEvents", true); +pref("privacy.trackingprotection.annotate_channels", false); +pref("privacy.trackingprotection.enabled", false); +pref("privacy.trackingprotection.lower_network_priority", false); +pref("privacy.trackingprotection.pbmode.enabled", false); +//pref("privacy.usercontext.about_newtab_segregation.enabled", false); +pref("privacy.usercontext.about_newtab_segregation.enabled", true); //Conflict +//pref("privacy.userContext.enabled", false); +pref("privacy.userContext.enabled", true); //Conflict +//pref("privacy.userContext.ui.enabled", false); +pref("privacy.userContext.ui.enabled", true); //Conflict +pref("privacy.userContext.longPressBehavior", 2); +pref("privacy.use_utc_timezone", true); +//pref("privacy.window.maxInnerWidth", 1000); //Rounds to closest 200 //Hidden +//pref("privacy.window.maxInnerHeight", 700); //Rounds to closest 100 //Hidden + +pref("reader.parse-on-load.enabled", false); + +pref("security.block_script_with_wrong_mime", true); +pref("security.cert_pinning.enforcement_level", 2); +pref("security.csp.enable", true); +pref("security.csp.experimentalEnabled", true); +pref("security.data_uri.block_toplevel_data_uri_navigations", true); +pref("security.dialog_enable_delay", 1000); +pref("security.enable_tls_session_tickets", false); +pref("security.enterprise_roots.enabled", false); +pref("security.family_safety.mode", 0); +pref("security.fileuri.strict_origin_policy", true); +pref("security.insecure_connection_icon.enabled", true); //Added in Firefox 59 +pref("security.insecure_field_warning.contextual.enabled", true); +pref("security.insecure_password.ui.enabled", true); +pref("security.mixed_content.block_active_content", true); +//pref("security.mixed_content.block_display_content", false); +pref("security.mixed_content.block_display_content", true); //Conflict +pref("security.mixed_content.send_hsts_priming", false); +pref("security.mixed_content.use_hsts", false); +pref("security.nocertdb", true); +//pref("security.OCSP.enabled", 1); +pref("security.OCSP.enabled", 0); //Conflict +//pref("security.OCSP.require", false); +pref("security.OCSP.require", true); //Conflict +//pref("security.pki.sha1_enforcement_level", 2); +pref("security.pki.sha1_enforcement_level", 1); //Conflict +//pref("security.sandbox.content.level", "donotuse; +//pref("security.sandbox.logging.enabled", true); +pref("security.sri.enable", true); +pref("security.ssl.disable_session_identifiers", true); +pref("security.ssl.enable_false_start", true); +pref("security.ssl.enable_ocsp_must_staple", true); +pref("security.ssl.enable_ocsp_stapling", true); +pref("security.ssl.errorReporting.automatic", false); +pref("security.ssl.errorReporting.enabled", false); +//pref("security.ssl.require_safe_negotiation", false); +pref("security.ssl.require_safe_negotiation", true); //Conflict +//pref("security.ssl.treat_unsafe_negotiation_as_broken", false); +pref("security.ssl.treat_unsafe_negotiation_as_broken", true); //Conflict +pref("security.ssl3.ecdhe_ecdsa_aes_128_gcm_sha256", true); +pref("security.ssl3.ecdhe_ecdsa_aes_256_gcm_sha384", true); +pref("security.ssl3.ecdhe_ecdsa_aes_256_sha", true); +pref("security.ssl3.ecdhe_ecdsa_chacha20_poly1305_sha256", true); +pref("security.ssl3.ecdhe_rsa_aes_128_gcm_sha256", true); +pref("security.ssl3.ecdhe_rsa_aes_256_gcm_sha384", true); +pref("security.ssl3.ecdhe_rsa_aes_256_sha", true); +pref("security.ssl3.ecdhe_rsa_chacha20_poly1305_sha256", true); +pref("security.ssl3.rsa_aes_128_sha", true); +pref("security.ssl3.rsa_aes_256_sha", true); +pref("security.tls.enable_0rtt_data", false); +pref("security.tls.version.fallback-limit", 3); +//pref("security.tls.version.min", 1); +pref("security.tls.version.min", 3); //Conflict +//pref("security.tls.version.max", 3); +pref("security.tls.version.max", 4); //Conflict +//pref("security.xpconnect.plugin.unrestricted", true); +pref("security.xpconnect.plugin.unrestricted", false); //Conflict + +pref("services.blocklist.signing.enforced", true); +pref("services.blocklist.update_enabled", false); +pref("services.sync.engine.prefs", false); +pref("services.sync.engine.addons", false); +pref("services.sync.engine.tabs", false); +pref("services.sync.ui.hidden", true); + +pref("signon.autofillForms", false); +pref("signon.autofillForms.http", false); +//pref("signon.formlessCapture.enabled", true); +pref("signon.formlessCapture.enabled", false); //Conflict +pref("signon.rememberSignons", false); +pref("signon.storeWhenAutocompleteOff", true); + +//pref("startup.homepage_override_url", "https://www.gnu.org/"); +pref("startup.homepage_override_url", ""); +pref("startup.homepage_welcome_url", ""); +pref("startup.homepage_welcome_url.additional", ""); + +pref("svg.disabled", true); +pref("svg.in-content.enabled", false); + +pref("toolkit.telemetry.archive.enabled", false); +pref("toolkit.telemetry.bhrPing.enabled", false); +pref("toolkit.telemetry.cachedClientID", ""); +pref("toolkit.telemetry.enabled", false); +pref("toolkit.telemetry.firstShutdownPing.enabled", false); +pref("toolkit.telemetry.newProfilePing.enabled", false); +pref("toolkit.telemetry.server", ""); +pref("toolkit.telemetry.shutdownPingSender.enabled", false); +pref("toolkit.telemetry.updatePing.enabled", false); +pref("toolkit.telemetry.unified", false); + +pref("ui.use_standins_for_native_colors", true); + +//pref("view_source.tab", true); +pref("view_source.tab", false); //Conflict + +//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"); +pref("webchannel.allowObject.urlWhitelist", ""); //Conflict + +pref("webextensions.storage.sync.enabled", false); + +//pref("webgl.disabled", false); +pref("webgl.disabled", true); //Conflict +pref("webgl.disable-extensions", true); +pref("webgl.disable-fail-if-major-performance-caveat", true); +pref("webgl.dxgl.enabled", false); +pref("webgl.enable-debug-renderer-info", false); +pref("webgl.enable-webgl2", false); +pref("webgl.min_capability_mode", true); + +//pref("xpinstall.enabled", false); //Hidden //Conflict +//pref("xpinstall.signatures.required", true); +pref("xpinstall.signatures.required", false); //Conflict +//pref("xpinstall.whitelist.add", ""); +//pref("xpinstall.whitelist.add.36", ""); + +//Various Fixups due to IceCat's compilation defaults +pref("extensions.blocklist.enabled", true); +pref("pfs.filehint.url", ""); + +// Various Fixups to trim utm, fix http, or unbreak links - May get branded later + +pref("app.support.e10sAccessibilityUrl", "https://support.mozilla.org/1/firefox/%VERSION%/%OS%/%LOCALE%/accessibility-ppt"); +pref("browser.uitour.themeOrigin", "https://addons.mozilla.org/%LOCALE%/firefox/themes/"); +pref("extensions.getAddons.link.url", "https://addons.mozilla.org/%LOCALE%/firefox/"); +pref("extensions.getAddons.search.browseURL", "https://addons.mozilla.org/%LOCALE%/firefox/search?q=%TERMS%&platform=%OS%&appver=%VERSION"); +pref("lightweightThemes.getMoreURL", "https://addons.mozilla.org/%LOCALE%/firefox/themes"); +pref("privacy.trackingprotection.introURL", "https://www.mozilla.org/%LOCALE%/firefox/%VERSION%/tracking-protection/start/"); +pref("services.settings.server", "https://icecat.settings.services.mozilla.com/v1"); + + +// Tor Related + +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"); diff --git a/watermark.svg b/watermark.svg new file mode 100644 index 0000000..78898e1 --- /dev/null +++ b/watermark.svg @@ -0,0 +1,4095 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + Ricardo Fernández Fuentes + + + + + Ricardo Fernández Fuentes + + + iceweasel icon + + + + iceweasel + ico + icon + + + + + inkscape + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/wifi-disentangle.patch b/wifi-disentangle.patch new file mode 100644 index 0000000..8f474b9 --- /dev/null +++ b/wifi-disentangle.patch @@ -0,0 +1,245 @@ +# HG changeset patch +# Parent 2edd69b245fbc493c3a1cf17c40c63b0280ead12 +Bug 1314968 - Disentangle nsWifiScannerDBus::SendMessage. r?kanru + +Make a copy of the function and specialize it for each message sent. +Avoids the mess of comparing the method name to figure out what to do. + +diff --git a/netwerk/wifi/nsWifiScannerDBus.cpp b/netwerk/wifi/nsWifiScannerDBus.cpp +--- a/netwerk/wifi/nsWifiScannerDBus.cpp ++++ b/netwerk/wifi/nsWifiScannerDBus.cpp +@@ -34,19 +34,47 @@ nsWifiScannerDBus::Scan() + if (!mConnection) { + return NS_ERROR_NOT_AVAILABLE; + } +- return SendMessage("org.freedesktop.NetworkManager", +- "/org/freedesktop/NetworkManager", +- "GetDevices"); ++ return SendGetDevices(); + } + ++// http://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html ++// Refer to function dbus_connection_send_with_reply_and_block. ++static const uint32_t DBUS_DEFAULT_TIMEOUT = -1; ++ + nsresult +-nsWifiScannerDBus::SendMessage(const char* aInterface, +- const char* aPath, +- const char* aFuncCall) +-{ +- RefPtr msg = already_AddRefed( +- dbus_message_new_method_call("org.freedesktop.NetworkManager", +- aPath, aInterface, aFuncCall)); ++nsWifiScannerDBus::SendGetDevices() ++{ ++ RefPtr msg = already_AddRefed( ++ dbus_message_new_method_call("org.freedesktop.NetworkManager", ++ "/org/freedesktop/NetworkManager", ++ "org.freedesktop.NetworkManager", ++ "GetDevices")); ++ if (!msg) { ++ return NS_ERROR_FAILURE; ++ } ++ ++ DBusError err; ++ dbus_error_init(&err); ++ ++ RefPtr reply = already_AddRefed( ++ dbus_connection_send_with_reply_and_block(mConnection, msg, ++ DBUS_DEFAULT_TIMEOUT, &err)); ++ if (dbus_error_is_set(&err)) { ++ dbus_error_free(&err); ++ return NS_ERROR_FAILURE; ++ } ++ ++ return IdentifyDevices(reply); ++} ++ ++nsresult ++nsWifiScannerDBus::SendGetDeviceType(const char* aPath) ++{ ++ RefPtr msg = already_AddRefed( ++ dbus_message_new_method_call("org.freedesktop.NetworkManager", ++ aPath, ++ "org.freedesktop.DBus.Properties", ++ "Get")); + if (!msg) { + return NS_ERROR_FAILURE; + } +@@ -54,58 +82,92 @@ nsWifiScannerDBus::SendMessage(const cha + DBusMessageIter argsIter; + dbus_message_iter_init_append(msg, &argsIter); + +- if (!strcmp(aFuncCall, "Get")) { +- const char* paramInterface = "org.freedesktop.NetworkManager.Device"; +- if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, +- ¶mInterface)) { +- return NS_ERROR_FAILURE; +- } +- +- const char* paramDeviceType = "DeviceType"; +- if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, +- ¶mDeviceType)) { +- return NS_ERROR_FAILURE; +- } +- } else if (!strcmp(aFuncCall, "GetAll")) { +- const char* param = ""; +- if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ¶m)) { +- return NS_ERROR_FAILURE; +- } +- } ++ const char* paramInterface = "org.freedesktop.NetworkManager.Device"; ++ if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ++ ¶mInterface)) { ++ return NS_ERROR_FAILURE; ++ } ++ ++ const char* paramDeviceType = "DeviceType"; ++ if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ++ ¶mDeviceType)) { ++ return NS_ERROR_FAILURE; ++ } ++ ++ DBusError err; ++ dbus_error_init(&err); ++ ++ RefPtr reply = already_AddRefed( ++ dbus_connection_send_with_reply_and_block(mConnection, msg, ++ DBUS_DEFAULT_TIMEOUT, &err)); ++ if (dbus_error_is_set(&err)) { ++ dbus_error_free(&err); ++ return NS_ERROR_FAILURE; ++ } ++ ++ return IdentifyDeviceType(reply, aPath); ++} ++ ++nsresult ++nsWifiScannerDBus::SendGetAccessPoints(const char* aPath) ++{ ++ RefPtr msg = already_AddRefed( ++ dbus_message_new_method_call("org.freedesktop.NetworkManager", ++ aPath, ++ "org.freedesktop.NetworkManager.Device.Wireless", ++ "GetAccessPoints")); ++ if (!msg) { ++ return NS_ERROR_FAILURE; ++ } + + DBusError err; + dbus_error_init(&err); + +- // http://dbus.freedesktop.org/doc/api/html/group__DBusConnection.html +- // Refer to function dbus_connection_send_with_reply_and_block. +- const uint32_t DBUS_DEFAULT_TIMEOUT = -1; + RefPtr reply = already_AddRefed( + dbus_connection_send_with_reply_and_block(mConnection, msg, + DBUS_DEFAULT_TIMEOUT, &err)); + if (dbus_error_is_set(&err)) { + dbus_error_free(&err); +- + // In the GetAccessPoints case, if there are no access points, error is set. + // We don't want to error out here. +- if (!strcmp(aFuncCall, "GetAccessPoints")) { +- return NS_OK; +- } +- return NS_ERROR_FAILURE; ++ return NS_OK; + } + +- nsresult rv; +- if (!strcmp(aFuncCall, "GetDevices")) { +- rv = IdentifyDevices(reply); +- } else if (!strcmp(aFuncCall, "Get")) { +- rv = IdentifyDeviceType(reply, aPath); +- } else if (!strcmp(aFuncCall, "GetAccessPoints")) { +- rv = IdentifyAccessPoints(reply); +- } else if (!strcmp(aFuncCall, "GetAll")) { +- rv = IdentifyAPProperties(reply); +- } else { +- rv = NS_ERROR_FAILURE; +- } +- return rv; ++ return IdentifyAccessPoints(reply); ++} ++ ++nsresult ++nsWifiScannerDBus::SendGetAPProperties(const char* aPath) ++{ ++ RefPtr msg = already_AddRefed( ++ dbus_message_new_method_call("org.freedesktop.NetworkManager", ++ aPath, ++ "org.freedesktop.DBus.Properties", ++ "GetAll")); ++ if (!msg) { ++ return NS_ERROR_FAILURE; ++ } ++ ++ DBusMessageIter argsIter; ++ dbus_message_iter_init_append(msg, &argsIter); ++ ++ const char* param = ""; ++ if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ¶m)) { ++ return NS_ERROR_FAILURE; ++ } ++ ++ DBusError err; ++ dbus_error_init(&err); ++ ++ RefPtr reply = already_AddRefed( ++ dbus_connection_send_with_reply_and_block(mConnection, msg, ++ DBUS_DEFAULT_TIMEOUT, &err)); ++ if (dbus_error_is_set(&err)) { ++ dbus_error_free(&err); ++ return NS_ERROR_FAILURE; ++ } ++ ++ return IdentifyAPProperties(reply); + } + + nsresult +@@ -126,7 +188,7 @@ nsWifiScannerDBus::IdentifyDevices(DBusM + return NS_ERROR_FAILURE; + } + +- rv = SendMessage("org.freedesktop.DBus.Properties", devicePath, "Get"); ++ rv = SendGetDeviceType(devicePath); + NS_ENSURE_SUCCESS(rv, rv); + } while (dbus_message_iter_next(&iter)); + +@@ -159,8 +221,7 @@ nsWifiScannerDBus::IdentifyDeviceType(DB + const uint32_t NM_DEVICE_TYPE_WIFI = 2; + nsresult rv = NS_OK; + if (deviceType == NM_DEVICE_TYPE_WIFI) { +- rv = SendMessage("org.freedesktop.NetworkManager.Device.Wireless", +- aDevicePath, "GetAccessPoints"); ++ rv = SendGetAccessPoints(aDevicePath); + } + + return rv; +@@ -183,7 +244,7 @@ nsWifiScannerDBus::IdentifyAccessPoints( + return NS_ERROR_FAILURE; + } + +- rv = SendMessage("org.freedesktop.DBus.Properties", path, "GetAll"); ++ rv = SendGetAPProperties(path); + NS_ENSURE_SUCCESS(rv, rv); + } while (dbus_message_iter_next(&iter)); + +diff --git a/netwerk/wifi/nsWifiScannerDBus.h b/netwerk/wifi/nsWifiScannerDBus.h +--- a/netwerk/wifi/nsWifiScannerDBus.h ++++ b/netwerk/wifi/nsWifiScannerDBus.h +@@ -25,9 +25,10 @@ public: + nsresult Scan(); + + private: +- nsresult SendMessage(const char* aInterface, +- const char* aPath, +- const char* aFuncCall); ++ nsresult SendGetDevices(); ++ nsresult SendGetDeviceType(const char* aPath); ++ nsresult SendGetAccessPoints(const char* aPath); ++ nsresult SendGetAPProperties(const char* aPath); + nsresult IdentifyDevices(DBusMessage* aMsg); + nsresult IdentifyDeviceType(DBusMessage* aMsg, const char* aDevicePath); + nsresult IdentifyAccessPoints(DBusMessage* aMsg); diff --git a/wifi-fix-interface.patch b/wifi-fix-interface.patch new file mode 100644 index 0000000..1980db1 --- /dev/null +++ b/wifi-fix-interface.patch @@ -0,0 +1,26 @@ +# HG changeset patch +# Parent 7a6d836b62779aa61988981c6ca646495574a505 +Bug 1314968 - Explicitly specify the AccessPoint interface name. r?kanru + +The DBus specification allows passing an empty string as the interface to the +org.freedesktop.DBus.Properties.GetAll call to get all properties, throwing away the namespace +(interface) information. + +However, GDBus does not allow this. When NetworkManager moved to using GDBus, Firefox lost the +ability to retrieve access points from NetworkManager. + +Since we're only interested in properties from the org.freedesktop.NetworkManager.AccessPoint +interface, name it explicitly. This works with both the old and the new NetworkManager. + +diff --git a/netwerk/wifi/nsWifiScannerDBus.cpp b/netwerk/wifi/nsWifiScannerDBus.cpp +--- a/netwerk/wifi/nsWifiScannerDBus.cpp ++++ b/netwerk/wifi/nsWifiScannerDBus.cpp +@@ -151,7 +151,7 @@ nsWifiScannerDBus::SendGetAll(const char + DBusMessageIter argsIter; + dbus_message_iter_init_append(msg, &argsIter); + +- const char* param = ""; ++ const char* param = "org.freedesktop.NetworkManager.AccessPoint"; + if (!dbus_message_iter_append_basic(&argsIter, DBUS_TYPE_STRING, ¶m)) { + return NS_ERROR_FAILURE; + } -- cgit v1.2.1