diff options
| -rw-r--r-- | background_scripts/exclusions.coffee | 5 | ||||
| -rw-r--r-- | pages/options.coffee | 11 |
2 files changed, 10 insertions, 6 deletions
diff --git a/background_scripts/exclusions.coffee b/background_scripts/exclusions.coffee index db86e583..a8d65d62 100644 --- a/background_scripts/exclusions.coffee +++ b/background_scripts/exclusions.coffee @@ -26,8 +26,11 @@ root.Exclusions = Exclusions = # Merge the matching rules for URL, or null. getRule: (url) -> matching = (rule for rule in @rules when url.match(RegexpCache.get(rule.pattern))) + # An absolute exclusion rule (with no passKeys) takes priority. + for rule in matching + return rule unless rule.passKeys if matching.length - pattern: (rule.pattern for rule in matching).join " | " # Not used; for documentation/debugging only. + pattern: (rule.pattern for rule in matching).join " | " # Not used; for debugging only. passKeys: (rule.passKeys for rule in matching).join "" else null diff --git a/pages/options.coffee b/pages/options.coffee index ad192142..460f2789 100644 --- a/pages/options.coffee +++ b/pages/options.coffee @@ -229,7 +229,7 @@ initOptionsPage = -> searchUrl: NonEmptyTextOption userDefinedLinkHintCss: TextOption - # Populate options. The constructor adds each new object to "Option.all". + # Populate options. The constructor adds each new object to "Option.all". for name, type of options new type(name,enableSaveButton) @@ -242,7 +242,7 @@ initPopupPage = -> $("saveOptions").removeAttribute "disabled" $("saveOptions").innerHTML = "Save Changes" - $("saveOptions").addEventListener "click", -> + saveOptions = -> Option.saveOptions() $("helpText").innerHTML = "Rules saved." $("saveOptions").innerHTML = "No Changes" @@ -250,13 +250,14 @@ initPopupPage = -> chrome.tabs.query { windowId: chrome.windows.WINDOW_ID_CURRENT, active: true }, (tabs) -> chrome.extension.getBackgroundPage().updateActiveState(tabs[0].id) + $("saveOptions").addEventListener "click", saveOptions + document.addEventListener "keyup", (event) -> if event.ctrlKey and event.keyCode == 13 - Option.saveOptions() - chrome.tabs.query { windowId: chrome.windows.WINDOW_ID_CURRENT, active: true }, (tabs) -> - chrome.extension.getBackgroundPage().updateActiveState(tabs[0].id) + saveOptions() window.close() + # Populate options. Just one, here. new ExclusionRulesOption("exclusionRules", onUpdated, tab.url) # |
