From 601aad57c843ff1368c5a9e152ea609431cac1a0 Mon Sep 17 00:00:00 2001 From: mrmr1993 Date: Sat, 2 Dec 2017 18:42:35 +0000 Subject: 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. --- pages/options.coffee | 11 ++++++----- 1 file 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 = """