This commit is contained in:
Bert van der Weerd 2022-01-08 12:09:57 +01:00
parent 0801ed372f
commit 7a0a57c7cf
No known key found for this signature in database
GPG key ID: 4CFABB96ADE0F5B1
5 changed files with 120 additions and 493 deletions

View file

@ -212,13 +212,13 @@ def execute_extract():
def execute_build(): def execute_build():
enter_srcdir() enter_srcdir()
#exec("bash -c \"MACH_USE_SYSTEM_PYTHON=1 ./mach build\"") exec("bash -c \"MACH_USE_SYSTEM_PYTHON=1 ./mach build\"")
exec("bash -c \"./mach build\"") #exec("bash -c \"./mach build\"")
leave_srcdir() leave_srcdir()
def execute_package(): def execute_package():
enter_srcdir() enter_srcdir()
exec("bash -c \"./mach package\"") exec("bash -c \"MACH_USE_SYSTEM_PYTHON=1 ./mach package\"")
leave_srcdir() leave_srcdir()
@ -389,8 +389,8 @@ def execute_lw_artifacts():
if options.distro != 'osx': if options.distro != 'osx':
if options.distro == 'win': if options.distro == 'win':
exec("mv -v {}/firefox{} {}/librewolf{}".format(librewolfdir,exe,librewolfdir,exe)); exec("mv -v {}/firefox{} {}/librewolf{}".format(librewolfdir,exe,librewolfdir,exe));
exec("rm -rf {}/default-browser-agent* {}/maintainanceservice* {}/pingsender* {}/firefox.*.xml {}/precomplete {}/removed-files {}/uninstall" # exec("rm -rf {}/default-browser-agent* {}/maintainanceservice* {}/pingsender* {}/firefox.*.xml {}/precomplete {}/removed-files {}/uninstall"
.format(librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir)) # .format(librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir,librewolfdir))
exec("cp -v common/source_files/browser/branding/librewolf/firefox.ico {}/librewolf.ico".format(librewolfdir)) exec("cp -v common/source_files/browser/branding/librewolf/firefox.ico {}/librewolf.ico".format(librewolfdir))
if options.distro != 'win': if options.distro != 'win':
exec("cp -v files/register-librewolf files/start-librewolf files/start-librewolf.desktop.in librewolf") exec("cp -v files/register-librewolf files/start-librewolf files/start-librewolf.desktop.in librewolf")

2
common

@ -1 +1 @@
Subproject commit 7b345f392fc28c8868de2edcadd4681d1be123aa Subproject commit 5baa16f8fbceef6ec48ce3cfa4f5d3a9b082a240

4
mk.py
View file

@ -39,8 +39,8 @@ def build():
with open('version','r') as file: with open('version','r') as file:
version = file.read().rstrip() version = file.read().rstrip()
os.chdir('librewolf-{}'.format(version)) os.chdir('librewolf-{}'.format(version))
exec('./mach build') exec('MACH_USE_SYSTEM_PYTHON=1 ./mach build')
exec('./mach package') exec('MACH_USE_SYSTEM_PYTHON=1 ./mach package')
def artifact(): def artifact():
bash('# you gotta figure that out from the previous ./build.py') bash('# you gotta figure that out from the previous ./build.py')

View file

@ -12,10 +12,10 @@ index 4f3babe..97c7ec2 100644
content/browser/preferences/experimental.js content/browser/preferences/experimental.js
diff --git a/browser/components/preferences/librewolf.inc.xhtml b/browser/components/preferences/librewolf.inc.xhtml diff --git a/browser/components/preferences/librewolf.inc.xhtml b/browser/components/preferences/librewolf.inc.xhtml
new file mode 100644 new file mode 100644
index 0000000..74395a0 index 0000000..a4c5313
--- /dev/null --- /dev/null
+++ b/browser/components/preferences/librewolf.inc.xhtml +++ b/browser/components/preferences/librewolf.inc.xhtml
@@ -0,0 +1,381 @@ @@ -0,0 +1,219 @@
+# This Source Code Form is subject to the terms of the Mozilla Public +# 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 +# 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/. +# file, You can obtain one at http://mozilla.org/MPL/2.0/.
@ -55,41 +55,12 @@ index 0000000..74395a0
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category"> + <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-extension-update-description" /> + <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> + <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-extension-update-warning1" class="librewolf-warning" /> </html:div>
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-extension-update-warning2" class="librewolf-warning" /> </html:div>
+ <checkbox preference="extensions.update.autoUpdateDefault" label="extensions.update.autoUpdateDefault" /> + <checkbox preference="extensions.update.autoUpdateDefault" label="extensions.update.autoUpdateDefault" />
+ <checkbox preference="extensions.update.enabled" label="extensions.update.enabled" /> + <checkbox preference="extensions.update.enabled" label="extensions.update.enabled" />
+ </vbox> + </vbox>
+ </vbox> + </vbox>
+ +
+ <hbox> + <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>
+
+ <hbox>
+ <checkbox id="librewolf-restore-session-checkbox" data-l10n-id="librewolf-restore-session-checkbox" preference="browser.startup.page" flex="1" />
+ <html:label for="librewolf-restore-session-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-restore-session-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-restore-session-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-restore-session-warning1" class="librewolf-warning" /> </html:div>
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-restore-session-warning2" class="librewolf-warning" /> </html:div>
+ <checkbox preference="browser.startup.page" label="browser.startup.page == 3" id="librewolf-restore-session-startup-page" />
+ <checkbox preference="privacy.clearOnShutdown.history" label="privacy.clearOnShutdown.history" />
+ </vbox>
+ </vbox>
+
+ <hbox>
+ <checkbox id="librewolf-autocopy-checkbox" data-l10n-id="librewolf-autocopy-checkbox" preference="clipboard.autocopy" flex="1" /> + <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> + <html:label for="librewolf-autocopy-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox> + </hbox>
@ -97,8 +68,6 @@ index 0000000..74395a0
+ <html:input type="checkbox" id="librewolf-autocopy-collapse" /> + <html:input type="checkbox" id="librewolf-autocopy-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category"> + <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-autocopy-description" /> + <label data-l10n-id="librewolf-autocopy-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-autocopy-warning1" class="librewolf-warning" /> </html:div>
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-autocopy-warning2" class="librewolf-warning" /> </html:div>
+ <checkbox preference="clipboard.autocopy" label="clipboard.autocopy" /> + <checkbox preference="clipboard.autocopy" label="clipboard.autocopy" />
+ <checkbox preference="middlemouse.paste" label="middlemouse.paste" /> + <checkbox preference="middlemouse.paste" label="middlemouse.paste" />
+ </vbox> + </vbox>
@ -113,10 +82,25 @@ index 0000000..74395a0
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category"> + <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-styling-description" /> + <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> + <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-styling-warning1" class="librewolf-warning" /> </html:div>
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-styling-warning2" class="librewolf-warning" /> </html:div>
+ <checkbox preference="toolkit.legacyUserProfileCustomizations.stylesheets" label="toolkit.legacyUserProfileCustomizations.stylesheets" /> + <checkbox preference="toolkit.legacyUserProfileCustomizations.stylesheets" label="toolkit.legacyUserProfileCustomizations.stylesheets" />
+ <checkbox preference="layout.css.backdrop-filter.enabled" label="layout.css.backdrop-filter.enabled" /> + </vbox>
+ <checkbox preference="svg.context-properties.content.enabled" label="svg.context-properties.content.enabled" /> + </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>
+ </vbox> + </vbox>
+ +
@ -124,104 +108,20 @@ index 0000000..74395a0
+ +
+<groupbox hidden="true" data-category="paneLibrewolf"> +<groupbox hidden="true" data-category="paneLibrewolf">
+ <html:h2 data-l10n-id="librewolf-broken-heading" /> + <html:h2 data-l10n-id="librewolf-broken-heading" />
+ <label data-l10n-id="librewolf-broken-description" />
+ +
+ <hbox> + <hbox>
+ <checkbox id="librewolf-webgl-checkbox" data-l10n-id="librewolf-webgl-checkbox" preference="webgl.disabled" flex="1" /> + <checkbox id="librewolf-rfp-checkbox" data-l10n-id="librewolf-rfp-checkbox" preference="privacy.resistFingerprinting" flex="1" />
+ <html:label for="librewolf-webgl-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label> + <html:label for="librewolf-rfp-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox> + </hbox>
+ <vbox class="librewolf-collapse indent"> + <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-webgl-collapse" /> + <html:input type="checkbox" id="librewolf-rfp-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category"> + <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-webgl-description" /> + <label data-l10n-id="librewolf-rfp-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-webgl-warning1" class="librewolf-warning" /> </html:div> + <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-rfp-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="webgl.disabled" label="webgl.disabled" /> + <checkbox preference="privacy.resistFingerprinting" label="privacy.resistFingerprinting" />
+ <checkbox preference="webgl.enable-webgl2" label="webgl.enable-webgl2" />
+ </vbox> + </vbox>
+ </vbox> + </vbox>
+ +
+ <hbox>
+ <checkbox id="librewolf-conferencing-checkbox" data-l10n-id="librewolf-conferencing-checkbox" preference="media.peerconnection.enabled" flex="1" />
+ <html:label for="librewolf-conferencing-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-conferencing-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-conferencing-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-conferencing-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="media.peerconnection.enabled" label="media.peerconnection.enabled" />
+ <checkbox preference="media.peerconnection.ice.no_host" label="media.peerconnection.ice.no_host" />
+ </vbox>
+ </vbox>
+
+ <hbox>
+ <checkbox id="librewolf-screensharing-checkbox" data-l10n-id="librewolf-screensharing-checkbox" preference="media.getusermedia.screensharing.enabled" flex="1" />
+ <html:label for="librewolf-screensharing-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-screensharing-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-screensharing-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-screensharing-warning1" class="librewolf-warning" /> </html:div>
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-screensharing-warning2" class="librewolf-warning" /> </html:div>
+ <checkbox preference="media.getusermedia.screensharing.enabled" label="media.getusermedia.screensharing.enabled" />
+ </vbox>
+ </vbox>
+
+ <hbox>
+ <checkbox id="librewolf-geolocation-checkbox" data-l10n-id="librewolf-geolocation-checkbox" preference="geo.enabled" flex="1" />
+ <html:label for="librewolf-geolocation-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-geolocation-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-geolocation-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-geolocation-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="geo.enabled" label="geo.enabled" />
+ </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>
+ <html:div> <label data-l10n-id="librewolf-auto-decline-canvas-warning2" class="librewolf-warning" /> </html:div>
+ <checkbox preference="privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" label="privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" />
+ </vbox>
+ </vbox>
+
+ <hbox>
+ <checkbox id="librewolf-drm-checkbox" data-l10n-id="librewolf-drm-checkbox" preference="media.eme.enabled" flex="1" />
+ <html:label for="librewolf-drm-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-drm-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-drm-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-drm-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="media.eme.enabled" label="media.eme.enabled" />
+ <checkbox preference="media.gmp-widevinecdm.enabled" label="media.gmp-widevinecdm.enabled" />
+ <checkbox preference="media.gmp-widevinecdm.visible" label="media.gmp-widevinecdm.visible" />
+ <checkbox preference="media.gmp-provider.enabled" label="media.gmp-provider.enabled" />
+ <checkbox preference="media.gmp-manager.url" label="media.gmp-manager.url" id="librewolf-drm-url" />
+ </vbox>
+ </vbox>
+
+</groupbox>
+
+<groupbox hidden="true" data-category="paneLibrewolf">
+ <html:h2 data-l10n-id="librewolf-hardened-heading" />
+
+ <!-- the html here is constructed a little bit differently because all the preferences except the first only affect one about:config setting -->
+ <hbox>
+ <checkbox id="librewolf-hardened-master-checkbox" data-l10n-id="librewolf-hardened-master-checkbox" preference="privacy.resistFingerprinting.letterboxing" flex="1" />
+ </hbox>
+
+ <vbox class="indent"> + <vbox class="indent">
+ +
+ <hbox> + <hbox>
@ -237,34 +137,50 @@ index 0000000..74395a0
+ </vbox> + </vbox>
+ +
+ <hbox> + <hbox>
+ <checkbox id="librewolf-web-applications-checkbox" data-l10n-id="librewolf-web-applications-checkbox" preference="javascript.options.asmjs" flex="1" /> + <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-web-applications-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label> + <html:label for="librewolf-auto-decline-canvas-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label>
+ </hbox> + </hbox>
+ <vbox class="librewolf-collapse indent"> + <vbox class="librewolf-collapse indent">
+ <html:input type="checkbox" id="librewolf-web-applications-collapse" /> + <html:input type="checkbox" id="librewolf-auto-decline-canvas-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category"> + <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-web-applications-description" /> + <label data-l10n-id="librewolf-auto-decline-canvas-description" />
+ <checkbox preference="javascript.options.asmjs" label="javascript.options.asmjs" /> + <html:div> <label data-l10n-id="librewolf-auto-decline-canvas-warning1" class="librewolf-warning" /> </html:div>
+ </vbox> + <checkbox preference="privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" label="privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts" />
+ </vbox>
+
+ <hbox>
+ <checkbox id="librewolf-wasm-checkbox" data-l10n-id="librewolf-wasm-checkbox" preference="javascript.options.wasm" flex="1" />
+ <html:label for="librewolf-wasm-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-wasm-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-wasm-description" />
+ <checkbox preference="javascript.options.wasm" label="javascript.options.wasm" />
+ </vbox> + </vbox>
+ </vbox> + </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>
+ +
+<groupbox hidden="true" data-category="paneLibrewolf"> +<groupbox hidden="true" data-category="paneLibrewolf">
+ <html:h2 data-l10n-id="librewolf-misc-heading" /> + <html:h2 data-l10n-id="librewolf-security-heading" />
+ +
+ <hbox> + <hbox>
+ <checkbox id="librewolf-goog-safe-checkbox" data-l10n-id="librewolf-goog-safe-checkbox" preference="browser.safebrowsing.malware.enabled" flex="1" /> + <checkbox id="librewolf-goog-safe-checkbox" data-l10n-id="librewolf-goog-safe-checkbox" preference="browser.safebrowsing.malware.enabled" flex="1" />
@ -275,7 +191,6 @@ index 0000000..74395a0
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category"> + <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-goog-safe-description" /> + <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> + <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-goog-safe-warning1" class="librewolf-warning" /> </html:div>
+ <label data-l10n-id="librewolf-goog-safe-warning2" />
+ <checkbox preference="browser.safebrowsing.malware.enabled" label="browser.safebrowsing.malware.enabled" /> + <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.phishing.enabled" label="browser.safebrowsing.phishing.enabled" />
+ <checkbox preference="browser.safebrowsing.blockedURIs.enabled" label="browser.safebrowsing.blockedURIs.enabled" /> + <checkbox preference="browser.safebrowsing.blockedURIs.enabled" label="browser.safebrowsing.blockedURIs.enabled" />
@ -301,83 +216,6 @@ index 0000000..74395a0
+ </vbox> + </vbox>
+ </vbox> + </vbox>
+ +
+ <!-- TODO commented out because we still are not sure how we want to handle this
+ <hbox>
+ <checkbox id="librewolf-moz-track-prot-checkbox" data-l10n-id="librewolf-moz-track-prot-checkbox" preference="privacy.trackingprotection.enabled" flex="1" />
+ <html:label for="librewolf-moz-track-prot-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-moz-track-prot-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-moz-track-prot-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-moz-track-prot-warning1" class="librewolf-warning" /> </html:div>
+ <checkbox preference="privacy.trackingprotection.enabled" label="privacy.trackingprotection.enabled" />
+ <checkbox preference="browser.contentblocking.cryptomining.preferences.ui.enabled" label="browser.contentblocking.cryptomining.preferences.ui.enabled" />
+ <checkbox preference="browser.contentblocking.fingerprinting.preferences.ui.enabled" label="browser.contentblocking.fingerprinting.preferences.ui.enabled" />
+ <checkbox preference="privacy.trackingprotection.cryptomining.enabled" label="privacy.trackingprotection.cryptomining.enabled" />
+ <checkbox preference="privacy.trackingprotection.fingerprinting.enabled" label="privacy.trackingprotection.fingerprinting.enabled" />
+ <checkbox preference="privacy.trackingprotection.socialtracking.enabled" label="privacy.trackingprotection.socialtracking.enabled" />
+ <checkbox preference="browser.safebrowsing.provider.mozilla.updateURL" label="browser.safebrowsing.provider.mozilla.updateURL" />
+ <checkbox preference="browser.safebrowsing.provider.mozilla.gethashURL" label="browser.safebrowsing.provider.mozilla.gethashURL" />
+ </vbox>
+ </vbox>
+
+ <vbox class="indent">
+ <hbox>
+ <checkbox id="librewolf-moz-track-prot-private-checkbox" data-l10n-id="librewolf-moz-track-prot-private-checkbox" preference="privacy.trackingprotection.pbmode.enabled" flex="1" />
+ <html:label for="librewolf-moz-track-prot-private-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-moz-track-prot-private-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-moz-track-prot-private-description" />
+ <checkbox preference="privacy.trackingprotection.pbmode.enabled" label="privacy.trackingprotection.pbmode.enabled" />
+ </vbox>
+ </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>
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-language-warning2" class="librewolf-warning" /> </html:div>
+ <checkbox preference="extensions.getAddons.langpacks.url" label="extensions.getAddons.langpacks.url" id="librewolf-language-url" />
+ </vbox>
+ </vbox>
+
+ <!-- OCSP settings with a radio button (so totally different from everything else - TODO commented out because it has some issues
+ <hbox>
+ <label data-l10n-id="librewolf-OCSP-header" flex="1" />
+ <html:label for="librewolf-OCSP-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-OCSP-collapse" />
+ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category">
+ <label data-l10n-id="librewolf-OCSP-description" />
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-OCSP-warning1" class="librewolf-warning" /> </html:div>
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-OCSP-warning2" class="librewolf-warning" /> </html:div>
+ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-OCSP-warning3" class="librewolf-warning" /> </html:div>
+ <vbox>
+ <hbox>
+ <radiogroup id="librewolf-OCSP-radiogroup">
+ <radio data-l10n-id="librewolf-OCSP-option0" value="0"/>
+ <radio data-l10n-id="librewolf-OCSP-option1" value="1"/>
+ <radio data-l10n-id="librewolf-OCSP-option2" value="2"/>
+ <radio data-l10n-id="librewolf-OCSP-option3" value="3"/>
+ <radio data-l10n-id="librewolf-OCSP-unknown" value="unknown"/>
+ </radiogroup>
+ </hbox>
+ </vbox>
+ <label data-l10n-id="librewolf-OCSP-prefs" />
+ </vbox>
+ </vbox>
+ -->
+</groupbox> +</groupbox>
+ +
+<hbox class="subcategory" hidden="true" data-category="paneLibrewolf"> +<hbox class="subcategory" hidden="true" data-category="paneLibrewolf">
@ -399,10 +237,10 @@ index 0000000..74395a0
+</html:template> +</html:template>
diff --git a/browser/components/preferences/librewolf.js b/browser/components/preferences/librewolf.js diff --git a/browser/components/preferences/librewolf.js b/browser/components/preferences/librewolf.js
new file mode 100644 new file mode 100644
index 0000000..6a1f974 index 0000000..a633730
--- /dev/null --- /dev/null
+++ b/browser/components/preferences/librewolf.js +++ b/browser/components/preferences/librewolf.js
@@ -0,0 +1,381 @@ @@ -0,0 +1,238 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public +/* 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, + * 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/. */ + * You can obtain one at http://mozilla.org/MPL/2.0/. */
@ -423,37 +261,16 @@ index 0000000..6a1f974
+ { id: "network.dns.disableIPv6", type: "bool" }, + { id: "network.dns.disableIPv6", type: "bool" },
+ // WebGL + // WebGL
+ { id: "webgl.disabled", type: "bool" }, + { id: "webgl.disabled", type: "bool" },
+ { id: "webgl.enable-webgl2", type: "bool" }, + // RFP
+ // Video Conferencing + { id: "privacy.resistFingerprinting", type: "bool" },
+ { id: "media.peerconnection.enabled", type: "bool" },
+ { id: "media.peerconnection.ice.no_host", type: "bool" },
+ { id: "dom.webaudio.enabled", type: "bool" },
+ // Screensharing
+ { id: "media.getusermedia.screensharing.enabled", type: "bool" },
+ // DRM
+ //{ id: "media.eme.enabled", type: "bool" }, //already added
+ { id: "media.gmp-widevinecdm.visible", type: "bool" },
+ { id: "media.gmp-widevinecdm.enabled", type: "bool" },
+ { id: "media.gmp-provider.enabled", type: "bool" },
+ { id: "media.gmp-manager.url", type: "string" },
+ // Automatically Update Extensions + // Automatically Update Extensions
+ { id: "extensions.update.enabled", type: "bool" }, + { id: "extensions.update.enabled", type: "bool" },
+ { id: "extensions.update.autoUpdateDefault", type: "bool" }, + { id: "extensions.update.autoUpdateDefault", type: "bool" },
+ // Clipboard autocopy/paste + // Clipboard autocopy/paste
+ { id: "clipboard.autocopy", type: "bool" }, + { id: "clipboard.autocopy", type: "bool" },
+ { id: "middlemouse.paste", type: "bool" }, + { id: "middlemouse.paste", type: "bool" },
+ // Search Suggestions //This is in the FAQ but it is also in about:preferences#search so I don't think it should be included here
+ //{ id: "browser.search.suggest.enabled", type: "bool" },
+ //{ id: "browser.urlbar.suggest.searches", type: "bool" },
+ // Harden + // Harden
+ { id: "javascript.options.asmjs", type: "bool" },
+ { id: "javascript.options.wasm", type: "bool" },
+ { id: "privacy.resistFingerprinting.letterboxing", type: "bool" }, + { id: "privacy.resistFingerprinting.letterboxing", type: "bool" },
+ { id: "dom.event.clipboardevents.enabled", type: "bool" },
+ // OCSP certificate revocation
+ //{ id: "security.OCSP.enabled", type: "int" }, //Already enabled
+ { id: "security.OCSP.require", type: "bool" },
+ { id: "security.pki.crlite_mode", type: "int" },
+ // Google Safe Browsing + // Google Safe Browsing
+ //{ id: "browser.safebrowsing.malware.enabled", type: "bool" }, // Already loaded + //{ id: "browser.safebrowsing.malware.enabled", type: "bool" }, // Already loaded
+ //{ id: "browser.safebrowsing.phishing.enabled", type: "bool" }, + //{ id: "browser.safebrowsing.phishing.enabled", type: "bool" },
@ -462,31 +279,14 @@ index 0000000..6a1f974
+ { id: "browser.safebrowsing.provider.google4.updateURL", type: "string" }, + { id: "browser.safebrowsing.provider.google4.updateURL", type: "string" },
+ { id: "browser.safebrowsing.provider.google.gethashURL", type: "string" }, + { id: "browser.safebrowsing.provider.google.gethashURL", type: "string" },
+ { id: "browser.safebrowsing.provider.google.updateURL", type: "string" }, + { id: "browser.safebrowsing.provider.google.updateURL", type: "string" },
+ // Restore Previous Session
+ //{ id: "browser.startup.page", type: "int" }, //Already added
+ { id: "privacy.clearOnShutdown.history", type: "bool" },
+ /**** Prefs that require changing a lockPref ****/ + /**** Prefs that require changing a lockPref ****/
+ // Google safe browsing check downloads + // Google safe browsing check downloads
+ //{ id: "browser.safebrowsing.downloads.enabled", type: "bool" }, //Also already added + //{ id: "browser.safebrowsing.downloads.enabled", type: "bool" }, //Also already added
+ // Mozilla Tracking Protection
+ //{ id: "privacy.trackingprotection.enabled", type: "bool" }, //Already added
+ //{ id: "privacy.trackingprotection.pbmode.enabled", type: "bool" }, //already added
+ { id: "browser.contentblocking.cryptomining.preferences.ui.enabled", type: "bool" },
+ { id: "browser.contentblocking.fingerprinting.preferences.ui.enabled", type: "bool" },
+ { id: "browser.safebrowsing.provider.mozilla.updateURL", type: "string" },
+ { id: "browser.safebrowing.provider.mozilla.gethashURL", type: "string" },
+ //{ id: "privacy.trackingprotection.cryptomining.enabled", type: "bool" }, //Already added
+ //{ id: "privacy.trackingprotection.fingerprinting.enabled", type: "bool" }, //Already added
+ //{ id: "privacy.trackingprotection.socialtracking.enabled", type: "bool" }, //Already added
+ { id: "toolkit.legacyUserProfileCustomizations.stylesheets", type: "bool" }, + { id: "toolkit.legacyUserProfileCustomizations.stylesheets", type: "bool" },
+ { id: "layout.css.backdrop-filter.enabled", type: "bool" },
+ { id: "svg.context-properties.content.enabled", type: "bool" },
+ // Install language packs + // Install language packs
+ { id: "extensions.getAddons.langpacks.url", type: "string" }, + { id: "extensions.getAddons.langpacks.url", type: "string" },
+ // Canvas UI when blocked + // Canvas UI when blocked
+ { id: "privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts", type: "bool" }, + { id: "privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts", type: "bool" },
+ // Geolocation data
+ { id: "geo.enabled", type: "bool" },
+]); +]);
+ +
+var gLibrewolfPane = { +var gLibrewolfPane = {
@ -507,13 +307,6 @@ index 0000000..6a1f974
+ ["network.dns.disableIPv6"], + ["network.dns.disableIPv6"],
+ [false, ], + [false, ],
+ ); + );
+ setSyncListeners(
+ "librewolf-restore-session-checkbox",
+ ["browser.startup.page", "privacy.clearOnShutdown.history", ],
+ [3, false, ],
+ [1, true, ],
+ );
+ setSyncListeners("librewolf-restore-session-startup-page", ["browser.startup.page"], [3], [1]);
+ setBoolSyncListeners( + setBoolSyncListeners(
+ "librewolf-autocopy-checkbox", + "librewolf-autocopy-checkbox",
+ ["clipboard.autocopy", "middlemouse.paste"], + ["clipboard.autocopy", "middlemouse.paste"],
@ -521,45 +314,31 @@ index 0000000..6a1f974
+ ); + );
+ setBoolSyncListeners( + setBoolSyncListeners(
+ "librewolf-styling-checkbox", + "librewolf-styling-checkbox",
+ ["toolkit.legacyUserProfileCustomizations.stylesheets", "layout.css.backdrop-filter.enabled", "svg.context-properties.content.enabled"], + ["toolkit.legacyUserProfileCustomizations.stylesheets"],
+ [true, true, true ], + [true, ],
+ ); + );
+ +
+ setBoolSyncListeners( + setBoolSyncListeners(
+ "librewolf-webgl-checkbox", + "librewolf-webgl-checkbox",
+ ["webgl.disabled", "webgl.enable-webgl2"], + ["webgl.disabled"],
+ [false, true ], + [false ],
+ ); + );
+ setBoolSyncListeners( + setBoolSyncListeners(
+ "librewolf-conferencing-checkbox", + "librewolf-rfp-checkbox",
+ ["media.peerconnection.enabled", "media.peerconnection.ice.no_host"], + ["privacy.resistFingerprinting"],
+ [true, true, ], + [true ],
+ );
+ setBoolSyncListeners(
+ "librewolf-screensharing-checkbox",
+ ["media.getusermedia.screensharing.enabled"],
+ [true ],
+ ); + );
+ setBoolSyncListeners( + setBoolSyncListeners(
+ "librewolf-auto-decline-canvas-checkbox", + "librewolf-auto-decline-canvas-checkbox",
+ ["privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts"], + ["privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts"],
+ [true ], + [true ],
+ ); + );
+ setSyncListeners(
+ "librewolf-drm-checkbox",
+ ["media.eme.enabled", "media.gmp-widevinecdm.visible", "media.gmp-widevinecdm.enabled", "media.gmp-provider.enabled", "media.gmp-manager.url"],
+ [true, true, true, true, "https://aus5.mozilla.org/update/3/GMP/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml"],
+ [false, false, false, false, "" ],
+ );
+ setSyncListeners("librewolf-drm-url", ["media.gmp-manager.url"], ["https://aus5.mozilla.org/update/3/GMP/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml"], [""]);
+ +
+ setBoolSyncListeners( + setBoolSyncListeners(
+ "librewolf-hardened-master-checkbox", + "librewolf-letterboxing-checkbox",
+ ["privacy.resistFingerprinting.letterboxing", "javascript.options.asmjs", "javascript.options.wasm"], + ["privacy.resistFingerprinting.letterboxing"],
+ [true, false, false ], + [true ],
+ ); + );
+ setBoolSyncListeners("librewolf-web-applications-checkbox", ["javascript.options.asmjs"], [false]);
+ setBoolSyncListeners("librewolf-wasm-checkbox", ["javascript.options.wasm"], [false]);
+ +
+ setSyncListeners( + setSyncListeners(
+ "librewolf-goog-safe-checkbox", + "librewolf-goog-safe-checkbox",
@ -591,54 +370,9 @@ index 0000000..6a1f974
+ "", + "",
+ ] + ]
+ ); + );
+ /* TODO commented out because lockpref and also unsure what we want to do with it
+ setSyncListeners(
+ "librewolf-moz-track-prot-checkbox",
+ [
+ "privacy.trackingprotection.enabled",
+ "browser.contentblocking.cryptomining.preferences.ui.enabled",
+ "browser.contentblocking.fingerprinting.preferences.ui.enabled",
+ "privacy.trackingprotection.cryptomining.enabled",
+ "privacy.trackingprotection.fingerprinting.enabled",
+ "privacy.trackingprotection.socialtracking.enabled",
+ "browser.safebrowsing.provider.mozilla.updateURL",
+ "browser.safebrowing.provider.mozilla.gethashURL",
+ ],
+ [
+ true,
+ true,
+ true,
+ true,
+ true,
+ true,
+ "https://shavar.services.mozilla.com/downloads?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2",
+ "https://shavar.services.mozilla.com/gethash?client=SAFEBROWSING_ID&appver=%MAJOR_VERSION%&pver=2.2",
+ ],
+ [
+ false,
+ false,
+ false,
+ 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-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%"], [""]); + 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 listeners on the radio buttons for OCSP
+ /* TODO commented out because not ready yet
+ syncFromOCSP();
+ setEventListener("librewolf-OCSP-radiogroup", "command", syncToOCSP);
+ // Update radio-value when the pref changes
+ Preferences.get("security.pki.crlite_mode").on("change", syncFromOCSP);
+ Preferences.get("security.OCSP.enabled").on("change", syncFromOCSP);
+ Preferences.get("security.OCSP.require").on("change", syncFromOCSP);
+ */
+
+ // Set event listener on open profile directory button + // Set event listener on open profile directory button
+ setEventListener("librewolf-open-profile-button", "command", openProfileDirectory); + setEventListener("librewolf-open-profile-button", "command", openProfileDirectory);
+ // Set event listener on open about:config button + // Set event listener on open about:config button
@ -745,45 +479,6 @@ index 0000000..6a1f974
+ return writeArr[0]; + return writeArr[0];
+} +}
+ +
+function syncFromOCSP() {
+ let OCSPpolicy = getPref("security.OCSP.enabled");
+ let OCSPrequire = getPref("security.OCSP.require");
+ let crlitePolicy = getPref("security.pki.crlite_mode");
+ let radioButtons = document.getElementById("librewolf-OCSP-radiogroup");
+
+ if (OCSPpolicy == 0 && OCSPrequire == false && crlitePolicy == 0) {
+ radioButtons.value = "0";
+ } else if (OCSPpolicy == 0 && OCSPrequire == false && crlitePolicy == 1) {
+ radioButtons.value = "1";
+ } else if (OCSPpolicy == 1 && OCSPrequire == true && crlitePolicy == 1) {
+ radioButtons.value = "2";
+ } else if (OCSPpolicy == 1 && OCSPrequire == true && crlitePolicy == 0) {
+ radioButtons.value = "3";
+ } else {
+ radioButtons.value = "unknown";
+ }
+ console.log(radioButtons.value);
+}
+function syncToOCSP() {
+ let value = document.getElementById("librewolf-OCSP-radiogroup").value;
+ if (value == "0") {
+ Services.prefs.setBoolPref("security.OCSP.require", false);
+ Services.prefs.setIntPref("security.OCSP.enabled", 0);
+ Services.prefs.setIntPref("security.pki.crlite_mode", 0);
+ } else if (value == "1") {
+ Services.prefs.setBoolPref("security.OCSP.require", false);
+ Services.prefs.setIntPref("security.OCSP.enabled", 0);
+ Services.prefs.setIntPref("security.pki.crlite_mode", 1);
+ } else if (value == "2") {
+ Services.prefs.setBoolPref("security.OCSP.require", true);
+ Services.prefs.setIntPref("security.OCSP.enabled", 1);
+ Services.prefs.setIntPref("security.pki.crlite_mode", 1);
+ } else if (value == "3") {
+ Services.prefs.setBoolPref("security.OCSP.require", true);
+ Services.prefs.setIntPref("security.OCSP.enabled", 1);
+ Services.prefs.setIntPref("security.pki.crlite_mode", 0);
+ } // else value == "unknown" and do nothing
+}
diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js
index 91e9e46..763ab49 100644 index 91e9e46..763ab49 100644
--- a/browser/components/preferences/preferences.js --- a/browser/components/preferences/preferences.js
@ -843,10 +538,10 @@ index aab4a9e..907a631 100644
#include sync.inc.xhtml #include sync.inc.xhtml
#include experimental.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 diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl
index d276f7a..9a3bcd3 100644 index d276f7a..938bec3 100644
--- a/browser/locales/en-US/browser/preferences/preferences.ftl --- a/browser/locales/en-US/browser/preferences/preferences.ftl
+++ b/browser/locales/en-US/browser/preferences/preferences.ftl +++ b/browser/locales/en-US/browser/preferences/preferences.ftl
@@ -1347,3 +1347,152 @@ choose-download-folder-title = Choose Download Folder: @@ -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... # $service-name (String) - Name of a cloud storage provider like Dropbox, Google Drive, etc...
save-files-to-cloud-storage = save-files-to-cloud-storage =
.label = Save files to { $service-name } .label = Save files to { $service-name }
@ -866,134 +561,65 @@ index d276f7a..9a3bcd3 100644
+# Page Layout +# Page Layout
+librewolf-general-heading = Browser Behavior +librewolf-general-heading = Browser Behavior
+librewolf-extension-update-checkbox = +librewolf-extension-update-checkbox =
+ .label = Extensions & Themes auto-update + .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 = +librewolf-ipv6-checkbox =
+ .label = Enable IPv6 + .label = Enable IPv6
+librewolf-restore-session-checkbox =
+ .label = Restore previous session
+librewolf-autocopy-checkbox =
+ .label = Enable Linux-style copy/paste
+librewolf-styling-checkbox =
+ .label = Advanced CSS styling
+librewolf-search-suggest-checkbox = Search Suggestions
+ +
+librewolf-broken-heading = Restricted Content +librewolf-broken-heading = Fingerprinting
+librewolf-broken-description = There is a reason these are all turned off by default, and unless you require them for some reason, they should probably stay that way.
+librewolf-webgl-checkbox = +librewolf-webgl-checkbox =
+ .label = Enable WebGL + .label = Enable WebGL
+librewolf-conferencing-checkbox = +librewolf-rfp-checkbox =
+ .label = Peer Connections + .label = Enable ResistFingerprinting
+librewolf-screensharing-checkbox =
+ .label = Screensharing
+librewolf-geolocation-checkbox =
+ .label = Geolocation Data
+librewolf-auto-decline-canvas-checkbox = +librewolf-auto-decline-canvas-checkbox =
+ .label = Hide canvas request popups + .label = Silently block canvas access requests
+
+librewolf-drm-checkbox =
+ .label = Serve DRM-restricted content
+
+librewolf-hardened-heading = Hardened Privacy and Security
+librewolf-hardened-master-checkbox =
+ .label = Select all hardening options
+librewolf-letterboxing-checkbox = +librewolf-letterboxing-checkbox =
+ .label = Window Letterboxing + .label = Enable letterboxing
+librewolf-web-applications-checkbox =
+ .label = Disable asm.js
+librewolf-wasm-checkbox =
+ .label = Disable Web Assembly
+ +
+librewolf-misc-heading = Miscellaneous Options +librewolf-security-heading = Security
+librewolf-goog-safe-checkbox = +librewolf-goog-safe-checkbox =
+ .label = Enable Google Safe Browsing + .label = Enable Google Safe Browsing
+librewolf-goog-safe-download-checkbox = +librewolf-goog-safe-download-checkbox =
+ .label = Allow Google Safe Browsing to view your downloads + .label = Scan downloads
+librewolf-moz-track-prot-checkbox =
+ .label = Enable Mozilla Tracking Protection
+librewolf-moz-track-prot-private-checkbox =
+ .label = Mozilla Tracking Protection in private windows
+librewolf-language-checkbox = +librewolf-language-checkbox =
+ .label = Allow installation of other language packs + .label = Allow the installation of other language packs
+librewolf-OCSP-checkbox =
+ .label = Change OCSP options
+ +
+# In-depth descriptions +# In-depth descriptions
+librewolf-extension-update-description = Keep Extensions and Themes up to date without manual intervention (recommended) +librewolf-extension-update-description = Keep extensions up to date without manual intervention. A good choice for your security.
+librewolf-extension-update-warning1 = When you automatically install anything, you can't review the code before installation +librewolf-extension-update-warning1 = If you don't review the code of your extensions before every update, you should enable this option.
+librewolf-extension-update-warning2 = Will trigger network activity periodically without user input
+ +
+librewolf-ipv6-description = Allow { -brand-short-name } to connect using IPv6 +librewolf-ipv6-description = Allow { -brand-short-name } to connect using IPv6.
+librewolf-ipv6-warning1 = IPv6 is often configured in a way that leaks your MAC address, and sometimes doesn't work properly through a VPN +librewolf-ipv6-warning1 = Before you change this, make sure your OS uses the IPv6 privacy extension.
+ +
+librewolf-restore-session-description = Restores previously opened tabs when you close your browser +librewolf-autocopy-description = Select some text to copy it, then paste it with a middle-mouse click.
+librewolf-restore-session-warning1 = Anyone who may have physical access to your device may see your browsing history
+librewolf-restore-session-warning2 = Forces { -brand-short-name } to store history
+ +
+librewolf-autocopy-description = Selecting text copies it to your clipboard; middle-mouse pastes text +librewolf-styling-description = Enable this if you want to customize the UI with a manually loaded theme.
+librewolf-autocopy-warning1 = Any data copied to the clipboard may be observed by any native applications on your computer +librewolf-styling-warning1 = Make sure you trust the provider of the theme.
+librewolf-autocopy-warning2 = Highlighting or pasting the wrong information could leak it to a malicious actor
+ +
+librewolf-styling-description = Allow { -brand-short-name } to load `chrome/userChrome.css` and customize the UI +librewolf-webgl-description = WebGL is a strong fingerprinting vector.
+librewolf-styling-warning1 = Ensure that you trust any providers of stylesheets that you use +librewolf-webgl-warning1 = If you need to enable it, consider using an extension like Canvas Blocker.
+librewolf-styling-warning2 = The librewolf team has not thoroughly researched these preferences and cannot guarantee there are no security/privacy risks, keep off if you don't use this
+ +
+librewolf-webgl-description = Run Javascript code that uses WebGL +librewolf-rfp-description = ResistFingerprinting is the best in class anti-fingerprinting tool.
+librewolf-webgl-warning1 = WebGL can be used for fingerprinting - extensions like Canvas Blocker can help if you need this on +librewolf-rfp-warning1 = If you need to disable it, consider using an extension like Canvas Blocker.
+ +
+librewolf-conferencing-description = These preferences are required to use certain websites, typically Video Conferencing ones +librewolf-auto-decline-canvas-description = Automatically deny canvas access to websites, without prompting the user.
+librewolf-conferencing-warning1 = WebRTC can leak your IP address, even behind a VPN +librewolf-auto-decline-canvas-warning1 = It is still possible to allow canvas access from the urlbar.
+ +
+librewolf-screensharing-description = Allow websites to share your screen +librewolf-letterboxing-description = Letterboxing applies margins around your windows, in order to return a limited set of rounded resolutions.
+librewolf-screensharing-warning1 = Be mindful of which websites you allow to view your screen as that information can be used in ways you may not approve
+librewolf-screensharing-warning2 = You will likely have to enable canvas access after granting permission to screenshare
+ +
+librewolf-geolocation-description = TODO Enabling this allows websites to access your physical location if they request it +librewolf-goog-safe-description = If you are worried about malware and phishing, consider enabling it.
+librewolf-geolocation-warning1 = TODO This may significantly reduce your privacy and give websites information you don't want them to know +librewolf-goog-safe-warning1 = Disabled over censorship concerns but recommended for less advanced users. All the checks happen locally.
+ +
+librewolf-auto-decline-canvas-description = Remove "Allow X to use your HTML5 canvas image data" popups. Instead, automatically block them. +librewolf-goog-safe-download-description = Allow Safe Browsing to scan your downloads to identify suspicious files.
+librewolf-auto-decline-canvas-warning1 = There is no reason not to select this, it just will require you to click the icon in the URL bar if you want to enable canvas. +librewolf-goog-safe-download-warning1 = All the checks happen locally.
+librewolf-auto-decline-canvas-warning2 = Enabling canvas should always be done with caution, as websites can very easily fingerprint your computer via the way it draws a canvas.
+ +
+librewolf-drm-description = Allow your browser to work against you :( +librewolf-language-description = Enable this if you want to install language packs from the settings.
+librewolf-drm-warning1 = Digital Rights Management does not protect your own digital rights, and it limits the freedom for everyone to share information +librewolf-language-warning1 = LibreWolf forces everything to en-US, so changing your language might make you stand out.
+
+librewolf-letterboxing-description = Letterboxing dynamically resizes the inner window by applying margins in stepped ranges, creating a fixed resolution
+librewolf-web-applications-description = asm.js is an older specification, which allows JavaScript to software written in languages like C, C++ etc. It is deprecated in favor of WebAssembly. This preference disables it to improve security.
+librewolf-wasm-description = WebAssembly has powerful low-level access, making certain attacks (brute-force, crytopmining, malware) and security exploits more possible. This preference disables it.
+
+librewolf-goog-safe-description = Enable Google Safe Browsing
+librewolf-goog-safe-warning1 = Turning this preference on may give corporations the power to censor the internet or control what content you view
+librewolf-goog-safe-warning2 = If you are worried about malware, phishing, or do not trust yourself to keep yourself safe, it can be useful
+
+librewolf-goog-safe-download-description = Have Google scan all the files you download to verify their security
+librewolf-goog-safe-download-warning1 = Who does the server really serve?
+
+librewolf-moz-track-prot-description = Enable Mozilla Tracking Protection
+librewolf-moz-track-prot-warning1 = uBlock Origin already provides most of the useful functionality that turning this on will provide
+librewolf-moz-track-prot-private-description = Run Mozilla Tracking Protection in private windows
+
+librewolf-language-description = Enable installation of other language packs from Mozilla
+librewolf-language-warning1 = ResistFingerprinting is used by many en_US users, but not many other users. Changing your language pack will most likely result in a unique fingerprint.
+librewolf-language-warning2 = You are recommended NOT to do this unless you absolutely need to for any reason.
+
+# OCSP settings
+librewolf-OCSP-header = Change OCSP Options
+librewolf-OCSP-description = These settings control how Librewolf tests the certificates of the websites you visit
+librewolf-OCSP-warning1 = This is a tradeoff between security and privacy
+librewolf-OCSP-warning2 = Going to unsigned websites may expose you to a Man-In-The-Middle attack
+librewolf-OCSP-warning3 = Using OCSP will leak information about the sites you visit to the Certificate Authority, though crlite does not
+librewolf-OCSP-prefs = The preferences affected are 'security.pki.crlite_mode', 'security.OCSP.enabled', and 'security.OCSP.require'
+
+librewolf-OCSP-option0 =
+ .label = Do not require signing of certificates
+librewolf-OCSP-option1 =
+ .label = Use crlite, fall back to trusting an unknown certificate
+librewolf-OCSP-option2 =
+ .label = Use crlite, fall back to requiring OCSP verification
+librewolf-OCSP-option3 =
+ .label = Always use OCSP to verify certificates
+librewolf-OCSP-unknown =
+ .label = Unknown (selecting this does nothing)
+ +
+# Footer +# Footer
+librewolf-footer = Useful links +librewolf-footer = Useful links

1
release Normal file
View file

@ -0,0 +1 @@
3