diff options
author | jahoti <jahoti@tilde.team> | 2021-08-17 00:00:00 +0000 |
---|---|---|
committer | jahoti <jahoti@tilde.team> | 2021-08-17 00:00:00 +0000 |
commit | 5b7c9edbbb46074436b819435feb80ebbd9ab4ad (patch) | |
tree | cfa7ef034d99dc1957ce3b146256d766a6a8426d /background/page_info_server.js | |
parent | 7796e55405e2c27f053122bdec25ffc06df92b4f (diff) | |
parent | 443bc095a72949adb4a007c9a19a43da7dd8843d (diff) | |
download | browser-extension-5b7c9edbbb46074436b819435feb80ebbd9ab4ad.tar.gz browser-extension-5b7c9edbbb46074436b819435feb80ebbd9ab4ad.zip |
Merge remote-tracking branch 'origin/master' into jahoti
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 - */ |