From 1aecd18e5cc9d8b9dfd4063e749ce61eb0077e2a Mon Sep 17 00:00:00 2001 From: Ruben Rodriguez Date: Mon, 21 Nov 2016 14:41:08 -0500 Subject: https-everywhere updated to 5.2.7 --- .../chrome/content/toolbar_button.js | 64 +++++++++++----------- 1 file changed, 32 insertions(+), 32 deletions(-) (limited to 'data/extensions/https-everywhere-eff@eff.org/chrome/content/toolbar_button.js') diff --git a/data/extensions/https-everywhere-eff@eff.org/chrome/content/toolbar_button.js b/data/extensions/https-everywhere-eff@eff.org/chrome/content/toolbar_button.js index 0fdc765..773b6ee 100644 --- a/data/extensions/https-everywhere-eff@eff.org/chrome/content/toolbar_button.js +++ b/data/extensions/https-everywhere-eff@eff.org/chrome/content/toolbar_button.js @@ -81,11 +81,8 @@ httpsEverywhere.toolbarButton = { showHttpNowhere ? 'true' : 'false'); } - // make sure UI is set depending on whether HTTPS-E is enabled - toggleEnabledUI(); - - // show ruleset counter when a tab is changed - tb.updateRulesetsApplied(); + // Make icon state match current status and tab. + tb.updateIconState(); // There is no gBrowser object on Android. Instead Android uses the // window.BrowserApp object: @@ -93,7 +90,7 @@ httpsEverywhere.toolbarButton = { if (gBrowser) { gBrowser.tabContainer.addEventListener( 'TabSelect', - tb.updateRulesetsApplied, + tb.updateIconState, false ); @@ -108,7 +105,7 @@ httpsEverywhere.toolbarButton = { (aFlags & CI.nsIWebProgressListener.STATE_STOP) && aWebProgress.isTopLevel) { HTTPSEverywhere.log(DBUG, "Got on state change"); - tb.updateRulesetsApplied(); + tb.updateIconState(); } } }; @@ -144,7 +141,7 @@ httpsEverywhere.toolbarButton = { var hint = nBox.appendNotification( msg, 'https-everywhere', - 'chrome://https-everywhere/skin/https-everywhere-24.png', + 'chrome://https-everywhere/skin/icon-active-24.png', nBox.PRIORITY_WARNING_MEDIUM, [ { accessKey: 'F', @@ -171,18 +168,15 @@ httpsEverywhere.toolbarButton = { /** * Update the rulesets applied counter for the current tab. */ - updateRulesetsApplied: function() { + updateIconState: function() { var toolbarbutton = document.getElementById('https-everywhere-button'); if (!toolbarbutton) { return; } var enabled = HTTPSEverywhere.prefs.getBoolPref("globalEnabled"); + var blocking = httpsEverywhere.toolbarButton.shouldShowHttpNowhere(); var showCounter = httpsEverywhere.toolbarButton.shouldShowCounter(); - if (!enabled || !showCounter) { - toolbarbutton.setAttribute('rulesetsApplied', 0); - return; - } var browser = httpsEverywhere.toolbarButton.selectedBrowser(); if (!browser) { @@ -208,8 +202,26 @@ httpsEverywhere.toolbarButton = { } } - toolbarbutton.setAttribute('rulesetsApplied', counter); - HTTPSEverywhere.log(INFO, 'Setting icon counter to: ' + counter); + // inactive: extension is enabled, but no rules were triggered on this page. + // active: extension is enabled and rewrote URLs on this page. + // blocking: extension is in "block all HTTP requests" mode. + // disabled: extension is disabled. + var iconState = 'inactive'; + if (!enabled) { + iconState = 'disabled'; + } else if (blocking) { + iconState = 'blocking'; + } else if (counter) { + iconState = 'active'; + } + toolbarbutton.setAttribute('state', iconState); + if (!showCounter) { + toolbarbutton.setAttribute('rulesetsApplied', 0); + } else { + toolbarbutton.setAttribute('rulesetsApplied', counter); + } + + HTTPSEverywhere.log(INFO, 'Setting icon state to: ' + iconState + '[' + counter + ']'); }, /** @@ -223,9 +235,8 @@ httpsEverywhere.toolbarButton = { var prefExists = sp.getPrefType(tb.COUNTER_PREF); - // the default behavior is to show the rulesets applied counter. - // if no preference exists (default) or its enabled, show the counter - return !prefExists || sp.getBoolPref(tb.COUNTER_PREF); + // the default behavior is to hide the rulesets applied counter. + return prefExists && sp.getBoolPref(tb.COUNTER_PREF); }, /** @@ -250,7 +261,7 @@ httpsEverywhere.toolbarButton = { var showCounter = tb.shouldShowCounter(); sp.setBoolPref(tb.COUNTER_PREF, !showCounter); - tb.updateRulesetsApplied(); + tb.updateIconState(); }, /** @@ -258,13 +269,6 @@ httpsEverywhere.toolbarButton = { */ toggleHttpNowhere: function() { HTTPSEverywhere.toggleHttpNowhere(); - var tb = httpsEverywhere.toolbarButton; - var showHttpNowhere = tb.shouldShowHttpNowhere(); - - // Change icon color to red if HTTP nowhere is enabled - var toolbarbutton = document.getElementById('https-everywhere-button'); - toolbarbutton.setAttribute('http_nowhere', - showHttpNowhere ? 'true' : 'false'); reload_window(); }, @@ -382,11 +386,7 @@ function toggleEnabledUI() { items[i].hidden = !enabled; } - // Change icon depending on enabled state - var toolbarbutton = document.getElementById('https-everywhere-button'); - if (toolbarbutton) { - toolbarbutton.setAttribute('status', enabled ? 'enabled' : 'disabled'); - } + httpsEverywhere.toolbarButton.updateIconState(); } function open_in_tab(url) { @@ -428,7 +428,7 @@ function migratePreferences(gBrowser) { nBox.appendNotification( msg, 'https-everywhere-migration0', - 'chrome://https-everywhere/skin/https-everywhere-24.png', + 'chrome://https-everywhere/skin/icon-active-24.png', nBox.PRIORITY_WARNING_MEDIUM ); } -- cgit v1.2.3