From b7e2870ff58ef85370781aa04e9e0126988e39fd Mon Sep 17 00:00:00 2001 From: Wojtek Kosior Date: Tue, 6 Jul 2021 18:25:34 +0200 Subject: show some settings of the current page in the popup --- content/activity_info_server.js | 60 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 content/activity_info_server.js (limited to 'content/activity_info_server.js') diff --git a/content/activity_info_server.js b/content/activity_info_server.js new file mode 100644 index 0000000..8435377 --- /dev/null +++ b/content/activity_info_server.js @@ -0,0 +1,60 @@ +/** + * part of Hachette + * Informing about activities performed by content script (script injection, + * script blocking). + * + * Copyright (C) 2021 Wojtek Kosior + * Redistribution terms are gathered in the `copyright' file. + */ + +/* + * IMPORTS_START + * IMPORT listen_for_connection + * IMPORT CONNECTION_TYPE + * IMPORTS_END + */ + +var activities = []; +var ports = new Set(); + +function report_activity(name, data) +{ + const activity = [name, data]; + activities.push(activity); + + for (const port of ports) + port.postMessage(activity); +} + +function report_script(script_data) +{ + report_activity("script", script_data); +} + +function report_settings(settings) +{ + report_activity("settings", settings); +} + +function new_connection(port) +{ + console.log("new activity info connection!"); + + ports.add(port); + + for (const activity of activities) + port.postMessage(activity); +} + +function start_activity_info_server() +{ + listen_for_connection(CONNECTION_TYPE.ACTIVITY_INFO, new_connection); +} + +/* + * EXPORTS_START + * EXPORT start_activity_info_server + * EXPORT report_script + * EXPORT report_settings + * EXPORTS_END + */ -- cgit v1.2.3