diff options
| author | Stephen Blott | 2017-12-02 13:49:58 +0000 | 
|---|---|---|
| committer | Stephen Blott | 2017-12-02 14:15:30 +0000 | 
| commit | e9fba3a6c1aa2979a4045f61c3d03ad9cefd9a4b (patch) | |
| tree | ce8b209adaf925095faa9bd9ae442ad8289da3fa | |
| parent | 23f66cd05183942dace41e0af61ca2908600f1d0 (diff) | |
| download | vimium-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.coffee | 24 | 
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() | 
