aboutsummaryrefslogtreecommitdiffstats
path: root/background_page.html
diff options
context:
space:
mode:
authorPhil Crosby2009-12-30 14:35:25 -0500
committerPhil Crosby2009-12-30 14:36:40 -0500
commit376e3a545956eafb9f446e50c7d5fad0eed20bdb (patch)
treece6ae739e94ff1bdad0c694ec840a39b278a7b88 /background_page.html
parente38297a784773679d2b896b3fc20152c6f675fdb (diff)
downloadvimium-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.html18
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) {