diff options
author | Wojtek Kosior <koszko@koszko.org> | 2021-08-14 10:07:28 +0200 |
---|---|---|
committer | Wojtek Kosior <koszko@koszko.org> | 2021-08-14 10:07:28 +0200 |
commit | 443bc095a72949adb4a007c9a19a43da7dd8843d (patch) | |
tree | 4b3e392057d8939961a3e707ae596cd85e6fa623 /background/page_info_server.js | |
parent | ae1844f9ac935eb3c89314cd402b4ec2c3d0f537 (diff) | |
parent | 2fbab2f07d3cebde1fba0e801df4f3e9129e463b (diff) | |
download | browser-extension-443bc095a72949adb4a007c9a19a43da7dd8843d.tar.gz browser-extension-443bc095a72949adb4a007c9a19a43da7dd8843d.zip |
merge facility to install from Hydrilla
Diffstat (limited to 'background/page_info_server.js')
-rw-r--r-- | background/page_info_server.js | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/background/page_info_server.js b/background/page_info_server.js deleted file mode 100644 index 6f02750..0000000 --- a/background/page_info_server.js +++ /dev/null @@ -1,74 +0,0 @@ -/** - * part of Hachette - * Serving of storage data corresponding to requested urls (server side). - * - * Copyright (C) 2021 Wojtek Kosior - * Redistribution terms are gathered in the `copyright' file. - */ - -/* - * IMPORTS_START - * IMPORT listen_for_connection - * IMPORT get_storage - * IMPORT get_query_all - * IMPORT TYPE_PREFIX - * IMPORT CONNECTION_TYPE - * IMPORT url_matches - * IMPORTS_END - */ - -var storage; -var query_all; - -function handle_change(connection_data, change) -{ - if (change.prefix !== TYPE_PREFIX.PAGE) - return; - - connection_data.port.postMessage(["change", change]); -} - -async function handle_subscription(connection_data, message) -{ - const [action, url] = message; - if (action === "unsubscribe") { - connection_data.subscribed.delete(url); - return; - } - - connection_data.subscribed.add(url); - connection_data.port.postMessage(["new_url", query_all(url)]); -} - -function new_connection(port) -{ - console.log("new page info connection!"); - - const connection_data = { - subscribed : new Set(), - port - }; - - let _handle_change = change => handle_change(connection_data, change); - - storage.add_change_listener(_handle_change); - - port.onMessage.addListener(m => handle_subscription(connection_data, m)); - port.onDisconnect.addListener( - () => storage.remove_change_listener(_handle_change) - ); -} - -async function start_page_info_server() -{ - storage = await get_storage(); - query_all = await get_query_all(); - - listen_for_connection(CONNECTION_TYPE.PAGE_INFO, new_connection); -} - -/* - * EXPORTS_START - * EXPORT start_page_info_server - * EXPORTS_END - */ |