| Index: lib/cssInjection.js | 
| =================================================================== | 
| --- a/lib/cssInjection.js | 
| +++ b/lib/cssInjection.js | 
| @@ -21,6 +21,7 @@ | 
| const {RegExpFilter} = require("filterClasses"); | 
| const {ElemHide} = require("elemHide"); | 
| +const {ElemHideEmulation} = require("elemHideEmulation"); | 
| const {checkWhitelisted} = require("whitelisting"); | 
| const {extractHostFromFrame} = require("url"); | 
| const {port} = require("messaging"); | 
| @@ -43,6 +44,7 @@ | 
| port.on("elemhide.getSelectors", (msg, sender) => | 
| { | 
| let selectors = []; | 
| + let emulatedPatterns = []; | 
| let trace = devtools && devtools.hasPanel(sender.page); | 
| let inject = !userStyleSheetsSupported; | 
| @@ -50,18 +52,23 @@ | 
| RegExpFilter.typeMap.DOCUMENT | | 
| RegExpFilter.typeMap.ELEMHIDE)) | 
| { | 
| + let hostname = extractHostFromFrame(sender.frame); | 
| let specificOnly = checkWhitelisted(sender.page, sender.frame, | 
| RegExpFilter.typeMap.GENERICHIDE); | 
| + | 
| selectors = ElemHide.getSelectorsForDomain( | 
| - extractHostFromFrame(sender.frame), | 
| + hostname, | 
| specificOnly ? ElemHide.SPECIFIC_ONLY : ElemHide.ALL_MATCHING | 
| ); | 
| + | 
| + for (let filter of ElemHideEmulation.getRulesForDomain(hostname)) | 
| + emulatedPatterns.push({selector: filter.selector, text: filter.text}); | 
| } | 
| if (!inject && selectors.length > 0) | 
| hideElements(sender.page.id, sender.frame.id, selectors); | 
| - let response = {trace, inject}; | 
| + let response = {trace, inject, emulatedPatterns}; | 
| if (trace || inject) | 
| response.selectors = selectors; |