Cleanup old cruft after successful release of v96.0-0
This commit is contained in:
parent
1240cdb7b1
commit
c3e8d8850f
21 changed files with 0 additions and 3145 deletions
6
.gitmodules
vendored
6
.gitmodules
vendored
|
|
@ -1,6 +0,0 @@
|
||||||
[submodule "settings"]
|
|
||||||
path = old/settings
|
|
||||||
url = https://gitlab.com/librewolf-community/settings.git
|
|
||||||
[submodule "common"]
|
|
||||||
path = old/common
|
|
||||||
url = https://gitlab.com/librewolf-community/browser/common.git
|
|
||||||
|
|
@ -1,41 +0,0 @@
|
||||||
# How to contribute:
|
|
||||||
|
|
||||||
If you want to contribute, or just build from source yourself, below are the inistructions to do that. If there is something unclear please type your feedback in **[this ticket](https://gitlab.com/librewolf-community/browser/windows/-/issues/112)** and we can adress it.
|
|
||||||
|
|
||||||
## Reference documentation:
|
|
||||||
|
|
||||||
* [Building Firefox On Windows](https://firefox-source-docs.mozilla.org/setup/windows_build.html).
|
|
||||||
|
|
||||||
## Compiling:
|
|
||||||
|
|
||||||
To compile on Windows, you need to:
|
|
||||||
|
|
||||||
* Install Mozilla build setup tools: [MozillaBuildSetup-Latest.exe](https://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe).
|
|
||||||
* Install Microsoft visual studio community edition: [here](https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022).
|
|
||||||
* Within Visual Studio:
|
|
||||||
** Desktop development with C++.
|
|
||||||
** Windows 10 SDK (at least 10.0.19041.0).
|
|
||||||
** C++ ATL for v143 build tools (x86 and x64).
|
|
||||||
|
|
||||||
* Open start-shell terminal and basically do the following:
|
|
||||||
```
|
|
||||||
wget -q "https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py"
|
|
||||||
python3 bootstrap.py --no-interactive --application-choice=browser
|
|
||||||
```
|
|
||||||
If you choose to, you can now build Firefox Nightly as follows:
|
|
||||||
```
|
|
||||||
cd mozilla-unified
|
|
||||||
./mach build
|
|
||||||
./mach package
|
|
||||||
./mach run # or just run it..
|
|
||||||
```
|
|
||||||
Or you can just forget about that, and remove the firefox tree:
|
|
||||||
```
|
|
||||||
rm -rf bootstrap.py mozilla-unified
|
|
||||||
```
|
|
||||||
To build the current windows setup.exe, we do the following:
|
|
||||||
```
|
|
||||||
git clone --recursive https://gitlab.com/librewolf-community/browser/windows.git
|
|
||||||
cd windows
|
|
||||||
./build.py all
|
|
||||||
```
|
|
||||||
733
old/build.py
733
old/build.py
|
|
@ -1,733 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
pkgver = '95.0.2'
|
|
||||||
lwver = "{}".format(pkgver)
|
|
||||||
nightly_ver = '97.0a1'
|
|
||||||
|
|
||||||
#
|
|
||||||
# build.py - try move functionality away from that too big/horrible build script.
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
import optparse
|
|
||||||
import sys
|
|
||||||
import os
|
|
||||||
import glob
|
|
||||||
import time
|
|
||||||
|
|
||||||
|
|
||||||
start_time = time.time()
|
|
||||||
parser = optparse.OptionParser()
|
|
||||||
|
|
||||||
parser.add_option('-x', '--cross', dest='cross_compile', default=False, action="store_true")
|
|
||||||
parser.add_option('-n', '--no-execute', dest='no_execute', default=False, action="store_true")
|
|
||||||
parser.add_option('-l', '--no-librewolf', dest='no_librewolf', default=False, action="store_true")
|
|
||||||
parser.add_option('-s', '--src', dest='src', default='release')
|
|
||||||
parser.add_option('-t', '--distro', dest='distro', default='autodetect')
|
|
||||||
parser.add_option('-T', '--token', dest='token', default='')
|
|
||||||
parser.add_option('-3', '--i386', dest='i386', default=False, action="store_true")
|
|
||||||
parser.add_option('-P', '--no-settings-pane', dest='settings_pane', default=True, action="store_false")
|
|
||||||
parser.add_option('-v', '--version', dest='version', action="store", type="string")
|
|
||||||
|
|
||||||
options, remainder = parser.parse_args()
|
|
||||||
|
|
||||||
# try autodetecting options.distro
|
|
||||||
if options.distro == 'autodetect':
|
|
||||||
options.distro = 'win'
|
|
||||||
if os.path.isdir('/Applications'):
|
|
||||||
options.distro = 'osx'
|
|
||||||
elif os.path.isdir('/etc'):
|
|
||||||
options.distro = 'rpm'
|
|
||||||
if os.path.isdir('/etc/apt'):
|
|
||||||
options.distro = 'deb'
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if options.version != None:
|
|
||||||
if options.src != 'release':
|
|
||||||
print('error: cant use --version and --src at the same time')
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
pkgver=options.version
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def script_exit(statuscode):
|
|
||||||
if (time.time() - start_time) > 60:
|
|
||||||
# print elapsed time
|
|
||||||
elapsed = time.strftime("%H:%M:%S", time.gmtime(time.time() - start_time))
|
|
||||||
print(f"\n\aElapsed time: {elapsed}")
|
|
||||||
|
|
||||||
sys.exit(statuscode)
|
|
||||||
|
|
||||||
def enter_srcdir():
|
|
||||||
dir = "firefox-{}".format(pkgver)
|
|
||||||
if options.src == 'nightly':
|
|
||||||
dir = 'mozilla-unified'
|
|
||||||
elif options.src == 'tor-browser':
|
|
||||||
dir = 'tor-browser'
|
|
||||||
elif options.src == 'gecko-dev':
|
|
||||||
dir = 'gecko-dev'
|
|
||||||
print("cd {}".format(dir))
|
|
||||||
if not options.no_execute:
|
|
||||||
try:
|
|
||||||
os.chdir(dir)
|
|
||||||
except:
|
|
||||||
print("fatal error: can't change to '{}' folder.".format(dir))
|
|
||||||
script_exit(1)
|
|
||||||
|
|
||||||
def leave_srcdir():
|
|
||||||
print("cd ..")
|
|
||||||
if not options.no_execute:
|
|
||||||
os.chdir("..")
|
|
||||||
|
|
||||||
def exec(cmd):
|
|
||||||
if cmd != '':
|
|
||||||
print(cmd)
|
|
||||||
if not options.no_execute:
|
|
||||||
retval = os.system(cmd)
|
|
||||||
if retval != 0:
|
|
||||||
print("fatal error: command '{}' failed".format(cmd))
|
|
||||||
script_exit(1)
|
|
||||||
|
|
||||||
def patch(patchfile):
|
|
||||||
cmd = "patch -p1 -i {}".format(patchfile)
|
|
||||||
print("\n*** -> {}".format(cmd))
|
|
||||||
if not options.no_execute:
|
|
||||||
retval = os.system(cmd)
|
|
||||||
if retval != 0:
|
|
||||||
print("fatal error: patch '{}' failed".format(patchfile))
|
|
||||||
script_exit(1)
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Utilities:
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def execute_update_submodules():
|
|
||||||
exec("git submodule foreach git pull origin master")
|
|
||||||
|
|
||||||
def execute_git_init():
|
|
||||||
if options.src != 'release':
|
|
||||||
print("fatal error: git_init only works with the release source (--src release)")
|
|
||||||
script_exit(1)
|
|
||||||
enter_srcdir()
|
|
||||||
exec("rm -rf .git")
|
|
||||||
exec("git init")
|
|
||||||
exec("git config core.safecrlf false")
|
|
||||||
exec("git config commit.gpgsign false")
|
|
||||||
exec("git add -f * .[a-z]*")
|
|
||||||
exec("git commit -am initial")
|
|
||||||
leave_srcdir()
|
|
||||||
|
|
||||||
|
|
||||||
def execute_deps_deb():
|
|
||||||
deps1 = "python python-dev python3 python3-dev python3-distutils clang pkg-config libpulse-dev gcc"
|
|
||||||
deps2 = "curl wget nodejs libpango1.0-dev nasm yasm zip m4 libgtk-3-dev libgtk2.0-dev libdbus-glib-1-dev"
|
|
||||||
deps3 = "libxt-dev python3-pip mercurial automake autoconf libtool m4"
|
|
||||||
exec("apt install -y {} {} {}".format(deps1,deps2,deps3))
|
|
||||||
|
|
||||||
def execute_deps_rpm():
|
|
||||||
deps1 = "python3 python3-distutils-extra clang pkg-config gcc curl wget nodejs nasm yasm zip m4"
|
|
||||||
deps2 = "python3-zstandard python-zstandard python-devel python3-devel gtk3-devel llvm gtk2-devel dbus-glib-devel libXt-devel pulseaudio-libs-devel"
|
|
||||||
exec("dnf -y install {} {}".format(deps1,deps2))
|
|
||||||
|
|
||||||
def execute_deps_pkg():
|
|
||||||
deps = "wget gmake m4 python3 py37-sqlite3 pkgconf llvm node nasm zip unzip yasm"
|
|
||||||
exec("pkg install {}".format(deps))
|
|
||||||
|
|
||||||
|
|
||||||
def execute_rustup():
|
|
||||||
# rust needs special love: https://www.atechtown.com/install-rust-language-on-debian-10/
|
|
||||||
exec("curl https://sh.rustup.rs -sSf | sh")
|
|
||||||
exec("cargo install cbindgen")
|
|
||||||
|
|
||||||
def execute_mach_env():
|
|
||||||
enter_srcdir()
|
|
||||||
exec("bash ./mach create-mach-environment")
|
|
||||||
leave_srcdir()
|
|
||||||
|
|
||||||
|
|
||||||
def execute_reset():
|
|
||||||
if options.src == 'release':
|
|
||||||
path = "firefox-{}/.git/index".format(pkgver)
|
|
||||||
if not os.path.isfile(path):
|
|
||||||
print("fatal error: cannot reset '--src release' sources as it's not under version control.")
|
|
||||||
script_exit(1)
|
|
||||||
enter_srcdir()
|
|
||||||
exec("git reset --hard")
|
|
||||||
leave_srcdir()
|
|
||||||
elif options.src == 'nightly':
|
|
||||||
enter_srcdir()
|
|
||||||
exec("hg up -C")
|
|
||||||
exec("hg purge")
|
|
||||||
exec("hg pull -u")
|
|
||||||
leave_srcdir()
|
|
||||||
elif options.src == 'tor-browser':
|
|
||||||
enter_srcdir()
|
|
||||||
exec("git reset --hard")
|
|
||||||
leave_srcidr()
|
|
||||||
elif options.src == 'gecko-dev':
|
|
||||||
enter_srcdir()
|
|
||||||
exec("git reset --hard")
|
|
||||||
leave_srcdir()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Targets:
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
def execute_fetch():
|
|
||||||
if options.src == 'release':
|
|
||||||
exec("rm -f firefox-{}.source.tar.xz".format(pkgver))
|
|
||||||
exec("wget -q https://archive.mozilla.org/pub/firefox/releases/{}/source/firefox-{}.source.tar.xz".format(pkgver, pkgver))
|
|
||||||
elif options.src == 'nightly':
|
|
||||||
if not os.path.isdir('mozilla-unified'):
|
|
||||||
exec("rm -f bootstrap.py")
|
|
||||||
exec("rm -rf mozilla-unified")
|
|
||||||
exec("wget -q https://hg.mozilla.org/mozilla-central/raw-file/default/python/mozboot/bin/bootstrap.py")
|
|
||||||
exec("python3 bootstrap.py --no-interactive --application-choice=browser")
|
|
||||||
elif options.src == 'tor-browser':
|
|
||||||
if not os.path.isdir('tor-browser'):
|
|
||||||
exec("rm -rf tor-browser")
|
|
||||||
exec("git clone --no-checkout --recursive https://git.torproject.org/tor-browser.git")
|
|
||||||
patch("../patches/tb-mozconfig-win10.patch")
|
|
||||||
enter_srcdir()
|
|
||||||
exec("git checkout tor-browser-89.0-10.5-1-build1")
|
|
||||||
exec("git submodule update --recursive")
|
|
||||||
leave_srcdir()
|
|
||||||
elif options.src == 'gecko-dev':
|
|
||||||
if not os.path.isdir('gecko-dev'):
|
|
||||||
exec("rm -rf gecko-dev")
|
|
||||||
exec("git clone --depth=1 https://github.com/mozilla/gecko-dev.git")
|
|
||||||
|
|
||||||
def execute_extract():
|
|
||||||
if options.src == 'release':
|
|
||||||
exec("rm -rf firefox-{}".format(pkgver))
|
|
||||||
exec("tar xf firefox-{}.source.tar.xz".format(pkgver))
|
|
||||||
|
|
||||||
def execute_build():
|
|
||||||
enter_srcdir()
|
|
||||||
exec("bash -c \"MACH_USE_SYSTEM_PYTHON=1 ./mach build\"")
|
|
||||||
#exec("bash -c \"./mach build\"")
|
|
||||||
leave_srcdir()
|
|
||||||
|
|
||||||
def execute_package():
|
|
||||||
enter_srcdir()
|
|
||||||
exec("bash -c \"MACH_USE_SYSTEM_PYTHON=1 ./mach package\"")
|
|
||||||
leave_srcdir()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# LibreWolf specific:
|
|
||||||
#
|
|
||||||
|
|
||||||
def create_mozconfig(contents):
|
|
||||||
if not options.no_execute:
|
|
||||||
f = open('mozconfig', 'w')
|
|
||||||
f.write(contents)
|
|
||||||
if not options.distro == 'win':
|
|
||||||
f.write("\nac_add_options --with-app-name=librewolf")
|
|
||||||
if options.distro == 'osx' and options.cross_compile:
|
|
||||||
f.write("\nac_add_options --target=aarch64")
|
|
||||||
if options.i386:
|
|
||||||
f.write("\nac_add_options --target=i386")
|
|
||||||
f.write("\n")
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
def execute_lw_do_patches():
|
|
||||||
if options.no_librewolf:
|
|
||||||
return
|
|
||||||
|
|
||||||
if not options.src in ['release','nightly','gecko-dev']:
|
|
||||||
return
|
|
||||||
|
|
||||||
enter_srcdir()
|
|
||||||
# create the right mozconfig file..
|
|
||||||
create_mozconfig(mozconfig_release)
|
|
||||||
|
|
||||||
# macos : if have compatibilty osx api headers, add that to mozconfig_release
|
|
||||||
dir = os.environ['HOME'] + '/.mozbuild/macos-sdk/MacOSX11.1.sdk'
|
|
||||||
if os.path.isdir(dir):
|
|
||||||
with open('mozconfig','a') as f:
|
|
||||||
f.write("\nac_add_options --with-macos-sdk=$HOME/.mozbuild/macos-sdk/MacOSX11.1.sdk")
|
|
||||||
f.close()
|
|
||||||
|
|
||||||
|
|
||||||
# copy branding files..
|
|
||||||
|
|
||||||
exec('echo +++ && pwd && ls ../common')
|
|
||||||
exec("cp -vr ../common/source_files/browser .")
|
|
||||||
exec("cp -v ../files/configure.sh browser/branding/librewolf")
|
|
||||||
|
|
||||||
patches = []
|
|
||||||
|
|
||||||
if options.src == 'release':
|
|
||||||
# production patches
|
|
||||||
patches = [
|
|
||||||
|
|
||||||
"../common/patches/about-dialog.patch",
|
|
||||||
|
|
||||||
# BUG: this patch seems to fail and break librewolf.exe at startup
|
|
||||||
"../common/patches/allow-ubo-private-mode.patch",
|
|
||||||
|
|
||||||
"../common/patches/context-menu.patch",
|
|
||||||
"../common/patches/megabar.patch",
|
|
||||||
"../common/patches/mozilla-vpn-ad.patch",
|
|
||||||
"../common/patches/mozilla_dirs.patch",
|
|
||||||
"../common/patches/remove_addons.patch",
|
|
||||||
# "../common/patches/search-config.patch",
|
|
||||||
"../common/patches/sed-patches/allow-searchengines-non-esr.patch",
|
|
||||||
"../common/patches/sed-patches/disable-pocket.patch",
|
|
||||||
"../common/patches/sed-patches/remove-internal-plugin-certs.patch",
|
|
||||||
"../common/patches/sed-patches/stop-undesired-requests.patch",
|
|
||||||
"../common/patches/ui-patches/add-language-warning.patch",
|
|
||||||
"../common/patches/ui-patches/pref-naming.patch",
|
|
||||||
"../common/patches/ui-patches/remove-branding-urlbar.patch",
|
|
||||||
"../common/patches/ui-patches/remove-cfrprefs.patch",
|
|
||||||
"../common/patches/ui-patches/remove-organization-policy-banner.patch",
|
|
||||||
"../common/patches/ui-patches/remove-snippets-from-home.patch",
|
|
||||||
"../common/patches/ui-patches/sanitizing-description.patch",
|
|
||||||
"../common/patches/urlbarprovider-interventions.patch",
|
|
||||||
|
|
||||||
]
|
|
||||||
|
|
||||||
for p in patches:
|
|
||||||
patch(p)
|
|
||||||
|
|
||||||
# local windows patches
|
|
||||||
for p in ["../patches/browser-confvars.patch", "../patches/package-manifest.patch"]:
|
|
||||||
patch(p)
|
|
||||||
|
|
||||||
# insert the settings pane source (experimental)
|
|
||||||
if options.settings_pane:
|
|
||||||
|
|
||||||
exec('rm -rf librewolf-pref-pane')
|
|
||||||
exec('git clone https://gitlab.com/ohfp/librewolf-pref-pane.git')
|
|
||||||
os.chdir('librewolf-pref-pane')
|
|
||||||
exec('git diff 1fee314adc81000294fc0cf3196a758e4b64dace > ../../patches/librewolf-pref-pane.patch')
|
|
||||||
os.chdir('..')
|
|
||||||
patch('../patches/librewolf-pref-pane.patch')
|
|
||||||
|
|
||||||
leave_srcdir()
|
|
||||||
|
|
||||||
|
|
||||||
def get_objdir():
|
|
||||||
pattern = "obj-*"
|
|
||||||
retval = glob.glob(pattern)
|
|
||||||
if options.no_execute:
|
|
||||||
return "obj-XXX"
|
|
||||||
if len(retval) != 1:
|
|
||||||
print("fatal error: in execute_lw_post_build(): cannot glob build output folder '{}'".format(pattern))
|
|
||||||
script_exit(1)
|
|
||||||
return retval[0]
|
|
||||||
|
|
||||||
def execute_lw_post_build():
|
|
||||||
if options.no_librewolf:
|
|
||||||
return
|
|
||||||
enter_srcdir()
|
|
||||||
dirname = get_objdir()
|
|
||||||
|
|
||||||
distfolder = "dist/bin"
|
|
||||||
if options.distro == 'osx':
|
|
||||||
distfolder = 'dist/LibreWolf.app/Contents/Resources'
|
|
||||||
|
|
||||||
if not options.no_execute:
|
|
||||||
os.makedirs("{}/{}/defaults/pref".format(dirname,distfolder), exist_ok=True)
|
|
||||||
os.makedirs("{}/{}/distribution".format(dirname,distfolder), exist_ok=True)
|
|
||||||
exec("cp -v ../settings/defaults/pref/local-settings.js {}/{}/defaults/pref/".format(dirname,distfolder))
|
|
||||||
exec("cp -v ../settings/distribution/policies.json {}/{}/distribution/".format(dirname,distfolder))
|
|
||||||
exec("cp -v ../settings/librewolf.cfg {}/{}/".format(dirname,distfolder))
|
|
||||||
leave_srcdir()
|
|
||||||
|
|
||||||
def execute_lw_artifacts():
|
|
||||||
if options.no_librewolf:
|
|
||||||
return
|
|
||||||
|
|
||||||
enter_srcdir()
|
|
||||||
|
|
||||||
if options.distro == 'win':
|
|
||||||
exe = ".exe"
|
|
||||||
ospkg = "win64"
|
|
||||||
dirname = "{}/dist/firefox".format(get_objdir())
|
|
||||||
elif options.distro == 'deb':
|
|
||||||
exe = ""
|
|
||||||
ospkg = "deb"
|
|
||||||
dirname = "{}/dist/librewolf".format(get_objdir())
|
|
||||||
elif options.distro == 'rpm':
|
|
||||||
exe = ""
|
|
||||||
ospkg = "rpm"
|
|
||||||
dirname = "{}/dist/librewolf".format(get_objdir())
|
|
||||||
elif options.distro == 'osx':
|
|
||||||
#exe = ""
|
|
||||||
#ospkg = "osx"
|
|
||||||
#dirname = "{}/dist/firefox".format(get_objdir())
|
|
||||||
exec("cp {}/dist/librewolf*.dmg ..".format(get_objdir()))
|
|
||||||
leave_srcdir()
|
|
||||||
return
|
|
||||||
|
|
||||||
exec("rm -rf ../firefox ../librewolf")
|
|
||||||
exec("cp -rv {} ..".format(dirname))
|
|
||||||
leave_srcdir()
|
|
||||||
|
|
||||||
librewolfdir = "librewolf"
|
|
||||||
if options.distro == 'osx':
|
|
||||||
librewolfdir = 'librewolf/Librewolf.app'
|
|
||||||
if options.distro == 'win':
|
|
||||||
exec("mv firefox librewolf")
|
|
||||||
if options.distro != 'osx':
|
|
||||||
if options.distro == 'win':
|
|
||||||
exec("mv -v {}/firefox{} {}/librewolf{}".format(librewolfdir,exe,librewolfdir,exe));
|
|
||||||
# exec("rm -rf {}/default-browser-agent* {}/maintainanceservice* {}/pingsender* {}/firefox.*.xml {}/precomplete {}/removed-files {}/uninstall"
|
|
||||||
# .format(librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir))
|
|
||||||
exec("cp -v common/source_files/browser/branding/librewolf/firefox.ico {}/librewolf.ico".format(librewolfdir))
|
|
||||||
if options.distro != 'win':
|
|
||||||
exec("cp -v files/register-librewolf files/start-librewolf files/start-librewolf.desktop.in librewolf")
|
|
||||||
|
|
||||||
# create zip filename
|
|
||||||
if options.src == 'release':
|
|
||||||
zipname = "librewolf-{}.en-US.{}.zip".format(lwver,ospkg)
|
|
||||||
elif options.src == 'nightly':
|
|
||||||
zipname = "librewolf-{}.en-US.{}-nightly.zip".format(nightly_ver,ospkg)
|
|
||||||
elif options.src == 'gecko-dev':
|
|
||||||
zipname = "librewolf-{}.en-US.{}-gecko-dev.zip".format(nightly_ver,ospkg)
|
|
||||||
|
|
||||||
# 'windows portable' zip stuff..
|
|
||||||
if options.distro == 'win':
|
|
||||||
# we need tmp to tell us what portable folder to make
|
|
||||||
if options.src == 'release':
|
|
||||||
tmp = lwver
|
|
||||||
else:
|
|
||||||
tmp = nightly_ver
|
|
||||||
|
|
||||||
exec("rm -rf librewolf-{}".format(tmp))
|
|
||||||
#exec("mkdir -p librewolf-{}/Profiles/Default librewolf-{}/LibreWolf".format(pkgver,pkgver))
|
|
||||||
os.makedirs("librewolf-{}/Profiles/Default".format(tmp), exist_ok=True)
|
|
||||||
os.makedirs("librewolf-{}/LibreWolf".format(tmp), exist_ok=True)
|
|
||||||
exec("cp -vr librewolf/* librewolf-{}/LibreWolf".format(tmp))
|
|
||||||
|
|
||||||
exec("rm -f librewolf-portable.exe")
|
|
||||||
exec("wget -q https://gitlab.com/librewolf-community/browser/windows/uploads/8347381f01806245121adcca11b7f35c/librewolf-portable.exe")
|
|
||||||
exec("mv librewolf-portable.exe librewolf-{}".format(tmp))
|
|
||||||
|
|
||||||
exec("rm -f {}".format(zipname))
|
|
||||||
exec("zip -qr9 {} librewolf-{}".format(zipname,tmp))
|
|
||||||
|
|
||||||
# 'normal' zip file..
|
|
||||||
else:
|
|
||||||
exec("rm -f {}".format(zipname))
|
|
||||||
exec("zip -qr9 {} librewolf".format(zipname))
|
|
||||||
|
|
||||||
# create installer
|
|
||||||
if options.distro == 'win':
|
|
||||||
setupname = "librewolf-{}.en-US.win64-setup.exe".format(lwver)
|
|
||||||
if options.src == 'nightly':
|
|
||||||
if os.path.isfile(setupname):
|
|
||||||
exec("rm -f tmp.exe")
|
|
||||||
exec("mv {} tmp.exe".format(setupname))
|
|
||||||
setupname = "librewolf-{}.en-US.win64-nightly-setup.exe".format(nightly_ver)
|
|
||||||
elif options.src == 'gecko-dev':
|
|
||||||
if os.path.isfile(setupname):
|
|
||||||
exec("rm -f tmp.exe")
|
|
||||||
exec("mv {} tmp.exe".format(setupname))
|
|
||||||
setupname = "librewolf-{}.en-US.win64-gecko-dev-setup.exe".format(nightly_ver)
|
|
||||||
|
|
||||||
exec("rm -f {} tmp.nsi".format(setupname))
|
|
||||||
s = lwver
|
|
||||||
if options.src == 'nightly' or options.src == 'gecko-dev':
|
|
||||||
s = nightly_ver
|
|
||||||
exec("sed \"s/pkg_version/{}/g\" < setup.nsi > tmp.nsi".format(s))
|
|
||||||
exec("makensis-3.01.exe -V1 tmp.nsi")
|
|
||||||
exec("rm -f tmp.nsi")
|
|
||||||
from_name = 'librewolf-{}.en-US.win64-setup.exe'.format(s)
|
|
||||||
if from_name != setupname:
|
|
||||||
exec("mv {} {}".format(from_name,setupname))
|
|
||||||
if os.path.isfile("tmp.exe"):
|
|
||||||
exec("mv tmp.exe librewolf-{}.en-US.win64-setup.exe".format(lwver))
|
|
||||||
|
|
||||||
def do_upload(filename):
|
|
||||||
exec("echo \".\" >> upload.txt")
|
|
||||||
exec("curl --request POST --header \"PRIVATE-TOKEN: {}\" --form \"file=@{}\" \"https://gitlab.com/api/v4/projects/13852981/uploads\" >> upload.txt".format(options.token,filename))
|
|
||||||
exec("echo \".\" >> upload.txt")
|
|
||||||
|
|
||||||
def execute_upload():
|
|
||||||
if options.token =='':
|
|
||||||
print("fatal error: You must specify a private token when using the 'upload' command.")
|
|
||||||
script_exit(1)
|
|
||||||
|
|
||||||
if options.distro == 'win':
|
|
||||||
ospkg = "win64"
|
|
||||||
elif options.distro == 'deb':
|
|
||||||
ospkg = "deb"
|
|
||||||
elif options.distro == 'rpm':
|
|
||||||
ospkg = "rpm"
|
|
||||||
elif options.distro == 'osx':
|
|
||||||
ospkg = "osx"
|
|
||||||
|
|
||||||
|
|
||||||
zip_filename = "librewolf-{}.en-US.{}.zip".format(lwver,ospkg)
|
|
||||||
setup_filename = "librewolf-{}.en-US.{}-setup.exe".format(lwver,ospkg)
|
|
||||||
# nightly_setup_filename = "librewolf-{}.en-US.{}-gecko-dev.zip".format(nightly_ver,ospkg)
|
|
||||||
|
|
||||||
if not os.path.isfile(zip_filename):
|
|
||||||
print("fatal error: File '{}' not found.".format(zip_filename))
|
|
||||||
script_exit(1)
|
|
||||||
if not os.path.isfile(setup_filename):
|
|
||||||
print("fatal error: File '{}' not found.".format(setup_filename))
|
|
||||||
script_exit(1)
|
|
||||||
# if not os.path.isfile(nightly_setup_filename):
|
|
||||||
# print("fatal error: File '{}' not found.".format(nightly_setup_filename))
|
|
||||||
# script_exit(1)
|
|
||||||
|
|
||||||
exec("sha256sum {} {} > sha256sums.txt".format(zip_filename,setup_filename))
|
|
||||||
exec("rm -f upload.txt")
|
|
||||||
do_upload(setup_filename)
|
|
||||||
do_upload(zip_filename)
|
|
||||||
# do_upload(nightly_setup_filename)
|
|
||||||
do_upload("sha256sums.txt")
|
|
||||||
print("upload.txt: Upload JSON api results are in the file \'upload.txt\'.")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Main targets:
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def execute_all():
|
|
||||||
execute_update_submodules()
|
|
||||||
execute_fetch()
|
|
||||||
execute_extract()
|
|
||||||
execute_lw_do_patches()
|
|
||||||
execute_build()
|
|
||||||
execute_lw_post_build()
|
|
||||||
execute_package()
|
|
||||||
execute_lw_artifacts()
|
|
||||||
|
|
||||||
def execute_clean():
|
|
||||||
exec("rm -rf librewolf-{} librewolf-{} librewolf-{}".format(pkgver,nightly_ver,lwver))
|
|
||||||
exec("rm -rf librewolf bootstrap.py tmp.nsi tmp.exe sha256sums.txt upload.txt librewolf-portable.exe")
|
|
||||||
for filename in glob.glob("librewolf-*"):
|
|
||||||
try:
|
|
||||||
os.remove(filename)
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
|
|
||||||
def execute_veryclean():
|
|
||||||
exec("rm -rf firefox-{}.source.tar.xz mozilla-unified tor-browser gecko-dev".format(pkgver))
|
|
||||||
exec("rm -rf firefox-{}".format(pkgver))
|
|
||||||
execute_clean()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# main commandline interface
|
|
||||||
#
|
|
||||||
|
|
||||||
def main():
|
|
||||||
if options.src == 'tor-browser':
|
|
||||||
options.no_librewolf = True
|
|
||||||
|
|
||||||
if len(remainder) > 0:
|
|
||||||
if not options.src in ['release','nightly','tor-browser','gecko-dev']:
|
|
||||||
print("error: option --src invalid value")
|
|
||||||
script_exit(1)
|
|
||||||
if not options.distro in ['deb','rpm', 'win','osx']:
|
|
||||||
print("error: option --distro invalid value")
|
|
||||||
script_exit(1)
|
|
||||||
|
|
||||||
for arg in remainder:
|
|
||||||
if arg == 'all':
|
|
||||||
execute_all()
|
|
||||||
elif arg == 'clean':
|
|
||||||
execute_clean()
|
|
||||||
elif arg == 'veryclean':
|
|
||||||
execute_veryclean()
|
|
||||||
|
|
||||||
# Targets:
|
|
||||||
|
|
||||||
elif arg == 'fetch':
|
|
||||||
execute_fetch()
|
|
||||||
elif arg == 'extract':
|
|
||||||
execute_extract()
|
|
||||||
elif arg == 'lw_do_patches':
|
|
||||||
execute_lw_do_patches()
|
|
||||||
elif arg == 'build':
|
|
||||||
execute_build()
|
|
||||||
elif arg == 'lw_post_build':
|
|
||||||
execute_lw_post_build()
|
|
||||||
elif arg == 'package':
|
|
||||||
execute_package()
|
|
||||||
elif arg == 'lw_artifacts':
|
|
||||||
execute_lw_artifacts()
|
|
||||||
|
|
||||||
# Utilities
|
|
||||||
|
|
||||||
elif arg == 'update_submodules':
|
|
||||||
execute_update_submodules()
|
|
||||||
elif arg == 'upload':
|
|
||||||
execute_upload()
|
|
||||||
|
|
||||||
elif arg == 'git_init':
|
|
||||||
execute_git_init()
|
|
||||||
|
|
||||||
elif arg == 'deps_deb':
|
|
||||||
execute_deps_deb()
|
|
||||||
elif arg == 'deps_rpm':
|
|
||||||
execute_deps_rpm()
|
|
||||||
elif arg == 'deps_pkg':
|
|
||||||
execute_deps_pkg()
|
|
||||||
|
|
||||||
elif arg == 'rustup':
|
|
||||||
execute_rustup()
|
|
||||||
elif arg == 'mach_env':
|
|
||||||
execute_mach_env()
|
|
||||||
elif arg == 'reset':
|
|
||||||
execute_reset()
|
|
||||||
|
|
||||||
else:
|
|
||||||
print("error: unknown command on command line: ", arg)
|
|
||||||
script_exit(1)
|
|
||||||
else:
|
|
||||||
# Print help message
|
|
||||||
print(help_message.format(options.distro))
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Large multiline strings
|
|
||||||
#
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
help_message = """# Use:
|
|
||||||
|
|
||||||
build.py [<options>] clean | all | <targets> | <utilities>
|
|
||||||
|
|
||||||
# Options:
|
|
||||||
|
|
||||||
-n,--no-execute - print commands, don't execute them
|
|
||||||
-l,--no-librewolf - skip LibreWolf specific stages.
|
|
||||||
-x,--cross - crosscompile from linux, implies -t win
|
|
||||||
-s,--src <src> - release,nightly,tor-browser,gecko-dev
|
|
||||||
(default=release)
|
|
||||||
-t,--distro <distro> - deb,rpm,win,osx (default={})
|
|
||||||
-T,--token <private_token> - private token used to upload to gitlab.com
|
|
||||||
-3,--i386 - build 32-bit
|
|
||||||
-P,--settings-pane - build with the experimental settings pane
|
|
||||||
|
|
||||||
# Targets:
|
|
||||||
|
|
||||||
all - all steps from fetch to producing setup.exe
|
|
||||||
clean - clean everything, including extracted/fetched sources
|
|
||||||
veryclean - clean like above, and also remove build artifacts.
|
|
||||||
|
|
||||||
fetch - wget or hg clone or git pull
|
|
||||||
extract - when using wget, extract the archive.
|
|
||||||
lw_do_patches - [librewolf] patch the source
|
|
||||||
build - build the browser
|
|
||||||
lw_post_build - [librewolf] insert our settings
|
|
||||||
package - package the browser into zip/apk
|
|
||||||
lw_artifacts - [librewolf] build setup.exe
|
|
||||||
|
|
||||||
# Utilities:
|
|
||||||
|
|
||||||
update_submodules - git update submodules
|
|
||||||
upload - upload the build artifacts to gitlab.com
|
|
||||||
|
|
||||||
git_init - put the source folder in a .git repository
|
|
||||||
reset - use git/mercurial to revert changes to a clean state
|
|
||||||
|
|
||||||
deps_deb - install dependencies with apt
|
|
||||||
deps_rpm - install dependencies with dnf
|
|
||||||
deps_pkg - install dependencies on freebsd
|
|
||||||
|
|
||||||
rustup - update rust
|
|
||||||
mach_env - create mach environment
|
|
||||||
"""
|
|
||||||
|
|
||||||
#
|
|
||||||
# mozconfig files:
|
|
||||||
#
|
|
||||||
|
|
||||||
mozconfig_release = """
|
|
||||||
ac_add_options --enable-application=browser
|
|
||||||
|
|
||||||
# This supposedly speeds up compilation (We test through dogfooding anyway)
|
|
||||||
ac_add_options --disable-tests
|
|
||||||
ac_add_options --enable-release
|
|
||||||
ac_add_options --enable-hardening
|
|
||||||
|
|
||||||
ac_add_options --disable-debug
|
|
||||||
#ac_add_options --enable-debug
|
|
||||||
|
|
||||||
ac_add_options --enable-rust-simd
|
|
||||||
#ac_add_options --disable-rust-simd
|
|
||||||
|
|
||||||
ac_add_options --enable-optimize
|
|
||||||
#ac_add_options --disable-optimize
|
|
||||||
|
|
||||||
# Branding
|
|
||||||
#ac_add_options --enable-update-channel=release
|
|
||||||
## theming bugs: ac_add_options --with-app-name=librewolf
|
|
||||||
## theming bugs: ac_add_options --with-app-basename=LibreWolf
|
|
||||||
#ac_add_options --with-branding=browser/branding/librewolf
|
|
||||||
#ac_add_options --with-distribution-id=io.gitlab.librewolf-community
|
|
||||||
#ac_add_options --with-unsigned-addon-scopes=app,system
|
|
||||||
#ac_add_options --allow-addon-sideload
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# see issue # https://gitlab.com/librewolf-community/browser/arch/-/issues/49
|
|
||||||
export MOZ_REQUIRE_SIGNING=
|
|
||||||
|
|
||||||
# Features
|
|
||||||
ac_add_options --disable-crashreporter
|
|
||||||
ac_add_options --disable-updater
|
|
||||||
ac_add_options --disable-default-browser-agent
|
|
||||||
|
|
||||||
# Disables crash reporting, telemetry and other data gathering tools
|
|
||||||
mk_add_options MOZ_CRASHREPORTER=0
|
|
||||||
mk_add_options MOZ_DATA_REPORTING=0
|
|
||||||
mk_add_options MOZ_SERVICES_HEALTHREPORT=0
|
|
||||||
mk_add_options MOZ_TELEMETRY_REPORTING=0
|
|
||||||
|
|
||||||
# testing..
|
|
||||||
# MOZ_APP_NAME=librewolf
|
|
||||||
# This gives the same theming issue as --with-app-name=librewolf
|
|
||||||
|
|
||||||
|
|
||||||
# TODO: find out how to support sandboxed libraries
|
|
||||||
#ac_add_options --without-wasm-sandboxed-libraries
|
|
||||||
|
|
||||||
|
|
||||||
"""
|
|
||||||
|
|
||||||
|
|
||||||
main()
|
|
||||||
script_exit(0)
|
|
||||||
|
|
@ -1,58 +0,0 @@
|
||||||
.phony: all clean veryclean fetch extract lw_do_patches build lw_post_build package lw_artifacts commit
|
|
||||||
|
|
||||||
under_construction:
|
|
||||||
echo "under construction. use ./mk.py"
|
|
||||||
true
|
|
||||||
|
|
||||||
BUILD=python3 build.py ${OPTS}
|
|
||||||
|
|
||||||
|
|
||||||
all :
|
|
||||||
$(BUILD) all
|
|
||||||
clean :
|
|
||||||
$(BUILD) clean
|
|
||||||
make -C docker clean
|
|
||||||
|
|
||||||
veryclean :
|
|
||||||
$(BUILD) veryclean
|
|
||||||
|
|
||||||
fetch :
|
|
||||||
$(BUILD) fetch
|
|
||||||
extract :
|
|
||||||
$(BUILD) extract
|
|
||||||
do_patches lw_do_patches :
|
|
||||||
$(BUILD) lw_do_patches
|
|
||||||
build :
|
|
||||||
$(BUILD) build
|
|
||||||
post_build lw_post_build :
|
|
||||||
$(BUILD) lw_post_build
|
|
||||||
package :
|
|
||||||
$(BUILD) package
|
|
||||||
artifacts lw_artifacts :
|
|
||||||
$(BUILD) lw_artifacts
|
|
||||||
|
|
||||||
update update_submodules :
|
|
||||||
$(BUILD) update_submodules
|
|
||||||
upload :
|
|
||||||
$(BUILD) upload
|
|
||||||
git_init :
|
|
||||||
$(BUILD) git_init
|
|
||||||
reset :
|
|
||||||
$(BUILD) reset
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Building docker files..
|
|
||||||
.phony : docker docker-all docker-clean
|
|
||||||
docker : docker-all
|
|
||||||
docker-all :
|
|
||||||
make -C docker all
|
|
||||||
docker-clean :
|
|
||||||
make -C docker clean
|
|
||||||
|
|
||||||
|
|
||||||
# git commit && git push
|
|
||||||
|
|
||||||
commit :
|
|
||||||
git commit -am "$$(date)"
|
|
||||||
git push
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 5baa16f8fbceef6ec48ce3cfa4f5d3a9b082a240
|
|
||||||
|
|
@ -1,16 +0,0 @@
|
||||||
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
|
|
||||||
MOZ_APP_NAME=librewolf
|
|
||||||
MOZ_APP_BASENAME=LibreWolf
|
|
||||||
MOZ_APP_PROFILE=LibreWolf
|
|
||||||
MOZ_APP_VENDOR="LibreWolf Community"
|
|
||||||
MOZ_APP_DISPLAYNAME=LibreWolf
|
|
||||||
MOZ_APP_REMOTINGNAME=librewolf
|
|
||||||
MOZ_DEV_EDITION=1
|
|
||||||
MOZ_TELEMETRY_REPORTING=
|
|
||||||
MOZ_SERVICES_HEALTHREPORT=
|
|
||||||
MOZ_NORMANDY=
|
|
||||||
MOZ_REQUIRE_SIGNING=
|
|
||||||
MOZ_DEFAULT_BROWSER_AGENT=0
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
sed "s,MYDIR,$(pwd),g" < start-librewolf.desktop.in > start-librewolf.desktop
|
|
||||||
|
|
||||||
mkdir -p "$HOME/.local/share/applications/"
|
|
||||||
cp -v ./start-librewolf.desktop "$HOME/.local/share/applications/"
|
|
||||||
update-desktop-database "$HOME/.local/share/applications/"
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
# Do not (try to) connect to the session manager
|
|
||||||
unset SESSION_MANAGER
|
|
||||||
|
|
||||||
# If XAUTHORITY is unset, set it to its default value of $HOME/.Xauthority
|
|
||||||
# before we change HOME below. (See xauth(1) and #1945.) XDM and KDM rely
|
|
||||||
# on applications using this default value.
|
|
||||||
if [ -z "$XAUTHORITY" ]; then
|
|
||||||
XAUTHORITY=~/.Xauthority
|
|
||||||
export XAUTHORITY
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Try to be agnostic to where we're being started from, chdir to where
|
|
||||||
# the script is.
|
|
||||||
mydir="`dirname "$0"`"
|
|
||||||
test -d "$mydir" && cd "$mydir"
|
|
||||||
|
|
||||||
#./librewolf --class "LibreWolf" -profile TorBrowser/Data/Browser/profile.default "${@}" > "$logfile" 2>&1 </dev/null &
|
|
||||||
./librewolf --detach --class "LibreWolf" > /dev/null 2>&1 </dev/null &
|
|
||||||
|
|
||||||
exit $?
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
||||||
[Desktop Entry]
|
|
||||||
Type=Application
|
|
||||||
Name=LibreWolf
|
|
||||||
GenericName=Web Browser
|
|
||||||
Comment=LibreWolf Browser
|
|
||||||
Categories=Network;WebBrowser;Security;
|
|
||||||
Exec=MYDIR/./start-librewolf
|
|
||||||
X-TorBrowser-ExecShell=MYDIR/./start-librewolf
|
|
||||||
Icon=MYDIR/./browser/chrome/icons/default/default64.png
|
|
||||||
StartupWMClass=LibreWolf
|
|
||||||
|
|
@ -1,4 +0,0 @@
|
||||||
@rem Windows Expert Bundle:
|
|
||||||
@rem https://www.torproject.org/download/tor/
|
|
||||||
|
|
||||||
Tor\tor.exe
|
|
||||||
|
|
@ -1,29 +0,0 @@
|
||||||
diff --git a/browser/confvars.sh b/browser/confvars.sh
|
|
||||||
index 92871c9516..1e151180dd 100644
|
|
||||||
--- a/browser/confvars.sh
|
|
||||||
+++ b/browser/confvars.sh
|
|
||||||
@@ -3,8 +3,11 @@
|
|
||||||
# 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/.
|
|
||||||
|
|
||||||
-MOZ_APP_VENDOR=Mozilla
|
|
||||||
-MOZ_UPDATER=1
|
|
||||||
+MOZ_APP_BASENAME=LibreWolf
|
|
||||||
+MOZ_APP_NAME=librewolf
|
|
||||||
+MOZ_APP_VENDOR="LibreWolf Community"
|
|
||||||
+
|
|
||||||
+MOZ_UPDATER=0
|
|
||||||
|
|
||||||
if test "$OS_ARCH" = "WINNT"; then
|
|
||||||
if ! test "$HAVE_64BIT_BUILD"; then
|
|
||||||
@@ -34,8 +36,8 @@ BROWSER_CHROME_URL=chrome://browser/content/browser.xhtml
|
|
||||||
# For mozilla-beta, mozilla-release, or mozilla-central repositories, use
|
|
||||||
# "unofficial" branding.
|
|
||||||
# For the mozilla-aurora repository, use "aurora".
|
|
||||||
-MOZ_BRANDING_DIRECTORY=browser/branding/unofficial
|
|
||||||
-MOZ_OFFICIAL_BRANDING_DIRECTORY=browser/branding/official
|
|
||||||
+MOZ_BRANDING_DIRECTORY=browser/branding/librewolf
|
|
||||||
+MOZ_OFFICIAL_BRANDING_DIRECTORY=browser/branding/librewolf
|
|
||||||
MOZ_APP_ID={ec8030f7-c20a-464f-9b0e-13a3a9e97384}
|
|
||||||
|
|
||||||
MOZ_PROFILE_MIGRATOR=1
|
|
||||||
|
|
@ -1,786 +0,0 @@
|
||||||
diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
|
|
||||||
index 4f3babe..97c7ec2 100644
|
|
||||||
--- a/browser/components/preferences/jar.mn
|
|
||||||
+++ b/browser/components/preferences/jar.mn
|
|
||||||
@@ -11,6 +11,7 @@ browser.jar:
|
|
||||||
content/browser/preferences/home.js
|
|
||||||
content/browser/preferences/search.js
|
|
||||||
content/browser/preferences/privacy.js
|
|
||||||
+ content/browser/preferences/librewolf.js
|
|
||||||
content/browser/preferences/containers.js
|
|
||||||
content/browser/preferences/sync.js
|
|
||||||
content/browser/preferences/experimental.js
|
|
||||||
diff --git a/browser/components/preferences/librewolf.inc.xhtml b/browser/components/preferences/librewolf.inc.xhtml
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..a4c5313
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/browser/components/preferences/librewolf.inc.xhtml
|
|
||||||
@@ -0,0 +1,219 @@
|
|
||||||
+# This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
+# License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
+
|
|
||||||
+<script src="chrome://browser/content/preferences/librewolf.js"/>
|
|
||||||
+
|
|
||||||
+<html:template id="template-paneLibrewolf">
|
|
||||||
+
|
|
||||||
+<hbox class="subcategory" hidden="true" data-category="paneLibrewolf">
|
|
||||||
+ <html:h1 data-l10n-id="librewolf-header"/>
|
|
||||||
+</hbox>
|
|
||||||
+
|
|
||||||
+<groupbox hidden="true" data-category="paneLibrewolf">
|
|
||||||
+ <html:h2 data-l10n-id="librewolf-general-heading"/>
|
|
||||||
+
|
|
||||||
+ <!-- TEMPLATE FOR A NEW PREFERENCE
|
|
||||||
+ <hbox>
|
|
||||||
+ <checkbox id="librewolf-LABEL-checkbox" data-l10n-id="librewolf-LABEL-checkbox" preference="PREF" flex="1" />
|
|
||||||
+ <html:label for="librewolf-LABEL-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
|
|
||||||
+ </hbox>
|
|
||||||
+ <vbox class="librewolf-collapse indent">
|
|
||||||
+ <html:input type="checkbox" id="librewolf-LABEL-collapse" />
|
|
||||||
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
|
|
||||||
+ <label data-l10n-id="librewolf-LABEL-description" />
|
|
||||||
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-LABEL-warning1" class="librewolf-warning" /> </html:div>
|
|
||||||
+ <checkbox preference="PREF" label="PREF" />
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+ -->
|
|
||||||
+
|
|
||||||
+ <hbox>
|
|
||||||
+ <checkbox id="librewolf-extension-update-checkbox" data-l10n-id="librewolf-extension-update-checkbox" preference="extensions.update.autoUpdateDefault" flex="1" />
|
|
||||||
+ <html:label for="librewolf-extension-update-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
|
|
||||||
+ </hbox>
|
|
||||||
+ <vbox class="librewolf-collapse indent">
|
|
||||||
+ <html:input type="checkbox" id="librewolf-extension-update-collapse" />
|
|
||||||
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
|
|
||||||
+ <label data-l10n-id="librewolf-extension-update-description" />
|
|
||||||
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-extension-update-warning1" class="librewolf-warning" /> </html:div>
|
|
||||||
+ <checkbox preference="extensions.update.autoUpdateDefault" label="extensions.update.autoUpdateDefault" />
|
|
||||||
+ <checkbox preference="extensions.update.enabled" label="extensions.update.enabled" />
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+
|
|
||||||
+ <hbox>
|
|
||||||
+ <checkbox id="librewolf-autocopy-checkbox" data-l10n-id="librewolf-autocopy-checkbox" preference="clipboard.autocopy" flex="1" />
|
|
||||||
+ <html:label for="librewolf-autocopy-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
|
|
||||||
+ </hbox>
|
|
||||||
+ <vbox class="librewolf-collapse indent">
|
|
||||||
+ <html:input type="checkbox" id="librewolf-autocopy-collapse" />
|
|
||||||
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
|
|
||||||
+ <label data-l10n-id="librewolf-autocopy-description" />
|
|
||||||
+ <checkbox preference="clipboard.autocopy" label="clipboard.autocopy" />
|
|
||||||
+ <checkbox preference="middlemouse.paste" label="middlemouse.paste" />
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+
|
|
||||||
+ <hbox>
|
|
||||||
+ <checkbox id="librewolf-styling-checkbox" data-l10n-id="librewolf-styling-checkbox" preference="toolkit.legacyUserProfileCustomizations.stylesheets" flex="1" />
|
|
||||||
+ <html:label for="librewolf-styling-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
|
|
||||||
+ </hbox>
|
|
||||||
+ <vbox class="librewolf-collapse indent">
|
|
||||||
+ <html:input type="checkbox" id="librewolf-styling-collapse" />
|
|
||||||
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
|
|
||||||
+ <label data-l10n-id="librewolf-styling-description" />
|
|
||||||
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-styling-warning1" class="librewolf-warning" /> </html:div>
|
|
||||||
+ <checkbox preference="toolkit.legacyUserProfileCustomizations.stylesheets" label="toolkit.legacyUserProfileCustomizations.stylesheets" />
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+
|
|
||||||
+</groupbox>
|
|
||||||
+
|
|
||||||
+<groupbox hidden="true" data-category="paneLibrewolf">
|
|
||||||
+ <html:h2 data-l10n-id="librewolf-network-heading" />
|
|
||||||
+
|
|
||||||
+ <hbox>
|
|
||||||
+ <checkbox id="librewolf-ipv6-checkbox" data-l10n-id="librewolf-ipv6-checkbox" preference="network.dns.disableIPv6" flex="1" />
|
|
||||||
+ <html:label for="librewolf-ipv6-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
|
|
||||||
+ </hbox>
|
|
||||||
+ <vbox class="librewolf-collapse indent">
|
|
||||||
+ <html:input type="checkbox" id="librewolf-ipv6-collapse" />
|
|
||||||
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
|
|
||||||
+ <label data-l10n-id="librewolf-ipv6-description" />
|
|
||||||
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-ipv6-warning1" class="librewolf-warning" /> </html:div>
|
|
||||||
+ <checkbox preference="network.dns.disableIPv6" label="network.dns.disableIPv6" />
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+
|
|
||||||
+</groupbox>
|
|
||||||
+
|
|
||||||
+<groupbox hidden="true" data-category="paneLibrewolf">
|
|
||||||
+ <html:h2 data-l10n-id="librewolf-broken-heading" />
|
|
||||||
+
|
|
||||||
+ <hbox>
|
|
||||||
+ <checkbox id="librewolf-rfp-checkbox" data-l10n-id="librewolf-rfp-checkbox" preference="privacy.resistFingerprinting" flex="1" />
|
|
||||||
+ <html:label for="librewolf-rfp-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
|
|
||||||
+ </hbox>
|
|
||||||
+ <vbox class="librewolf-collapse indent">
|
|
||||||
+ <html:input type="checkbox" id="librewolf-rfp-collapse" />
|
|
||||||
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
|
|
||||||
+ <label data-l10n-id="librewolf-rfp-description" />
|
|
||||||
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-rfp-warning1" class="librewolf-warning" /> </html:div>
|
|
||||||
+ <checkbox preference="privacy.resistFingerprinting" label="privacy.resistFingerprinting" />
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+
|
|
||||||
+ <vbox class="indent">
|
|
||||||
+
|
|
||||||
+ <hbox>
|
|
||||||
+ <checkbox id="librewolf-letterboxing-checkbox" data-l10n-id="librewolf-letterboxing-checkbox" preference="privacy.resistFingerprinting.letterboxing" flex="1" />
|
|
||||||
+ <html:label for="librewolf-letterboxing-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
|
|
||||||
+ </hbox>
|
|
||||||
+ <vbox class="librewolf-collapse indent">
|
|
||||||
+ <html:input type="checkbox" id="librewolf-letterboxing-collapse" />
|
|
||||||
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
|
|
||||||
+ <label data-l10n-id="librewolf-letterboxing-description" />
|
|
||||||
+ <checkbox preference="privacy.resistFingerprinting.letterboxing" label="privacy.resistFingerprinting.letterboxing" />
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+
|
|
||||||
+ <hbox>
|
|
||||||
+ <checkbox id="librewolf-auto-decline-canvas-checkbox" data-l10n-id="librewolf-auto-decline-canvas-checkbox" preference="privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" flex="1" />
|
|
||||||
+ <html:label for="librewolf-auto-decline-canvas-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
|
|
||||||
+ </hbox>
|
|
||||||
+ <vbox class="librewolf-collapse indent">
|
|
||||||
+ <html:input type="checkbox" id="librewolf-auto-decline-canvas-collapse" />
|
|
||||||
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
|
|
||||||
+ <label data-l10n-id="librewolf-auto-decline-canvas-description" />
|
|
||||||
+ <html:div> <label data-l10n-id="librewolf-auto-decline-canvas-warning1" class="librewolf-warning" /> </html:div>
|
|
||||||
+ <checkbox preference="privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" label="privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" />
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+
|
|
||||||
+ </vbox>
|
|
||||||
+
|
|
||||||
+ <hbox>
|
|
||||||
+ <checkbox id="librewolf-webgl-checkbox" data-l10n-id="librewolf-webgl-checkbox" preference="webgl.disabled" flex="1" />
|
|
||||||
+ <html:label for="librewolf-webgl-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
|
|
||||||
+ </hbox>
|
|
||||||
+ <vbox class="librewolf-collapse indent">
|
|
||||||
+ <html:input type="checkbox" id="librewolf-webgl-collapse" />
|
|
||||||
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
|
|
||||||
+ <label data-l10n-id="librewolf-webgl-description" />
|
|
||||||
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-webgl-warning1" class="librewolf-warning" /> </html:div>
|
|
||||||
+ <checkbox preference="webgl.disabled" label="webgl.disabled" />
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+
|
|
||||||
+ <hbox>
|
|
||||||
+ <checkbox id="librewolf-language-checkbox" data-l10n-id="librewolf-language-checkbox" preference="extensions.getAddons.langpacks.url" flex="1" />
|
|
||||||
+ <html:label for="librewolf-language-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
|
|
||||||
+ </hbox>
|
|
||||||
+ <vbox class="librewolf-collapse indent">
|
|
||||||
+ <html:input type="checkbox" id="librewolf-language-collapse" />
|
|
||||||
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
|
|
||||||
+ <label data-l10n-id="librewolf-language-description" />
|
|
||||||
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-language-warning1" class="librewolf-warning" /> </html:div>
|
|
||||||
+ <checkbox preference="extensions.getAddons.langpacks.url" label="extensions.getAddons.langpacks.url" id="librewolf-language-url" />
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+
|
|
||||||
+</groupbox>
|
|
||||||
+
|
|
||||||
+<groupbox hidden="true" data-category="paneLibrewolf">
|
|
||||||
+ <html:h2 data-l10n-id="librewolf-security-heading" />
|
|
||||||
+
|
|
||||||
+ <hbox>
|
|
||||||
+ <checkbox id="librewolf-goog-safe-checkbox" data-l10n-id="librewolf-goog-safe-checkbox" preference="browser.safebrowsing.malware.enabled" flex="1" />
|
|
||||||
+ <html:label for="librewolf-goog-safe-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
|
|
||||||
+ </hbox>
|
|
||||||
+ <vbox class="librewolf-collapse indent">
|
|
||||||
+ <html:input type="checkbox" id="librewolf-goog-safe-collapse" />
|
|
||||||
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
|
|
||||||
+ <label data-l10n-id="librewolf-goog-safe-description" />
|
|
||||||
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-goog-safe-warning1" class="librewolf-warning" /> </html:div>
|
|
||||||
+ <checkbox preference="browser.safebrowsing.malware.enabled" label="browser.safebrowsing.malware.enabled" />
|
|
||||||
+ <checkbox preference="browser.safebrowsing.phishing.enabled" label="browser.safebrowsing.phishing.enabled" />
|
|
||||||
+ <checkbox preference="browser.safebrowsing.blockedURIs.enabled" label="browser.safebrowsing.blockedURIs.enabled" />
|
|
||||||
+ <checkbox preference="browser.safebrowsing.provider.google4.gethashURL" label="browser.safebrowsing.provider.google4.gethashURL" id="librewolf-goog-safe-hash4"/>
|
|
||||||
+ <checkbox preference="browser.safebrowsing.provider.google4.updateURL" label="browser.safebrowsing.provider.google4.updateURL" id="librewolf-goog-safe-up4"/>
|
|
||||||
+ <checkbox preference="browser.safebrowsing.provider.google.gethashURL" label="browser.safebrowsing.provider.google.gethashURL" id="librewolf-goog-safe-hash"/>
|
|
||||||
+ <checkbox preference="browser.safebrowsing.provider.google.updateURL" label="browser.safebrowsing.provider.google.updateURL" id="librewolf-goog-safe-up"/>
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+
|
|
||||||
+ <vbox class="indent">
|
|
||||||
+ <hbox>
|
|
||||||
+ <checkbox id="librewolf-goog-safe-download-checkbox" data-l10n-id="librewolf-goog-safe-download-checkbox" preference="browser.safebrowsing.downloads.enabled" flex="1" />
|
|
||||||
+ <html:label for="librewolf-goog-safe-download-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
|
|
||||||
+ </hbox>
|
|
||||||
+ <vbox class="librewolf-collapse indent">
|
|
||||||
+ <html:input type="checkbox" id="librewolf-goog-safe-download-collapse" />
|
|
||||||
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
|
|
||||||
+ <label data-l10n-id="librewolf-goog-safe-download-description" />
|
|
||||||
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-goog-safe-download-warning1" class="librewolf-warning" /> </html:div>
|
|
||||||
+ <checkbox preference="browser.safebrowsing.downloads.enabled" label="browser.safebrowsing.downloads.enabled" />
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+ </vbox>
|
|
||||||
+
|
|
||||||
+</groupbox>
|
|
||||||
+
|
|
||||||
+<hbox class="subcategory" hidden="true" data-category="paneLibrewolf">
|
|
||||||
+ <html:h1 data-l10n-id="librewolf-footer"/>
|
|
||||||
+</hbox>
|
|
||||||
+
|
|
||||||
+<groupbox data-category="paneLibrewolf" hidden="true">
|
|
||||||
+ <hbox>
|
|
||||||
+ <label id="librewolf-config-link-wrapper" class="sidebar-footer-link" is="text-link" flex="1">
|
|
||||||
+ <image class="sidebar-footer-icon" src="chrome://browser/skin/ion.svg" /> <!-- TODO not the typical way a picture is defined I think, and also we should copy the svg file in case they change it -->
|
|
||||||
+ <label id="librewolf-config-link" data-l10n-id="librewolf-config-link"></label>
|
|
||||||
+ </label>
|
|
||||||
+ <hbox pack="end">
|
|
||||||
+ <button id="librewolf-open-profile-button" class="accessory-button" is="highlightable-button" data-l10n-id="librewolf-open-profile"/>
|
|
||||||
+ </hbox>
|
|
||||||
+ </hbox>
|
|
||||||
+</groupbox>
|
|
||||||
+
|
|
||||||
+</html:template>
|
|
||||||
diff --git a/browser/components/preferences/librewolf.js b/browser/components/preferences/librewolf.js
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..a633730
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/browser/components/preferences/librewolf.js
|
|
||||||
@@ -0,0 +1,238 @@
|
|
||||||
+/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
+ * License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
||||||
+ * You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
||||||
+
|
|
||||||
+/* import-globals-from extensionControlled.js */
|
|
||||||
+/* import-globals-from preferences.js */
|
|
||||||
+
|
|
||||||
+var { AppConstants } = ChromeUtils.import( "resource://gre/modules/AppConstants.jsm");
|
|
||||||
+XPCOMUtils.defineLazyGetter(this, "L10n", () => {
|
|
||||||
+ return new Localization([
|
|
||||||
+ "branding/brand.ftl",
|
|
||||||
+ "browser/preferences/preferences.ftl",
|
|
||||||
+ ]);
|
|
||||||
+});
|
|
||||||
+
|
|
||||||
+Preferences.addAll([
|
|
||||||
+ // IPv6
|
|
||||||
+ { id: "network.dns.disableIPv6", type: "bool" },
|
|
||||||
+ // WebGL
|
|
||||||
+ { id: "webgl.disabled", type: "bool" },
|
|
||||||
+ // RFP
|
|
||||||
+ { id: "privacy.resistFingerprinting", type: "bool" },
|
|
||||||
+ // Automatically Update Extensions
|
|
||||||
+ { id: "extensions.update.enabled", type: "bool" },
|
|
||||||
+ { id: "extensions.update.autoUpdateDefault", type: "bool" },
|
|
||||||
+ // Clipboard autocopy/paste
|
|
||||||
+ { id: "clipboard.autocopy", type: "bool" },
|
|
||||||
+ { id: "middlemouse.paste", type: "bool" },
|
|
||||||
+ // Harden
|
|
||||||
+ { id: "privacy.resistFingerprinting.letterboxing", type: "bool" },
|
|
||||||
+ // Google Safe Browsing
|
|
||||||
+ //{ id: "browser.safebrowsing.malware.enabled", type: "bool" }, // Already loaded
|
|
||||||
+ //{ id: "browser.safebrowsing.phishing.enabled", type: "bool" },
|
|
||||||
+ { id: "browser.safebrowsing.blockedURIs.enabled", type: "bool" },
|
|
||||||
+ { id: "browser.safebrowsing.provider.google4.gethashURL", type: "string" },
|
|
||||||
+ { id: "browser.safebrowsing.provider.google4.updateURL", type: "string" },
|
|
||||||
+ { id: "browser.safebrowsing.provider.google.gethashURL", type: "string" },
|
|
||||||
+ { id: "browser.safebrowsing.provider.google.updateURL", type: "string" },
|
|
||||||
+ /**** Prefs that require changing a lockPref ****/
|
|
||||||
+ // Google safe browsing check downloads
|
|
||||||
+ //{ id: "browser.safebrowsing.downloads.enabled", type: "bool" }, //Also already added
|
|
||||||
+ { id: "toolkit.legacyUserProfileCustomizations.stylesheets", type: "bool" },
|
|
||||||
+ // Install language packs
|
|
||||||
+ { id: "extensions.getAddons.langpacks.url", type: "string" },
|
|
||||||
+ // Canvas UI when blocked
|
|
||||||
+ { id: "privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts", type: "bool" },
|
|
||||||
+]);
|
|
||||||
+
|
|
||||||
+var gLibrewolfPane = {
|
|
||||||
+ _pane: null,
|
|
||||||
+
|
|
||||||
+ // called when the document is first parsed
|
|
||||||
+ init() {
|
|
||||||
+ this._pane = document.getElementById("paneLibrewolf");
|
|
||||||
+
|
|
||||||
+ // Set all event listeners on checkboxes
|
|
||||||
+ setBoolSyncListeners(
|
|
||||||
+ "librewolf-extension-update-checkbox",
|
|
||||||
+ ["extensions.update.autoUpdateDefault", "extensions.update.enabled"],
|
|
||||||
+ [true, true ],
|
|
||||||
+ );
|
|
||||||
+ setBoolSyncListeners(
|
|
||||||
+ "librewolf-ipv6-checkbox",
|
|
||||||
+ ["network.dns.disableIPv6"],
|
|
||||||
+ [false, ],
|
|
||||||
+ );
|
|
||||||
+ setBoolSyncListeners(
|
|
||||||
+ "librewolf-autocopy-checkbox",
|
|
||||||
+ ["clipboard.autocopy", "middlemouse.paste"],
|
|
||||||
+ [true, true ],
|
|
||||||
+ );
|
|
||||||
+ setBoolSyncListeners(
|
|
||||||
+ "librewolf-styling-checkbox",
|
|
||||||
+ ["toolkit.legacyUserProfileCustomizations.stylesheets"],
|
|
||||||
+ [true, ],
|
|
||||||
+ );
|
|
||||||
+
|
|
||||||
+ setBoolSyncListeners(
|
|
||||||
+ "librewolf-webgl-checkbox",
|
|
||||||
+ ["webgl.disabled"],
|
|
||||||
+ [false ],
|
|
||||||
+ );
|
|
||||||
+ setBoolSyncListeners(
|
|
||||||
+ "librewolf-rfp-checkbox",
|
|
||||||
+ ["privacy.resistFingerprinting"],
|
|
||||||
+ [true ],
|
|
||||||
+ );
|
|
||||||
+ setBoolSyncListeners(
|
|
||||||
+ "librewolf-auto-decline-canvas-checkbox",
|
|
||||||
+ ["privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts"],
|
|
||||||
+ [true ],
|
|
||||||
+ );
|
|
||||||
+
|
|
||||||
+ setBoolSyncListeners(
|
|
||||||
+ "librewolf-letterboxing-checkbox",
|
|
||||||
+ ["privacy.resistFingerprinting.letterboxing"],
|
|
||||||
+ [true ],
|
|
||||||
+ );
|
|
||||||
+
|
|
||||||
+ setSyncListeners(
|
|
||||||
+ "librewolf-goog-safe-checkbox",
|
|
||||||
+ [
|
|
||||||
+ "browser.safebrowsing.malware.enabled",
|
|
||||||
+ "browser.safebrowsing.phishing.enabled",
|
|
||||||
+ "browser.safebrowsing.blockedURIs.enabled",
|
|
||||||
+ "browser.safebrowsing.provider.google4.gethashURL",
|
|
||||||
+ "browser.safebrowsing.provider.google4.updateURL",
|
|
||||||
+ "browser.safebrowsing.provider.google.gethashURL",
|
|
||||||
+ "browser.safebrowsing.provider.google.updateURL",
|
|
||||||
+ ],
|
|
||||||
+ [
|
|
||||||
+ true,
|
|
||||||
+ true,
|
|
||||||
+ true,
|
|
||||||
+ "https://safebrowsing.googleapis.com/v4/fullHashes:find?$ct=application/x-protobuf&key=%GOOGLE_SAFEBROWSING_API_KEY%&$httpMethod=POST",
|
|
||||||
+ "https://safebrowsing.googleapis.com/v4/threatListUpdates:fetch?$ct=application/x-protobuf&key=%GOOGLE_SAFEBROWSING_API_KEY%&$httpMethod=POST",
|
|
||||||
+ "https://safebrowsing.google.com/safebrowsing/gethash?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2",
|
|
||||||
+ "https://safebrowsing.google.com/safebrowsing/downloads?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2&key=%GOOGLE_SAFEBROWSING_API_KEY%",
|
|
||||||
+ ],
|
|
||||||
+ [
|
|
||||||
+ false,
|
|
||||||
+ false,
|
|
||||||
+ false,
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ "",
|
|
||||||
+ ]
|
|
||||||
+ );
|
|
||||||
+ setSyncListeners("librewolf-language-checkbox", ["extensions.getAddons.langpacks.url"], ["https://services.addons.mozilla.org/api/v3/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%"], [""]);
|
|
||||||
+ setSyncListeners("librewolf-language-url", ["extensions.getAddons.langpacks.url"], ["https://services.addons.mozilla.org/api/v3/addons/language-tools/?app=firefox&type=language&appversion=%VERSION%"], [""]);
|
|
||||||
+
|
|
||||||
+ // Set event listener on open profile directory button
|
|
||||||
+ setEventListener("librewolf-open-profile-button", "command", openProfileDirectory);
|
|
||||||
+ // Set event listener on open about:config button
|
|
||||||
+ setEventListener("librewolf-config-link", "click", openAboutConfig);
|
|
||||||
+
|
|
||||||
+ // Notify observers that the UI is now ready
|
|
||||||
+ Services.obs.notifyObservers(window, "librewolf-pane-loaded");
|
|
||||||
+ },
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+function openProfileDirectory() {
|
|
||||||
+ // Get the profile directory.
|
|
||||||
+ let currProfD = Services.dirsvc.get("ProfD", Ci.nsIFile);
|
|
||||||
+ let profileDir = currProfD.path;
|
|
||||||
+
|
|
||||||
+ // Show the profile directory.
|
|
||||||
+ let nsLocalFile = Components.Constructor(
|
|
||||||
+ "@mozilla.org/file/local;1",
|
|
||||||
+ "nsIFile",
|
|
||||||
+ "initWithPath"
|
|
||||||
+ );
|
|
||||||
+ new nsLocalFile(profileDir).reveal();
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+function openAboutConfig() {
|
|
||||||
+ window.open("about:config", "_blank");
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+function setBoolSyncListeners(checkboxid, opts, vals) {
|
|
||||||
+ setSyncFromPrefListener(checkboxid, () => readGenericBoolPrefs(opts, vals));
|
|
||||||
+ setSyncToPrefListener(checkboxid, () => writeGenericBoolPrefs(opts, vals, document.getElementById(checkboxid).checked));
|
|
||||||
+ for (let i = 1; i < opts.length; i++) {
|
|
||||||
+ Preferences.get(opts[i]).on("change", () => makeMasterCheckboxesReactive(checkboxid, () => readGenericBoolPrefs(opts, vals)));
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+function setSyncListeners(checkboxid, opts, onVals, offVals) {
|
|
||||||
+ setSyncFromPrefListener(checkboxid, () => readGenericPrefs(opts, onVals, offVals));
|
|
||||||
+ setSyncToPrefListener(checkboxid, () => writeGenericPrefs(opts, onVals, offVals, document.getElementById(checkboxid).checked));
|
|
||||||
+ for (let i = 1; i < opts.length; i++) {
|
|
||||||
+ Preferences.get(opts[i]).on("change", () => makeMasterCheckboxesReactive(checkboxid, () => readGenericPrefs(opts, onVals, offVals)));
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+function makeMasterCheckboxesReactive(checkboxid, func) {
|
|
||||||
+ let shouldBeChecked = func();
|
|
||||||
+ document.getElementById(checkboxid).checked = shouldBeChecked;
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+// Wrapper function in case something more is required (as I suspected in the first iteration of this)
|
|
||||||
+function getPref(pref) {
|
|
||||||
+ let retval = Preferences.get(pref);
|
|
||||||
+/* if (retval === undefined) {
|
|
||||||
+ return defaultValue;
|
|
||||||
+ } */
|
|
||||||
+ return retval._value;
|
|
||||||
+}
|
|
||||||
+// Returns true if all the preferences in prefs are equal to onVals, false otherwise TODO may need a third array for their default values because mozilla is dumb, after testing though pretty sure this was misinformation being spread by comments in default FF code that has long since been fixed
|
|
||||||
+function readGenericBoolPrefs(prefs, onVals) {
|
|
||||||
+ for (let i = 0; i < prefs.length; i++) {
|
|
||||||
+ if (getPref(prefs[i]) != onVals[i]) {
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return true;
|
|
||||||
+}
|
|
||||||
+function writeGenericBoolPrefs(opts, vals, changeToOn) {
|
|
||||||
+ valsCopy = [...vals];
|
|
||||||
+ if (!changeToOn) {
|
|
||||||
+ for (let i = 0; i < vals.length; i++) {
|
|
||||||
+ valsCopy[i] = !vals[i];
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ // Start at 1 because returning sets the last one
|
|
||||||
+ for (let i = 1; i < vals.length; i++) {
|
|
||||||
+ Services.prefs.setBoolPref(opts[i], valsCopy[i]);
|
|
||||||
+ }
|
|
||||||
+ return valsCopy[0];
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+// Returns true if all the preferences in prefs are equal to onVals, false otherwise... currently the same as for Bool as offVals is ignored
|
|
||||||
+function readGenericPrefs(prefs, onVals, offVals) {
|
|
||||||
+ for (let i = 0; i < prefs.length; i ++) {
|
|
||||||
+ let temp = getPref(prefs[i]);
|
|
||||||
+ if (getPref(prefs[i]) != onVals[i]) {
|
|
||||||
+ return false;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return true;
|
|
||||||
+}
|
|
||||||
+function writeGenericPrefs(opts, onVals, offVals, changeToOn) {
|
|
||||||
+ let writeArr = (changeToOn) ? onVals : offVals;
|
|
||||||
+ for (let i = 1; i < opts.length; i++) {
|
|
||||||
+ let type = typeof(writeArr[i]);
|
|
||||||
+ if (type == "number") {
|
|
||||||
+ Services.prefs.setIntPref(opts[i], writeArr[i]);
|
|
||||||
+ } else if (type == "boolean") {
|
|
||||||
+ Services.prefs.setBoolPref(opts[i], writeArr[i]);
|
|
||||||
+ } else if (type == "string") {
|
|
||||||
+ Services.prefs.setCharPref(opts[i], writeArr[i]);
|
|
||||||
+ } else {
|
|
||||||
+ console.log("BADNESS 10000");
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+ return writeArr[0];
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
|
|
||||||
index 91e9e46..763ab49 100644
|
|
||||||
--- a/browser/components/preferences/preferences.js
|
|
||||||
+++ b/browser/components/preferences/preferences.js
|
|
||||||
@@ -8,6 +8,7 @@
|
|
||||||
/* import-globals-from search.js */
|
|
||||||
/* import-globals-from containers.js */
|
|
||||||
/* import-globals-from privacy.js */
|
|
||||||
+/* import-globals-from librewolf.js */
|
|
||||||
/* import-globals-from sync.js */
|
|
||||||
/* import-globals-from experimental.js */
|
|
||||||
/* import-globals-from findInPage.js */
|
|
||||||
@@ -117,6 +118,7 @@ function init_all() {
|
|
||||||
register_module("paneHome", gHomePane);
|
|
||||||
register_module("paneSearch", gSearchPane);
|
|
||||||
register_module("panePrivacy", gPrivacyPane);
|
|
||||||
+ register_module("paneLibrewolf", gLibrewolfPane);
|
|
||||||
register_module("paneContainers", gContainersPane);
|
|
||||||
if (Services.prefs.getBoolPref("browser.preferences.experimental")) {
|
|
||||||
// Set hidden based on previous load's hidden value.
|
|
||||||
diff --git a/browser/components/preferences/preferences.xhtml b/browser/components/preferences/preferences.xhtml
|
|
||||||
index aab4a9e..907a631 100644
|
|
||||||
--- a/browser/components/preferences/preferences.xhtml
|
|
||||||
+++ b/browser/components/preferences/preferences.xhtml
|
|
||||||
@@ -12,6 +12,7 @@
|
|
||||||
<?xml-stylesheet href="chrome://browser/skin/preferences/search.css"?>
|
|
||||||
<?xml-stylesheet href="chrome://browser/skin/preferences/containers.css"?>
|
|
||||||
<?xml-stylesheet href="chrome://browser/skin/preferences/privacy.css"?>
|
|
||||||
+<?xml-stylesheet href="chrome://browser/skin/preferences/librewolf.css"?>
|
|
||||||
|
|
||||||
<!DOCTYPE html>
|
|
||||||
|
|
||||||
@@ -128,6 +129,17 @@
|
|
||||||
<label class="category-name" flex="1" data-l10n-id="pane-privacy-title"></label>
|
|
||||||
</richlistitem>
|
|
||||||
|
|
||||||
+ <richlistitem id="category-librewolf"
|
|
||||||
+ class="category"
|
|
||||||
+ value="paneLibrewolf"
|
|
||||||
+ helpTopic="prefs-librewolf"
|
|
||||||
+ data-l10n-id="category-librewolf"
|
|
||||||
+ data-l10n-attrs="tooltiptext"
|
|
||||||
+ align="center">
|
|
||||||
+ <image class="category-icon"/>
|
|
||||||
+ <label class="category-name" flex="1" data-l10n-id="pane-librewolf-title"></label>
|
|
||||||
+ </richlistitem>
|
|
||||||
+
|
|
||||||
<richlistitem id="category-sync"
|
|
||||||
class="category"
|
|
||||||
hidden="true"
|
|
||||||
@@ -201,6 +213,7 @@
|
|
||||||
#include home.inc.xhtml
|
|
||||||
#include search.inc.xhtml
|
|
||||||
#include privacy.inc.xhtml
|
|
||||||
+#include librewolf.inc.xhtml
|
|
||||||
#include containers.inc.xhtml
|
|
||||||
#include sync.inc.xhtml
|
|
||||||
#include experimental.inc.xhtml
|
|
||||||
diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl
|
|
||||||
index d276f7a..938bec3 100644
|
|
||||||
--- a/browser/locales/en-US/browser/preferences/preferences.ftl
|
|
||||||
+++ b/browser/locales/en-US/browser/preferences/preferences.ftl
|
|
||||||
@@ -1347,3 +1347,83 @@ choose-download-folder-title = Choose Download Folder:
|
|
||||||
# $service-name (String) - Name of a cloud storage provider like Dropbox, Google Drive, etc...
|
|
||||||
save-files-to-cloud-storage =
|
|
||||||
.label = Save files to { $service-name }
|
|
||||||
+
|
|
||||||
+## LibreWolf preferences
|
|
||||||
+
|
|
||||||
+# Sidebar
|
|
||||||
+pane-librewolf-title = LibreWolf
|
|
||||||
+category-librewolf =
|
|
||||||
+ .tooltiptext = about:config changes, logically grouped and easily accessible
|
|
||||||
+
|
|
||||||
+# Main content
|
|
||||||
+librewolf-header = Librewolf Preferences
|
|
||||||
+librewolf-warning-title = Heads up!
|
|
||||||
+librewolf-warning-description = We carefully choose default settings to focus on privacy and security. When changing these settings, read the descriptions to understand the implications of those changes.
|
|
||||||
+
|
|
||||||
+# Page Layout
|
|
||||||
+librewolf-general-heading = Browser Behavior
|
|
||||||
+librewolf-extension-update-checkbox =
|
|
||||||
+ .label = Update add-ons automatically
|
|
||||||
+librewolf-autocopy-checkbox =
|
|
||||||
+ .label = Enable middle click paste
|
|
||||||
+librewolf-styling-checkbox =
|
|
||||||
+ .label = Allow userChrome.css customization
|
|
||||||
+
|
|
||||||
+librewolf-network-heading = Networking
|
|
||||||
+librewolf-ipv6-checkbox =
|
|
||||||
+ .label = Enable IPv6
|
|
||||||
+
|
|
||||||
+librewolf-broken-heading = Fingerprinting
|
|
||||||
+librewolf-webgl-checkbox =
|
|
||||||
+ .label = Enable WebGL
|
|
||||||
+librewolf-rfp-checkbox =
|
|
||||||
+ .label = Enable ResistFingerprinting
|
|
||||||
+librewolf-auto-decline-canvas-checkbox =
|
|
||||||
+ .label = Silently block canvas access requests
|
|
||||||
+librewolf-letterboxing-checkbox =
|
|
||||||
+ .label = Enable letterboxing
|
|
||||||
+
|
|
||||||
+librewolf-security-heading = Security
|
|
||||||
+librewolf-goog-safe-checkbox =
|
|
||||||
+ .label = Enable Google Safe Browsing
|
|
||||||
+librewolf-goog-safe-download-checkbox =
|
|
||||||
+ .label = Scan downloads
|
|
||||||
+librewolf-language-checkbox =
|
|
||||||
+ .label = Allow the installation of other language packs
|
|
||||||
+
|
|
||||||
+# In-depth descriptions
|
|
||||||
+librewolf-extension-update-description = Keep extensions up to date without manual intervention. A good choice for your security.
|
|
||||||
+librewolf-extension-update-warning1 = If you don't review the code of your extensions before every update, you should enable this option.
|
|
||||||
+
|
|
||||||
+librewolf-ipv6-description = Allow { -brand-short-name } to connect using IPv6.
|
|
||||||
+librewolf-ipv6-warning1 = Before you change this, make sure your OS uses the IPv6 privacy extension.
|
|
||||||
+
|
|
||||||
+librewolf-autocopy-description = Select some text to copy it, then paste it with a middle-mouse click.
|
|
||||||
+
|
|
||||||
+librewolf-styling-description = Enable this if you want to customize the UI with a manually loaded theme.
|
|
||||||
+librewolf-styling-warning1 = Make sure you trust the provider of the theme.
|
|
||||||
+
|
|
||||||
+librewolf-webgl-description = WebGL is a strong fingerprinting vector.
|
|
||||||
+librewolf-webgl-warning1 = If you need to enable it, consider using an extension like Canvas Blocker.
|
|
||||||
+
|
|
||||||
+librewolf-rfp-description = ResistFingerprinting is the best in class anti-fingerprinting tool.
|
|
||||||
+librewolf-rfp-warning1 = If you need to disable it, consider using an extension like Canvas Blocker.
|
|
||||||
+
|
|
||||||
+librewolf-auto-decline-canvas-description = Automatically deny canvas access to websites, without prompting the user.
|
|
||||||
+librewolf-auto-decline-canvas-warning1 = It is still possible to allow canvas access from the urlbar.
|
|
||||||
+
|
|
||||||
+librewolf-letterboxing-description = Letterboxing applies margins around your windows, in order to return a limited set of rounded resolutions.
|
|
||||||
+
|
|
||||||
+librewolf-goog-safe-description = If you are worried about malware and phishing, consider enabling it.
|
|
||||||
+librewolf-goog-safe-warning1 = Disabled over censorship concerns but recommended for less advanced users. All the checks happen locally.
|
|
||||||
+
|
|
||||||
+librewolf-goog-safe-download-description = Allow Safe Browsing to scan your downloads to identify suspicious files.
|
|
||||||
+librewolf-goog-safe-download-warning1 = All the checks happen locally.
|
|
||||||
+
|
|
||||||
+librewolf-language-description = Enable this if you want to install language packs from the settings.
|
|
||||||
+librewolf-language-warning1 = LibreWolf forces everything to en-US, so changing your language might make you stand out.
|
|
||||||
+
|
|
||||||
+# Footer
|
|
||||||
+librewolf-footer = Useful links
|
|
||||||
+librewolf-config-link = All advanced settings (about:config)
|
|
||||||
+librewolf-open-profile = Open user profile directory
|
|
||||||
diff --git a/browser/themes/shared/jar.inc.mn b/browser/themes/shared/jar.inc.mn
|
|
||||||
index cf1ebf0..336118c 100644
|
|
||||||
--- a/browser/themes/shared/jar.inc.mn
|
|
||||||
+++ b/browser/themes/shared/jar.inc.mn
|
|
||||||
@@ -105,6 +105,7 @@
|
|
||||||
skin/classic/browser/preferences/category-experiments.svg (../shared/preferences/category-experiments.svg)
|
|
||||||
skin/classic/browser/preferences/category-general.svg (../shared/preferences/category-general.svg)
|
|
||||||
skin/classic/browser/preferences/category-privacy-security.svg (../shared/preferences/category-privacy-security.svg)
|
|
||||||
+ skin/classic/browser/preferences/category-librewolf.svg (../shared/preferences/category-librewolf.svg)
|
|
||||||
skin/classic/browser/preferences/category-search.svg (../shared/preferences/category-search.svg)
|
|
||||||
skin/classic/browser/preferences/category-sync.svg (../shared/preferences/category-sync.svg)
|
|
||||||
skin/classic/browser/preferences/critters-postcard.jpg (../shared/preferences/critters-postcard.jpg)
|
|
||||||
@@ -119,6 +120,7 @@
|
|
||||||
skin/classic/browser/preferences/search-bar.svg (../shared/preferences/search-bar.svg)
|
|
||||||
skin/classic/browser/preferences/search.css (../shared/preferences/search.css)
|
|
||||||
skin/classic/browser/preferences/siteDataSettings.css (../shared/preferences/siteDataSettings.css)
|
|
||||||
+ skin/classic/browser/preferences/librewolf.css (../shared/preferences/librewolf.css)
|
|
||||||
* skin/classic/browser/preferences/containers.css (../shared/preferences/containers.css)
|
|
||||||
* skin/classic/browser/preferences/containers-dialog.css (../shared/preferences/containers-dialog.css)
|
|
||||||
skin/classic/browser/upgradeDialog/highlights-24.svg (../shared/upgradeDialog/highlights-24.svg)
|
|
||||||
diff --git a/browser/themes/shared/preferences/category-librewolf.svg b/browser/themes/shared/preferences/category-librewolf.svg
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..8ebf2eb
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/browser/themes/shared/preferences/category-librewolf.svg
|
|
||||||
@@ -0,0 +1,96 @@
|
|
||||||
+<!-- This Source Code Form is subject to the terms of the Mozilla Public
|
|
||||||
+ - License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
||||||
+ - file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" width="20" height="20" fill="context-fill" fill-opacity="context-fill-opacity">
|
|
||||||
+ <path d="M15.5 9 15 9l0-4A5 5 0 0 0 5 5l0 4-.5 0A2.5 2.5 0 0 0 2 11.5l0 6A2.5 2.5 0 0 0 4.5 20l11 0a2.5 2.5 0 0 0 2.5-2.5l0-6A2.5 2.5 0 0 0 15.5 9zm-9-4c0-1.93 1.57-3.5 3.5-3.5 1.93 0 3.5 1.57 3.5 3.5l0 4-7 0 0-4zm10 12.7-.8.8-11.4 0-.8-.8 0-6.4.8-.8 11.4 0 .8.8 0 6.4z"/>
|
|
||||||
+</svg>
|
|
||||||
+-->
|
|
||||||
+
|
|
||||||
+<svg
|
|
||||||
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
+ xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
+ xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
+ xmlns="http://www.w3.org/2000/svg"
|
|
||||||
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
+ width="67.733337mm"
|
|
||||||
+ height="67.733337mm"
|
|
||||||
+ viewBox="0 0 67.733337 67.733337"
|
|
||||||
+ version="1.1"
|
|
||||||
+ id="svg8"
|
|
||||||
+ inkscape:version="0.92.4 5da689c313, 2019-01-14"
|
|
||||||
+ sodipodi:docname="LibreWolf.svg">
|
|
||||||
+ <defs
|
|
||||||
+ id="defs2" />
|
|
||||||
+ <sodipodi:namedview
|
|
||||||
+ id="base"
|
|
||||||
+ pagecolor="#ffffff"
|
|
||||||
+ bordercolor="#666666"
|
|
||||||
+ borderopacity="1.0"
|
|
||||||
+ inkscape:pageopacity="0.0"
|
|
||||||
+ inkscape:pageshadow="2"
|
|
||||||
+ inkscape:zoom="0.9899495"
|
|
||||||
+ inkscape:cx="-15.106575"
|
|
||||||
+ inkscape:cy="110.91343"
|
|
||||||
+ inkscape:document-units="mm"
|
|
||||||
+ inkscape:current-layer="layer1"
|
|
||||||
+ showgrid="false"
|
|
||||||
+ inkscape:window-width="1366"
|
|
||||||
+ inkscape:window-height="711"
|
|
||||||
+ inkscape:window-x="0"
|
|
||||||
+ inkscape:window-y="30"
|
|
||||||
+ inkscape:window-maximized="1"
|
|
||||||
+ inkscape:showpageshadow="false"
|
|
||||||
+ units="px"
|
|
||||||
+ fit-margin-top="0"
|
|
||||||
+ fit-margin-left="0"
|
|
||||||
+ fit-margin-right="0"
|
|
||||||
+ fit-margin-bottom="0" />
|
|
||||||
+ <metadata
|
|
||||||
+ id="metadata5">
|
|
||||||
+ <rdf:RDF>
|
|
||||||
+ <cc:Work
|
|
||||||
+ rdf:about="">
|
|
||||||
+ <dc:format>image/svg+xml</dc:format>
|
|
||||||
+ <dc:type
|
|
||||||
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
+ <dc:title />
|
|
||||||
+ </cc:Work>
|
|
||||||
+ </rdf:RDF>
|
|
||||||
+ </metadata>
|
|
||||||
+ <g
|
|
||||||
+ inkscape:label="Layer 1"
|
|
||||||
+ inkscape:groupmode="layer"
|
|
||||||
+ id="layer1"
|
|
||||||
+ transform="translate(-42.106554,-153.8982)">
|
|
||||||
+ <circle
|
|
||||||
+ style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:0.53545821;stroke-miterlimit:4;stroke-dasharray:none"
|
|
||||||
+ id="path875"
|
|
||||||
+ cx="75.973221"
|
|
||||||
+ cy="187.76486"
|
|
||||||
+ r="33.866669" />
|
|
||||||
+ <path
|
|
||||||
+ style="fill:#ffffff;stroke-width:0.13229167"
|
|
||||||
+ d="m 72.543594,214.67719 c -4.744093,-0.60875 -9.281981,-2.49991 -13.241953,-5.51858 -1.29157,-0.98455 -3.714943,-3.42363 -4.772834,-4.80375 -2.96241,-3.86476 -4.804479,-8.2508 -5.41218,-12.88661 -0.260164,-1.98464 -0.258719,-5.63349 0.0029,-7.44738 1.308078,-9.0677 7.01463,-16.8454 15.20915,-20.72918 3.811512,-1.80647 7.300266,-2.57114 11.730683,-2.57114 7.165903,0 13.5265,2.56749 18.680882,7.54063 2.483054,2.39575 4.148141,4.66808 5.573968,7.60677 1.92868,3.9751 2.70979,7.43276 2.70979,11.99526 0,6.00619 -1.7345,11.24407 -5.336957,16.11672 -1.070527,1.44797 -3.161747,3.64749 -4.549468,4.78507 -3.806562,3.12041 -8.658642,5.23183 -13.473174,5.86296 -1.663528,0.21807 -5.593318,0.24524 -7.120854,0.0492 z m 10.041381,-4.86547 c 2.898391,-0.91366 5.260364,-2.14146 7.540624,-3.91979 1.212494,-0.9456 3.308223,-3.06144 4.186916,-4.22711 2.38328,-3.16162 4.004927,-7.12196 4.482067,-10.94597 0.229814,-1.84182 0.09634,-5.73827 -0.2545,-7.4296 -0.9294,-4.48046 -2.931647,-8.26499 -6.086007,-11.50342 -1.966575,-2.01898 -3.756882,-3.34972 -6.060203,-4.50458 -3.495001,-1.75236 -6.489835,-2.46043 -10.423481,-2.46442 -4.164073,-0.004 -7.815325,0.95024 -11.429055,2.98766 -3.289753,1.85476 -6.690628,5.25952 -8.553227,8.563 -1.371786,2.43299 -2.37583,5.32029 -2.767595,7.95869 -0.256867,1.72991 -0.261933,5.16508 -0.01006,6.82145 0.504067,3.31489 1.761474,6.59111 3.584314,9.33904 0.995409,1.50058 0.964154,1.48393 1.842248,0.98153 1.570774,-0.8987 1.980396,-1.33342 2.836087,-3.00984 1.000624,-1.96036 2.070459,-3.6735 3.037094,-4.86332 1.115822,-1.37347 1.269228,-1.61793 1.828988,-2.9147 0.281654,-0.65249 0.786977,-1.61074 1.122938,-2.12943 l 0.61084,-0.94309 -0.79023,-0.77671 c -1.049647,-1.03168 -1.922751,-2.2016 -2.087012,-2.79651 -0.167761,-0.60758 0.03021,-0.9466 0.818744,-1.40207 0.797354,-0.46057 1.367585,-0.5929 3.498657,-0.81193 1.037629,-0.10665 2.164153,-0.30199 2.518962,-0.43681 0.353024,-0.13414 1.407825,-0.70824 2.344001,-1.27579 2.702947,-1.63863 2.931619,-1.72344 4.552111,-1.68831 1.368686,0.0297 1.371262,0.0291 2.182813,-0.46143 1.700674,-1.02802 4.14305,-2.88289 7.357044,-5.58733 0.61632,-0.5186 1.21002,-0.92569 1.31934,-0.90464 0.45462,0.0876 1.289567,2.13636 1.416407,3.47562 0.07693,0.81225 -0.08023,1.6155 -0.562014,2.87261 -0.13146,0.34301 -0.19208,0.67043 -0.134706,0.7276 0.13774,0.13726 0.610706,-0.4535 0.610706,-0.76279 0,-0.39435 0.261127,-0.43936 0.616327,-0.10623 0.258235,0.24218 0.480842,0.31151 1.000202,0.31151 0.567073,0 0.707447,0.0526 0.928773,0.3479 0.375574,0.50112 0.463647,1.86688 0.176201,2.73231 -0.279641,0.84191 -1.124801,1.81287 -1.891829,2.17341 -0.686334,0.32262 -2.075841,1.67928 -2.726081,2.66164 -0.248906,0.37604 -0.715586,1.15995 -1.037066,1.74204 -0.321487,0.58208 -0.86074,1.46154 -1.19834,1.95436 -0.664294,0.96972 -1.233147,2.3224 -1.782214,4.23798 -0.322553,1.1253 -0.34962,1.41826 -0.362953,3.92797 -0.01613,3.0317 -0.172894,3.77561 -0.9925,4.7091 -0.931805,1.06126 -1.861937,3.39186 -1.940127,4.8613 -0.04935,0.92751 -0.192246,1.83164 -0.395304,2.50122 -0.08942,0.29484 0.07752,0.2914 1.072102,-0.0221 z"
|
|
||||||
+ id="path847"
|
|
||||||
+ inkscape:connector-curvature="0" />
|
|
||||||
+ <path
|
|
||||||
+ sodipodi:type="star"
|
|
||||||
+ style="fill:#00acff;fill-opacity:1;stroke:none;stroke-width:1.5;stroke-miterlimit:4;stroke-dasharray:none"
|
|
||||||
+ id="path814"
|
|
||||||
+ sodipodi:sides="4"
|
|
||||||
+ sodipodi:cx="18.854025"
|
|
||||||
+ sodipodi:cy="172.98837"
|
|
||||||
+ sodipodi:r1="1.6036172"
|
|
||||||
+ sodipodi:r2="1.1339285"
|
|
||||||
+ sodipodi:arg1="1.5707963"
|
|
||||||
+ sodipodi:arg2="2.3561945"
|
|
||||||
+ inkscape:flatsided="true"
|
|
||||||
+ inkscape:rounded="0"
|
|
||||||
+ inkscape:randomized="0"
|
|
||||||
+ d="m 18.854025,174.59199 -1.603617,-1.60362 1.603617,-1.60361 1.603617,1.60361 z"
|
|
||||||
+ transform="matrix(0.23203125,0.40188991,-0.99392962,0.57384553,246.21921,73.888081)" />
|
|
||||||
+ </g>
|
|
||||||
+</svg>
|
|
||||||
+
|
|
||||||
diff --git a/browser/themes/shared/preferences/librewolf.css b/browser/themes/shared/preferences/librewolf.css
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..aeb550c
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/browser/themes/shared/preferences/librewolf.css
|
|
||||||
@@ -0,0 +1,16 @@
|
|
||||||
+.librewolf-collapse > input {
|
|
||||||
+ display: none;
|
|
||||||
+}
|
|
||||||
+.librewolf-collapse > input ~ .librewolf-collapsed {
|
|
||||||
+ display: none;
|
|
||||||
+ /* max-height: 0; */
|
|
||||||
+ transition: max-height 0.25s ease-in-out;
|
|
||||||
+}
|
|
||||||
+.librewolf-collapse > input:checked ~ .librewolf-collapsed {
|
|
||||||
+ display: block;
|
|
||||||
+ /* max-height: 20rem; */
|
|
||||||
+}
|
|
||||||
+.librewolf-warning {
|
|
||||||
+ display: inline;
|
|
||||||
+ font-size: 0.8em;
|
|
||||||
+}
|
|
||||||
diff --git a/browser/themes/shared/preferences/preferences.inc.css b/browser/themes/shared/preferences/preferences.inc.css
|
|
||||||
index 31bffd0..1f9fbcf 100644
|
|
||||||
--- a/browser/themes/shared/preferences/preferences.inc.css
|
|
||||||
+++ b/browser/themes/shared/preferences/preferences.inc.css
|
|
||||||
@@ -201,6 +201,10 @@ checkbox {
|
|
||||||
list-style-image: url("chrome://browser/skin/preferences/category-privacy-security.svg");
|
|
||||||
}
|
|
||||||
|
|
||||||
+#category-librewolf > .category-icon {
|
|
||||||
+ list-style-image: url("chrome://browser/skin/preferences/category-librewolf.svg");
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
#category-sync > .category-icon {
|
|
||||||
list-style-image: url("chrome://browser/skin/preferences/category-sync.svg");
|
|
||||||
}
|
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,17 +0,0 @@
|
||||||
diff --git a/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html b/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
|
|
||||||
--- a/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
|
|
||||||
+++ b/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
|
|
||||||
@@ -54,13 +54,10 @@
|
|
||||||
<div class="info">
|
|
||||||
<h1 id="info-title" data-l10n-id="about-private-browsing-info-title"></h1>
|
|
||||||
<p id="info-body" data-l10n-id="about-private-browsing-info-description"></p>
|
|
||||||
- <a id="private-browsing-myths" data-l10n-id="about-private-browsing-info-myths"></a>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="promo">
|
|
||||||
- <p id="private-browsing-vpn-text" class="vpn-promo" data-l10n-id="about-private-browsing-need-more-privacy"></p>
|
|
||||||
- <a id="private-browsing-vpn-link" class="vpn-promo" data-l10n-id="about-private-browsing-turn-on-vpn"></a>
|
|
||||||
</div>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1,14 +0,0 @@
|
||||||
diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in
|
|
||||||
index 2bdafc86b3..789bece8e6 100644
|
|
||||||
--- a/browser/installer/package-manifest.in
|
|
||||||
+++ b/browser/installer/package-manifest.in
|
|
||||||
@@ -302,6 +302,9 @@
|
|
||||||
; Technically this is an app pref file, but we are keeping it in the original
|
|
||||||
; gre location for now.
|
|
||||||
@RESPATH@/defaults/pref/channel-prefs.js
|
|
||||||
+@RESPATH@/defaults/pref/local-settings.js
|
|
||||||
+@RESPATH@/distribution/policies.json
|
|
||||||
+@RESPATH@/librewolf.cfg
|
|
||||||
|
|
||||||
; Background tasks-specific preferences. These are in the GRE
|
|
||||||
; location since they apply to all tasks at this time.
|
|
||||||
|
|
@ -1,70 +0,0 @@
|
||||||
diff -r 2689403bd0d2 browser/extensions/moz.build
|
|
||||||
--- a/browser/extensions/moz.build Mon Jun 28 12:08:51 2021 +0000
|
|
||||||
+++ b/browser/extensions/moz.build Mon Jun 28 14:29:05 2021 +0200
|
|
||||||
@@ -5,11 +5,8 @@
|
|
||||||
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
||||||
|
|
||||||
DIRS += [
|
|
||||||
- "doh-rollout",
|
|
||||||
"formautofill",
|
|
||||||
"screenshots",
|
|
||||||
- "webcompat",
|
|
||||||
- "report-site-issue",
|
|
||||||
"pictureinpicture",
|
|
||||||
]
|
|
||||||
|
|
||||||
diff -r 2689403bd0d2 browser/locales/Makefile.in
|
|
||||||
--- a/browser/locales/Makefile.in Mon Jun 28 12:08:51 2021 +0000
|
|
||||||
+++ b/browser/locales/Makefile.in Mon Jun 28 14:29:05 2021 +0200
|
|
||||||
@@ -61,7 +61,6 @@
|
|
||||||
ifneq (,$(wildcard ../extensions/formautofill/locales))
|
|
||||||
@$(MAKE) -C ../extensions/formautofill/locales AB_CD=$* XPI_NAME=locale-$*
|
|
||||||
endif
|
|
||||||
- @$(MAKE) -C ../extensions/report-site-issue/locales AB_CD=$* XPI_NAME=locale-$*
|
|
||||||
@$(MAKE) -C ../../devtools/client/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
|
|
||||||
@$(MAKE) -C ../../devtools/startup/locales AB_CD=$* XPI_NAME=locale-$* XPI_ROOT_APPID='$(XPI_ROOT_APPID)'
|
|
||||||
@$(MAKE) l10n AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR)
|
|
||||||
@@ -82,7 +81,6 @@
|
|
||||||
@$(MAKE) -C ../../devtools/startup/locales chrome AB_CD=$*
|
|
||||||
@$(MAKE) chrome AB_CD=$*
|
|
||||||
@$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales chrome AB_CD=$*
|
|
||||||
- @$(MAKE) -C ../extensions/report-site-issue/locales chrome AB_CD=$*
|
|
||||||
|
|
||||||
package-win32-installer: $(SUBMAKEFILES)
|
|
||||||
$(MAKE) -C ../installer/windows CONFIG_DIR=l10ngen ZIP_IN='$(ZIP_OUT)' installer
|
|
||||||
diff -r 2689403bd0d2 browser/locales/filter.py
|
|
||||||
--- a/browser/locales/filter.py Mon Jun 28 12:08:51 2021 +0000
|
|
||||||
+++ b/browser/locales/filter.py Mon Jun 28 14:29:05 2021 +0200
|
|
||||||
@@ -19,7 +19,6 @@
|
|
||||||
"devtools/startup",
|
|
||||||
"browser",
|
|
||||||
"browser/extensions/formautofill",
|
|
||||||
- "browser/extensions/report-site-issue",
|
|
||||||
"extensions/spellcheck",
|
|
||||||
"other-licenses/branding/firefox",
|
|
||||||
"browser/branding/official",
|
|
||||||
diff -r 2689403bd0d2 browser/locales/l10n.ini
|
|
||||||
--- a/browser/locales/l10n.ini Mon Jun 28 12:08:51 2021 +0000
|
|
||||||
+++ b/browser/locales/l10n.ini Mon Jun 28 14:29:05 2021 +0200
|
|
||||||
@@ -13,7 +13,6 @@
|
|
||||||
devtools/client
|
|
||||||
devtools/startup
|
|
||||||
browser/extensions/formautofill
|
|
||||||
- browser/extensions/report-site-issue
|
|
||||||
|
|
||||||
[includes]
|
|
||||||
# non-central apps might want to use %(topsrcdir)s here, or other vars
|
|
||||||
diff -r 2689403bd0d2 browser/locales/l10n.toml
|
|
||||||
--- a/browser/locales/l10n.toml Mon Jun 28 12:08:51 2021 +0000
|
|
||||||
+++ b/browser/locales/l10n.toml Mon Jun 28 14:29:05 2021 +0200
|
|
||||||
@@ -132,10 +132,6 @@
|
|
||||||
l10n = "{l}browser/extensions/formautofill/**"
|
|
||||||
|
|
||||||
[[paths]]
|
|
||||||
- reference = "browser/extensions/report-site-issue/locales/en-US/**"
|
|
||||||
- l10n = "{l}browser/extensions/report-site-issue/**"
|
|
||||||
-
|
|
||||||
-[[paths]]
|
|
||||||
reference = "services/sync/locales/en-US/**"
|
|
||||||
l10n = "{l}services/sync/**"
|
|
||||||
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
||||||
diff --git a/.mozconfig b/.mozconfig
|
|
||||||
index d71c858844e3..2d295de7df72 100755
|
|
||||||
--- a/.mozconfig
|
|
||||||
+++ b/.mozconfig
|
|
||||||
@@ -16,8 +16,8 @@ export MOZILLA_OFFICIAL=1
|
|
||||||
ac_add_options --enable-optimize
|
|
||||||
ac_add_options --enable-official-branding
|
|
||||||
|
|
||||||
-# Let's support GTK3 for ESR60
|
|
||||||
-ac_add_options --enable-default-toolkit=cairo-gtk3
|
|
||||||
+## Let's support GTK3 for ESR60
|
|
||||||
+#ac_add_options --enable-default-toolkit=cairo-gtk3
|
|
||||||
|
|
||||||
ac_add_options --disable-strip
|
|
||||||
ac_add_options --disable-install-strip
|
|
||||||
|
|
@ -1,13 +0,0 @@
|
||||||
diff --git a/browser/components/urlbar/UrlbarProviderInterventions.jsm b/browser/components/urlbar/UrlbarProviderInterventions.jsm
|
|
||||||
index e22886ce92..d46d8191f2 100644
|
|
||||||
--- a/browser/components/urlbar/UrlbarProviderInterventions.jsm
|
|
||||||
+++ b/browser/components/urlbar/UrlbarProviderInterventions.jsm
|
|
||||||
@@ -451,7 +451,7 @@ class ProviderInterventions extends UrlbarProvider {
|
|
||||||
]),
|
|
||||||
});
|
|
||||||
for (let [id, phrases] of Object.entries(DOCUMENTS)) {
|
|
||||||
- queryScorer.addDocument({ id, phrases });
|
|
||||||
+// queryScorer.addDocument({ id, phrases });
|
|
||||||
}
|
|
||||||
return queryScorer;
|
|
||||||
});
|
|
||||||
|
|
@ -1,18 +0,0 @@
|
||||||
diff -r 536a892dd51f browser/components/privatebrowsing/content/aboutPrivateBrowsing.html
|
|
||||||
--- a/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html Tue Jun 22 16:56:13 2021 +0000
|
|
||||||
+++ b/browser/components/privatebrowsing/content/aboutPrivateBrowsing.html Wed Jun 23 07:09:38 2021 +0200
|
|
||||||
@@ -58,6 +58,7 @@
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
+ <!--
|
|
||||||
<div class="promo">
|
|
||||||
<div class="promo-image-large">
|
|
||||||
<img src="" alt="" />
|
|
||||||
@@ -73,5 +74,6 @@
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
+ -->
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
Subproject commit 3b4e0f58b4bec53faa98ec85a3bca36f11a77afc
|
|
||||||
124
old/setup.nsi
124
old/setup.nsi
|
|
@ -1,124 +0,0 @@
|
||||||
#
|
|
||||||
# Change these values to fit your application...
|
|
||||||
#
|
|
||||||
|
|
||||||
!define APPNAME "LibreWolf" # Full app name, like: "Gtk+ 2.0 Hello World"
|
|
||||||
!define PROGNAME "librewolf" # executable name, like: gtk2hello
|
|
||||||
!define PROG_VERSION "pkg_version" # the program version, like: 0.3.0
|
|
||||||
!define ICON_NAME "librewolf.ico" # filename of icon to use for this app
|
|
||||||
!define COMPANYNAME "LibreWolf" # Your name, or company (or just the program name)
|
|
||||||
!define ESTIMATED_SIZE 190000 # Estimated size (in KB) of installed program for use in "add or remove programs" / 190 MB
|
|
||||||
|
|
||||||
#
|
|
||||||
# The actual installer/uninstaller, you should not need to change much here below
|
|
||||||
#
|
|
||||||
|
|
||||||
Name "${PROGNAME}"
|
|
||||||
OutFile "${PROGNAME}-${PROG_VERSION}.en-US.win64-setup.exe"
|
|
||||||
InstallDir $PROGRAMFILES64\${APPNAME}
|
|
||||||
RequestExecutionLevel admin
|
|
||||||
|
|
||||||
Page directory
|
|
||||||
Page instfiles
|
|
||||||
|
|
||||||
function .onInit
|
|
||||||
setShellVarContext all
|
|
||||||
functionEnd
|
|
||||||
|
|
||||||
Section "${PROGNAME}"
|
|
||||||
|
|
||||||
# Copy files
|
|
||||||
SetOutPath $INSTDIR
|
|
||||||
File /r librewolf\*.*
|
|
||||||
|
|
||||||
# Start Menu
|
|
||||||
createDirectory "$SMPROGRAMS\${COMPANYNAME}"
|
|
||||||
createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk" "$INSTDIR\${PROGNAME}.exe" "" "$INSTDIR\${ICON_NAME}"
|
|
||||||
createShortCut "$SMPROGRAMS\${COMPANYNAME}\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" ""
|
|
||||||
|
|
||||||
# Uninstaller
|
|
||||||
writeUninstaller "$INSTDIR\uninstall.exe"
|
|
||||||
|
|
||||||
# Registry information for add/remove programs
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayName" "${APPNAME}"
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "InstallLocation" "$\"$INSTDIR$\""
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayIcon" "$\"$INSTDIR\${ICON_NAME}$\""
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "Publisher" "${COMPANYNAME}"
|
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayVersion" "${PROG_VERSION}"
|
|
||||||
# There is no option for modifying or repairing the install
|
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoModify" 1
|
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoRepair" 1
|
|
||||||
# Set the INSTALLSIZE constant (!defined at the top of this script) so Add/Remove Programs can accurately report the size
|
|
||||||
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "EstimatedSize" ${ESTIMATED_SIZE}
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Registry information to let Windows pick us up in the list of available browsers
|
|
||||||
#
|
|
||||||
|
|
||||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf" "" "LibreWolf"
|
|
||||||
|
|
||||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" "ApplicationDescription" "LibreWolf"
|
|
||||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" "ApplicationIcon" "$INSTDIR\librewolf.exe,0"
|
|
||||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities" "ApplicationName" "LibreWolf"
|
|
||||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\FileAssociations" ".htm" "LibreWolfHTM"
|
|
||||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\FileAssociations" ".html" "LibreWolfHTM"
|
|
||||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\Startmenu" "StartMenuInternet" "LibreWolf"
|
|
||||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\URLAssociations" "http" "LibreWolfHTM"
|
|
||||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\Capabilities\URLAssociations" "https" "LibreWolfHTM"
|
|
||||||
|
|
||||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\DefaultIcon" "" "$INSTDIR\librewolf.exe,0"
|
|
||||||
WriteRegStr HKLM "Software\Clients\StartMenuInternet\LibreWolf\shell\open\command" "" "$INSTDIR\librewolf.exe"
|
|
||||||
|
|
||||||
WriteRegStr HKLM "Software\RegisteredApplications" "LibreWolf" "Software\Clients\StartMenuInternet\LibreWolf\Capabilities"
|
|
||||||
|
|
||||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM" "" "LibreWolf Handler"
|
|
||||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM" "AppUserModelId" "LibreWolf"
|
|
||||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "AppUserModelId" "LibreWolf"
|
|
||||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationIcon" "$INSTDIR\librewolf.exe,0"
|
|
||||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationName" "LibreWolf"
|
|
||||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationDescription" "Howling to Freedom"
|
|
||||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\Application" "ApplicationCompany" "LibreWolf"
|
|
||||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\DefaultIcon" "" "$INSTDIR\librewolf.exe,0"
|
|
||||||
WriteRegStr HKLM "Software\Classes\LibreWolfHTM\shell\open\command" "" "$INSTDIR\librewolf.exe %1"
|
|
||||||
|
|
||||||
SectionEnd
|
|
||||||
|
|
||||||
# Before uninstall, ask for confirmation
|
|
||||||
function un.onInit
|
|
||||||
SetShellVarContext all
|
|
||||||
|
|
||||||
# Verify the uninstaller - last chance to back out
|
|
||||||
# (commented this out, it causes problems with Chocolatey.)
|
|
||||||
# MessageBox MB_OKCANCEL "Permanantly remove ${APPNAME}?" IDOK next
|
|
||||||
# Abort
|
|
||||||
# next:
|
|
||||||
|
|
||||||
functionEnd
|
|
||||||
|
|
||||||
# Uninstaller
|
|
||||||
section "uninstall"
|
|
||||||
|
|
||||||
# Remove Start Menu launcher
|
|
||||||
delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk"
|
|
||||||
delete "$SMPROGRAMS\${COMPANYNAME}\Uninstall.lnk"
|
|
||||||
# Try to remove the Start Menu folder - this will only happen if it is empty
|
|
||||||
rmDir "$SMPROGRAMS\${COMPANYNAME}"
|
|
||||||
|
|
||||||
# Remove files
|
|
||||||
rmDir /r $INSTDIR
|
|
||||||
|
|
||||||
# Remove uninstaller information from the registry
|
|
||||||
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}"
|
|
||||||
|
|
||||||
#
|
|
||||||
# Windows default browser integration
|
|
||||||
#
|
|
||||||
|
|
||||||
DeleteRegKey HKLM "Software\Clients\StartMenuInternet\LibreWolf"
|
|
||||||
DeleteRegKey HKLM "Software\RegisteredApplications"
|
|
||||||
DeleteRegKey HKLM "Software\Classes\LibreWolfHTM"
|
|
||||||
|
|
||||||
sectionEnd
|
|
||||||
Loading…
Add table
Reference in a new issue