summaryrefslogtreecommitdiff
path: root/librewolf/debian/patches
diff options
context:
space:
mode:
authorB. Stack <bgstack15@gmail.com>2022-06-01 00:28:10 +0000
committerB. Stack <bgstack15@gmail.com>2022-06-01 00:28:10 +0000
commit831ddd811e131d937fe43aac7bd2e2e639fd04c8 (patch)
tree9eab6f7bc29acb210cbf1eb4c9ea261e496f8ed3 /librewolf/debian/patches
parentMerge branch 'freefilesync-bump' into 'master' (diff)
parentfix dsc to use libpulse-dev (diff)
downloadstackrpms-831ddd811e131d937fe43aac7bd2e2e639fd04c8.tar.gz
stackrpms-831ddd811e131d937fe43aac7bd2e2e639fd04c8.tar.bz2
stackrpms-831ddd811e131d937fe43aac7bd2e2e639fd04c8.zip
Merge branch 'librewolf-bump' into 'master'
Librewolf bump See merge request bgstack15/stackrpms!297
Diffstat (limited to 'librewolf/debian/patches')
-rw-r--r--librewolf/debian/patches/debian-hacks/Add-another-preferences-directory-for-applications-p.patch6
-rw-r--r--librewolf/debian/patches/debian-hacks/Avoid-wrong-sessionstore-data-to-keep-windows-out-of.patch16
-rw-r--r--librewolf/debian/patches/debian-hacks/Relax-MSRV-to-1.56.0.patch32
-rw-r--r--librewolf/debian/patches/debian-hacks/Use-the-Mozilla-Location-Service-key-when-the-Google.patch4
-rw-r--r--librewolf/debian/patches/fixes/Allow-.js-preference-files-to-set-locked-prefs-with-.patch2
-rw-r--r--librewolf/debian/patches/fixes/Bug-1738845-Add-webrtc-configs-for-arm-and-ppc64-lin.patch60
-rw-r--r--librewolf/debian/patches/fixes/Bug-1756347-part-1-Work-around-a-GCC-issue-with-gene.patch235
-rw-r--r--librewolf/debian/patches/librewolf/aboutLogos.patch17
-rw-r--r--librewolf/debian/patches/librewolf/bootstrap-without-vcs.patch (renamed from librewolf/debian/patches/librewolf/bootstrap-without-vcs2.patch)66
-rw-r--r--librewolf/debian/patches/librewolf/context-menu.patch25
-rw-r--r--librewolf/debian/patches/librewolf/handlers.patch232
-rw-r--r--librewolf/debian/patches/librewolf/hide-default-browser.patch8
-rw-r--r--librewolf/debian/patches/librewolf/hide-passwordmgr.patch29
-rw-r--r--librewolf/debian/patches/librewolf/librewolf-pref-pane.patch180
-rw-r--r--librewolf/debian/patches/librewolf/lw-logo-devtools.patch37
-rw-r--r--librewolf/debian/patches/librewolf/pref-naming.patch14
-rw-r--r--librewolf/debian/patches/librewolf/remap-links.patch156
-rw-r--r--librewolf/debian/patches/librewolf/remove_addons.patch.orig0
-rw-r--r--librewolf/debian/patches/librewolf/remove_addons.patch.rej12
-rw-r--r--librewolf/debian/patches/librewolf/stop-undesired-requests.patch40
-rw-r--r--librewolf/debian/patches/librewolf/website-appearance-ui-rfp.patch52
-rw-r--r--librewolf/debian/patches/porting/NSS-Fix-FTBFS-on-Hurd-because-of-MAXPATHLEN.patch2
-rw-r--r--librewolf/debian/patches/prefs/Don-t-auto-disable-extensions-in-system-directories.patch2
-rw-r--r--librewolf/debian/patches/prefs/Set-DPI-to-system-settings.patch26
-rw-r--r--librewolf/debian/patches/series11
25 files changed, 839 insertions, 425 deletions
diff --git a/librewolf/debian/patches/debian-hacks/Add-another-preferences-directory-for-applications-p.patch b/librewolf/debian/patches/debian-hacks/Add-another-preferences-directory-for-applications-p.patch
index 07e1119..7206ab5 100644
--- a/librewolf/debian/patches/debian-hacks/Add-another-preferences-directory-for-applications-p.patch
+++ b/librewolf/debian/patches/debian-hacks/Add-another-preferences-directory-for-applications-p.patch
@@ -13,10 +13,10 @@ to disable the "set as default browser" dialog.
1 file changed, 2 insertions(+)
diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
-index a9d291b..c4a37fe 100644
+index f0e449c..89b07ad 100644
--- a/toolkit/xre/nsXREDirProvider.cpp
+++ b/toolkit/xre/nsXREDirProvider.cpp
-@@ -802,6 +802,7 @@ static const char* const kAppendPrefDir[] = {"defaults", "preferences",
+@@ -768,6 +768,7 @@ static const char* const kAppendPrefDir[] = {"defaults", "preferences",
static const char* const kAppendBackgroundTasksPrefDir[] = {
"defaults", "backgroundtasks", nullptr};
#endif
@@ -24,7 +24,7 @@ index a9d291b..c4a37fe 100644
nsresult nsXREDirProvider::GetFilesInternal(const char* aProperty,
nsISimpleEnumerator** aResult) {
-@@ -818,6 +819,7 @@ nsresult nsXREDirProvider::GetFilesInternal(const char* aProperty,
+@@ -784,6 +785,7 @@ nsresult nsXREDirProvider::GetFilesInternal(const char* aProperty,
LoadDirIntoArray(mXULAppDir, kAppendBackgroundTasksPrefDir, directories);
}
#endif
diff --git a/librewolf/debian/patches/debian-hacks/Avoid-wrong-sessionstore-data-to-keep-windows-out-of.patch b/librewolf/debian/patches/debian-hacks/Avoid-wrong-sessionstore-data-to-keep-windows-out-of.patch
index 094cb02..11b65a0 100644
--- a/librewolf/debian/patches/debian-hacks/Avoid-wrong-sessionstore-data-to-keep-windows-out-of.patch
+++ b/librewolf/debian/patches/debian-hacks/Avoid-wrong-sessionstore-data-to-keep-windows-out-of.patch
@@ -12,19 +12,19 @@ Closes: #552426, #553453
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/browser/components/sessionstore/SessionStore.jsm b/browser/components/sessionstore/SessionStore.jsm
-index 79366e4..0891d87 100644
+index 650a597..de13b8a 100644
--- a/browser/components/sessionstore/SessionStore.jsm
+++ b/browser/components/sessionstore/SessionStore.jsm
-@@ -4923,7 +4923,7 @@ var SessionStoreInternal = {
- !isNaN(aTop) &&
- (aLeft != win_("screenX") || aTop != win_("screenY"))
- ) {
-- aWindow.moveTo(aLeft, aTop);
-+ aWindow.moveTo((aLeft < -aWidth) ? 0 : aLeft, (aTop < -aHeight) ? 0 : aTop);
+@@ -5012,7 +5012,7 @@ var SessionStoreInternal = {
+ // _getWindowDimension.
+ let desktopToCssScale =
+ aWindow.desktopToDeviceScale / aWindow.devicePixelRatio;
+- aWindow.moveTo(aLeft * desktopToCssScale, aTop * desktopToCssScale);
++ aWindow.moveTo((aLeft < -aWidth) ? 0 : aLeft * desktopToCssScale, (aTop < -aHeight) ? 0 : aTop * desktopToCssScale);
}
if (
aWidth &&
-@@ -4952,9 +4952,8 @@ var SessionStoreInternal = {
+@@ -5041,9 +5041,8 @@ var SessionStoreInternal = {
case "minimized":
if (aSizeModeBeforeMinimized == "maximized") {
aWindow.maximize();
diff --git a/librewolf/debian/patches/debian-hacks/Relax-MSRV-to-1.56.0.patch b/librewolf/debian/patches/debian-hacks/Relax-MSRV-to-1.56.0.patch
index d8d60c4..46b1035 100644
--- a/librewolf/debian/patches/debian-hacks/Relax-MSRV-to-1.56.0.patch
+++ b/librewolf/debian/patches/debian-hacks/Relax-MSRV-to-1.56.0.patch
@@ -21,7 +21,7 @@ Subject: Relax MSRV to 1.56.0
create mode 100644 third_party/rust/audioipc2-client/build.rs
diff --git a/Cargo.lock b/Cargo.lock
-index c90fafe..91370ed 100644
+index 391b904..77c1d86 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -297,6 +297,7 @@ dependencies = [
@@ -32,7 +32,7 @@ index c90fafe..91370ed 100644
]
[[package]]
-@@ -4874,6 +4875,7 @@ dependencies = [
+@@ -4925,6 +4926,7 @@ dependencies = [
"precomputed-hash",
"rayon",
"regex",
@@ -54,12 +54,12 @@ index ce3652d..c8a966b 100644
RUSTC_BOOTSTRAP := $(RUSTC_BOOTSTRAP),encoding_rs,packed_simd
endif
diff --git a/python/mozboot/mozboot/util.py b/python/mozboot/mozboot/util.py
-index 484ff52..b3990f6 100644
+index 1d6d546..fdbf48f 100644
--- a/python/mozboot/mozboot/util.py
+++ b/python/mozboot/mozboot/util.py
-@@ -12,7 +12,7 @@ from mach.site import PythonVirtualenv
- from mach.util import get_state_dir
-
+@@ -23,7 +23,7 @@ if sys.version_info < (3,):
+ else:
+ from urllib.request import urlopen
-MINIMUM_RUST_VERSION = "1.57.0"
+MINIMUM_RUST_VERSION = "1.56.0"
@@ -121,10 +121,10 @@ index ee156cf..7048ea0 100644
}
diff --git a/servo/components/style/stylist.rs b/servo/components/style/stylist.rs
-index 9d5e38d..c72d46f 100644
+index 02610fe..63e2209 100644
--- a/servo/components/style/stylist.rs
+++ b/servo/components/style/stylist.rs
-@@ -1747,7 +1747,7 @@ impl ExtraStyleData {
+@@ -1730,7 +1730,7 @@ impl ExtraStyleData {
// TODO: Handle pseudo-classes
self.pages.named.try_reserve(page_rule.selectors.0.len())?;
for name in page_rule.selectors.as_slice() {
@@ -134,21 +134,21 @@ index 9d5e38d..c72d46f 100644
vec.push(PageRuleData{layer, rule: rule.clone()});
}
diff --git a/third_party/rust/audioipc2-client/.cargo-checksum.json b/third_party/rust/audioipc2-client/.cargo-checksum.json
-index 85789ad..3365cd7 100644
+index 6c0cbc0..f033549 100644
--- a/third_party/rust/audioipc2-client/.cargo-checksum.json
+++ b/third_party/rust/audioipc2-client/.cargo-checksum.json
@@ -1 +1 @@
--{"files":{"Cargo.toml":"4304d6695b5ae83a67ec50eeb7c8b05f0292b31bf6d93bfec629492116cb05fd","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/context.rs":"060680f87d406cef1f6f94cfae991ae59b5f3a13253e15481716a1a4224682ee","src/lib.rs":"c4a6797734489280f6b97dd72c9e51a7bd7be4104592eece3929e29d45cbca4a","src/send_recv.rs":"450bdb1d8a346634c0237f2081b424d11e2c19ad81670009303f8a03b3bfb196","src/stream.rs":"8f2f33b75b78fb1ef8ebb7b14bbb81dbb0f046f9e91b6110a3c49e424690bb8b"},"package":null}
+-{"files":{"Cargo.toml":"722e0313d4de90477ae34dbb95ae7eeff27622329c5689bb4ce6bcd2006c6263","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/context.rs":"33231853817615e01fd1a0f67f69a176d19119bbebb7dc417e96ed88dd3a8d34","src/lib.rs":"c4a6797734489280f6b97dd72c9e51a7bd7be4104592eece3929e29d45cbca4a","src/send_recv.rs":"064a657c845762be1dbcbbfc18b3f8a51582eb540def8d2ceecf200184ad4f7a","src/stream.rs":"a6c07796e6fe704cfa6baf8b904e7ffe874d3c884d44d4ed307e668dec25452b"},"package":null}
\ No newline at end of file
-+{"files":{"Cargo.toml":"fcf7b1d8c3f72ecac29ebe859e7ea5e216168aad149fad0284a81015bd88c329","build.rs":"91de386f621a91eb125484980f352d52549826c27d1ddff53ce6e3835c79e61d","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/context.rs":"060680f87d406cef1f6f94cfae991ae59b5f3a13253e15481716a1a4224682ee","src/lib.rs":"78c7060e55536cbff4681a300e73c7fa0ff52953caa668c84035d2e975b6871d","src/send_recv.rs":"450bdb1d8a346634c0237f2081b424d11e2c19ad81670009303f8a03b3bfb196","src/stream.rs":"8f2f33b75b78fb1ef8ebb7b14bbb81dbb0f046f9e91b6110a3c49e424690bb8b"},"package":null}
++{"files":{"Cargo.toml":"bdde450635daff287c6a94115c801ccc274766f455dd1606dbdf595158668d4f","build.rs":"91de386f621a91eb125484980f352d52549826c27d1ddff53ce6e3835c79e61d","cbindgen.toml":"fb6abe1671497f432a06e40b1db7ed7cd2cceecbd9a2382193ad7534e8855e34","src/context.rs":"33231853817615e01fd1a0f67f69a176d19119bbebb7dc417e96ed88dd3a8d34","src/lib.rs":"78c7060e55536cbff4681a300e73c7fa0ff52953caa668c84035d2e975b6871d","src/send_recv.rs":"064a657c845762be1dbcbbfc18b3f8a51582eb540def8d2ceecf200184ad4f7a","src/stream.rs":"a6c07796e6fe704cfa6baf8b904e7ffe874d3c884d44d4ed307e668dec25452b"},"package":null}
diff --git a/third_party/rust/audioipc2-client/Cargo.toml b/third_party/rust/audioipc2-client/Cargo.toml
-index 94afedb..b0a63ea 100644
+index fe71197..ddab501 100644
--- a/third_party/rust/audioipc2-client/Cargo.toml
+++ b/third_party/rust/audioipc2-client/Cargo.toml
-@@ -14,3 +14,6 @@ audio_thread_priority = "0.23.4"
- audioipc = { package = "audioipc2", path="../audioipc" }
- cubeb-backend = "0.9"
- log = "0.4"
+@@ -18,3 +18,6 @@ log = "0.4"
+ version = "0.26.0"
+ default_features = false
+ features = ["winapi"]
+
+[build-dependencies]
+rustc_version = "0.2"
diff --git a/librewolf/debian/patches/debian-hacks/Use-the-Mozilla-Location-Service-key-when-the-Google.patch b/librewolf/debian/patches/debian-hacks/Use-the-Mozilla-Location-Service-key-when-the-Google.patch
index 1732338..62ee664 100644
--- a/librewolf/debian/patches/debian-hacks/Use-the-Mozilla-Location-Service-key-when-the-Google.patch
+++ b/librewolf/debian/patches/debian-hacks/Use-the-Mozilla-Location-Service-key-when-the-Google.patch
@@ -7,10 +7,10 @@ Subject: Use the Mozilla Location Service key when the Google Key is not there
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
-index 37dd370..de83075 100644
+index 261e46f..6443cf1 100644
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
-@@ -3725,7 +3725,7 @@ pref("network.psl.onUpdate_notify", false);
+@@ -3701,7 +3701,7 @@ pref("network.psl.onUpdate_notify", false);
// All the Geolocation preferences are here.
//
diff --git a/librewolf/debian/patches/fixes/Allow-.js-preference-files-to-set-locked-prefs-with-.patch b/librewolf/debian/patches/fixes/Allow-.js-preference-files-to-set-locked-prefs-with-.patch
index c06839f..a474a5b 100644
--- a/librewolf/debian/patches/fixes/Allow-.js-preference-files-to-set-locked-prefs-with-.patch
+++ b/librewolf/debian/patches/fixes/Allow-.js-preference-files-to-set-locked-prefs-with-.patch
@@ -7,7 +7,7 @@ Subject: Allow .js preference files to set locked prefs with lockPref()
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/modules/libpref/parser/src/lib.rs b/modules/libpref/parser/src/lib.rs
-index bce98c0..da33195 100644
+index bce98c0..da33195a 100644
--- a/modules/libpref/parser/src/lib.rs
+++ b/modules/libpref/parser/src/lib.rs
@@ -11,8 +11,9 @@
diff --git a/librewolf/debian/patches/fixes/Bug-1738845-Add-webrtc-configs-for-arm-and-ppc64-lin.patch b/librewolf/debian/patches/fixes/Bug-1738845-Add-webrtc-configs-for-arm-and-ppc64-lin.patch
index 302d130..b700cce 100644
--- a/librewolf/debian/patches/fixes/Bug-1738845-Add-webrtc-configs-for-arm-and-ppc64-lin.patch
+++ b/librewolf/debian/patches/fixes/Bug-1738845-Add-webrtc-configs-for-arm-and-ppc64-lin.patch
@@ -121407,7 +121407,7 @@ index 0000000..bb14be3
\ No newline at end of file
diff --git a/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm_linux.mozconfig b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm_linux.mozconfig
new file mode 100644
-index 0000000..0f162f5
+index 0000000..0f162f57
--- /dev/null
+++ b/dom/media/webrtc/third_party_build/gn-configs/x64_True_arm_linux.mozconfig
@@ -0,0 +1,4 @@
@@ -151627,7 +151627,7 @@ index 58f0062..b9556dc 100644
Library("audio_encoder_multiopus_gn")
diff --git a/third_party/libwebrtc/api/audio_codecs/opus/audio_encoder_opus_config_gn/moz.build b/third_party/libwebrtc/api/audio_codecs/opus/audio_encoder_opus_config_gn/moz.build
-index a8f5c61..8426e0f 100644
+index a8f5c61..8426e0f5 100644
--- a/third_party/libwebrtc/api/audio_codecs/opus/audio_encoder_opus_config_gn/moz.build
+++ b/third_party/libwebrtc/api/audio_codecs/opus/audio_encoder_opus_config_gn/moz.build
@@ -83,7 +83,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -152158,7 +152158,7 @@ index bb55b07..6c7ab10 100644
Library("callfactory_api_gn")
diff --git a/third_party/libwebrtc/api/crypto/frame_decryptor_interface_gn/moz.build b/third_party/libwebrtc/api/crypto/frame_decryptor_interface_gn/moz.build
-index fe4a347..9ca8a02 100644
+index fe4a347c..9ca8a02 100644
--- a/third_party/libwebrtc/api/crypto/frame_decryptor_interface_gn/moz.build
+++ b/third_party/libwebrtc/api/crypto/frame_decryptor_interface_gn/moz.build
@@ -74,7 +74,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -153304,7 +153304,7 @@ index 1a5b0bf..b00f466 100644
Library("network_state_predictor_api_gn")
diff --git a/third_party/libwebrtc/api/numerics/numerics_gn/moz.build b/third_party/libwebrtc/api/numerics/numerics_gn/moz.build
-index fa11b29..b5e327c 100644
+index fa11b290a..b5e327c 100644
--- a/third_party/libwebrtc/api/numerics/numerics_gn/moz.build
+++ b/third_party/libwebrtc/api/numerics/numerics_gn/moz.build
@@ -78,7 +78,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -153658,7 +153658,7 @@ index 01b92ce..de87a29 100644
Library("rtc_error_gn")
diff --git a/third_party/libwebrtc/api/rtc_event_log/rtc_event_log_gn/moz.build b/third_party/libwebrtc/api/rtc_event_log/rtc_event_log_gn/moz.build
-index 62dec01..c747f7b 100644
+index 62dec010..c747f7b 100644
--- a/third_party/libwebrtc/api/rtc_event_log/rtc_event_log_gn/moz.build
+++ b/third_party/libwebrtc/api/rtc_event_log/rtc_event_log_gn/moz.build
@@ -79,7 +79,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -154369,7 +154369,7 @@ index 691d7ed..02e2b71 100644
Library("task_queue_gn")
diff --git a/third_party/libwebrtc/api/transport/bitrate_settings_gn/moz.build b/third_party/libwebrtc/api/transport/bitrate_settings_gn/moz.build
-index 3513f9c..2e670ab 100644
+index 3513f9c2..2e670ab 100644
--- a/third_party/libwebrtc/api/transport/bitrate_settings_gn/moz.build
+++ b/third_party/libwebrtc/api/transport/bitrate_settings_gn/moz.build
@@ -74,7 +74,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -155263,7 +155263,7 @@ index 14b9742..9257173 100644
Library("data_size_gn")
diff --git a/third_party/libwebrtc/api/units/frequency_gn/moz.build b/third_party/libwebrtc/api/units/frequency_gn/moz.build
-index 79fcff4..5a54b58 100644
+index 79fcff48..5a54b58 100644
--- a/third_party/libwebrtc/api/units/frequency_gn/moz.build
+++ b/third_party/libwebrtc/api/units/frequency_gn/moz.build
@@ -78,7 +78,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -155533,7 +155533,7 @@ index 23aa0ba..83f104b 100644
Library("timestamp_gn")
diff --git a/third_party/libwebrtc/api/video/builtin_video_bitrate_allocator_factory_gn/moz.build b/third_party/libwebrtc/api/video/builtin_video_bitrate_allocator_factory_gn/moz.build
-index 0ecc793..c0cbd77 100644
+index 0ecc793..c0cbd775 100644
--- a/third_party/libwebrtc/api/video/builtin_video_bitrate_allocator_factory_gn/moz.build
+++ b/third_party/libwebrtc/api/video/builtin_video_bitrate_allocator_factory_gn/moz.build
@@ -79,7 +79,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -157051,7 +157051,7 @@ index 57a39cf..3528c34 100644
Library("video_stream_encoder_create_gn")
diff --git a/third_party/libwebrtc/api/video/video_stream_encoder_gn/moz.build b/third_party/libwebrtc/api/video/video_stream_encoder_gn/moz.build
-index e5e9a7c..7114a4a 100644
+index e5e9a7c0..7114a4a 100644
--- a/third_party/libwebrtc/api/video/video_stream_encoder_gn/moz.build
+++ b/third_party/libwebrtc/api/video/video_stream_encoder_gn/moz.build
@@ -74,7 +74,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -157405,7 +157405,7 @@ index bd29841..ee6547d 100644
Library("builtin_video_encoder_factory_gn")
diff --git a/third_party/libwebrtc/api/video_codecs/rtc_software_fallback_wrappers_gn/moz.build b/third_party/libwebrtc/api/video_codecs/rtc_software_fallback_wrappers_gn/moz.build
-index 90afc61..fe91abb 100644
+index 90afc61c..fe91abb 100644
--- a/third_party/libwebrtc/api/video_codecs/rtc_software_fallback_wrappers_gn/moz.build
+++ b/third_party/libwebrtc/api/video_codecs/rtc_software_fallback_wrappers_gn/moz.build
@@ -80,7 +80,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -158302,7 +158302,7 @@ index 8cb24f9..e7ede49 100644
Library("call_gn")
diff --git a/third_party/libwebrtc/call/call_interfaces_gn/moz.build b/third_party/libwebrtc/call/call_interfaces_gn/moz.build
-index 4f07c8b..f9aa9e3 100644
+index 4f07c8b7..f9aa9e3 100644
--- a/third_party/libwebrtc/call/call_interfaces_gn/moz.build
+++ b/third_party/libwebrtc/call/call_interfaces_gn/moz.build
@@ -84,7 +84,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -158662,7 +158662,7 @@ index 5c1f19a..89009b7 100644
Library("rtp_receiver_gn")
diff --git a/third_party/libwebrtc/call/rtp_sender_gn/moz.build b/third_party/libwebrtc/call/rtp_sender_gn/moz.build
-index 1d14b03..0ad5b6d 100644
+index 1d14b03..0ad5b6d1 100644
--- a/third_party/libwebrtc/call/rtp_sender_gn/moz.build
+++ b/third_party/libwebrtc/call/rtp_sender_gn/moz.build
@@ -81,7 +81,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -159019,7 +159019,7 @@ index 926361a..12f7e80 100644
Library("video_stream_api_gn")
diff --git a/third_party/libwebrtc/common_audio/common_audio_c_arm_asm_gn/moz.build b/third_party/libwebrtc/common_audio/common_audio_c_arm_asm_gn/moz.build
-index 7adcbbf..01a3edc 100644
+index 7adcbbf3..01a3edc 100644
--- a/third_party/libwebrtc/common_audio/common_audio_c_arm_asm_gn/moz.build
+++ b/third_party/libwebrtc/common_audio/common_audio_c_arm_asm_gn/moz.build
@@ -70,7 +70,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -159406,7 +159406,7 @@ index e499c12..5c5f4ba 100644
Library("common_audio_gn")
diff --git a/third_party/libwebrtc/common_audio/common_audio_neon_c_gn/moz.build b/third_party/libwebrtc/common_audio/common_audio_neon_c_gn/moz.build
-index 36ffd6a..3a73dc2 100644
+index 36ffd6ad..3a73dc20 100644
--- a/third_party/libwebrtc/common_audio/common_audio_neon_c_gn/moz.build
+++ b/third_party/libwebrtc/common_audio/common_audio_neon_c_gn/moz.build
@@ -73,14 +73,12 @@ if CONFIG["OS_TARGET"] == "Darwin":
@@ -162143,7 +162143,7 @@ index b389938..4fd2f62 100644
Library("audio_network_adaptor_gn")
diff --git a/third_party/libwebrtc/modules/audio_coding/default_neteq_factory_gn/moz.build b/third_party/libwebrtc/modules/audio_coding/default_neteq_factory_gn/moz.build
-index df061c6..62c3c16 100644
+index df061c6..62c3c16d 100644
--- a/third_party/libwebrtc/modules/audio_coding/default_neteq_factory_gn/moz.build
+++ b/third_party/libwebrtc/modules/audio_coding/default_neteq_factory_gn/moz.build
@@ -78,7 +78,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -162323,7 +162323,7 @@ index e0f07f2..8cff22c 100644
Library("g711_c_gn")
diff --git a/third_party/libwebrtc/modules/audio_coding/g711_gn/moz.build b/third_party/libwebrtc/modules/audio_coding/g711_gn/moz.build
-index 3716ec4..d1088db 100644
+index 3716ec4..d1088dba 100644
--- a/third_party/libwebrtc/modules/audio_coding/g711_gn/moz.build
+++ b/third_party/libwebrtc/modules/audio_coding/g711_gn/moz.build
@@ -79,7 +79,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -162503,7 +162503,7 @@ index 8910ce7..d5a2030 100644
Library("g722_c_gn")
diff --git a/third_party/libwebrtc/modules/audio_coding/g722_gn/moz.build b/third_party/libwebrtc/modules/audio_coding/g722_gn/moz.build
-index 71d1053..31dda4e 100644
+index 71d1053..31dda4e6c 100644
--- a/third_party/libwebrtc/modules/audio_coding/g722_gn/moz.build
+++ b/third_party/libwebrtc/modules/audio_coding/g722_gn/moz.build
@@ -79,7 +79,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -163321,7 +163321,7 @@ index 67f8362..c607ac8 100644
Library("isac_gn")
diff --git a/third_party/libwebrtc/modules/audio_coding/isac_neon_gn/moz.build b/third_party/libwebrtc/modules/audio_coding/isac_neon_gn/moz.build
-index 3798420..a8ee826 100644
+index 3798420..a8ee826f 100644
--- a/third_party/libwebrtc/modules/audio_coding/isac_neon_gn/moz.build
+++ b/third_party/libwebrtc/modules/audio_coding/isac_neon_gn/moz.build
@@ -14,12 +14,7 @@ COMPILE_FLAGS["OS_INCLUDES"] = []
@@ -164491,7 +164491,7 @@ index 8e1e8c6..99fe511 100644
Library("audio_device_buffer_gn")
diff --git a/third_party/libwebrtc/modules/audio_device/audio_device_default_gn/moz.build b/third_party/libwebrtc/modules/audio_device/audio_device_default_gn/moz.build
-index a079f00..c949f26 100644
+index a079f00..c949f260 100644
--- a/third_party/libwebrtc/modules/audio_device/audio_device_default_gn/moz.build
+++ b/third_party/libwebrtc/modules/audio_device/audio_device_default_gn/moz.build
@@ -74,7 +74,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -165112,7 +165112,7 @@ index b1898d5..950331d 100644
Library("adaptive_fir_filter_erl_gn")
diff --git a/third_party/libwebrtc/modules/audio_processing/aec3/adaptive_fir_filter_gn/moz.build b/third_party/libwebrtc/modules/audio_processing/aec3/adaptive_fir_filter_gn/moz.build
-index 249c41b..793a944 100644
+index 249c41b..793a944d 100644
--- a/third_party/libwebrtc/modules/audio_processing/aec3/adaptive_fir_filter_gn/moz.build
+++ b/third_party/libwebrtc/modules/audio_processing/aec3/adaptive_fir_filter_gn/moz.build
@@ -74,7 +74,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -165637,7 +165637,7 @@ index 33c5ef2..03f2b1d 100644
Library("matched_filter_gn")
diff --git a/third_party/libwebrtc/modules/audio_processing/aec3/render_buffer_gn/moz.build b/third_party/libwebrtc/modules/audio_processing/aec3/render_buffer_gn/moz.build
-index a2685d2..7a83f11 100644
+index a2685d26..7a83f11 100644
--- a/third_party/libwebrtc/modules/audio_processing/aec3/render_buffer_gn/moz.build
+++ b/third_party/libwebrtc/modules/audio_processing/aec3/render_buffer_gn/moz.build
@@ -74,7 +74,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -171310,7 +171310,7 @@ index 60e216f..875ba0f 100644
Library("fft_gn")
diff --git a/third_party/libwebrtc/modules/third_party/g711/g711_3p_gn/moz.build b/third_party/libwebrtc/modules/third_party/g711/g711_3p_gn/moz.build
-index 4004c61..67610e7 100644
+index 4004c613..67610e7 100644
--- a/third_party/libwebrtc/modules/third_party/g711/g711_3p_gn/moz.build
+++ b/third_party/libwebrtc/modules/third_party/g711/g711_3p_gn/moz.build
@@ -74,7 +74,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -173291,7 +173291,7 @@ index 4b0b804..90c9ddb 100644
Library("webrtc_vp9_helpers_gn")
diff --git a/third_party/libwebrtc/modules/video_processing/denoiser_filter_gn/moz.build b/third_party/libwebrtc/modules/video_processing/denoiser_filter_gn/moz.build
-index 7407051..d31e40d 100644
+index 7407051e..d31e40d 100644
--- a/third_party/libwebrtc/modules/video_processing/denoiser_filter_gn/moz.build
+++ b/third_party/libwebrtc/modules/video_processing/denoiser_filter_gn/moz.build
@@ -70,7 +70,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -173598,7 +173598,7 @@ index 1131355..01086f1 100644
"/third_party/libwebrtc/modules/desktop_capture/desktop_capture_differ_sse2_gn",
"/third_party/libwebrtc/modules/video_processing/video_processing_sse2_gn"
diff --git a/third_party/libwebrtc/rtc_base/atomicops_gn/moz.build b/third_party/libwebrtc/rtc_base/atomicops_gn/moz.build
-index e81ee45..970aa26 100644
+index e81ee452..970aa26 100644
--- a/third_party/libwebrtc/rtc_base/atomicops_gn/moz.build
+++ b/third_party/libwebrtc/rtc_base/atomicops_gn/moz.build
@@ -70,7 +70,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -173685,7 +173685,7 @@ index e81ee45..970aa26 100644
Library("atomicops_gn")
diff --git a/third_party/libwebrtc/rtc_base/audio_format_to_string_gn/moz.build b/third_party/libwebrtc/rtc_base/audio_format_to_string_gn/moz.build
-index 1562c0c..460d0d5 100644
+index 1562c0c1..460d0d5 100644
--- a/third_party/libwebrtc/rtc_base/audio_format_to_string_gn/moz.build
+++ b/third_party/libwebrtc/rtc_base/audio_format_to_string_gn/moz.build
@@ -78,7 +78,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -177429,7 +177429,7 @@ index 5f14995..81e19e5 100644
Library("rw_lock_wrapper_gn")
diff --git a/third_party/libwebrtc/rtc_base/synchronization/sequence_checker_gn/moz.build b/third_party/libwebrtc/rtc_base/synchronization/sequence_checker_gn/moz.build
-index 5ec0cff..40a1809 100644
+index 5ec0cff6..40a1809 100644
--- a/third_party/libwebrtc/rtc_base/synchronization/sequence_checker_gn/moz.build
+++ b/third_party/libwebrtc/rtc_base/synchronization/sequence_checker_gn/moz.build
@@ -78,7 +78,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -178905,7 +178905,7 @@ index a3c1b2d..fbbd5da 100644
Library("sigslot_gn")
diff --git a/third_party/libwebrtc/rtc_base/thread_checker_gn/moz.build b/third_party/libwebrtc/rtc_base/thread_checker_gn/moz.build
-index eb1c598..cbe6e31 100644
+index eb1c598..cbe6e316 100644
--- a/third_party/libwebrtc/rtc_base/thread_checker_gn/moz.build
+++ b/third_party/libwebrtc/rtc_base/thread_checker_gn/moz.build
@@ -74,7 +74,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -179346,7 +179346,7 @@ index 5d22a05..45e5410 100644
Library("unit_base_gn")
diff --git a/third_party/libwebrtc/rtc_base/weak_ptr_gn/moz.build b/third_party/libwebrtc/rtc_base/weak_ptr_gn/moz.build
-index a9a520b..b1e60d9 100644
+index a9a520b..b1e60d90 100644
--- a/third_party/libwebrtc/rtc_base/weak_ptr_gn/moz.build
+++ b/third_party/libwebrtc/rtc_base/weak_ptr_gn/moz.build
@@ -78,7 +78,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -180418,7 +180418,7 @@ index fa970ef..ecf69a0 100644
Library("flat_hash_map_gn")
diff --git a/third_party/libwebrtc/third_party/abseil-cpp/absl/container/inlined_vector_gn/moz.build b/third_party/libwebrtc/third_party/abseil-cpp/absl/container/inlined_vector_gn/moz.build
-index a75033f..7a353bc 100644
+index a75033fa..7a353bc 100644
--- a/third_party/libwebrtc/third_party/abseil-cpp/absl/container/inlined_vector_gn/moz.build
+++ b/third_party/libwebrtc/third_party/abseil-cpp/absl/container/inlined_vector_gn/moz.build
@@ -53,7 +53,6 @@ if CONFIG["OS_TARGET"] == "Linux":
@@ -181105,7 +181105,7 @@ index 41cd799..c97aec9 100644
Library("span_gn")
diff --git a/third_party/libwebrtc/third_party/abseil-cpp/absl/types/variant_gn/moz.build b/third_party/libwebrtc/third_party/abseil-cpp/absl/types/variant_gn/moz.build
-index bb22317..879e032 100644
+index bb22317..879e032f 100644
--- a/third_party/libwebrtc/third_party/abseil-cpp/absl/types/variant_gn/moz.build
+++ b/third_party/libwebrtc/third_party/abseil-cpp/absl/types/variant_gn/moz.build
@@ -53,7 +53,6 @@ if CONFIG["OS_TARGET"] == "Linux":
diff --git a/librewolf/debian/patches/fixes/Bug-1756347-part-1-Work-around-a-GCC-issue-with-gene.patch b/librewolf/debian/patches/fixes/Bug-1756347-part-1-Work-around-a-GCC-issue-with-gene.patch
deleted file mode 100644
index 52daa27..0000000
--- a/librewolf/debian/patches/fixes/Bug-1756347-part-1-Work-around-a-GCC-issue-with-gene.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-From: Jan de Mooij <jdemooij@mozilla.com>
-Date: Mon, 28 Feb 2022 14:50:25 +0000
-Subject: Bug 1756347 part 1 - Work around a GCC issue with generated atomics.
- r=lth
-
-Use MOZ_NEVER_INLINE for GCC x86-32. It seems to run out of byte registers when
-inlining these functions.
-
-Differential Revision: https://phabricator.services.mozilla.com/D139703
----
- js/src/jit/GenerateAtomicOperations.py | 52 +++++++++++++++-----------
- 1 file changed, 30 insertions(+), 22 deletions(-)
-
-diff --git a/js/src/jit/GenerateAtomicOperations.py b/js/src/jit/GenerateAtomicOperations.py
-index dbde8d8..08dd562 100644
---- a/js/src/jit/GenerateAtomicOperations.py
-+++ b/js/src/jit/GenerateAtomicOperations.py
-@@ -10,6 +10,7 @@ import buildconfig
-
- is_64bit = "JS_64BIT" in buildconfig.defines
- cpu_arch = buildconfig.substs["CPU_ARCH"]
-+is_gcc = buildconfig.substs["CC_TYPE"] == "gcc"
-
-
- def fmt_insn(s):
-@@ -19,21 +20,21 @@ def fmt_insn(s):
- def gen_seqcst(fun_name):
- if cpu_arch in ("x86", "x86_64"):
- return r"""
-- inline void %(fun_name)s() {
-+ INLINE_ATTR void %(fun_name)s() {
- asm volatile ("mfence\n\t" ::: "memory");
- }""" % {
- "fun_name": fun_name,
- }
- if cpu_arch == "aarch64":
- return r"""
-- inline void %(fun_name)s() {
-+ INLINE_ATTR void %(fun_name)s() {
- asm volatile ("dmb ish\n\t" ::: "memory");
- }""" % {
- "fun_name": fun_name,
- }
- if cpu_arch == "arm":
- return r"""
-- inline void %(fun_name)s() {
-+ INLINE_ATTR void %(fun_name)s() {
- asm volatile ("dmb sy\n\t" ::: "memory");
- }""" % {
- "fun_name": fun_name,
-@@ -63,7 +64,7 @@ def gen_load(fun_name, cpp_type, size, barrier):
- if barrier:
- insns += fmt_insn("mfence")
- return """
-- inline %(cpp_type)s %(fun_name)s(const %(cpp_type)s* arg) {
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(const %(cpp_type)s* arg) {
- %(cpp_type)s res;
- asm volatile (%(insns)s
- : [res] "=r" (res)
-@@ -91,7 +92,7 @@ def gen_load(fun_name, cpp_type, size, barrier):
- if barrier:
- insns += fmt_insn("dmb ish")
- return """
-- inline %(cpp_type)s %(fun_name)s(const %(cpp_type)s* arg) {
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(const %(cpp_type)s* arg) {
- %(cpp_type)s res;
- asm volatile (%(insns)s
- : [res] "=r" (res)
-@@ -117,7 +118,7 @@ def gen_load(fun_name, cpp_type, size, barrier):
- if barrier:
- insns += fmt_insn("dmb sy")
- return """
-- inline %(cpp_type)s %(fun_name)s(const %(cpp_type)s* arg) {
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(const %(cpp_type)s* arg) {
- %(cpp_type)s res;
- asm volatile (%(insns)s
- : [res] "=r" (res)
-@@ -154,7 +155,7 @@ def gen_store(fun_name, cpp_type, size, barrier):
- if barrier:
- insns += fmt_insn("mfence")
- return """
-- inline void %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
-+ INLINE_ATTR void %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
- asm volatile (%(insns)s
- :
- : [addr] "r" (addr), [val] "r"(val)
-@@ -180,7 +181,7 @@ def gen_store(fun_name, cpp_type, size, barrier):
- if barrier:
- insns += fmt_insn("dmb ish")
- return """
-- inline void %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
-+ INLINE_ATTR void %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
- asm volatile (%(insns)s
- :
- : [addr] "r" (addr), [val] "r"(val)
-@@ -204,7 +205,7 @@ def gen_store(fun_name, cpp_type, size, barrier):
- if barrier:
- insns += fmt_insn("dmb sy")
- return """
-- inline void %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
-+ INLINE_ATTR void %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
- asm volatile (%(insns)s
- :
- : [addr] "r" (addr), [val] "r"(val)
-@@ -235,7 +236,7 @@ def gen_exchange(fun_name, cpp_type, size):
- assert size == 64
- insns += fmt_insn("xchgq %[val], (%[addr])")
- return """
-- inline %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
- asm volatile (%(insns)s
- : [val] "+r" (val)
- : [addr] "r" (addr)
-@@ -266,7 +267,7 @@ def gen_exchange(fun_name, cpp_type, size):
- insns += fmt_insn("cbnz %w[scratch], 0b")
- insns += fmt_insn("dmb ish")
- return """
-- inline %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
- %(cpp_type)s res;
- uint32_t scratch;
- asm volatile (%(insns)s
-@@ -297,7 +298,7 @@ def gen_exchange(fun_name, cpp_type, size):
- insns += fmt_insn("beq 0b")
- insns += fmt_insn("dmb sy")
- return """
-- inline %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
- %(cpp_type)s res;
- uint32_t scratch;
- asm volatile (%(insns)s
-@@ -321,7 +322,7 @@ def gen_cmpxchg(fun_name, cpp_type, size):
- # Use a +A constraint to load `oldval` into EDX:EAX as input/output.
- # `newval` is loaded into ECX:EBX.
- return r"""
-- inline %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr,
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr,
- %(cpp_type)s oldval,
- %(cpp_type)s newval) {
- asm volatile ("lock; cmpxchg8b (%%[addr])\n\t"
-@@ -337,7 +338,7 @@ def gen_cmpxchg(fun_name, cpp_type, size):
- }
- if cpu_arch == "arm" and size == 64:
- return r"""
-- inline %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr,
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr,
- %(cpp_type)s oldval,
- %(cpp_type)s newval) {
- uint32_t oldval0 = oldval & 0xffff'ffff;
-@@ -380,7 +381,7 @@ def gen_cmpxchg(fun_name, cpp_type, size):
- assert size == 64
- insns += fmt_insn("lock; cmpxchgq %[newval], (%[addr])")
- return """
-- inline %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr,
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr,
- %(cpp_type)s oldval,
- %(cpp_type)s newval) {
- asm volatile (%(insns)s
-@@ -425,7 +426,7 @@ def gen_cmpxchg(fun_name, cpp_type, size):
- insns += fmt_insn("cbnz %w[scratch], 0b")
- insns += fmt_insn("1: dmb ish")
- return """
-- inline %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr,
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr,
- %(cpp_type)s oldval,
- %(cpp_type)s newval) {
- %(cpp_type)s res, scratch;
-@@ -466,7 +467,7 @@ def gen_cmpxchg(fun_name, cpp_type, size):
- insns += fmt_insn("beq 0b")
- insns += fmt_insn("1: dmb sy")
- return """
-- inline %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr,
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr,
- %(cpp_type)s oldval,
- %(cpp_type)s newval) {
- %(cpp_type)s res, scratch;
-@@ -501,7 +502,7 @@ def gen_fetchop(fun_name, cpp_type, size, op):
- assert size == 64
- insns += fmt_insn("lock; xaddq %[val], (%[addr])")
- return """
-- inline %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
- asm volatile (%(insns)s
- : [val] "+&r" (val)
- : [addr] "r" (addr)
-@@ -539,7 +540,7 @@ def gen_fetchop(fun_name, cpp_type, size, op):
- insns = insns.replace("OP", op)
- insns += fmt_insn("jnz 0b")
- return """
-- inline %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
- %(cpp_type)s res, scratch;
- asm volatile (%(insns)s
- : [res] "=&a" (res), [scratch] "=&r" (scratch)
-@@ -581,7 +582,7 @@ def gen_fetchop(fun_name, cpp_type, size, op):
- insns += fmt_insn("cbnz %w[scratch2], 0b")
- insns += fmt_insn("dmb ish")
- return """
-- inline %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
- %(cpp_type)s res;
- uintptr_t scratch1, scratch2;
- asm volatile (%(insns)s
-@@ -621,7 +622,7 @@ def gen_fetchop(fun_name, cpp_type, size, op):
- insns += fmt_insn("beq 0b")
- insns += fmt_insn("dmb sy")
- return """
-- inline %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
-+ INLINE_ATTR %(cpp_type)s %(fun_name)s(%(cpp_type)s* addr, %(cpp_type)s val) {
- %(cpp_type)s res;
- uintptr_t scratch1, scratch2;
- asm volatile (%(insns)s
-@@ -681,7 +682,7 @@ def gen_copy(fun_name, cpp_type, size, unroll, direction):
- offset -= 1
-
- return """
-- inline void %(fun_name)s(uint8_t* dst, const uint8_t* src) {
-+ INLINE_ATTR void %(fun_name)s(uint8_t* dst, const uint8_t* src) {
- %(cpp_type)s* dst_ = reinterpret_cast<%(cpp_type)s*>(dst);
- const %(cpp_type)s* src_ = reinterpret_cast<const %(cpp_type)s*>(src);
- %(cpp_type)s scratch;
-@@ -853,6 +854,13 @@ def generate_atomics_header(c_out):
- "constexpr size_t JS_GENERATED_ATOMICS_WORDSIZE = " + str(wordsize) + ";\n"
- )
-
-+ # Work around a GCC issue on 32-bit x86 by adding MOZ_NEVER_INLINE.
-+ # See bug 1756347.
-+ if is_gcc and cpu_arch == "x86":
-+ contents = contents.replace("INLINE_ATTR", "MOZ_NEVER_INLINE inline")
-+ else:
-+ contents = contents.replace("INLINE_ATTR", "inline")
-+
- c_out.write(
- HEADER_TEMPLATE
- % {
diff --git a/librewolf/debian/patches/librewolf/aboutLogos.patch b/librewolf/debian/patches/librewolf/aboutLogos.patch
new file mode 100644
index 0000000..6584e40
--- /dev/null
+++ b/librewolf/debian/patches/librewolf/aboutLogos.patch
@@ -0,0 +1,17 @@
+--- a/browser/base/jar.mn
++++ b/browser/base/jar.mn
+@@ -97,6 +97,14 @@ browser.jar:
+ #endif
+ content/browser/webrtcIndicator.xhtml (content/webrtcIndicator.xhtml)
+ content/browser/webrtcIndicator.js (content/webrtcIndicator.js)
++ content/browser/aboutLogos/0.png (content/aboutLogos/0.png)
++ content/browser/aboutLogos/1.png (content/aboutLogos/1.png)
++ content/browser/aboutLogos/2.png (content/aboutLogos/2.png)
++ content/browser/aboutLogos/3.png (content/aboutLogos/3.png)
++ content/browser/aboutLogos/4.png (content/aboutLogos/4.png)
++ content/browser/aboutLogos/5.png (content/aboutLogos/5.png)
++ content/browser/aboutLogos/6.png (content/aboutLogos/6.png)
++ content/browser/aboutLogos/original.svg (content/aboutLogos/original.svg)
+ # the following files are browser-specific overrides
+ * content/browser/license.html (/toolkit/content/license.html)
+ % override chrome://global/content/license.html chrome://browser/content/license.html
diff --git a/librewolf/debian/patches/librewolf/bootstrap-without-vcs2.patch b/librewolf/debian/patches/librewolf/bootstrap-without-vcs.patch
index 6bedf32..d213d70 100644
--- a/librewolf/debian/patches/librewolf/bootstrap-without-vcs2.patch
+++ b/librewolf/debian/patches/librewolf/bootstrap-without-vcs.patch
@@ -1,17 +1,16 @@
diff --git a/python/mozboot/mozboot/bootstrap.py b/python/mozboot/mozboot/bootstrap.py
-index b0d6965..8ea2e15 100644
+index 0c5ecbf..d9a6d9d 100644
--- a/python/mozboot/mozboot/bootstrap.py
+++ b/python/mozboot/mozboot/bootstrap.py
-@@ -549,10 +549,8 @@ def current_firefox_checkout(env, hg: Optional[Path] = None):
- if not len(path.parents):
+@@ -550,10 +550,7 @@ def current_firefox_checkout(env, hg: Optional[Path] = None):
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", os.getcwd())
-+
++ return ("local", Path.cwd())
def update_git_tools(git: Optional[Path], root_state_dir: Path):
@@ -67,3 +66,60 @@ index dd31f53..6f0087a 100644
else:
raise MissingVCSInfo("unknown VCS_CHECKOUT_TYPE value: %s" % flavor)
+diff --git a/third_party/python/taskcluster_taskgraph/taskgraph/util/vcs.py b/third_party/python/taskcluster_taskgraph/taskgraph/util/vcs.py
+index 016578b..7525139 100644
+--- 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/librewolf/debian/patches/librewolf/context-menu.patch b/librewolf/debian/patches/librewolf/context-menu.patch
index 5685f96..da19aa6 100644
--- a/librewolf/debian/patches/librewolf/context-menu.patch
+++ b/librewolf/debian/patches/librewolf/context-menu.patch
@@ -1,12 +1,8 @@
diff --git a/browser/base/content/browser-context.inc b/browser/base/content/browser-context.inc
+index 39a139f..c565bce 100644
--- a/browser/base/content/browser-context.inc
+++ b/browser/base/content/browser-context.inc
-@@ -102,19 +102,16 @@
- oncommand="gContextMenu.openLinkInPrivateWindow();"/>
- <menuseparator id="context-sep-open"/>
- <menuitem id="context-bookmarklink"
- data-l10n-id="main-context-menu-bookmark-link"
- oncommand="gContextMenu.bookmarkLink();"/>
+@@ -100,9 +100,6 @@
<menuitem id="context-savelink"
data-l10n-id="main-context-menu-save-link"
oncommand="gContextMenu.saveLink();"/>
@@ -16,17 +12,7 @@ diff --git a/browser/base/content/browser-context.inc b/browser/base/content/bro
<menuitem id="context-copyemail"
data-l10n-id="main-context-menu-copy-email"
oncommand="gContextMenu.copyEmail();"/>
- <menuitem id="context-copylink"
- data-l10n-id="main-context-menu-copy-link-simple"
- oncommand="gContextMenu.copyLink();"/>
- <menu id="context-sendlinktodevice"
- class="sync-ui-item"
-@@ -254,19 +251,16 @@
- #ifdef XP_MACOSX
- <menuitem id="context-bookmarkpage"
- data-l10n-id="main-context-menu-bookmark-add-mac"
- oncommand="gContextMenu.bookmarkThisPage();"/>
- #endif
+@@ -256,9 +253,6 @@
<menuitem id="context-savepage"
data-l10n-id="main-context-menu-page-save"
oncommand="gContextMenu.savePageAs();"/>
@@ -36,8 +22,3 @@ diff --git a/browser/base/content/browser-context.inc b/browser/base/content/bro
<menu id="context-sendpagetodevice"
class="sync-ui-item"
data-l10n-id="main-context-menu-send-to-device"
- hidden="true">
- <menupopup id="context-sendpagetodevice-popup"
- onpopupshowing="(() => { gSync.populateSendTabToDevicesMenu(event.target, gBrowser.currentURI.spec, gBrowser.contentTitle); })()"/>
- </menu>
- <menu id="fill-login" hidden="true">
diff --git a/librewolf/debian/patches/librewolf/handlers.patch b/librewolf/debian/patches/librewolf/handlers.patch
new file mode 100644
index 0000000..2916500
--- /dev/null
+++ b/librewolf/debian/patches/librewolf/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/librewolf/debian/patches/librewolf/hide-default-browser.patch b/librewolf/debian/patches/librewolf/hide-default-browser.patch
index 4923780..3db1aa3 100644
--- a/librewolf/debian/patches/librewolf/hide-default-browser.patch
+++ b/librewolf/debian/patches/librewolf/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/debian/patches/librewolf/hide-passwordmgr.patch b/librewolf/debian/patches/librewolf/hide-passwordmgr.patch
new file mode 100644
index 0000000..933b4e6
--- /dev/null
+++ b/librewolf/debian/patches/librewolf/hide-passwordmgr.patch
@@ -0,0 +1,29 @@
+--- a/browser/base/content/browser.js
++++ b/browser/base/content/browser.js
+@@ -1847,6 +1847,13 @@ var gBrowserInit = {
+ )?.removeAttribute("key");
+ }
+
++ if (Services.prefs.getBoolPref("librewolf.hidePasswdmgr", false)) {
++ PanelMultiView.getViewNode(
++ document,
++ "appMenu-passwords-button"
++ )?.remove();
++ }
++
+ this._loadHandled = true;
+ },
+
+--- a/browser/components/preferences/privacy.js
++++ b/browser/components/preferences/privacy.js
+@@ -810,6 +810,10 @@ var gPrivacyPane = {
+ /* init HTTPS-Only mode */
+ this.initHttpsOnly();
+
++ if (Services.prefs.getBoolPref("librewolf.hidePasswdmgr", false)) {
++ document.getElementById("passwordsGroup")?.remove();
++ }
++
+ // Notify observers that the UI is now ready
+ Services.obs.notifyObservers(window, "privacy-pane-loaded");
+ },
diff --git a/librewolf/debian/patches/librewolf/librewolf-pref-pane.patch b/librewolf/debian/patches/librewolf/librewolf-pref-pane.patch
index 931526a..9dcb97d 100644
--- a/librewolf/debian/patches/librewolf/librewolf-pref-pane.patch
+++ b/librewolf/debian/patches/librewolf/librewolf-pref-pane.patch
@@ -1,23 +1,5 @@
-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
diff --git a/browser/components/preferences/jar.mn b/browser/components/preferences/jar.mn
-index 4f3babe..97c7ec2 100644
+index 912d9edf0855..30a83da4edca 100644
--- a/browser/components/preferences/jar.mn
+++ b/browser/components/preferences/jar.mn
@@ -11,6 +11,7 @@ browser.jar:
@@ -30,10 +12,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..c2dfea6d0858
--- /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 +60,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 +120,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-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">
++ <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 disabled="true" 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 +272,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..c8cbb075d59b
--- /dev/null
+++ b/browser/components/preferences/librewolf.js
-@@ -0,0 +1,240 @@
+@@ -0,0 +1,287 @@
+/* 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/. */
@@ -282,7 +294,10 @@ index 0000000..ee49f0f
+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" },
+ // WebGL
+ { id: "webgl.disabled", type: "bool" },
+ // RFP
@@ -293,6 +308,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
@@ -308,7 +325,10 @@ index 0000000..ee49f0f
+ //{ 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 = {
@@ -335,6 +355,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 +423,13 @@ index 0000000..ee49f0f
+ ]
+ );
+
++ 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);
+ // Set event listener on open about:config button
@@ -408,6 +440,18 @@ index 0000000..ee49f0f
+ },
+};
+
++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() {
+ // Get the profile directory.
+ let currProfD = Services.dirsvc.get("ProfD", Ci.nsIFile);
@@ -442,13 +486,13 @@ index 0000000..ee49f0f
+}
+
+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;
+ } */
@@ -504,8 +548,23 @@ index 0000000..ee49f0f
+ return writeArr[0];
+}
+
++Preferences.get("identity.fxaccounts.enabled").on("change", () => {
++ confirmRestartPrompt(
++ Services.prefs.getBoolPref("identity.fxaccounts.enabled"), // Restart is required to *enable* / *disable* the pref
++ 1, // Default Button Index
++ true, // Cancel instead of Revert Button
++ false // No Restart Later button
++ ).then(buttonIndex => {
++ if (buttonIndex == CONFIRM_RESTART_PROMPT_RESTART_NOW) {
++ Services.startup.quit(
++ Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart
++ );
++ return;
++ }
++ });
++});
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 @@
@@ -515,8 +574,8 @@ index 91e9e46..763ab49 100644
+/* import-globals-from librewolf.js */
/* import-globals-from sync.js */
/* import-globals-from experimental.js */
- /* import-globals-from findInPage.js */
-@@ -117,6 +118,7 @@ function init_all() {
+ /* import-globals-from moreFromMozilla.js */
+@@ -191,6 +192,7 @@ function init_all() {
register_module("paneHome", gHomePane);
register_module("paneSearch", gSearchPane);
register_module("panePrivacy", gPrivacyPane);
@@ -525,10 +584,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 +595,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 +613,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 +622,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 f4d5eaea2193..46de6b40af65 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:
+@@ -1409,3 +1409,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 +638,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 +646,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 +657,13 @@ index d276f7a..127c8e1 100644
+librewolf-ipv6-checkbox =
+ .label = Enable IPv6
+
++librewolf-privacy-heading = Privacy
++librewolf-xorigin-ref-checkbox =
++ .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 +672,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 +686,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 +720,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 26f209ad7047..a305db88cbbd 100644
--- a/browser/themes/shared/jar.inc.mn
+++ b/browser/themes/shared/jar.inc.mn
-@@ -105,6 +105,7 @@
- skin/classic/browser/preferences/category-experiments.svg (../shared/preferences/category-experiments.svg)
+@@ -106,6 +106,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/critters-postcard.jpg (../shared/preferences/critters-postcard.jpg)
-@@ -119,6 +120,7 @@
- skin/classic/browser/preferences/search-bar.svg (../shared/preferences/search-bar.svg)
+ skin/classic/browser/preferences/containers.css (../shared/preferences/containers.css)
+@@ -128,6 +129,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/highlights-24.svg (../shared/upgradeDialog/highlights-24.svg)
+ 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 +843,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 +870,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 406dc5603070..d6920777ec81 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");
}
diff --git a/librewolf/debian/patches/librewolf/lw-logo-devtools.patch b/librewolf/debian/patches/librewolf/lw-logo-devtools.patch
new file mode 100644
index 0000000..5362655
--- /dev/null
+++ b/librewolf/debian/patches/librewolf/lw-logo-devtools.patch
@@ -0,0 +1,37 @@
+--- a/devtools/client/aboutdebugging/src/actions/runtimes.js
++++ b/devtools/client/aboutdebugging/src/actions/runtimes.js
+@@ -71,9 +71,7 @@ async function getRuntimeIcon(runtime, channel) {
+ }
+ }
+
+- return channel === "release" || channel === "beta" || channel === "aurora"
+- ? `chrome://devtools/skin/images/aboutdebugging-firefox-${channel}.svg`
+- : "chrome://devtools/skin/images/aboutdebugging-firefox-nightly.svg";
++ return "chrome://devtools/skin/images/aboutdebugging-firefox-librewolf.svg";
+ }
+
+ function onRemoteDevToolsClientClosed() {
+--- a/devtools/client/jar.mn
++++ b/devtools/client/jar.mn
+@@ -374,6 +374,7 @@ devtools.jar:
+ skin/images/aboutdebugging-firefox-logo.svg (themes/images/aboutdebugging-firefox-logo.svg)
+ skin/images/aboutdebugging-firefox-nightly.svg (themes/images/aboutdebugging-firefox-nightly.svg)
+ skin/images/aboutdebugging-firefox-release.svg (themes/images/aboutdebugging-firefox-release.svg)
++ skin/images/aboutdebugging-firefox-librewolf.svg (themes/images/aboutdebugging-firefox-librewolf.svg)
+ skin/images/aboutdebugging-globe-icon.svg (themes/images/aboutdebugging-globe-icon.svg)
+ skin/images/aboutdebugging-information.svg (themes/images/aboutdebugging-information.svg)
+ skin/images/aboutdebugging-process-icon.svg (themes/images/aboutdebugging-process-icon.svg)
+--- /dev/null
++++ b/devtools/client/themes/images/aboutdebugging-firefox-librewolf.svg
+@@ -0,0 +1 @@
++<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 67.733 67.733"><g transform="translate(-42.107 -153.898)"><circle cx="75.973" cy="187.765" r="33.867" fill="#00acff"/><path d="M72.544 214.677c-4.744-.609-9.282-2.5-13.242-5.518-1.292-.985-3.715-3.424-4.773-4.804-2.963-3.865-4.805-8.25-5.412-12.887-.26-1.984-.26-5.633.003-7.447 1.308-9.068 7.014-16.846 15.209-20.73 3.811-1.806 7.3-2.57 11.73-2.57 7.166 0 13.527 2.567 18.681 7.54 2.483 2.396 4.148 4.668 5.574 7.607 1.929 3.975 2.71 7.433 2.71 11.995 0 6.006-1.735 11.244-5.337 16.117-1.07 1.448-3.162 3.647-4.55 4.785-3.806 3.12-8.658 5.232-13.473 5.863-1.663.218-5.593.245-7.12.05zm10.041-4.865c2.898-.914 5.26-2.142 7.54-3.92 1.213-.946 3.309-3.062 4.188-4.227 2.383-3.162 4.004-7.122 4.482-10.946.23-1.842.096-5.738-.255-7.43-.93-4.48-2.932-8.265-6.086-11.503-1.966-2.02-3.757-3.35-6.06-4.505-3.495-1.752-6.49-2.46-10.424-2.464-4.164-.004-7.815.95-11.429 2.987-3.29 1.855-6.69 5.26-8.553 8.563-1.372 2.433-2.376 5.32-2.767 7.96-.257 1.73-.262 5.164-.01 6.82.504 3.316 1.76 6.592 3.584 9.34.995 1.5.964 1.484 1.842.981 1.57-.898 1.98-1.333 2.836-3.01 1-1.96 2.07-3.673 3.037-4.863 1.116-1.373 1.27-1.618 1.83-2.915.28-.652.786-1.61 1.122-2.13l.611-.942-.79-.777c-1.05-1.032-1.923-2.201-2.087-2.796-.168-.608.03-.947.818-1.402.798-.461 1.368-.593 3.5-.812 1.037-.107 2.163-.302 2.518-.437.353-.134 1.408-.708 2.344-1.276 2.703-1.639 2.932-1.723 4.552-1.688 1.369.03 1.371.029 2.183-.462 1.7-1.028 4.143-2.883 7.357-5.587.616-.519 1.21-.926 1.32-.905.454.088 1.289 2.137 1.416 3.476.077.812-.08 1.615-.562 2.873-.132.343-.192.67-.135.727.138.137.61-.453.61-.763 0-.394.262-.439.617-.106.258.242.481.312 1 .312.567 0 .708.052.93.348.375.5.463 1.866.175 2.732-.28.842-1.125 1.813-1.892 2.173-.686.323-2.075 1.68-2.726 2.662a31.64 31.64 0 00-1.037 1.742c-.321.582-.86 1.461-1.198 1.954-.664.97-1.233 2.323-1.782 4.238-.323 1.126-.35 1.419-.363 3.928-.016 3.032-.173 3.776-.993 4.71-.931 1.06-1.862 3.391-1.94 4.86-.05.928-.192 1.832-.395 2.502-.09.295.077.291 1.072-.022z" fill="#fff"/><path d="M77.062 181.654l1.222-1.565 1.966-.275-1.222 1.564z" fill="#00acff"/></g></svg>
+--- a/devtools/client/themes/images/aboutdebugging-firefox-logo.svg
++++ b/devtools/client/themes/images/aboutdebugging-firefox-logo.svg
+@@ -1,6 +1 @@
+-<!-- This Source Code Form is subject to the terms of the Mozilla Public
+- - License, v. 2.0. If a copy of the MPL was not distributed with this
+- - file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
+-<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
+- <path fill="context-fill #20123a" d="M190.368 150.591c0.157 0.009 0.079 0.003 0 0zm-57.874-28.933c0.158 0.008 0.079 0.003 0 0zm346.228 44.674c-10.445-25.123-31.6-52.248-48.211-60.82 13.52 26.5 21.345 53.093 24.335 72.935 0 0.04 0.015 0.136 0.047 0.4-27.175-67.732-73.254-95.047-110.886-154.512-1.9-3.008-3.805-6.022-5.661-9.2a73.237 73.237 0 0 1-2.646-4.972 43.757 43.757 0 0 1-3.585-9.5 0.625 0.625 0 0 0-0.546-0.644 0.8 0.8 0 0 0-0.451 0c-0.033 0.011-0.084 0.051-0.119 0.065-0.053 0.02-0.12 0.069-0.176 0.095 0.026-0.036 0.083-0.117 0.1-0.135-53.437 31.3-75.587 86.093-81.282 120.97a128.057 128.057 0 0 0-47.624 12.153 6.144 6.144 0 0 0-3.041 7.63 6.034 6.034 0 0 0 8.192 3.525 116.175 116.175 0 0 1 41.481-10.826c0.468-0.033 0.937-0.062 1.405-0.1a117.624 117.624 0 0 1 5.932-0.211 120.831 120.831 0 0 1 34.491 4.777c0.654 0.192 1.295 0.414 1.946 0.616a120.15 120.15 0 0 1 5.539 1.842 121.852 121.852 0 0 1 3.992 1.564c1.074 0.434 2.148 0.868 3.206 1.331a118.453 118.453 0 0 1 4.9 2.307c0.743 0.368 1.485 0.735 2.217 1.117a120.535 120.535 0 0 1 4.675 2.587 107.785 107.785 0 0 1 2.952 1.776 123.018 123.018 0 0 1 42.028 43.477c-12.833-9.015-35.81-17.918-57.947-14.068 86.441 43.214 63.234 192.027-56.545 186.408a106.7 106.7 0 0 1-31.271-6.031 132.461 132.461 0 0 1-7.059-2.886c-1.356-0.618-2.711-1.243-4.051-1.935-29.349-15.168-53.583-43.833-56.611-78.643 0 0 11.093-41.335 79.433-41.335 7.388 0 28.508-20.614 28.9-26.593-0.09-1.953-41.917-18.59-58.223-34.656-8.714-8.585-12.851-12.723-16.514-15.829a71.7 71.7 0 0 0-6.225-4.7 111.335 111.335 0 0 1-0.675-58.733c-24.687 11.242-43.89 29.011-57.849 44.7h-0.111c-9.528-12.067-8.855-51.873-8.312-60.184-0.114-0.516-7.107 3.63-8.024 4.254a175.21 175.21 0 0 0-23.486 20.12 210.5 210.5 0 0 0-22.443 26.913c0 0.012-0.007 0.025-0.011 0.037 0-0.012 0.007-0.025 0.011-0.038a202.837 202.837 0 0 0-32.244 72.81c-0.058 0.265-2.29 10.054-3.92 22.147a265.794 265.794 0 0 0-0.769 5.651c-0.558 3.636-0.992 7.6-1.42 13.767-0.019 0.239-0.031 0.474-0.048 0.712a591.152 591.152 0 0 0-0.481 7.995c0 0.411-0.025 0.816-0.025 1.227 0 132.709 107.6 240.29 240.324 240.29 118.865 0 217.559-86.288 236.882-199.63 0.407-3.075 0.732-6.168 1.092-9.27 4.777-41.21-0.53-84.525-15.588-120.747zm-164.068 72.1z" />
+-</svg>
++<svg xmlns="http://www.w3.org/2000/svg" width="256" height="256" viewBox="0 0 67.733 67.733"><path d="M33.867 0A33.867 33.867 0 000 33.867a33.867 33.867 0 0033.867 33.866 33.867 33.867 0 0033.866-33.866A33.867 33.867 0 0033.867 0zm.086 6.822c7.166 0 13.526 2.568 18.68 7.54 2.484 2.397 4.149 4.669 5.575 7.608 1.928 3.975 2.71 7.432 2.71 11.995 0 6.006-1.735 11.244-5.337 16.117-1.07 1.448-3.162 3.647-4.55 4.785-3.807 3.12-8.659 5.231-13.473 5.863-1.664.218-5.594.245-7.121.049-4.744-.609-9.282-2.5-13.242-5.519-1.291-.984-3.715-3.423-4.773-4.803C9.46 46.592 7.618 42.206 7.01 37.57c-.26-1.985-.259-5.633.003-7.447 1.308-9.068 7.014-16.845 15.209-20.73 3.811-1.806 7.3-2.57 11.731-2.57zm-.089 4.097c-4.164-.004-7.815.95-11.43 2.987-3.289 1.855-6.69 5.26-8.553 8.563-1.371 2.433-2.375 5.32-2.767 7.96-.257 1.729-.262 5.164-.01 6.82.504 3.315 1.761 6.591 3.584 9.34.995 1.5.964 1.484 1.842.981 1.571-.898 1.981-1.334 2.837-3.01 1-1.96 2.07-3.673 3.037-4.863 1.116-1.374 1.269-1.618 1.829-2.915a17.5 17.5 0 011.123-2.13l.61-.942-.79-.777c-1.05-1.032-1.923-2.202-2.087-2.797-.168-.607.03-.946.82-1.402.796-.46 1.367-.593 3.498-.812 1.037-.106 2.163-.302 2.518-.436.353-.134 1.408-.709 2.344-1.276 2.703-1.639 2.932-1.724 4.553-1.688 1.368.03 1.37.029 2.182-.462 1.701-1.028 4.144-2.883 7.358-5.587.616-.519 1.21-.926 1.319-.905.454.088 1.29 2.136 1.416 3.476.077.812-.08 1.615-.562 2.872-.131.343-.192.67-.134.728.137.137.61-.453.61-.763 0-.394.261-.44.616-.106.259.242.482.311 1 .311.568 0 .708.053.93.348.375.501.463 1.867.176 2.733-.28.842-1.125 1.812-1.892 2.173-.686.322-2.076 1.68-2.726 2.662-.249.376-.716 1.16-1.037 1.742-.322.582-.861 1.461-1.199 1.954-.664.97-1.233 2.322-1.782 4.238-.322 1.125-.35 1.418-.363 3.928-.016 3.032-.173 3.776-.992 4.71-.932 1.06-1.862 3.391-1.94 4.86-.05.928-.193 1.832-.396 2.502-.089.294.078.29 1.073-.023 2.898-.913 5.26-2.14 7.54-3.92 1.213-.945 3.308-3.06 4.187-4.226 2.383-3.162 4.005-7.122 4.482-10.947.23-1.841.097-5.738-.254-7.429-.93-4.48-2.932-8.265-6.087-11.503-1.966-2.02-3.756-3.35-6.06-4.505-3.495-1.752-6.49-2.46-10.423-2.464zm4.279 14.997l-1.966.275-1.222 1.565 1.966-.276 1.222-1.564z" fill="context-fill #00acff"/></svg>
diff --git a/librewolf/debian/patches/librewolf/pref-naming.patch b/librewolf/debian/patches/librewolf/pref-naming.patch
index fa6eb80..f5cb16d 100644
--- a/librewolf/debian/patches/librewolf/pref-naming.patch
+++ b/librewolf/debian/patches/librewolf/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/librewolf/debian/patches/librewolf/remap-links.patch b/librewolf/debian/patches/librewolf/remap-links.patch
new file mode 100644
index 0000000..c6a6a7d
--- /dev/null
+++ b/librewolf/debian/patches/librewolf/remap-links.patch
@@ -0,0 +1,156 @@
+--- a/browser/components/preferences/main.js
++++ b/browser/components/preferences/main.js
+@@ -308,12 +308,19 @@
+ "performanceSettingsLearnMore"
+ );
+ 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"
+ );
+@@ -326,8 +333,7 @@
+ "connectionSettingsLearnMore"
+ );
+ let connectionSettingsUrl =
+- Services.urlFormatter.formatURLPref("app.support.baseURL") +
+- "prefs-connection-settings";
++ "https://support.mozilla.org/en-US/kb/connection-settings-firefox"
+ connectionSettingsLink.setAttribute("href", connectionSettingsUrl);
+ this.updateProxySettingsUI();
+ initializeProxyUI(gMainPane);
+@@ -357,8 +363,7 @@
+ 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 +514,7 @@
+ ) {
+ 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 +547,7 @@
+
+ let drmInfoURL =
+ Services.urlFormatter.formatURLPref("app.support.baseURL") +
+- "drm-content";
++ "how-do-i-enable-drm";
+ document
+ .getElementById("playDRMContentLink")
+ .setAttribute("href", drmInfoURL);
+@@ -870,7 +874,8 @@
+
+ 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/librewolf/debian/patches/librewolf/remove_addons.patch.orig b/librewolf/debian/patches/librewolf/remove_addons.patch.orig
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/librewolf/debian/patches/librewolf/remove_addons.patch.orig
diff --git a/librewolf/debian/patches/librewolf/remove_addons.patch.rej b/librewolf/debian/patches/librewolf/remove_addons.patch.rej
new file mode 100644
index 0000000..f8f82a8
--- /dev/null
+++ b/librewolf/debian/patches/librewolf/remove_addons.patch.rej
@@ -0,0 +1,12 @@
+--- patches/remove_addons.patch
++++ patches/remove_addons.patch
+@@ -12,8 +12,8 @@
+ "webcompat",
+ - "report-site-issue",
+ "pictureinpicture",
+- "proxy-failover",
+ "search-detection",
++ ]
+ diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in
+ index 496379c..dd6f359 100644
+ --- a/browser/locales/Makefile.in
diff --git a/librewolf/debian/patches/librewolf/stop-undesired-requests.patch b/librewolf/debian/patches/librewolf/stop-undesired-requests.patch
index 57bb966..63974d8 100644
--- a/librewolf/debian/patches/librewolf/stop-undesired-requests.patch
+++ b/librewolf/debian/patches/librewolf/stop-undesired-requests.patch
@@ -1,44 +1,44 @@
diff --git a/browser/components/newtab/data/content/activity-stream.bundle.js b/browser/components/newtab/data/content/activity-stream.bundle.js
-index 92f0652aec..696a99f7ef 100644
+index d5a3f10..b5efa81 100644
--- a/browser/components/newtab/data/content/activity-stream.bundle.js
+++ b/browser/components/newtab/data/content/activity-stream.bundle.js
-@@ -1841,7 +1841,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", {
+@@ -1577,7 +1577,7 @@ class ASRouterAdminInner extends (external_React_default()).PureComponent {
+ label = /*#__PURE__*/external_React_default().createElement("span", null, "remote settings (", /*#__PURE__*/external_React_default().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.m.c.qjz9zk/v1/buckets/main/collections/nimbus-desktop-experiments/records",
++ href: "https://%.invalid",
rel: "noopener noreferrer"
}, "nimbus-desktop-experiments"), ")");
}
diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
-index c7cde8917c..b398a22064 100644
+index 261e46f..22f8214 100644
--- a/modules/libpref/init/all.js
+++ b/modules/libpref/init/all.js
-@@ -2243,7 +2243,7 @@ pref("security.cert_pinning.hpkp.enabled", false);
+@@ -2181,7 +2181,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://f.s.s.m.c.qjz9zk/v1");
++pref("services.settings.server", "https://%.invalid");
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 66df850904..1538a2ff0d 100644
+index 2ce9e87..cd132a3 100644
--- a/services/settings/Utils.jsm
+++ b/services/settings/Utils.jsm
-@@ -64,7 +64,7 @@
- !Cu.isInAutomation &&
- !isXpcshell &&
- isNotThunderbird
-- ? "https://firefox.settings.services.mozilla.com/v1"
-+ ? "https://f.s.s.m.c.qjz9zk/v1"
- : gServerURL;
+@@ -89,7 +89,7 @@ var Utils = {
+ get SERVER_URL() {
+ return allowServerURLOverride
+ ? gServerURL
+- : "https://firefox.settings.services.mozilla.com/v1";
++ : "https://%.invalid";
},
-
+
+ CHANGES_PATH: "/buckets/monitor/collections/changes/changeset",
diff --git a/toolkit/components/search/SearchUtils.jsm b/toolkit/components/search/SearchUtils.jsm
-index 8a3c6acb84..7408b3fd2f 100644
+index 983d567..5fb6ae7 100644
--- a/toolkit/components/search/SearchUtils.jsm
+++ b/toolkit/components/search/SearchUtils.jsm
@@ -159,9 +159,9 @@ var SearchUtils = {
@@ -46,10 +46,10 @@ index 8a3c6acb84..7408b3fd2f 100644
ENGINES_URLS: {
"prod-main":
- "https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/search-config/records",
-+ "https://f.s.s.m.c.qjz9zk/v1/buckets/main/collections/search-config/records",
++ "https://%.invalid",
"prod-preview":
- "https://firefox.settings.services.mozilla.com/v1/buckets/main-preview/collections/search-config/records",
-+ "https://f.s.s.m.c.qjz9zk/v1/buckets/main-preview/collections/search-config/records",
++ "https://%.invalid",
"stage-main":
"https://settings.stage.mozaws.net/v1/buckets/main/collections/search-config/records",
"stage-preview":
diff --git a/librewolf/debian/patches/librewolf/website-appearance-ui-rfp.patch b/librewolf/debian/patches/librewolf/website-appearance-ui-rfp.patch
new file mode 100644
index 0000000..0de5504
--- /dev/null
+++ b/librewolf/debian/patches/librewolf/website-appearance-ui-rfp.patch
@@ -0,0 +1,52 @@
+--- a/browser/components/preferences/main.js
++++ b/browser/components/preferences/main.js
+@@ -3737,6 +3737,7 @@ const AppearanceChooser = {
+ FORCED_COLORS_QUERY.addEventListener("change", this);
+ SYSTEM_DARK_MODE_QUERY.addEventListener("change", this);
+ Services.prefs.addObserver(PREF_USE_SYSTEM_COLORS, this);
++ Services.prefs.addObserver("privacy.resistFingerprinting", this);
+ Services.obs.addObserver(this, "look-and-feel-changed");
+ this._update();
+ },
+@@ -3756,6 +3757,7 @@ const AppearanceChooser = {
+
+ destroy() {
+ Services.prefs.removeObserver(PREF_USE_SYSTEM_COLORS, this);
++ Services.prefs.removeObserver("privacy.resistFingerprinting", this);
+ Services.obs.removeObserver(this, "look-and-feel-changed");
+ FORCED_COLORS_QUERY.removeEventListener("change", this);
+ SYSTEM_DARK_MODE_QUERY.removeEventListener("change", this);
+@@ -3798,5 +3800,33 @@ const AppearanceChooser = {
+ (AppConstants.platform == "win" ||
+ !Services.prefs.getBoolPref(PREF_USE_SYSTEM_COLORS));
+ this.warning.hidden = !forcingColorsAndNoColorSchemeSupport;
++
++ if (Services.prefs.getBoolPref("privacy.resistFingerprinting")) {
++ document.getElementById("web-appearance-chooser").style.opacity = 0.3;
++ document.getElementById("web-appearance-chooser").style.pointerEvents = "none";
++ const infoBox = document.createElement("div");
++ infoBox.id = "web-appearance-rfp-warning";
++ infoBox.classList.add("info-box-container");
++ infoBox.style.display = "flex";
++ infoBox.style.alignItems = "center";
++ infoBox.style.marginTop = "10px";
++ infoBox.style.marginBottom = "5px";
++ const text = document.createElement("div");
++ text.innerText = "This feature is disabled because ResistFingerprinting is enabled. This means LibreWolf will force web content to display in a light theme.";
++ infoBox.appendChild(text);
++ const learnMore = document.createElement("a");
++ learnMore.classList.add("text-link");
++ learnMore.style.marginLeft = "5px";
++ learnMore.style.flexShrink = 0;
++ learnMore.setAttribute("is", "learn-more");
++ learnMore.href = "https://librewolf.net/docs/faq/#why-is-librewolf-forcing-light-theme";
++ learnMore.innerText = "Learn more";
++ infoBox.appendChild(learnMore);
++ document.getElementById("webAppearanceSettings").insertBefore(infoBox, document.getElementById("webAppearanceSettings").children[2]);
++ } else {
++ document.getElementById("web-appearance-rfp-warning")?.remove();
++ document.getElementById("web-appearance-chooser").style.opacity = 1;
++ document.getElementById("web-appearance-chooser").style.pointerEvents = "all";
++ }
+ },
+ };
diff --git a/librewolf/debian/patches/porting/NSS-Fix-FTBFS-on-Hurd-because-of-MAXPATHLEN.patch b/librewolf/debian/patches/porting/NSS-Fix-FTBFS-on-Hurd-because-of-MAXPATHLEN.patch
index a543693..cb04ca2 100644
--- a/librewolf/debian/patches/porting/NSS-Fix-FTBFS-on-Hurd-because-of-MAXPATHLEN.patch
+++ b/librewolf/debian/patches/porting/NSS-Fix-FTBFS-on-Hurd-because-of-MAXPATHLEN.patch
@@ -47,7 +47,7 @@ index ad8f3b8..c33f2c9 100644
link_buf[ret] = 0;
link_file = mkoutput(input_file);
diff --git a/security/nss/lib/freebl/unix_rand.c b/security/nss/lib/freebl/unix_rand.c
-index 24381cb..f5520f0 100644
+index 24381cb2..f5520f0 100644
--- a/security/nss/lib/freebl/unix_rand.c
+++ b/security/nss/lib/freebl/unix_rand.c
@@ -843,6 +843,10 @@ RNG_FileForRNG(const char *fileName)
diff --git a/librewolf/debian/patches/prefs/Don-t-auto-disable-extensions-in-system-directories.patch b/librewolf/debian/patches/prefs/Don-t-auto-disable-extensions-in-system-directories.patch
index 8f7af65..1eed20c 100644
--- a/librewolf/debian/patches/prefs/Don-t-auto-disable-extensions-in-system-directories.patch
+++ b/librewolf/debian/patches/prefs/Don-t-auto-disable-extensions-in-system-directories.patch
@@ -7,7 +7,7 @@ Subject: Don't auto-disable extensions in system directories
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/browser/app/profile/firefox.js b/browser/app/profile/firefox.js
-index 33a2ff3..a284d0a 100644
+index 76b495e..b75b41b 100644
--- a/browser/app/profile/firefox.js
+++ b/browser/app/profile/firefox.js
@@ -56,7 +56,7 @@ pref("extensions.systemAddon.update.enabled", true);
diff --git a/librewolf/debian/patches/prefs/Set-DPI-to-system-settings.patch b/librewolf/debian/patches/prefs/Set-DPI-to-system-settings.patch
index 348a17f..4547c93 100644
--- a/librewolf/debian/patches/prefs/Set-DPI-to-system-settings.patch
+++ b/librewolf/debian/patches/prefs/Set-DPI-to-system-settings.patch
@@ -3,19 +3,19 @@ Date: Thu, 13 Mar 2008 20:30:19 +0100
Subject: Set DPI to system settings
---
- modules/libpref/init/all.js | 2 +-
+ modules/libpref/init/StaticPrefList.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
-diff --git a/modules/libpref/init/all.js b/modules/libpref/init/all.js
-index 37dd370..75d3866 100644
---- a/modules/libpref/init/all.js
-+++ b/modules/libpref/init/all.js
-@@ -2355,7 +2355,7 @@ pref("bidi.browser.ui", false);
- // A value of 0 means use the system DPI. A positive value is used as the DPI.
- // This sets the physical size of a device pixel and thus controls the
- // interpretation of physical units such as "pt".
--pref("layout.css.dpi", -1);
-+pref("layout.css.dpi", 0);
+diff --git a/modules/libpref/init/StaticPrefList.yaml b/modules/libpref/init/StaticPrefList.yaml
+index 8947a47..7fc7210 100644
+--- a/modules/libpref/init/StaticPrefList.yaml
++++ b/modules/libpref/init/StaticPrefList.yaml
+@@ -7259,7 +7259,7 @@
+ # interpretation of physical units such as "pt".
+ - name: layout.css.dpi
+ type: int32_t
+- value: -1
++ value: 0
+ mirror: always
- // pref for which side vertical scrollbars should be on
- // 0 = end-side in UI direction
+ # Whether non-standard caption-side values are enabled
diff --git a/librewolf/debian/patches/series b/librewolf/debian/patches/series
index 3041795..723f2b0 100644
--- a/librewolf/debian/patches/series
+++ b/librewolf/debian/patches/series
@@ -1,6 +1,5 @@
fixes/Allow-.js-preference-files-to-set-locked-prefs-with-.patch
fixes/Bug-1738845-Add-webrtc-configs-for-arm-and-ppc64-lin.patch
-fixes/Bug-1756347-part-1-Work-around-a-GCC-issue-with-gene.patch
porting/Add-xptcall-support-for-SH4-processors.patch
porting/NSS-Fix-FTBFS-on-Hurd-because-of-MAXPATHLEN.patch
porting/Use-NEON_FLAGS-instead-of-VPX_ASFLAGS-for-libaom-neo.patch
@@ -19,24 +18,30 @@ debian-hacks/Use-build-id-as-langpack-version-for-reproducibility.patch
debian-hacks/Allow-to-build-with-older-versions-of-nodejs-10.patch
debian-hacks/Fix-math_private.h-for-i386-FTBFS.patch
debian-hacks/Relax-MSRV-to-1.56.0.patch
+librewolf/aboutLogos.patch -p1
librewolf/allow-ubo-private-mode.patch -p1
-librewolf/bootstrap-without-vcs2.patch -p1
+librewolf/bootstrap-without-vcs.patch -p1
librewolf/context-menu.patch -p1
librewolf/custom-ubo-assets-bootstrap-location.patch -p1
librewolf/disable-data-reporting-at-compile-time.patch -p1
-#librewolf/librewolf-pref-pane.patch -p1
+librewolf/hide-passwordmgr.patch -p1
+librewolf/librewolf-pref-pane.patch -p1
librewolf/mozilla_dirs.patch -p1
librewolf/remove_addons.patch -p1
librewolf/allow-searchengines-non-esr.patch -p1
librewolf/disable-pocket.patch -p1
librewolf/remove-internal-plugin-certs.patch -p1
librewolf/stop-undesired-requests.patch -p1
+librewolf/handlers.patch -p1
librewolf/hide-default-browser.patch -p1
+librewolf/lw-logo-devtools.patch -p1
librewolf/pref-naming.patch -p1
librewolf/privacy-preferences.patch -p1
+librewolf/remap-links.patch -p1
librewolf/remove-branding-urlbar.patch -p1
librewolf/remove-cfrprefs.patch -p1
librewolf/remove-organization-policy-banner.patch -p1
librewolf/remove-snippets-from-home.patch -p1
librewolf/sanitizing-description.patch -p1
+librewolf/website-appearance-ui-rfp.patch -p1
librewolf/urlbarprovider-interventions.patch -p1
bgstack15