diff --git a/src/js/contentscript-end.js b/src/js/contentscript-end.js index 2b35ffe36..01a98808b 100644 --- a/src/js/contentscript-end.js +++ b/src/js/contentscript-end.js @@ -110,15 +110,14 @@ var messager = vAPI.messaging.channel('contentscript-end.js'); what: 'retrieveGenericCosmeticSelectors', pageURL: window.location.href, selectors: lowGenericSelectors, - highGenerics: highGenerics === null + firstSurvey: highGenerics === null }, retrieveHandler ); // https://github.com/gorhill/uBlock/issues/452 - // There is only one first.. - retrieveHandler = otherRetrieveHandler; + retrieveHandler = nextRetrieveHandler; } else { - otherRetrieveHandler(null); + nextRetrieveHandler(null); } lowGenericSelectors = []; }; @@ -148,21 +147,25 @@ var messager = vAPI.messaging.channel('contentscript-end.js'); } } } - // Flush dead code from memory (does this work?) + // Flush dead code from memory firstRetrieveHandler = null; - otherRetrieveHandler(response); + // These are sent only once + if ( response ) { + if ( response.highGenerics ) { + highGenerics = response.highGenerics; + } + if ( response.donthide ) { + processLowGenerics(response.donthide, nullArray); + } + } + + nextRetrieveHandler(response); }; - var otherRetrieveHandler = function(selectors) { + var nextRetrieveHandler = function(selectors) { //var tStart = timer.now(); //console.debug('µBlock> contextNodes = %o', contextNodes); - if ( selectors && selectors.highGenerics ) { - highGenerics = selectors.highGenerics; - } - if ( selectors && selectors.donthide.length ) { - processLowGenerics(selectors.donthide, nullArray); - } var hideSelectors = []; if ( selectors && selectors.hide.length ) { processLowGenerics(selectors.hide, hideSelectors); diff --git a/src/js/cosmetic-filtering.js b/src/js/cosmetic-filtering.js index 51c7f0356..2c255587c 100644 --- a/src/js/cosmetic-filtering.js +++ b/src/js/cosmetic-filtering.js @@ -1055,12 +1055,10 @@ FilterContainer.prototype.retrieveGenericSelectors = function(request) { //quickProfiler.start('FilterContainer.retrieve()'); var r = { - hide: [], - // https://github.com/gorhill/uBlock/issues/497 - donthide: this.genericDonthide + hide: [] }; - if ( request.highGenerics ) { + if ( request.firstSurvey ) { r.highGenerics = { hideLow: this.highLowGenericHide, hideLowCount: this.highLowGenericHideCount, @@ -1069,6 +1067,8 @@ FilterContainer.prototype.retrieveGenericSelectors = function(request) { hideHigh: this.highHighGenericHide, hideHighCount: this.highHighGenericHideCount }; + // https://github.com/gorhill/uBlock/issues/497 + r.donthide = this.genericDonthide; } var hash, bucket;