| 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 "use strict"; | 
|  | 19 | 
| 18 /** | 20 /** | 
| 19  * @fileOverview Element hiding emulation implementation. | 21  * @fileOverview Element hiding emulation implementation. | 
| 20  */ | 22  */ | 
| 21 | 23 | 
| 22 let {ElemHide} = require("elemHide"); | 24 const {ElemHide} = require("elemHide"); | 
| 23 let {Filter} =  require("filterClasses"); | 25 const {Filter} = require("filterClasses"); | 
| 24 | 26 | 
| 25 var filters = Object.create(null); | 27 let filters = Object.create(null); | 
| 26 | 28 | 
| 27 /** | 29 /** | 
| 28  * Container for element hiding emulation filters | 30  * Container for element hiding emulation filters | 
| 29  * @class | 31  * @class | 
| 30  */ | 32  */ | 
| 31 let ElemHideEmulation = exports.ElemHideEmulation = | 33 let ElemHideEmulation = exports.ElemHideEmulation = { | 
| 32 { |  | 
| 33   /** | 34   /** | 
| 34    * Removes all known filters | 35    * Removes all known filters | 
| 35    */ | 36    */ | 
| 36   clear: function() | 37   clear() | 
| 37   { | 38   { | 
| 38     filters = Object.create(null); | 39     filters = Object.create(null); | 
| 39   }, | 40   }, | 
| 40 | 41 | 
| 41   /** | 42   /** | 
| 42    * Add a new element hiding emulation filter | 43    * Add a new element hiding emulation filter | 
| 43    * @param {ElemHideEmulationFilter} filter | 44    * @param {ElemHideEmulationFilter} filter | 
| 44    */ | 45    */ | 
| 45   add: function(filter) | 46   add(filter) | 
| 46   { | 47   { | 
| 47     filters[filter.text] = true; | 48     filters[filter.text] = true; | 
| 48   }, | 49   }, | 
| 49 | 50 | 
| 50   /** | 51   /** | 
| 51    * Removes an element hiding emulation filter | 52    * Removes an element hiding emulation filter | 
| 52    * @param {ElemHideEmulationFilter} filter | 53    * @param {ElemHideEmulationFilter} filter | 
| 53    */ | 54    */ | 
| 54   remove: function(filter) | 55   remove(filter) | 
| 55   { | 56   { | 
| 56     delete filters[filter.text]; | 57     delete filters[filter.text]; | 
| 57   }, | 58   }, | 
| 58 | 59 | 
| 59   /** | 60   /** | 
| 60    * Returns a list of all rules active on a particular domain | 61    * Returns a list of all rules active on a particular domain | 
| 61    * @param {String} domain | 62    * @param {string} domain | 
| 62    * @return {ElemHideEmulationFilter[]} | 63    * @return {ElemHideEmulationFilter[]} | 
| 63    */ | 64    */ | 
| 64   getRulesForDomain: function(domain) | 65   getRulesForDomain(domain) | 
| 65   { | 66   { | 
| 66     let result = []; | 67     let result = []; | 
| 67     let keys = Object.getOwnPropertyNames(filters); | 68     let keys = Object.getOwnPropertyNames(filters); | 
| 68     for (let key of keys) | 69     for (let key of keys) | 
| 69     { | 70     { | 
| 70       let filter = Filter.fromText(key); | 71       let filter = Filter.fromText(key); | 
| 71       if (filter.isActiveOnDomain(domain) && !ElemHide.getException(filter, doma
    in)) | 72       if (filter.isActiveOnDomain(domain) && | 
|  | 73           !ElemHide.getException(filter, domain)) | 
| 72         result.push(filter); | 74         result.push(filter); | 
| 73     } | 75     } | 
| 74     return result; | 76     return result; | 
| 75   } | 77   } | 
| 76 }; | 78 }; | 
| OLD | NEW | 
|---|