summaryrefslogtreecommitdiff
path: root/website-appearance-ui-rfp.patch
diff options
context:
space:
mode:
Diffstat (limited to 'website-appearance-ui-rfp.patch')
-rw-r--r--website-appearance-ui-rfp.patch52
1 files changed, 52 insertions, 0 deletions
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";
++ }
+ },
+ };
bgstack15