diff --git a/platform/mv3/extension/js/scripting/css-procedural.js b/platform/mv3/extension/js/scripting/css-procedural.js index 364bd41f4..f8fc6f0a1 100644 --- a/platform/mv3/extension/js/scripting/css-procedural.js +++ b/platform/mv3/extension/js/scripting/css-procedural.js @@ -192,7 +192,9 @@ class PSelectorMatchesMediaTask extends PSelectorTask { class PSelectorMatchesPathTask extends PSelectorTask { constructor(task) { super(); - this.needle = regexFromString(task[1]); + this.needle = regexFromString( + task[1].replace(/\P{ASCII}/gu, s => encodeURIComponent(s)) + ); } transpose(node, output) { if ( this.needle.test(self.location.pathname + self.location.search) ) { diff --git a/src/js/contentscript-extra.js b/src/js/contentscript-extra.js index 344165693..29a736d21 100644 --- a/src/js/contentscript-extra.js +++ b/src/js/contentscript-extra.js @@ -161,7 +161,9 @@ class PSelectorMatchesMediaTask extends PSelectorTask { class PSelectorMatchesPathTask extends PSelectorTask { constructor(task) { super(); - this.needle = regexFromString(task[1]); + this.needle = regexFromString( + task[1].replace(/\P{ASCII}/gu, s => encodeURIComponent(s)) + ); } transpose(node, output) { if ( this.needle.test(self.location.pathname + self.location.search) ) {