From 28132e774478bb632672ff04958b1cfc1a464da8 Mon Sep 17 00:00:00 2001 From: "B. Stack" Date: Sun, 3 Jul 2022 09:04:13 -0400 Subject: v102.0 rc1 --- website-appearance-ui-rfp.patch | 52 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 website-appearance-ui-rfp.patch (limited to 'website-appearance-ui-rfp.patch') diff --git a/website-appearance-ui-rfp.patch b/website-appearance-ui-rfp.patch new file mode 100644 index 0000000..0de5504 --- /dev/null +++ b/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"; ++ } + }, + }; -- cgit