diff options
| author | Phil Crosby | 2009-12-30 14:35:25 -0500 |
|---|---|---|
| committer | Phil Crosby | 2009-12-30 14:36:40 -0500 |
| commit | 376e3a545956eafb9f446e50c7d5fad0eed20bdb (patch) | |
| tree | ce6ae739e94ff1bdad0c694ec840a39b278a7b88 /background_page.html | |
| parent | e38297a784773679d2b896b3fc20152c6f675fdb (diff) | |
| download | vimium-376e3a545956eafb9f446e50c7d5fad0eed20bdb.tar.bz2 | |
Add support for excluded URL patterns; these URL patterns can be configured from the settings page.
Diffstat (limited to 'background_page.html')
| -rw-r--r-- | background_page.html | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/background_page.html b/background_page.html index a388cd27..9a30f55d 100644 --- a/background_page.html +++ b/background_page.html @@ -11,6 +11,7 @@ var portHandlers = { keyDown: handleKeyDown, returnScrollPosition: handleReturnScrollPosition, + isEnabledForUrl: isEnabledForUrl, getCurrentTabUrl: getCurrentTabUrl, getZoomLevel: getZoomLevel, saveZoomLevel: saveZoomLevel, @@ -60,6 +61,23 @@ } /* + * Checks the user's preferences in local storage to determine if Vimium is enabled for the given URL. + */ + function isEnabledForUrl(args, port) { + var returnPort = chrome.tabs.connect(port.tab.id, { name: "returnIsEnabledForUrl" }); + // excludedUrls are stored as a series of URL expressions separated by newlines. + var excludedUrls = (localStorage["excludedUrls"] || "").split("\n"); + var isEnabled = true; + for (var i = 0; i < excludedUrls.length; i++) { + // The user can add "*" to the URL which means ".*" + var regexp = new RegExp("^" + excludedUrls[i].replace(/\*/g, ".*") + "$"); + if (args.url.match(regexp)) + isEnabled = false; + } + returnPort.postMessage({ isEnabledForUrl: isEnabled }); + } + + /* * Returns the previously saved zoom level for the current tab, or the default zoom level */ function getZoomLevel(args, port) { |
