From b1a14794bf3ef1b3272cbbe29451bc429b2b16ac Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Thu, 10 Nov 2022 10:32:22 -0500 Subject: [PATCH] Test for unsupported pseudo operators after normalization Related issue: - https://github.com/uBlockOrigin/uBlock-issues/issues/2356 --- src/js/static-filtering-parser.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/js/static-filtering-parser.js b/src/js/static-filtering-parser.js index f4ccc7d68f962..e62d198d868e4 100644 --- a/src/js/static-filtering-parser.js +++ b/src/js/static-filtering-parser.js @@ -1549,15 +1549,14 @@ Parser.prototype.SelectorCompiler = class { // Post-analysis // Mind https://w3c.github.io/csswg-drafts/selectors-4/#has-pseudo - if ( data.name.startsWith('-abp-') ) { - data.type = 'Error'; - return; - } data.name = this.normalizedOperators.get(data.name) || data.name; if ( this.proceduralOperatorNames.has(data.name) ) { data.type = 'ProceduralSelector'; } else if ( this.proceduralActionNames.has(data.name) ) { data.type = 'ActionSelector'; + } else if ( data.name.startsWith('-abp-') ) { + data.type = 'Error'; + return; } if ( this.maybeProceduralOperatorNames.has(data.name) ) { if ( this.astHasType(args, 'ProceduralSelector') ) {