From 5b6fc43a2cc4308d63bd6081acdac491c87897ad Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Thu, 10 Nov 2022 12:46:25 -0500 Subject: [PATCH] [mv3] Use Set instead of array to avoid spurious script updates Spurious updates to registered content scripts would occur when using some regional lists, for example DEU would cause spurious updates to registered script `css-procedural`. --- platform/mv3/extension/js/scripting-manager.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/platform/mv3/extension/js/scripting-manager.js b/platform/mv3/extension/js/scripting-manager.js index 835d8b6e7..16aaff374 100644 --- a/platform/mv3/extension/js/scripting-manager.js +++ b/platform/mv3/extension/js/scripting-manager.js @@ -200,12 +200,14 @@ function registerProcedural(context, proceduralDetails) { const { before, filteringModeDetails, rulesetsDetails } = context; const js = []; - const hostnameMatches = []; + const hostnameMatches = new Set(); for ( const details of rulesetsDetails ) { if ( details.css.procedural === 0 ) { continue; } js.push(`/rulesets/scripting/procedural/${details.id}.js`); if ( proceduralDetails.has(details.id) ) { - hostnameMatches.push(...proceduralDetails.get(details.id)); + for ( const hn of proceduralDetails.get(details.id) ) { + hostnameMatches.add(hn); + } } }