Fix cosmetic exception filters not applying

Related issue:
- https://github.com/uBlockOrigin/uBlock-issues/issues/575

Regression from:
- 93f80eedfa

Specific cosmetic exception filters need to be returned so that
they can be applied to generic cosmetic filters.
This commit is contained in:
Raymond Hill 2019-05-15 14:43:59 -04:00
parent c7048617ee
commit 1fe3b54acc
No known key found for this signature in database
GPG Key ID: 25E1490B761470C2
1 changed files with 8 additions and 4 deletions

View File

@ -670,6 +670,7 @@ FilterContainer.prototype.skipGenericCompiledContent = function(reader) {
// hash, example.com, .promoted-tweet // hash, example.com, .promoted-tweet
// hash, example.*, .promoted-tweet // hash, example.*, .promoted-tweet
case 8: case 8:
this.duplicateBuster.add(fingerprint);
this.specificFilters.store(args[1], args[2], args[3]); this.specificFilters.store(args[1], args[2], args[3]);
break; break;
@ -1004,11 +1005,14 @@ FilterContainer.prototype.retrieveSpecificSelectors = function(
); );
} }
// Apply exceptions. if ( exceptionSet.size !== 0 ) {
for ( const exception of exceptionSet ) { out.exceptionFilters = Array.from(exceptionSet);
specificSet.delete(exception); for ( const exception of exceptionSet ) {
proceduralSet.delete(exception); specificSet.delete(exception);
proceduralSet.delete(exception);
}
} }
if ( specificSet.size !== 0 ) { if ( specificSet.size !== 0 ) {
out.declarativeFilters = Array.from(specificSet); out.declarativeFilters = Array.from(specificSet);
} }