aboutsummaryrefslogtreecommitdiffstats
path: root/pages
diff options
context:
space:
mode:
authormrmr19932017-12-02 18:42:35 +0000
committermrmr19932017-12-02 18:42:35 +0000
commit601aad57c843ff1368c5a9e152ea609431cac1a0 (patch)
tree46f82dea8bad23852aa131aeedab286bb6086b5c /pages
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.
Diffstat (limited to 'pages')
-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 " +