From bbfe7400ac756ec941aa10e37e4cd4cd756afe27 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Mon, 4 Aug 2025 10:09:39 -0400 Subject: [PATCH] [mv3] Support `important` option for `removeparam` option Related discussion: https://github.com/uBlockOrigin/uAssets/issues/29451#issuecomment-3150181993 When transposing a `removeparam` dilter to a DNR rule, the semantic of the `important` option changes to "overrides ` allow` rules". --- src/js/static-net-filtering.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/js/static-net-filtering.js b/src/js/static-net-filtering.js index 6651f08a5..898ad80c6 100644 --- a/src/js/static-net-filtering.js +++ b/src/js/static-net-filtering.js @@ -4595,9 +4595,14 @@ StaticNetFilteringEngine.prototype.dnrFromCompiled = function(op, context, ...ar seen.clear(); // Adjust `important` priority + // Mind: + // - https://github.com/uBlockOrigin/uAssets/issues/29451#issuecomment-3150181993 for ( const rule of ruleset ) { if ( rule.__important !== true ) { continue; } - if ( rule.priority === undefined ) { continue; } + if ( rule.priority === undefined ) { + if ( rule.__modifierType !== 'removeparam' ) { continue; } + rule.priority ||= 0; + } rule.priority += 30; }