diff options
-rw-r--r-- | .gitignore | 6 | ||||
-rw-r--r-- | bootstrap-without-vcs.patch | 121 | ||||
-rw-r--r-- | handlers.patch | 232 | ||||
-rw-r--r-- | hide-default-browser.patch | 8 | ||||
-rw-r--r-- | librewolf-branding.tgz | bin | 1631848 -> 1631902 bytes | |||
-rw-r--r-- | librewolf-pref-pane.patch | 325 | ||||
-rwxr-xr-x | librewolf.cfg | 16 | ||||
-rw-r--r-- | librewolf.spec | 87 | ||||
-rw-r--r-- | policies.json | 2 | ||||
-rw-r--r-- | pref-naming.patch | 14 | ||||
-rw-r--r-- | remap-links.patch | 145 | ||||
-rw-r--r-- | stop-undesired-requests2.patch | 62 | ||||
-rw-r--r-- | uBlock0@raymondhill.net.xpi | bin | 0 -> 3021270 bytes |
13 files changed, 896 insertions, 122 deletions
@@ -498,6 +498,12 @@ firefox-3.6.4.source.tar.bz2 /firefox-langpacks-98.0-20220301.tar.xz /firefox-langpacks-98.0-20220304.tar.xz /firefox-langpacks-98.0-20220305.tar.xz +/firefox-98.0.2.source.tar.xz +/firefox-langpacks-98.0.2-20220331.tar.xz +/firefox-99.0.source.tar.xz +/firefox-langpacks-99.0-20220331.tar.xz +/firefox-langpacks-99.0.1-20220413.tar.xz +/firefox-99.0.1.source.tar.xz *.spec? .*.swp *.source.tar.xz diff --git a/bootstrap-without-vcs.patch b/bootstrap-without-vcs.patch new file mode 100644 index 0000000..289af12 --- /dev/null +++ b/bootstrap-without-vcs.patch @@ -0,0 +1,121 @@ +--- a/python/mozboot/mozboot/bootstrap.py ++++ b/python/mozboot/mozboot/bootstrap.py +@@ -548,11 +548,9 @@ def current_firefox_checkout(env, hg: Optional[Path] = None): + + if not len(path.parents): + break ++ path = path.parent + +- raise UserError( +- "Could not identify the root directory of your checkout! " +- "Are you running `mach bootstrap` in an hg or git clone?" +- ) ++ return ("local", Path.cwd()) + + + def update_git_tools(git: Optional[Path], root_state_dir: Path): +--- a/python/mozversioncontrol/mozversioncontrol/__init__.py ++++ b/python/mozversioncontrol/mozversioncontrol/__init__.py +@@ -684,6 +684,29 @@ class GitRepository(Repository): + self._run("config", name, value) + + ++class LocalRepository(Repository): ++ ++ def __init__(self, path): ++ super(LocalRepository, self).__init__(path, tool="true") ++ ++ @property ++ def head_ref(self): ++ return "" ++ ++ def get_outgoing_files(self): ++ return [] ++ ++ def get_changed_files(self): ++ return [] ++ ++ def get_tracked_files_finder(self): ++ files = [os.path.relpath(os.path.join(dp, f), self.path).replace("\\","/") for dp, dn, fn in os.walk(self.path) for f in fn] ++ files.sort() ++ return FileListFinder(files) ++ ++ ++ ++ + def get_repository_object(path: Optional[Union[str, Path]], hg="hg", git="git"): + """Get a repository object for the repository at `path`. + If `path` is not a known VCS repository, raise an exception. +@@ -697,7 +720,7 @@ def get_repository_object(path: Optional[Union[str, Path]], hg="hg", git="git"): + elif (path / ".git").exists(): + return GitRepository(path, git=git) + else: +- raise InvalidRepoPath(f"Unknown VCS, or not a source checkout: {path}") ++ return LocalRepository(path) + + + def get_repository_from_build_config(config): +@@ -721,6 +744,8 @@ def get_repository_from_build_config(config): + return HgRepository(Path(config.topsrcdir), hg=config.substs["HG"]) + elif flavor == "git": + return GitRepository(Path(config.topsrcdir), git=config.substs["GIT"]) ++ elif flavor == "local": ++ return LocalRepository(config.topsrcdir) + else: + raise MissingVCSInfo("unknown VCS_CHECKOUT_TYPE value: %s" % flavor) + +--- a/third_party/python/taskcluster_taskgraph/taskgraph/util/vcs.py ++++ b/third_party/python/taskcluster_taskgraph/taskgraph/util/vcs.py +@@ -168,6 +168,43 @@ class GitRepository(Repository): + self.run("checkout", ref) + + ++class LocalRepository(Repository): ++ tool = "true" ++ ++ @property ++ def head_ref(self): ++ return "" ++ ++ def get_outgoing_files(self): ++ return [] ++ ++ def get_changed_files(self): ++ return [] ++ ++ def base_ref(self): ++ raise Exception("Unimplemented") ++ ++ def branch(self): ++ raise Exception("Unimplemented") ++ ++ def get_commit_message(self): ++ raise Exception("Unimplemented") ++ ++ def get_url(self): ++ return "" ++ ++ def update(self): ++ raise Exception("Unimplemented") ++ ++ def working_directory_clean(self): ++ raise Exception("Unimplemented") ++ ++ def get_tracked_files_finder(self): ++ files = [os.path.relpath(os.path.join(dp, f), self.path).replace("\\","/") for dp, dn, fn in os.walk(self.path) for f in fn] ++ files.sort() ++ return FileListFinder(files) ++ ++ + def get_repository(path): + """Get a repository object for the repository at `path`. + If `path` is not a known VCS repository, raise an exception. +@@ -178,7 +215,7 @@ def get_repository(path): + elif os.path.exists(os.path.join(path, ".git")): + return GitRepository(path) + +- raise RuntimeError("Current directory is neither a git or hg repository") ++ return LocalRepository(path) + + + def find_hg_revision_push_info(repository, revision): diff --git a/handlers.patch b/handlers.patch new file mode 100644 index 0000000..2916500 --- /dev/null +++ b/handlers.patch @@ -0,0 +1,232 @@ +--- a/uriloader/exthandler/HandlerList.jsm ++++ b/uriloader/exthandler/HandlerList.jsm +@@ -13,228 +13,7 @@ this.kHandlerList = { + schemes: { + mailto: { + handlers: [ +- { +- name: "Gmail", +- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s", +- }, +- ], +- }, +- }, +- }, +- cs: { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Seznam", +- uriTemplate: "https://email.seznam.cz/newMessageScreen?mailto=%s", +- }, +- { +- name: "Gmail", +- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s", +- }, +- ], +- }, +- }, +- }, +- csb: { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Poczta Interia.pl", +- uriTemplate: "http://poczta.interia.pl/mh/?mailto=%s", +- }, +- { +- name: "OnetPoczta", +- uriTemplate: "http://poczta.onet.pl/napisz.html?uri=%s", +- }, +- ], +- }, +- }, +- }, +- "es-CL": { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Gmail", +- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s", +- }, +- { +- name: "Outlook", +- uriTemplate: +- "https://outlook.live.com/default.aspx?rru=compose&to=%s", +- }, +- ], +- }, +- }, +- }, +- "ja-JP-mac": { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Yahoo!メール", +- uriTemplate: "https://mail.yahoo.co.jp/compose/?To=%s", +- }, +- { +- name: "Gmail", +- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s", +- }, +- ], +- }, +- }, +- }, +- ja: { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Yahoo!メール", +- uriTemplate: "https://mail.yahoo.co.jp/compose/?To=%s", +- }, +- { +- name: "Gmail", +- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s", +- }, +- ], +- }, +- }, +- }, +- kk: { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Яндекс.Почта", +- uriTemplate: "https://mail.yandex.ru/compose?mailto=%s", +- }, +- { +- name: "Mail.Ru", +- uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s", +- }, +- { +- name: "Gmail", +- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s", +- }, +- ], +- }, +- }, +- }, +- ltg: { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Gmail", +- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s", +- }, +- { +- name: "inbox.lv mail", +- uriTemplate: "https://mail.inbox.lv/compose?to=%s", +- }, +- ], +- }, +- }, +- }, +- lv: { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Gmail", +- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s", +- }, +- { +- name: "inbox.lv mail", +- uriTemplate: "https://mail.inbox.lv/compose?to=%s", +- }, +- ], +- }, +- }, +- }, +- pl: { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Poczta Interia.pl", +- uriTemplate: "https://poczta.interia.pl/mh/?mailto=%s", +- }, +- { +- name: "Gmail", +- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s", +- }, +- ], +- }, +- }, +- }, +- ru: { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Яндекс.Почту", +- uriTemplate: "https://mail.yandex.ru/compose?mailto=%s", +- }, +- { +- name: "Mail.Ru", +- uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s", +- }, +- { +- name: "Gmail", +- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s", +- }, +- ], +- }, +- }, +- }, +- sah: { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Яндекс.Почта", +- uriTemplate: "https://mail.yandex.ru/compose?mailto=%s", +- }, +- { +- name: "Mail.Ru", +- uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s", +- }, +- ], +- }, +- }, +- }, +- uk: { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Gmail", +- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s", +- }, +- { +- name: "Outlook", +- uriTemplate: +- "https://outlook.live.com/default.aspx?rru=compose&to=%s", +- }, +- ], +- }, +- }, +- }, +- uz: { +- schemes: { +- mailto: { +- handlers: [ +- { +- name: "Gmail", +- uriTemplate: "https://mail.google.com/mail/?extsrc=mailto&url=%s", +- }, +- { +- name: "Mail.Ru", +- uriTemplate: "https://e.mail.ru/cgi-bin/sentmsg?mailto=%s", +- }, ++ {}, + ], + }, + }, diff --git a/hide-default-browser.patch b/hide-default-browser.patch index 4923780..3db1aa3 100644 --- a/hide-default-browser.patch +++ b/hide-default-browser.patch @@ -1,8 +1,10 @@ -diff --git a/browser/components/preferences/main.inc.xhtml b/browser/components/preferences/main.inc.xhtml -index 855ee64..617911a 100644 --- a/browser/components/preferences/main.inc.xhtml +++ b/browser/components/preferences/main.inc.xhtml -@@ -32,7 +32,7 @@ +@@ -29,10 +29,11 @@ + <vbox id="startupPageBox"> + <checkbox id="browserRestoreSession" + data-l10n-id="startup-restore-windows-and-tabs"/> ++ <label id="sessionRestoreLearnMore" is="text-link" class="learnMore" data-l10n-id="session-restore-learn-more"/> </vbox> #ifdef HAVE_SHELL_SERVICE diff --git a/librewolf-branding.tgz b/librewolf-branding.tgz Binary files differindex a3f0bff..609f94e 100644 --- a/librewolf-branding.tgz +++ b/librewolf-branding.tgz diff --git a/librewolf-pref-pane.patch b/librewolf-pref-pane.patch index 974b43d..8f24965 100644 --- a/librewolf-pref-pane.patch +++ b/librewolf-pref-pane.patch @@ -1,23 +1,27 @@ -diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml -new file mode 100644 -index 0000000..2badfe9 ---- /dev/null -+++ b/.gitlab-ci.yml -@@ -0,0 +1,12 @@ -+stages: -+ - build -+ -+create-patch: -+ stage: build -+ variables: -+ GIT_DEPTH: 200 -+ script: -+ - git diff 1fee314adc81000294fc0cf3196a758e4b64dace > librewolf-pref-pane.patch -+ artifacts: -+ paths: -+ - librewolf-pref-pane.patch +From 7da96b1ab28e2e0e9e61bb4b3d7645a2d31e36cb Mon Sep 17 00:00:00 2001 +From: ohfp <1813007-ohfp@users.noreply.gitlab.com> +Date: Tue, 12 Apr 2022 11:57:53 +0200 +Subject: [PATCH 1/2] port pref-pane patch changes to gecko-dev + +--- + browser/components/preferences/jar.mn | 1 + + .../preferences/librewolf.inc.xhtml | 254 +++++++++++++++++ + browser/components/preferences/librewolf.js | 260 ++++++++++++++++++ + browser/components/preferences/preferences.js | 2 + + .../components/preferences/preferences.xhtml | 13 + + .../en-US/browser/preferences/preferences.ftl | 90 ++++++ + browser/themes/shared/jar.inc.mn | 2 + + .../shared/preferences/category-librewolf.svg | 96 +++++++ + .../themes/shared/preferences/librewolf.css | 23 ++ + .../themes/shared/preferences/preferences.css | 4 + + 10 files changed, 745 insertions(+) + create mode 100644 browser/components/preferences/librewolf.inc.xhtml + create mode 100644 browser/components/preferences/librewolf.js + create mode 100644 browser/themes/shared/preferences/category-librewolf.svg + create mode 100644 browser/themes/shared/preferences/librewolf.css + diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn -index 4f3babe..97c7ec2 100644 +index 752b0b2ae3d2..0aa6f606b851 100644 --- a/browser/components/preferences/jar.mn +++ b/browser/components/preferences/jar.mn @@ -11,6 +11,7 @@ browser.jar: @@ -30,10 +34,10 @@ index 4f3babe..97c7ec2 100644 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..f27541d +index 000000000000..7a582fb9bb0c --- /dev/null +++ b/browser/components/preferences/librewolf.inc.xhtml -@@ -0,0 +1,224 @@ +@@ -0,0 +1,254 @@ +# 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/. @@ -78,6 +82,18 @@ index 0000000..f27541d + </vbox> + </vbox> + ++ <hbox> ++ <checkbox id="librewolf-sync-checkbox" data-l10n-id="librewolf-sync-checkbox" preference="identity.fxaccounts.enabled" flex="1" /> ++ <html:label for="librewolf-sync-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-sync-collapse" /> ++ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category"> ++ <label data-l10n-id="librewolf-sync-description" /> ++ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-sync-warning1" class="librewolf-warning" /> </html:div> ++ <checkbox preference="identity.fxaccounts.enabled" label="identity.fxaccounts.enabled" /> ++ </vbox> ++ </vbox> + + <hbox> + <checkbox id="librewolf-autocopy-checkbox" data-l10n-id="librewolf-autocopy-checkbox" preference="clipboard.autocopy" flex="1" /> @@ -126,6 +142,24 @@ index 0000000..f27541d +</groupbox> + +<groupbox hidden="true" data-category="paneLibrewolf"> ++ <html:h2 data-l10n-id="librewolf-privacy-heading" /> ++ ++ <hbox> ++ <checkbox id="librewolf-xorigin-ref-checbox" data-l10n-id="librewolf-xorigin-ref-checbox" preference="network.http.referer.XOriginPolicy" flex="1" /> ++ <html:label for="librewolf-xorigin-ref-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-xorigin-ref-collapse" /> ++ <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category"> ++ <label data-l10n-id="librewolf-xorigin-ref-description" /> ++ <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-xorigin-ref-warning1" class="librewolf-warning" /> </html:div> ++ <checkbox preference="network.http.referer.XOriginPolicy" label="network.http.referer.XOriginPolicy" /> ++ </vbox> ++ </vbox> ++ ++</groupbox> ++ ++<groupbox hidden="true" data-category="paneLibrewolf"> + <html:h2 data-l10n-id="librewolf-broken-heading" /> + + <hbox> @@ -260,10 +294,10 @@ index 0000000..f27541d +</html:template> diff --git a/browser/components/preferences/librewolf.js b/browser/components/preferences/librewolf.js new file mode 100644 -index 0000000..ee49f0f +index 000000000000..23395f027a50 --- /dev/null +++ b/browser/components/preferences/librewolf.js -@@ -0,0 +1,240 @@ +@@ -0,0 +1,260 @@ +/* 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/. */ @@ -275,14 +309,17 @@ index 0000000..ee49f0f +XPCOMUtils.defineLazyGetter(this, "L10n", () => { + return new Localization([ + "branding/brand.ftl", -+ "browser/preferences/preferences.ftl", ++ "browser/locales/en-US/browser/preferences/preferences.ftl", + ]); +}); + +Preferences.addAll([ -+ // IPv6 -+ { id: "network.dns.disableIPv6", type: "bool" }, -+ { id: "security.OCSP.require", type: "bool" }, ++ // IPv6 ++ { id: "network.dns.disableIPv6", type: "bool" }, ++ // ocsp hard-fail ++ { id: "security.OCSP.require", type: "bool" }, ++ // ocsp hard-fail ++ { id: "identity.fxaccounts.enabled", type: "bool" }, + // WebGL + { id: "webgl.disabled", type: "bool" }, + // RFP @@ -293,6 +330,8 @@ index 0000000..ee49f0f + // Clipboard autocopy/paste + { id: "clipboard.autocopy", type: "bool" }, + { id: "middlemouse.paste", type: "bool" }, ++ // XOrigin referrers ++ { id: "network.http.referer.XOriginPolicy", type: "int"}, + // Harden + { id: "privacy.resistFingerprinting.letterboxing", type: "bool" }, + // Google Safe Browsing @@ -335,6 +374,11 @@ index 0000000..ee49f0f + [true, ], + ); + setBoolSyncListeners( ++ "librewolf-sync-checkbox", ++ ["identity.fxaccounts.enabled"], ++ [true, ], ++ ); ++ setBoolSyncListeners( + "librewolf-autocopy-checkbox", + ["clipboard.autocopy", "middlemouse.paste"], + [true, true ], @@ -398,6 +442,8 @@ index 0000000..ee49f0f + ] + ); + ++ Preferences.get("network.http.referer.XOriginPolicy").on("change", syncXOriginPolicy(Preferences.get("network.http.referer.XOriginPolicy"))); ++ + // Set event listener on open profile directory button + setEventListener("librewolf-open-profile", "command", openProfileDirectory); + // Set event listener on open about:config button @@ -408,6 +454,14 @@ index 0000000..ee49f0f + }, +}; + ++function syncXOriginPolicy(prefValue) { ++ if (prefValue == "0" || prefValue == "1") { ++ Services.prefs.setIntPref("network.http.referer.XOriginPolicy", 2); ++ } else { ++ Services.prefs.setIntPref("network.http.referer.XOriginPolicy", 0); ++ } ++} ++ +function openProfileDirectory() { + // Get the profile directory. + let currProfD = Services.dirsvc.get("ProfD", Ci.nsIFile); @@ -505,7 +559,7 @@ index 0000000..ee49f0f +} + diff --git a/browser/components/preferences/preferences.js b/browser/components/preferences/preferences.js -index 91e9e46..763ab49 100644 +index f6dc2b3781f8..7d401fc63219 100644 --- a/browser/components/preferences/preferences.js +++ b/browser/components/preferences/preferences.js @@ -8,6 +8,7 @@ @@ -516,7 +570,7 @@ index 91e9e46..763ab49 100644 /* import-globals-from sync.js */ /* import-globals-from experimental.js */ /* import-globals-from moreFromMozilla.js */ -@@ -117,6 +118,7 @@ function init_all() { +@@ -191,6 +192,7 @@ function init_all() { register_module("paneHome", gHomePane); register_module("paneSearch", gSearchPane); register_module("panePrivacy", gPrivacyPane); @@ -525,10 +579,10 @@ index 91e9e46..763ab49 100644 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 +index 81059f3d2e01..d815682d68bc 100644 --- a/browser/components/preferences/preferences.xhtml +++ b/browser/components/preferences/preferences.xhtml -@@ -12,6 +12,7 @@ +@@ -13,6 +13,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"?> @@ -536,7 +590,7 @@ index aab4a9e..907a631 100644 <!DOCTYPE html> -@@ -128,6 +129,17 @@ +@@ -129,6 +130,17 @@ <label class="category-name" flex="1" data-l10n-id="pane-privacy-title"></label> </richlistitem> @@ -554,7 +608,7 @@ index aab4a9e..907a631 100644 <richlistitem id="category-sync" class="category" hidden="true" -@@ -201,6 +213,7 @@ +@@ -211,6 +223,7 @@ #include home.inc.xhtml #include search.inc.xhtml #include privacy.inc.xhtml @@ -563,10 +617,10 @@ index aab4a9e..907a631 100644 #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..127c8e1 100644 +index 8c3f3f575598..40fdfefd7e52 100644 --- a/browser/locales/en-US/browser/preferences/preferences.ftl +++ b/browser/locales/en-US/browser/preferences/preferences.ftl -@@ -1347,3 +1347,82 @@ choose-download-folder-title = Choose Download Folder: +@@ -1372,3 +1372,93 @@ 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 } @@ -579,7 +633,7 @@ index d276f7a..127c8e1 100644 + .tooltiptext = about:config changes, logically grouped and easily accessible + +# Main content -+librewolf-header = Librewolf Preferences ++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. + @@ -587,6 +641,8 @@ index d276f7a..127c8e1 100644 +librewolf-general-heading = Browser Behavior +librewolf-extension-update-checkbox = + .label = Update add-ons automatically ++librewolf-sync-checkbox = ++ .label = Enable Firefox Sync +librewolf-autocopy-checkbox = + .label = Enable middle click paste +librewolf-styling-checkbox = @@ -596,11 +652,13 @@ index d276f7a..127c8e1 100644 +librewolf-ipv6-checkbox = + .label = Enable IPv6 + ++librewolf-privacy-heading = Privacy ++librewolf-xorigin-ref-checbox = ++ .label = Limit cross-origin referrers ++ +librewolf-broken-heading = Fingerprinting +librewolf-webgl-checkbox = + .label = Enable WebGL -+librewolf-ocsp-checkbox = -+ .label = Enforce OCSP hard-fail +librewolf-rfp-checkbox = + .label = Enable ResistFingerprinting +librewolf-auto-decline-canvas-checkbox = @@ -609,6 +667,8 @@ index d276f7a..127c8e1 100644 + .label = Enable letterboxing + +librewolf-security-heading = Security ++librewolf-ocsp-checkbox = ++ .label = Enforce OCSP hard-fail +librewolf-goog-safe-checkbox = + .label = Enable Google Safe Browsing +librewolf-goog-safe-download-checkbox = @@ -621,13 +681,18 @@ index d276f7a..127c8e1 100644 +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-ocsp-description = Prevent connecting to a website if the OCSP check cannot be performed. -+librewolf-ocsp-warning1 = This increases security, but it will cause breakage when a OCSP server is down. ++librewolf-ocsp-warning1 = This increases security, but it will cause breakage when an OCSP server is down. ++librewolf-sync-description = Sync your data with other browsers. Requires restart. ++librewolf-sync-warning1 = Firefox Sync encrypts data locally before transmitting it to the server. + +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-xorigin-ref-description = Send a referrer only on same-origin. ++librewolf-xorigin-ref-warning1 = This causes breakage. Additionally, even when sent referrers will still be trimmed. ++ +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. + @@ -650,28 +715,28 @@ index d276f7a..127c8e1 100644 +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 +index 9e25fa92fd4c..f47605332b3f 100644 --- a/browser/themes/shared/jar.inc.mn +++ b/browser/themes/shared/jar.inc.mn -@@ -79,6 +79,7 @@ +@@ -86,6 +86,7 @@ skin/classic/browser/preferences/android-menu.svg (../shared/preferences/android-menu.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/face-sad.svg (../shared/preferences/face-sad.svg) -@@ -97,6 +98,7 @@ + skin/classic/browser/preferences/containers.css (../shared/preferences/containers.css) +@@ -108,6 +109,7 @@ skin/classic/browser/preferences/vpn-logo.svg (../shared/preferences/vpn-logo.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.css (../shared/upgradeDialog.css) + skin/classic/browser/spotlight.css (../shared/spotlight.css) + skin/classic/browser/upgradeDialog/abstract.png (../shared/upgradeDialog/abstract.png) 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 +index 000000000000..8ebf2ebe19a9 --- /dev/null +++ b/browser/themes/shared/preferences/category-librewolf.svg @@ -0,0 +1,96 @@ @@ -773,7 +838,7 @@ index 0000000..8ebf2eb + diff --git a/browser/themes/shared/preferences/librewolf.css b/browser/themes/shared/preferences/librewolf.css new file mode 100644 -index 0000000..12f926a +index 000000000000..12f926ab7018 --- /dev/null +++ b/browser/themes/shared/preferences/librewolf.css @@ -0,0 +1,23 @@ @@ -800,11 +865,11 @@ index 0000000..12f926a + -moz-context-properties: fill, fill-opacity; + fill: currentColor; +} -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 { +diff --git a/browser/themes/shared/preferences/preferences.css b/browser/themes/shared/preferences/preferences.css +index 8b110d3eed52..801b1835a7a4 100644 +--- a/browser/themes/shared/preferences/preferences.css ++++ b/browser/themes/shared/preferences/preferences.css +@@ -222,6 +222,10 @@ checkbox { list-style-image: url("chrome://browser/skin/preferences/category-privacy-security.svg"); } @@ -815,3 +880,159 @@ index 31bffd0..1f9fbcf 100644 #category-sync > .category-icon { list-style-image: url("chrome://browser/skin/preferences/category-sync.svg"); } +-- +2.35.1 + + +From 05a4e5c148f53263b65577724ab857b16b516673 Mon Sep 17 00:00:00 2001 +From: ohfp <1813007-ohfp@users.noreply.gitlab.com> +Date: Thu, 14 Apr 2022 10:28:41 +0200 +Subject: [PATCH 2/2] fix xorigin pref init and handling + +--- + .../preferences/librewolf.inc.xhtml | 4 +- + browser/components/preferences/librewolf.js | 48 ++++++++++++------- + .../en-US/browser/preferences/preferences.ftl | 2 +- + 3 files changed, 33 insertions(+), 21 deletions(-) + +diff --git a/browser/components/preferences/librewolf.inc.xhtml b/browser/components/preferences/librewolf.inc.xhtml +index 7a582fb9bb0c..c2dfea6d0858 100644 +--- a/browser/components/preferences/librewolf.inc.xhtml ++++ b/browser/components/preferences/librewolf.inc.xhtml +@@ -105,7 +105,7 @@ + <html:h2 data-l10n-id="librewolf-privacy-heading" /> + + <hbox> +- <checkbox id="librewolf-xorigin-ref-checbox" data-l10n-id="librewolf-xorigin-ref-checbox" preference="network.http.referer.XOriginPolicy" flex="1" /> ++ <checkbox id="librewolf-xorigin-ref-checkbox" data-l10n-id="librewolf-xorigin-ref-checkbox" preference="network.http.referer.XOriginPolicy" flex="1" /> + <html:label for="librewolf-xorigin-ref-collapse" class="sidebar-footer-link" pack="end"> <image class="sidebar-footer-icon help-icon"/> </html:label> + </hbox> + <vbox class="librewolf-collapse indent"> +@@ -113,7 +113,7 @@ + <vbox class="librewolf-collapsed tracking-protection-ui content-blocking-category"> + <label data-l10n-id="librewolf-xorigin-ref-description" /> + <html:div> <image src="chrome://browser/skin/warning.svg" /> <label data-l10n-id="librewolf-xorigin-ref-warning1" class="librewolf-warning" /> </html:div> +- <checkbox preference="network.http.referer.XOriginPolicy" label="network.http.referer.XOriginPolicy" /> ++ <checkbox disabled="true" preference="network.http.referer.XOriginPolicy" label="network.http.referer.XOriginPolicy" /> + </vbox> + </vbox> + +diff --git a/browser/components/preferences/librewolf.js b/browser/components/preferences/librewolf.js +index 23395f027a50..95c5dbb48291 100644 +--- a/browser/components/preferences/librewolf.js ++++ b/browser/components/preferences/librewolf.js +@@ -9,17 +9,17 @@ var { AppConstants } = ChromeUtils.import( "resource://gre/modules/AppConstants. + XPCOMUtils.defineLazyGetter(this, "L10n", () => { + return new Localization([ + "branding/brand.ftl", +- "browser/locales/en-US/browser/preferences/preferences.ftl", ++ "browser/preferences/preferences.ftl", + ]); + }); + + Preferences.addAll([ +- // IPv6 +- { id: "network.dns.disableIPv6", type: "bool" }, +- // ocsp hard-fail +- { id: "security.OCSP.require", type: "bool" }, +- // ocsp hard-fail +- { id: "identity.fxaccounts.enabled", type: "bool" }, ++ // IPv6 ++ { id: "network.dns.disableIPv6", type: "bool" }, ++ // ocsp hard-fail ++ { id: "security.OCSP.require", type: "bool" }, ++ // ocsp hard-fail ++ { id: "identity.fxaccounts.enabled", type: "bool" }, + // WebGL + { id: "webgl.disabled", type: "bool" }, + // RFP +@@ -31,7 +31,7 @@ Preferences.addAll([ + { id: "clipboard.autocopy", type: "bool" }, + { id: "middlemouse.paste", type: "bool" }, + // XOrigin referrers +- { id: "network.http.referer.XOriginPolicy", type: "int"}, ++ { id: "network.http.referer.XOriginPolicy", type: "int" }, + // Harden + { id: "privacy.resistFingerprinting.letterboxing", type: "bool" }, + // Google Safe Browsing +@@ -47,7 +47,10 @@ Preferences.addAll([ + //{ id: "browser.safebrowsing.downloads.enabled", type: "bool" }, //Also already added + { id: "toolkit.legacyUserProfileCustomizations.stylesheets", type: "bool" }, + // Canvas UI when blocked +- { id: "privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts", type: "bool" }, ++ { ++ id: "privacy.resistFingerprinting.autoDeclineNoUserInputCanvasPrompts", ++ type: "bool", ++ }, + ]); + + var gLibrewolfPane = { +@@ -142,7 +145,12 @@ var gLibrewolfPane = { + ] + ); + +- Preferences.get("network.http.referer.XOriginPolicy").on("change", syncXOriginPolicy(Preferences.get("network.http.referer.XOriginPolicy"))); ++ setXOriginPolicySyncListeners( ++ "librewolf-xorigin-ref-checkbox", ++ "network.http.referer.XOriginPolicy", ++ [1, 2], ++ [0] ++ ); + + // Set event listener on open profile directory button + setEventListener("librewolf-open-profile", "command", openProfileDirectory); +@@ -154,12 +162,16 @@ var gLibrewolfPane = { + }, + }; + +-function syncXOriginPolicy(prefValue) { +- if (prefValue == "0" || prefValue == "1") { +- Services.prefs.setIntPref("network.http.referer.XOriginPolicy", 2); +- } else { +- Services.prefs.setIntPref("network.http.referer.XOriginPolicy", 0); +- } ++function setXOriginPolicySyncListeners(checkboxid, pref, onVals, offVals) { ++ setSyncFromPrefListener(checkboxid, () => onVals.includes(getPref(pref))); ++ setSyncToPrefListener(checkboxid, () => ++ writeGenericPrefs([pref], [2], [0], document.getElementById(checkboxid).checked) ++ ); ++ Preferences.get(pref).on("change", () => ++ makeMasterCheckboxesReactive(checkboxid, () => ++ onVals.includes(getPref(pref)) ++ ) ++ ); + } + + function openProfileDirectory() { +@@ -196,13 +208,13 @@ function setSyncListeners(checkboxid, opts, onVals, offVals) { + } + + function makeMasterCheckboxesReactive(checkboxid, func) { +- let shouldBeChecked = func(); ++ const 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); ++ const retval = Preferences.get(pref); + /* if (retval === undefined) { + return defaultValue; + } */ +diff --git a/browser/locales/en-US/browser/preferences/preferences.ftl b/browser/locales/en-US/browser/preferences/preferences.ftl +index 40fdfefd7e52..bfde1423dc1a 100644 +--- a/browser/locales/en-US/browser/preferences/preferences.ftl ++++ b/browser/locales/en-US/browser/preferences/preferences.ftl +@@ -1401,7 +1401,7 @@ librewolf-ipv6-checkbox = + .label = Enable IPv6 + + librewolf-privacy-heading = Privacy +-librewolf-xorigin-ref-checbox = ++librewolf-xorigin-ref-checkbox = + .label = Limit cross-origin referrers + + librewolf-broken-heading = Fingerprinting +-- +2.35.1 + diff --git a/librewolf.cfg b/librewolf.cfg index 8525c82..e88c2b7 100755 --- a/librewolf.cfg +++ b/librewolf.cfg @@ -6,7 +6,7 @@ * * WARNING: please make sure the first line of this file is empty. this is a known bug. */ -defaultPref("librewolf.cfg.version", "6.0"); +defaultPref("librewolf.cfg.version", "6.2"); /** INDEX @@ -255,7 +255,6 @@ lockPref("browser.safebrowsing.provider.google4.dataSharing.enabled", false); lockPref("browser.safebrowsing.provider.google4.dataSharingURL", ""); /** [SECTION] OTHERS */ -lockPref("security.csp.enable", true); // enforce csp, default defaultPref("network.IDN_show_punycode", true); // use punycode in idn to prevent spoofing defaultPref("pdfjs.enableScripting", false); // disable js scripting in the built-in pdf reader @@ -301,15 +300,11 @@ defaultPref("browser.search.suggest.enabled", false); defaultPref("browser.search.update", false); defaultPref("browser.urlbar.trimURLs", false); /** - * quicksuggest is a feature of firefox that shows sponsored suggestions. we disable it in full - * but the list could and should be trimmed at some point. the scenario controls the opt-in, while - * the second pref disables the feature and hides it from the ui. + * the pref disables the whole feature and hide it from the ui + * (as noted in https://bugzilla.mozilla.org/show_bug.cgi?id=1755057). + * this also includes the best match feature, as it is part of firefox suggest. */ -lockPref("browser.urlbar.quicksuggest.scenario", "history"); -lockPref("browser.urlbar.quicksuggest.enabled", false); -lockPref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); -lockPref("browser.urlbar.suggest.quicksuggest.sponsored", false); -lockPref("browser.urlbar.quicksuggest.dataCollection.enabled", false); // default +pref("browser.urlbar.quicksuggest.enabled", false); /** [SECTION] DOWNLOADS * user interaction should always be required for downloads, as a way to enhance security by asking @@ -476,6 +471,7 @@ defaultPref("browser.contentblocking.report.monitor.enabled", false); lockPref("browser.contentblocking.report.hide_vpn_banner", true); lockPref("browser.contentblocking.report.vpn.enabled", false); lockPref("browser.contentblocking.report.show_mobile_app", false); +lockPref("browser.vpn_promo.enabled", false); // ...about:addons recommendations sections and more defaultPref("extensions.htmlaboutaddons.recommendations.enabled", false); defaultPref("extensions.getAddons.showPane", false); diff --git a/librewolf.spec b/librewolf.spec index e8ab38b..fa4350b 100644 --- a/librewolf.spec +++ b/librewolf.spec @@ -126,7 +126,7 @@ ExcludeArch: aarch64 %if %{?system_nss} %global nspr_version 4.26 %global nspr_build_version %{nspr_version} -%global nss_version 3.74 +%global nss_version 3.76 %global nss_build_version %{nss_version} %endif @@ -163,13 +163,13 @@ ExcludeArch: aarch64 Summary: Mozilla Firefox Web browser Name: librewolf %global enable_mozilla_crashreporter 0 -Version: 98.0 -Release: 3%{?pre_tag}%{?dist} +Version: 99.0.1 +Release: 1%{?pre_tag}%{?dist} URL: https://www.mozilla.org/firefox/ License: MPLv1.1 or GPLv2+ or LGPLv2+ Source0: https://archive.mozilla.org/pub/firefox/releases/%{version}%{?pre_version}/source/firefox-%{version}%{?pre_version}.source.tar.xz %if %{with langpacks} -Source1: firefox-langpacks-%{version}%{?pre_version}-20220305.tar.xz +Source1: firefox-langpacks-%{version}%{?pre_version}-20220413.tar.xz %endif Source2: cbindgen-vendor.tar.xz Source10: firefox-mozconfig @@ -217,17 +217,8 @@ Patch49: build-arm-libaom.patch Patch53: firefox-gcc-build.patch Patch54: mozilla-1669639.patch Patch55: firefox-testing.patch -Patch57: firefox-disable-ffvpx-with-vapi.patch Patch61: firefox-glibc-dynstack.patch Patch62: build-python.patch -#Patch64: mozilla-1753402.patch -# GCC12 build fixes -Patch65: D139022.diff -Patch66: D139078.diff -Patch67: D139088.diff -Patch68: D139703.diff -Patch69: D139704.diff -Patch70: crossbeam-downgrade-rhbz2063961.patch Patch71: 0001-GLIBCXX-fix-for-GCC-12.patch # Test patches @@ -253,11 +244,8 @@ Patch402: mozilla-1196777.patch Patch407: mozilla-1667096.patch Patch408: mozilla-1663844.patch Patch415: mozilla-1670333.patch -# ffmpeg50 -Patch500: D139696.diff -Patch501: D139697.diff -Patch502: D139698.diff -Patch503: D139699.diff +Patch416: D141827.diff +Patch417: D141828.diff # PGO/LTO patches Patch600: pgo.patch @@ -424,7 +412,7 @@ Source102: local-settings.js Source103: policies.json Source104: search-config.json Patch900: allow-ubo-private-mode.patch -Patch901: bootstrap-without-vcs2.patch +Patch901: bootstrap-without-vcs.patch Patch902: context-menu.patch Patch903: custom-ubo-assets-bootstrap-location.patch Patch904: disable-data-reporting-at-compile-time.patch @@ -434,16 +422,18 @@ Patch907: remove_addons.patch Patch908: allow-searchengines-non-esr.patch Patch909: disable-pocket.patch Patch910: remove-internal-plugin-certs.patch -Patch911: stop-undesired-requests.patch -Patch912: hide-default-browser.patch -Patch913: pref-naming.patch -Patch914: privacy-preferences.patch -Patch915: remove-branding-urlbar.patch -Patch916: remove-cfrprefs.patch -Patch917: remove-organization-policy-banner.patch -Patch918: remove-snippets-from-home.patch -Patch919: sanitizing-description.patch -Patch920: urlbarprovider-interventions.patch +Patch911: stop-undesired-requests2.patch +Patch912: handlers.patch +Patch913: hide-default-browser.patch +Patch914: pref-naming.patch +Patch915: privacy-preferences.patch +Patch916: remap-links.patch +Patch917: remove-branding-urlbar.patch +Patch918: remove-cfrprefs.patch +Patch919: remove-organization-policy-banner.patch +Patch920: remove-snippets-from-home.patch +Patch921: sanitizing-description.patch +Patch922: urlbarprovider-interventions.patch %description Mozilla Firefox is an open-source web browser, designed for standards @@ -503,17 +493,6 @@ This package contains results of tests executed during build. %patch49 -p1 -b .build-arm-libaom %patch53 -p1 -b .firefox-gcc-build %patch54 -p1 -b .1669639 -#%patch55 -p1 -b .testing -%patch57 -p1 -b .ffvpx-with-vapi -#%patch64 -p1 -b .1753402 -%patch65 -p1 -b .D139022 -%patch66 -p1 -b .D139078 -%patch67 -p1 -b .D139088 -%patch68 -p1 -b .D139703 -%patch69 -p1 -b .D139704 -%ifarch aarch64 -%patch70 -p1 -b .crossbeam-downgrade-rhbz2063961 -%endif %patch71 -p1 -b .0001-GLIBCXX-fix-for-GCC-12 # Test patches @@ -537,14 +516,8 @@ This package contains results of tests executed during build. %patch407 -p1 -b .1667096 %patch408 -p1 -b .1663844 %patch415 -p1 -b .1670333 - -# ffmpeg50 -%ifnarch ppc64le -%patch500 -p1 -b .D139696 -%patch501 -p1 -b .D139697 -%patch502 -p1 -b .D139698 -%patch503 -p1 -b .D139699 -%endif +%patch416 -p1 -b .D141827 +%patch417 -p1 -b .D141828 # PGO patches %if %{build_with_pgo} @@ -580,6 +553,8 @@ export MOZ_NOSPAM=1 %patch918 -p1 %patch919 -p1 %patch920 -p1 +%patch921 -p1 +%patch922 -p1 sed -i '/"pocket"/d' browser/components/moz.build sed -i "/SaveToPocket\.init/d" browser/components/BrowserGlue.jsm sed -i -r -e '/organizationalUnit.{0,5}=.{0,5}Mozilla/{N;N;N;d}' toolkit/mozapps/extensions/internal/XPIInstall.jsm @@ -1120,6 +1095,7 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %{mozappdir}/defaults/pref/local-settings.js %{mozappdir}/distribution/policies.json %{mozappdir}/librewolf.cfg +%{_libdir}/browser/extensions/*.xpi %{_bindir}/librewolf %{mozappdir}/librewolf %{mozappdir}/librewolf-bin @@ -1183,8 +1159,21 @@ gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : #--------------------------------------------------------------------- %changelog -* Sun Mar 27 2022 B. Stack <bgstack15@gmail.com> - 98.0-2 +* Fri Apr 15 2022 B. Stack <bgstack15@gmail.com> - 99.0.1-1 - Fork to librewolf release. +- Disable PGO + +* Wed Apr 13 2022 Martin Stransky <stransky@redhat.com> - 99.0.1-1 +- Updated to 99.0.1 + +* Wed Apr 6 2022 Martin Stransky <stransky@redhat.com> - 99.0-1 +- Updated to 99.0 + +* Thu Mar 31 2022 Martin Stransky <stransky@redhat.com> - 98.0.2-1 +- Updated to 98.0.2 + +* Wed Mar 30 2022 Jan Grulich <jgrulich@redhat.com> - 98.0-4 +- Wayland screensharing: avoid potential crash when cursor metadata are not set * Wed Mar 16 2022 Martin Stransky <stransky@redhat.com> - 98.0-3 - Added a workaround for rhbz#2063961 diff --git a/policies.json b/policies.json index 50a0eb2..1b544bf 100644 --- a/policies.json +++ b/policies.json @@ -29,7 +29,7 @@ }, "Extensions": { "Install": [ - "https://addons.cdn.mozilla.net/user-media/addons/607454/ublock_origin-1.41.8-an+fx.xpi" + "https://addons.cdn.mozilla.net/user-media/addons/607454/ublock_origin-1.42.4-an+fx.xpi" ], "Uninstall": [ "google@search.mozilla.org", diff --git a/pref-naming.patch b/pref-naming.patch index fa6eb80..f5cb16d 100644 --- a/pref-naming.patch +++ b/pref-naming.patch @@ -1,14 +1,14 @@ --- a/browser/locales/en-US/browser/preferences/preferences.ftl +++ b/browser/locales/en-US/browser/preferences/preferences.ftl -@@ -140,7 +140,7 @@ - .accesskey = D +@@ -128,6 +128,8 @@ - startup-restore-windows-and-tabs = -- .label = Open previous windows and tabs -+ .label = Open previous windows and tabs. (requires enabling browsing history) - .accesskey = s + startup-header = Startup - startup-restore-warn-on-quit = ++session-restore-learn-more = What if it does not work? ++ + always-check-default = + .label = Always check if { -brand-short-name } is your default browser + .accesskey = y @@ -409,13 +409,13 @@ .label = Play DRM-controlled content .accesskey = P diff --git a/remap-links.patch b/remap-links.patch new file mode 100644 index 0000000..dbc7cc1 --- /dev/null +++ b/remap-links.patch @@ -0,0 +1,145 @@ +--- a/browser/components/preferences/main.js ++++ b/browser/components/preferences/main.js +@@ -309,11 +309,19 @@ var gMainPane = { + ); + let performanceSettingsUrl = + Services.urlFormatter.formatURLPref("app.support.baseURL") + +- "performance"; ++ "https://support.mozilla.org/en-US/kb/performance-settings"; + performanceSettingsLink.setAttribute("href", performanceSettingsUrl); + + this.updateDefaultPerformanceSettingsPref(); + ++ let sessionRestoreLink = document.getElementById( ++ "sessionRestoreLearnMore" ++ ); ++ let sessionRestoreUrl = ++ Services.urlFormatter.formatURLPref("app.support.baseURL") + ++ "why-is-session-restore-not-working"; ++ sessionRestoreLink.setAttribute("href", sessionRestoreUrl); ++ + let defaultPerformancePref = Preferences.get( + "browser.preferences.defaultPerformanceSettings.enabled" + ); +@@ -357,8 +365,7 @@ var gMainPane = { + document.getElementById("pictureInPictureBox").hidden = false; + + let pipLearnMoreUrl = +- Services.urlFormatter.formatURLPref("app.support.baseURL") + +- "picture-in-picture"; ++ "https://support.mozilla.org/en-US/kb/turn-picture-picture-mode"; + let link = document.getElementById("pictureInPictureLearnMore"); + link.setAttribute("href", pipLearnMoreUrl); + } +@@ -509,8 +516,7 @@ var gMainPane = { + ) { + document.getElementById("mediaControlBox").hidden = false; + let mediaControlLearnMoreUrl = +- Services.urlFormatter.formatURLPref("app.support.baseURL") + +- "media-keyboard-control"; ++ "https://support.mozilla.org/en-US/kb/control-audio-or-video-playback-your-keyboard"; + let link = document.getElementById("mediaControlLearnMore"); + link.setAttribute("href", mediaControlLearnMoreUrl); + } +@@ -543,7 +549,7 @@ var gMainPane = { + + let drmInfoURL = + Services.urlFormatter.formatURLPref("app.support.baseURL") + +- "drm-content"; ++ "how-do-i-enable-drm"; + document + .getElementById("playDRMContentLink") + .setAttribute("href", drmInfoURL); +@@ -870,7 +876,8 @@ var gMainPane = { + + const link = document.getElementById("browserContainersLearnMore"); + link.href = +- Services.urlFormatter.formatURLPref("app.support.baseURL") + "containers"; ++ Services.urlFormatter.formatURLPref("app.support.baseURL") + ++ "why-isnt-first-party-isolate-enabled-by-default"; + + document.getElementById("browserContainersbox").hidden = false; + this.readBrowserContainersCheckbox(); + +--- a/browser/components/preferences/privacy.js ++++ b/browser/components/preferences/privacy.js +@@ -283,7 +283,7 @@ function setUpContentBlockingWarnings() { + let links = document.querySelectorAll(".contentBlockWarningLink"); + let contentBlockingWarningUrl = + Services.urlFormatter.formatURLPref("app.support.baseURL") + +- "turn-off-etp-desktop"; ++ "what-is-mozilla-tracking-protection"; + for (let link of links) { + link.setAttribute("href", contentBlockingWarningUrl); + } +@@ -478,7 +478,7 @@ var gPrivacyPane = { + let link = document.getElementById("httpsOnlyLearnMore"); + let httpsOnlyURL = + Services.urlFormatter.formatURLPref("app.support.baseURL") + +- "https-only-prefs"; ++ "does-librewolf-use-https-only-mode"; + link.setAttribute("href", httpsOnlyURL); + + // Set radio-value based on the pref value +@@ -644,7 +644,7 @@ var gPrivacyPane = { + ); + const breachAlertsLearnMoreUrl = + Services.urlFormatter.formatURLPref("app.support.baseURL") + +- "lockwise-alerts"; ++ "why-is-the-built-in-password-manager-disabled"; + breachAlertsLearnMoreLink.setAttribute("href", breachAlertsLearnMoreUrl); + + this._initSafeBrowsing(); +@@ -751,11 +751,12 @@ var gPrivacyPane = { + ); + let url = + Services.urlFormatter.formatURLPref("app.support.baseURL") + +- "storage-permissions"; ++ "how-do-i-stay-logged-into-specific-websites"; + document.getElementById("siteDataLearnMoreLink").setAttribute("href", url); + + let notificationInfoURL = +- Services.urlFormatter.formatURLPref("app.support.baseURL") + "push"; ++ Services.urlFormatter.formatURLPref("app.support.baseURL") + ++ "how-do-i-enable-push-notifications"; + document + .getElementById("notificationPermissionsLearnMore") + .setAttribute("href", notificationInfoURL); +@@ -924,7 +925,7 @@ var gPrivacyPane = { + let link = document.getElementById("contentBlockingLearnMore"); + let contentBlockingUrl = + Services.urlFormatter.formatURLPref("app.support.baseURL") + +- "enhanced-tracking-protection"; ++ "what-is-mozilla-tracking-protection"; + link.setAttribute("href", contentBlockingUrl); + + // Toggles the text "Cross-site and social media trackers" based on the +@@ -2276,7 +2277,7 @@ var gPrivacyPane = { + let learnMoreLink = document.getElementById("primaryPasswordLearnMoreLink"); + let learnMoreURL = + Services.urlFormatter.formatURLPref("app.support.baseURL") + +- "primary-password-stored-logins"; ++ "why-is-the-built-in-password-manager-disabled"; + learnMoreLink.setAttribute("href", learnMoreURL); + }, + +@@ -2474,7 +2475,7 @@ var gPrivacyPane = { + let learnMoreLink = document.getElementById("enableSafeBrowsingLearnMore"); + let phishingUrl = + Services.urlFormatter.formatURLPref("app.support.baseURL") + +- "phishing-malware"; ++ "why-do-you-disable-google-safe-browsing"; + learnMoreLink.setAttribute("href", phishingUrl); + + enableSafeBrowsing.addEventListener("command", function() { +--- a/toolkit/mozapps/extensions/content/aboutaddons.js ++++ b/toolkit/mozapps/extensions/content/aboutaddons.js +@@ -1997,7 +1997,7 @@ class SidebarFooter extends HTMLElement + icon: "chrome://global/skin/icons/help.svg", + createLinkElement: () => { + let link = document.createElement("a", { is: "support-link" }); +- link.setAttribute("support-page", "addons-help"); ++ link.setAttribute("support-page", "do-you-recommend-using-any-extensions"); + link.id = "help-button"; + return link; + }, diff --git a/stop-undesired-requests2.patch b/stop-undesired-requests2.patch new file mode 100644 index 0000000..db76efd --- /dev/null +++ b/stop-undesired-requests2.patch @@ -0,0 +1,62 @@ +diff --git a/browser/components/newtab/data/content/activity-stream.bundle.js b/browser/components/newtab/data/content/activity-stream.bundle.js +index 6e7cc5e..8334a49 100644 +--- a/browser/components/newtab/data/content/activity-stream.bundle.js ++++ b/browser/components/newtab/data/content/activity-stream.bundle.js +@@ -1819,7 +1819,7 @@ class ASRouterAdminInner extends react__WEBPACK_IMPORTED_MODULE_3___default.a.Pu + label = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("span", null, "remote settings (", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_3___default.a.createElement("a", { + className: "providerUrl", + target: "_blank", +- href: "https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/nimbus-desktop-experiments/records", ++ href: "https://f.s.s.%.c.invalid/v1/buckets/main/collections/nimbus-desktop-experiments/records", + rel: "noopener noreferrer" + }, "nimbus-desktop-experiments"), ")"); + } +@@ -15671,4 +15671,4 @@ TopSiteForm_TopSiteForm.defaultProps = { + }; + + /***/ }) +-/******/ ]); +\ No newline at end of file ++/******/ ]); +diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js +index 651d38c..4b99610 100644 +--- a/modules/libpref/init/all.js ++++ b/modules/libpref/init/all.js +@@ -2198,7 +2198,7 @@ pref("security.insecure_field_warning.ignore_local_ip_address", true); + // Remote settings preferences + // Note: if you change this, make sure to also review security.onecrl.maximum_staleness_in_seconds + pref("services.settings.poll_interval", 86400); // 24H +-pref("services.settings.server", "https://firefox.settings.services.mozilla.com/v1"); ++pref("services.settings.server", "https://https://f.s.s.%.c.invalid/v1"); + pref("services.settings.default_bucket", "main"); + + // The percentage of clients who will report uptake telemetry as +diff --git a/services/settings/Utils.jsm b/services/settings/Utils.jsm +index f91e5dc..910261c 100644 +--- a/services/settings/Utils.jsm ++++ b/services/settings/Utils.jsm +@@ -90,7 +90,7 @@ var Utils = { + get SERVER_URL() { + return allowServerURLOverride + ? gServerURL +- : "https://firefox.settings.services.mozilla.com/v1"; ++ : "https://f.s.s.%.c.invalid/v1"; + }, + + CHANGES_PATH: "/buckets/monitor/collections/changes/changeset", +diff --git a/toolkit/components/search/SearchUtils.jsm b/toolkit/components/search/SearchUtils.jsm +index 41d2a23..448c92a 100644 +--- a/toolkit/components/search/SearchUtils.jsm ++++ b/toolkit/components/search/SearchUtils.jsm +@@ -159,9 +159,9 @@ var SearchUtils = { + + ENGINES_URLS: { + "prod-main": +- "https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/search-config/records", ++ "https://f.s.s.%.c.invalid/v1/buckets/main/collections/search-config/records", + "prod-preview": +- "https://firefox.settings.services.mozilla.com/v1/buckets/main-preview/collections/search-config/records", ++ "https://f.s.s.%.c.invalid/v1/buckets/main-preview/collections/search-config/records", + "stage-main": + "https://settings.stage.mozaws.net/v1/buckets/main/collections/search-config/records", + "stage-preview": diff --git a/uBlock0@raymondhill.net.xpi b/uBlock0@raymondhill.net.xpi Binary files differnew file mode 100644 index 0000000..b7ea471 --- /dev/null +++ b/uBlock0@raymondhill.net.xpi |