diff options
| author | mrmr1993 | 2016-02-11 04:49:13 +0000 | 
|---|---|---|
| committer | mrmr1993 | 2016-02-11 04:49:13 +0000 | 
| commit | 2f73ad6c7357c9a7105e99a929991df735efc96e (patch) | |
| tree | 2fe2124a6a394b051d305d17b087f341f8b77f5e | |
| parent | ffafb533a3715546a5d2d2e8b960323b1f3fc03a (diff) | |
| download | vimium-2f73ad6c7357c9a7105e99a929991df735efc96e.tar.bz2 | |
Tidy up detection for the current page and context belonging to us
| -rw-r--r-- | lib/settings.coffee | 4 | ||||
| -rw-r--r-- | lib/utils.coffee | 8 | 
2 files changed, 6 insertions, 6 deletions
| diff --git a/lib/settings.coffee b/lib/settings.coffee index c127343d..8b7f6062 100644 --- a/lib/settings.coffee +++ b/lib/settings.coffee @@ -18,10 +18,10 @@ Settings =    onLoadedCallbacks: []    init: -> -    if Utils.isExtensionPage() and (try localStorage) +    if Utils.isExtensionPage() and Utils.isExtensionPage window.top        # On extension pages, we use localStorage (or a copy of it) as the cache.        # For UIComponents (or other content of ours in an iframe within a regular page), we can't access -      # localStorage, so we check for this too. +      # localStorage, so we check that the top level frame is also an extension page.        @cache = if Utils.isBackgroundPage() then localStorage else extend {}, localStorage        @onLoaded() diff --git a/lib/utils.coffee b/lib/utils.coffee index 4726739b..50d8c7dd 100644 --- a/lib/utils.coffee +++ b/lib/utils.coffee @@ -2,12 +2,12 @@ Utils =    getCurrentVersion: ->      chrome.runtime.getManifest().version -  # Returns true whenever the current page is from the extension's origin (and thus can access the -  # extension's localStorage). -  isExtensionPage: -> document.location?.origin + "/" == chrome.extension.getURL "" +  # Returns true whenever the current page (or the page supplied as an argument) is from the extension's +  # origin (and thus can access the extension's localStorage). +  isExtensionPage: (win = window) -> try win.document.location?.origin + "/" == chrome.extension.getURL ""    # Returns true whenever the current page is the extension's background page. -  isBackgroundPage: -> @isExtensionPage() and try chrome.extension.getBackgroundPage() == window +  isBackgroundPage: -> @isExtensionPage() and chrome.extension.getBackgroundPage?() == window    # Takes a dot-notation object string and call the function    # that it points to with the correct value for 'this'. | 
