commit 1edfec57049a76052fda8eb17b6e3b8f281e3361
Author: Alex Catarineu <acat(a)torproject.org>
Date: Wed Sep 4 11:38:45 2019 +0200
Bug 31598: Disable warning on window resize if letterboxing is enabled
---
chrome/content/torbutton.js | 14 ++++++++------
defaults/preferences/preferences.js | 2 +-
2 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/chrome/content/torbutton.js b/chrome/content/torbutton.js
index 6209b6b8..9d6a5c48 100644
--- a/chrome/content/torbutton.js
+++ b/chrome/content/torbutton.js
@@ -92,6 +92,7 @@ var torbutton_unique_pref_observer =
m_tb_prefs.addObserver("plugin.disable", this, false);
m_tb_prefs.addObserver("privacy.firstparty.isolate", this, false);
m_tb_prefs.addObserver("privacy.resistFingerprinting", this, false);
+ m_tb_prefs.addObserver("privacy.resistFingerprinting.letterboxing", this, false);
// We observe xpcom-category-entry-added for plugins w/ Gecko-Content-Viewers
var observerService = Services.obs;
@@ -107,6 +108,7 @@ var torbutton_unique_pref_observer =
m_tb_prefs.removeObserver("plugin.disable", this);
m_tb_prefs.removeObserver("privacy.firstparty.isolate", this);
m_tb_prefs.removeObserver("privacy.resistFingerprinting", this);
+ m_tb_prefs.removeObserver("privacy.resistFingerprinting.letterboxing", this);
var observerService = Services.obs;
observerService.removeObserver(this, "xpcom-category-entry-added");
@@ -156,6 +158,7 @@ var torbutton_unique_pref_observer =
torbutton_use_nontor_proxy();
break;
case "privacy.resistFingerprinting":
+ case "privacy.resistFingerprinting.letterboxing":
torbutton_update_fingerprinting_prefs();
break;
case "privacy.firstparty.isolate":
@@ -1508,14 +1511,14 @@ function torbutton_update_disk_prefs() {
function torbutton_update_fingerprinting_prefs() {
var mode = m_tb_prefs.getBoolPref("privacy.resistFingerprinting");
+ var letterboxing = m_tb_prefs.getBoolPref("privacy.resistFingerprinting.letterboxing", false);
m_tb_prefs.setBoolPref("webgl.disable-extensions", mode);
m_tb_prefs.setBoolPref("dom.network.enabled", !mode);
m_tb_prefs.setBoolPref("dom.enable_performance", !mode);
m_tb_prefs.setBoolPref("plugin.expose_full_path", !mode);
m_tb_prefs.setBoolPref("browser.zoom.siteSpecific", !mode);
-
- m_tb_prefs.setBoolPref("extensions.torbutton.resize_new_windows", mode);
+ m_tb_prefs.setBoolPref("extensions.torbutton.resize_new_windows", mode && !letterboxing);
// Force prefs to be synced to disk
Services.prefs.savePrefFile(null);
@@ -1915,8 +1918,7 @@ function torbutton_new_window(event)
let progress = Cc["@mozilla.org/docloaderservice;1"]
.getService(Ci.nsIWebProgress);
- if (m_tb_prefs.getBoolPref("extensions.torbutton.resize_new_windows")
- && torbutton_is_windowed(window)) {
+ if (torbutton_is_windowed(window)) {
progress.addProgressListener(torbutton_resizelistener,
Ci.nsIWebProgress.NOTIFY_STATE_DOCUMENT);
}
@@ -1999,8 +2001,8 @@ var torbutton_resizelistener =
await new Promise(resolve => setTimeout(resolve, 0));
if (window.windowState === window.STATE_MAXIMIZED ||
window.windowState === window.STATE_FULLSCREEN) {
- if (m_tb_prefs.
- getIntPref("extensions.torbutton.maximize_warnings_remaining") > 0) {
+ if (m_tb_prefs.getBoolPref("extensions.torbutton.resize_new_windows") &&
+ m_tb_prefs.getIntPref("extensions.torbutton.maximize_warnings_remaining") > 0) {
// Do not add another notification if one is already showing.
const kNotificationName = "torbutton-maximize-notification";
diff --git a/defaults/preferences/preferences.js b/defaults/preferences/preferences.js
index e5d66d55..acea0a3d 100644
--- a/defaults/preferences/preferences.js
+++ b/defaults/preferences/preferences.js
@@ -30,7 +30,7 @@ pref("extensions.torbutton.cookie_protections",true);
pref("extensions.torbutton.cookie_auto_protect",false);
pref("extensions.torbutton.clear_http_auth",true);
pref("extensions.torbutton.close_newnym",true);
-pref("extensions.torbutton.resize_new_windows",true);
+pref("extensions.torbutton.resize_new_windows",false);
pref("extensions.torbutton.startup_state", 2); // 0=non-tor, 1=tor, 2=last
pref("extensions.torbutton.tor_memory_jar",false);
pref("extensions.torbutton.nontor_memory_jar",false);