| Index: messageResponder.js |
| diff --git a/messageResponder.js b/messageResponder.js |
| index a6886cbbe74380c6901224cc87b8d405de5a8da8..88dafed727cc822d28df5da643e74fc4a66014a6 100644 |
| --- a/messageResponder.js |
| +++ b/messageResponder.js |
| @@ -25,10 +25,12 @@ |
| var FilterStorage = require("filterStorage").FilterStorage; |
| var FilterNotifier = require("filterNotifier").FilterNotifier; |
| var defaultMatcher = require("matcher").defaultMatcher; |
| - |
| + var CSSRules = require("cssRules").CSSRules; |
|
Thomas Greiner
2015/11/03 16:03:44
This breaks our test environment because there's n
kzar
2015/11/03 16:19:11
Stubbing out cssRules.CSSRules.getRulesForDomain()
|
| + |
| var filterClasses = require("filterClasses"); |
| var Filter = filterClasses.Filter; |
| var BlockingFilter = filterClasses.BlockingFilter; |
| + var RegExpFilter = filterClasses.RegExpFilter; |
| var Synchronizer = require("synchronizer").Synchronizer; |
| var subscriptionClasses = require("subscriptionClasses"); |
| @@ -194,13 +196,40 @@ |
| callback(filter instanceof BlockingFilter); |
| break; |
| case "filters.get": |
| + if (message.what == "cssproperties") |
| + { |
| + var filters = []; |
| + var isFrameWhitelisted = require("whitelisting").isFrameWhitelisted; |
| + |
| + if (message.domain && |
| + !isFrameWhitelisted(sender.page, sender.frame, |
| + RegExpFilter.typeMap.DOCUMENT | |
| + RegExpFilter.typeMap.ELEMHIDE)) |
| + { |
| + var specificOnly = isFrameWhitelisted( |
| + sender.page, sender.frame, RegExpFilter.typeMap.GENERICHIDE |
| + ); |
| + filters = CSSRules.getRulesForDomain(message.domain, specificOnly); |
| + filters = filters.map(function(filter) |
| + { |
| + return { |
| + prefix: filter.selectorPrefix, |
| + suffix: filter.selectorSuffix, |
| + regexp: filter.regexpString |
| + }; |
| + }); |
| + } |
| + callback(filters); |
| + break; |
| + } |
| + |
| var subscription = Subscription.fromURL(message.subscriptionUrl); |
| if (!subscription) |
| { |
| callback([]); |
| break; |
| } |
| - |
| + |
| callback(subscription.filters.map(convertFilter)); |
| break; |
| case "filters.importRaw": |