From 4c6a2323d90e9321ec2b78e226167b3013ea69ab Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Sat, 29 Jan 2022 00:03:51 +0100 Subject: make Haketilo buildable again (for Mozilla) How cool it is to throw away 5755 lines of code... --- background/patterns_query_manager.js | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) (limited to 'background/patterns_query_manager.js') diff --git a/background/patterns_query_manager.js b/background/patterns_query_manager.js index 3b74ee9..9de9d35 100644 --- a/background/patterns_query_manager.js +++ b/background/patterns_query_manager.js @@ -64,8 +64,7 @@ let registered_script = null; let script_update_occuring = false; let script_update_needed; -async function update_content_script() -{ +async function update_content_script() { if (script_update_occuring) return; @@ -98,8 +97,7 @@ if (this.haketilo_content_script_main) } #ENDIF -function register(kind, object) -{ +function register(kind, object) { if (kind === "mappings") { for (const [pattern, resource] of Object.entries(object.payloads)) pqt.register(tree, pattern, object.identifier, resource); @@ -118,8 +116,7 @@ function register(kind, object) #ENDIF } -function changed(kind, change) -{ +function changed(kind, change) { const old_version = currently_registered.get(change.key); if (old_version !== undefined) { if (kind === "mappings") { @@ -143,8 +140,19 @@ function changed(kind, change) #ENDIF } -async function start(secret_) -{ +function setting_changed(change) { + if (change.key !== "default_allow") + return; + + default_allow.value = (change.new_val || {}).value; + +#IF MOZILLA || MV3 + script_update_needed = true; + setTimeout(update_content_script, 0); +#ENDIF +} + +async function start(secret_) { secret = secret_; const [mapping_tracking, initial_mappings] = @@ -155,9 +163,9 @@ async function start(secret_) initial_mappings.forEach(m => register("mappings", m)); initial_blocking.forEach(b => register("blocking", b)); - const set_allow_val = ch => default_allow.value = (ch.new_val || {}).value; const [setting_tracking, initial_settings] = - await haketilodb.track.settings(set_allow_val); + await haketilodb.track.settings(setting_changed); + for (const setting of initial_settings) { if (setting.name === "default_allow") Object.assign(default_allow, setting); -- cgit v1.2.3