aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormrmr19932017-12-02 18:42:35 +0000
committermrmr19932017-12-02 18:42:35 +0000
commit601aad57c843ff1368c5a9e152ea609431cac1a0 (patch)
tree46f82dea8bad23852aa131aeedab286bb6086b5c
parentff615efa9a41f1de5df1a6eea0e8a3c809f91b4b (diff)
downloadvimium-601aad57c843ff1368c5a9e152ea609431cac1a0.tar.bz2
Show browser-blocking complaint in the popup for empty portForTab object
To test the difference: * load an unblocked URL (e.g. https://www.example.com) in a tab * open the popup, see that the exclusion rules show as expected * navigate the tab to a blocked URL (e.g. chrome://extensions) * open the popup again Before this commit, the popup still shows the exclusion rules, because there is still a portForTabs object associated with the tabId. This commit adds a second check to see if the object is empty, and the message shows as expected, because all of the ports have been closed and cleared from the object.
-rw-r--r--pages/options.coffee11
1 files changed, 6 insertions, 5 deletions
diff --git a/pages/options.coffee b/pages/options.coffee
index 529743f4..9e95bcd3 100644
--- a/pages/options.coffee
+++ b/pages/options.coffee
@@ -277,11 +277,8 @@ initPopupPage = ->
exclusions = null
document.getElementById("optionsLink").setAttribute "href", chrome.runtime.getURL("pages/options.html")
- # As the active URL, we choose the most recently registered URL from a frame in the tab, or the tab's own
- # URL.
- url = chrome.extension.getBackgroundPage().urlForTab[tab.id] || tab.url
-
- unless chrome.extension.getBackgroundPage().portsForTab[tab.id]
+ tabPorts = chrome.extension.getBackgroundPage().portsForTab[tab.id]
+ unless tabPorts and Object.keys(tabPorts).length > 0
# The browser has disabled Vimium on this page. Place a message explaining this into the popup.
document.body.innerHTML = """
<div style="width: 400px; margin: 5px;">
@@ -300,6 +297,10 @@ initPopupPage = ->
"""
return
+ # As the active URL, we choose the most recently registered URL from a frame in the tab, or the tab's own
+ # URL.
+ url = chrome.extension.getBackgroundPage().urlForTab[tab.id] || tab.url
+
updateState = ->
rule = bgExclusions.getRule url, exclusions.readValueFromElement()
$("state").innerHTML = "Vimium will " +