From 07a220b4963b93a5865be7e700968d6337a9f164 Mon Sep 17 00:00:00 2001 From: dylan Date: Mon, 24 Feb 2025 23:25:43 +1300 Subject: [PATCH] give document to plugin --- src/entries/Background/rpc.ts | 1 + src/entries/Content/index.ts | 6 ++++++ src/utils/misc.ts | 5 +++++ 3 files changed, 12 insertions(+) diff --git a/src/entries/Background/rpc.ts b/src/entries/Background/rpc.ts index a8b8e74..f563b62 100644 --- a/src/entries/Background/rpc.ts +++ b/src/entries/Background/rpc.ts @@ -118,6 +118,7 @@ export enum BackgroundActiontype { get_local_storage = 'get_local_storage', set_session_storage = 'set_session_storage', get_session_storage = 'get_session_storage', + get_document = 'get_document', connect_rendezvous = 'connect_rendezvous', disconnect_rendezvous = 'disconnect_rendezvous', send_pair_request = 'send_pair_request', diff --git a/src/entries/Content/index.ts b/src/entries/Content/index.ts index 4fc588d..2931913 100644 --- a/src/entries/Content/index.ts +++ b/src/entries/Content/index.ts @@ -25,6 +25,12 @@ import { urlify } from '../../utils/misc'; } }); + chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { + if (message.type === BackgroundActiontype.get_document) { + sendResponse(document.documentElement.outerHTML); + } + }); + server.on(ContentScriptTypes.connect, async () => { const connected = await browser.runtime.sendMessage({ type: BackgroundActiontype.connect_request, diff --git a/src/utils/misc.ts b/src/utils/misc.ts index 9ebcc19..0a0f202 100644 --- a/src/utils/misc.ts +++ b/src/utils/misc.ts @@ -161,9 +161,14 @@ export const makePlugin = async ( const module = await WebAssembly.compile(arrayBuffer); const [tab] = await browser.tabs.query({ active: true, currentWindow: true }); + const document = await chrome.tabs.sendMessage(tab.id as number, { + type: BackgroundActiontype.get_document, + }); + const injectedConfig = { tabUrl: tab?.url || 'x://x', tabId: tab?.id, + document: document, }; const approvedRequests = config?.requests || [];