| OLD | NEW | 
|   1 /* |   1 /* | 
|   2  * This file is part of Adblock Plus <https://adblockplus.org/>, |   2  * This file is part of Adblock Plus <https://adblockplus.org/>, | 
|   3  * Copyright (C) 2006-2016 Eyeo GmbH |   3  * Copyright (C) 2006-2016 Eyeo GmbH | 
|   4  * |   4  * | 
|   5  * Adblock Plus is free software: you can redistribute it and/or modify |   5  * Adblock Plus is free software: you can redistribute it and/or modify | 
|   6  * it under the terms of the GNU General Public License version 3 as |   6  * it under the terms of the GNU General Public License version 3 as | 
|   7  * published by the Free Software Foundation. |   7  * published by the Free Software Foundation. | 
|   8  * |   8  * | 
|   9  * Adblock Plus is distributed in the hope that it will be useful, |   9  * Adblock Plus is distributed in the hope that it will be useful, | 
|  10  * but WITHOUT ANY WARRANTY; without even the implied warranty of |  10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
|  11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the |  11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
|  12  * GNU General Public License for more details. |  12  * GNU General Public License for more details. | 
|  13  * |  13  * | 
|  14  * You should have received a copy of the GNU General Public License |  14  * You should have received a copy of the GNU General Public License | 
|  15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. |  15  * along with Adblock Plus.  If not, see <http://www.gnu.org/licenses/>. | 
|  16  */ |  16  */ | 
|  17  |  17  | 
|  18 /** |  18 /** | 
|  19  * @fileOverview CSS property filtering implementation. |  19  * @fileOverview Element hiding emulation implementation. | 
|  20  */ |  20  */ | 
|  21  |  21  | 
|  22 let {ElemHide} = require("elemHide"); |  22 let {ElemHide} = require("elemHide"); | 
|  23 let {Filter} =  require("filterClasses"); |  23 let {Filter} =  require("filterClasses"); | 
|  24  |  24  | 
|  25 var filters = Object.create(null); |  25 var filters = Object.create(null); | 
|  26  |  26  | 
|  27 /** |  27 /** | 
|  28  * CSS rules component |  28  * Container for element hiding emulation filters | 
|  29  * @class |  29  * @class | 
|  30  */ |  30  */ | 
|  31 let CSSRules = exports.CSSRules = |  31 let ElemHideEmulation = exports.ElemHideEmulation = | 
|  32 { |  32 { | 
|  33   /** |  33   /** | 
|  34    * Removes all known filters |  34    * Removes all known filters | 
|  35    */ |  35    */ | 
|  36   clear: function() |  36   clear: function() | 
|  37   { |  37   { | 
|  38     filters = Object.create(null); |  38     filters = Object.create(null); | 
|  39   }, |  39   }, | 
|  40  |  40  | 
|  41   /** |  41   /** | 
|  42    * Add a new CSS property filter |  42    * Add a new element hiding emulation filter | 
|  43    * @param {CSSPropertyFilter} filter |  43    * @param {ElemHideEmulationFilter} filter | 
|  44    */ |  44    */ | 
|  45   add: function(filter) |  45   add: function(filter) | 
|  46   { |  46   { | 
|  47     filters[filter.text] = true; |  47     filters[filter.text] = true; | 
|  48   }, |  48   }, | 
|  49  |  49  | 
|  50   /** |  50   /** | 
|  51    * Removes a CSS property filter |  51    * Removes an element hiding emulation filter | 
|  52    * @param {CSSPropertyFilter} filter |  52    * @param {ElemHideEmulationFilter} filter | 
|  53    */ |  53    */ | 
|  54   remove: function(filter) |  54   remove: function(filter) | 
|  55   { |  55   { | 
|  56     delete filters[filter.text]; |  56     delete filters[filter.text]; | 
|  57   }, |  57   }, | 
|  58  |  58  | 
|  59   /** |  59   /** | 
|  60    * Returns a list of all rules active on a particular domain |  60    * Returns a list of all rules active on a particular domain | 
|  61    * @param {String} domain |  61    * @param {String} domain | 
|  62    * @return {CSSPropertyFilter[]} |  62    * @return {ElemHideEmulationFilter[]} | 
|  63    */ |  63    */ | 
|  64   getRulesForDomain: function(domain) |  64   getRulesForDomain: function(domain) | 
|  65   { |  65   { | 
|  66     let result = []; |  66     let result = []; | 
|  67     let keys = Object.getOwnPropertyNames(filters); |  67     let keys = Object.getOwnPropertyNames(filters); | 
|  68     for (let key of keys) |  68     for (let key of keys) | 
|  69     { |  69     { | 
|  70       let filter = Filter.fromText(key); |  70       let filter = Filter.fromText(key); | 
|  71       if (filter.isActiveOnDomain(domain) && !ElemHide.getException(filter, doma
    in)) |  71       if (filter.isActiveOnDomain(domain) && !ElemHide.getException(filter, doma
    in)) | 
|  72         result.push(filter); |  72         result.push(filter); | 
|  73     } |  73     } | 
|  74     return result; |  74     return result; | 
|  75   } |  75   } | 
|  76 }; |  76 }; | 
| OLD | NEW |