From d9b50fcd514bf13c2253feb9efc1c0ce408bf584 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Fri, 6 Jan 2023 09:54:11 -0500 Subject: [PATCH] Drop as invalid unknown argument-based pseudoclass operators Related issue: - https://github.com/uBlockOrigin/uBlock-issues/issues/2442 These invalid pseudoclass operators were still seen as valid when mixed with procedural pseudoclass operators. --- src/js/static-filtering-parser.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/js/static-filtering-parser.js b/src/js/static-filtering-parser.js index 6f2da5def..f91e75a25 100644 --- a/src/js/static-filtering-parser.js +++ b/src/js/static-filtering-parser.js @@ -1750,9 +1750,12 @@ Parser.prototype.SelectorCompiler = class { case 'IdSelector': case 'PseudoClassSelector': case 'PseudoElementSelector': - case 'TypeSelector': - prelude.push(this.astSerializePart(part)); + case 'TypeSelector': { + const component = this.astSerializePart(part); + if ( component === undefined ) { return; } + prelude.push(component); break; + } case 'ProceduralSelector': { if ( prelude.length !== 0 ) { let spath = prelude.join('');