aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Blott2017-12-02 13:49:58 +0000
committerStephen Blott2017-12-02 14:15:30 +0000
commite9fba3a6c1aa2979a4045f61c3d03ad9cefd9a4b (patch)
treece8b209adaf925095faa9bd9ae442ad8289da3fa
parent23f66cd05183942dace41e0af61ca2908600f1d0 (diff)
downloadvimium-e9fba3a6c1aa2979a4045f61c3d03ad9cefd9a4b.tar.bz2
Note disabled in page popup.
On pages where the browser does not run extensions like vimium, replace the popup with a note explaining what and why. Fixes #2850. Currently, this is unsatisfactory because, on the Chrome new tab page, Vimium does not become active until the user tabs or clicks into the page (which is weird).
-rw-r--r--pages/options.coffee24
1 files changed, 21 insertions, 3 deletions
diff --git a/pages/options.coffee b/pages/options.coffee
index 0d4f5999..5e0b6016 100644
--- a/pages/options.coffee
+++ b/pages/options.coffee
@@ -277,9 +277,27 @@ 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
+ # As the active URL, we choose the most recently registered URL from a frame in the tab.
+ url = chrome.extension.getBackgroundPage().urlForTab[tab.id]
+
+ unless url
+ # 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;">
+ <p style="margin-bottom: 5px;">
+ Vimium is not running on this page.
+ </p>
+ <p style="margin-bottom: 5px;">
+ Your browser does not run web extensions like Vimium on certain pages,
+ usually for security reasons.
+ </p>
+ <p>
+ Unless your browser's developers change their policy, then unfortunately it is not possible to make Vimium (or any other
+ web extension, for that matter) work on this page.
+ </p>
+ </div>
+ """
+ return
updateState = ->
rule = bgExclusions.getRule url, exclusions.readValueFromElement()