| Index: background.js |
| =================================================================== |
| --- a/background.js |
| +++ b/background.js |
| @@ -519,6 +519,50 @@ |
| else |
| sendResponse(false); |
| break; |
| + case "check-whitelisted-urls": |
| + var documentHost = extractHostFromFrame(sender.frame); |
| + var sitekey = getKey(sender.page, sender.frame); |
| + |
| + var result = Object.create(null); |
| + for (var i = 0; i < msg.urls.length; i++) |
| + { |
| + var requestUrl = msg.urls[i]; |
| + var requestHost = extractHostFromURL(requestUrl); |
| + |
| + var filter = defaultMatcher.matchesAny( |
| + requestUrl, msg.mediatype, documentHost, |
| + isThirdParty(requestHost, documentHost), |
| + sitekey |
| + ); |
| + |
| + result[requestUrl] = filter instanceof WhitelistFilter; |
| + } |
| + |
| + sendResponse(result); |
| + break; |
| + case "get-filters-from-selectors": |
| + var filters = []; |
| + var selectors = []; |
| + |
| + if (!isFrameWhitelisted(sender.page, sender.frame, "ELEMHIDE")) |
| + { |
| + var documentHost = extractHostFromFrame(sender.frame); |
| + |
| + for (var i = 0; i < msg.selectors.length; i++) |
| + { |
| + var selector = msg.selectors[i]; |
| + var filter = documentHost + "##" + selector; |
| + |
| + if (!ElemHide.getException(Filter.fromText(filter), documentHost)) |
| + { |
| + filters.push(filter); |
| + selectors.push(selector); |
| + } |
| + } |
| + } |
| + |
| + sendResponse({filters: filters, selectors: selectors}); |
| + break; |
| case "get-domain-enabled-state": |
| // Returns whether this domain is in the exclusion list. |
| // The browser action popup asks us this. |