[tbb-commits] [tor-browser/tor-browser-68.1.0esr-9.0-3] Bug 31920: Fix Security Level panel when its toolbar button moves to overflow
gk at torproject.org
gk at torproject.org
Thu Oct 17 08:10:22 UTC 2019
commit ec6ab177fd17a27ee6c7305c5433870d8d097097
Author: Richard Pospesel <richard at torproject.org>
Date: Wed Oct 16 15:06:54 2019 -0700
Bug 31920: Fix Security Level panel when its toolbar button moves to overflow
Simply removed the 'clever' caching of the underlying toolbar button
element. Now, each time the button is needed it is queried from the
underlying document.
A correct, but more complicated, fix would be to determine when the
toolbar button had been moved to the overflow menu and then update our
cached reference. However, this would be super brittle and would
break once another way to move the toolbar button is added in the
future.
In the end, caching something so infrequently queried is not worth the
complexity.
---
.../securitylevel/content/securityLevel.js | 23 +++++-----------------
1 file changed, 5 insertions(+), 18 deletions(-)
diff --git a/browser/components/securitylevel/content/securityLevel.js b/browser/components/securitylevel/content/securityLevel.js
index 7f307c5df43a..11dac5667e61 100644
--- a/browser/components/securitylevel/content/securityLevel.js
+++ b/browser/components/securitylevel/content/securityLevel.js
@@ -62,8 +62,6 @@ const SecurityLevelPrefs = {
const SecurityLevelButton = {
_securityPrefsBranch : null,
- _button : null,
- _anchor : null,
_populateXUL : function(securityLevelButton) {
if (securityLevelButton != null) {
@@ -95,23 +93,14 @@ const SecurityLevelButton = {
},
get button() {
- if (this._button) {
- return this._button;
- }
-
let button = document.getElementById("security-level-button");
if (!button) {
return null;
}
-
- return this._button = button;
+ return button;
},
get anchor() {
- if (this._anchor) {
- return this._anchor;
- }
-
let anchor = document.getAnonymousElementByAttribute(this.button, "class",
"toolbarbutton-icon");
if (!anchor) {
@@ -119,13 +108,14 @@ const SecurityLevelButton = {
}
anchor.setAttribute("consumeanchor", SecurityLevelButton.button.id);
- return this._anchor = anchor;
+ return anchor;
},
init : function() {
// set the initial class based off of the current pref
- this._populateXUL(this.button);
- this._configUIFromPrefs(this.button);
+ let button = this.button;
+ this._populateXUL(button);
+ this._configUIFromPrefs(button);
this._securityPrefsBranch = Services.prefs.getBranch("extensions.torbutton.");
this._securityPrefsBranch.addObserver("", this, false);
@@ -167,9 +157,6 @@ const SecurityLevelButton = {
if (aNode.id == "security-level-button" && !aWasRemoval) {
this._populateXUL(aNode);
this._configUIFromPrefs(aNode);
- // clear out our cached elements as they seem to be recreated when the UI is customized
- delete this._button;
- delete this._anchor;
}
},
More information about the tbb-commits
mailing list