| Index: lib/contentFiltering.js | 
| =================================================================== | 
| --- a/lib/contentFiltering.js | 
| +++ b/lib/contentFiltering.js | 
| @@ -15,17 +15,17 @@ | 
| * along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. | 
| */ | 
| /** @module contentFiltering */ | 
| "use strict"; | 
| const {RegExpFilter} = require("../adblockpluscore/lib/filterClasses"); | 
| -const {ElemHide} = require("../adblockpluscore/lib/elemHide"); | 
| +const {ElemHide, createStyleSheet} = require("../adblockpluscore/lib/elemHide"); | 
| const {ElemHideEmulation} = require("../adblockpluscore/lib/elemHideEmulation"); | 
| const {filterNotifier} = require("../adblockpluscore/lib/filterNotifier"); | 
| const {Snippets, compileScript} = require("../adblockpluscore/lib/snippets"); | 
| const {checkWhitelisted} = require("./whitelisting"); | 
| const {extractHostFromFrame} = require("./url"); | 
| const {port} = require("./messaging"); | 
| const {HitLogger, logRequest} = require("./hitLogger"); | 
| const info = require("info"); | 
| @@ -38,44 +38,16 @@ | 
| const selectorGroupSize = 1024; | 
| let userStyleSheetsSupported = true; | 
| let snippetsLibrarySource = ""; | 
| let executableCode = new Map(); | 
| -function* splitSelectors(selectors) | 
| -{ | 
| - // Chromium's Blink engine supports only up to 8,192 simple selectors, and | 
| - // even fewer compound selectors, in a rule. The exact number of selectors | 
| - // that would work depends on their sizes (e.g. "#foo .bar" has a size of 2). | 
| - // Since we don't know the sizes of the selectors here, we simply split them | 
| - // into groups of 1,024, based on the reasonable assumption that the average | 
| - // selector won't have a size greater than 8. The alternative would be to | 
| - // calculate the sizes of the selectors and divide them up accordingly, but | 
| - // this approach is more efficient and has worked well in practice. In theory | 
| - // this could still lead to some selectors not working on Chromium, but it is | 
| - // highly unlikely. | 
| - // See issue #6298 and https://crbug.com/804179 | 
| - for (let i = 0; i < selectors.length; i += selectorGroupSize) | 
| - yield selectors.slice(i, i + selectorGroupSize); | 
| -} | 
| - | 
| -function* createRules(selectors) | 
| -{ | 
| - for (let selectorGroup of splitSelectors(selectors)) | 
| - yield selectorGroup.join(", ") + " {display: none !important;}"; | 
| -} | 
| - | 
| -function createStyleSheet(selectors) | 
| -{ | 
| - return Array.from(createRules(selectors)).join("\n"); | 
| -} | 
| - | 
| function addStyleSheet(tabId, frameId, styleSheet) | 
| { | 
| try | 
| { | 
| let promise = browser.tabs.insertCSS(tabId, { | 
| code: styleSheet, | 
| cssOrigin: "user", | 
| frameId, |