| Index: lib/elemHideEmulation.js | 
| =================================================================== | 
| --- a/lib/elemHideEmulation.js | 
| +++ b/lib/elemHideEmulation.js | 
| @@ -16,65 +16,35 @@ | 
| */ | 
|  | 
| "use strict"; | 
|  | 
| /** | 
| * @fileOverview Element hiding emulation implementation. | 
| */ | 
|  | 
| +const {ElemHideTemplate} = require("./elemHide"); | 
| const {ElemHideExceptions} = require("./elemHideExceptions"); | 
| -const {Filter} = require("./filterClasses"); | 
| - | 
| -let filters = new Set(); | 
|  | 
| /** | 
| * Container for element hiding emulation filters | 
| * @class | 
| */ | 
| -let ElemHideEmulation = { | 
| -  /** | 
| -   * Removes all known filters | 
| -   */ | 
| -  clear() | 
| -  { | 
| -    filters.clear(); | 
| -  }, | 
| - | 
| -  /** | 
| -   * Add a new element hiding emulation filter | 
| -   * @param {ElemHideEmulationFilter} filter | 
| -   */ | 
| -  add(filter) | 
| -  { | 
| -    filters.add(filter.text); | 
| -  }, | 
| - | 
| -  /** | 
| -   * Removes an element hiding emulation filter | 
| -   * @param {ElemHideEmulationFilter} filter | 
| -   */ | 
| -  remove(filter) | 
| -  { | 
| -    filters.delete(filter.text); | 
| -  }, | 
| - | 
| +exports.ElemHideEmulation = Object.assign(new ElemHideTemplate(), { | 
| /** | 
| * Returns a list of all rules active on a particular domain | 
| * @param {string} domain | 
| * @return {ElemHideEmulationFilter[]} | 
| */ | 
| getRulesForDomain(domain) | 
| { | 
| let result = []; | 
| -    for (let text of filters.values()) | 
| +    for (let filter of this._knownFilters) | 
| { | 
| -      let filter = Filter.fromText(text); | 
| if (filter.isActiveOnDomain(domain) && | 
| !ElemHideExceptions.getException(filter, domain)) | 
| { | 
| result.push(filter); | 
| } | 
| } | 
| return result; | 
| } | 
| -}; | 
| -exports.ElemHideEmulation = ElemHideEmulation; | 
| +}); | 
|  |