From 04b31831fd2d720f94854e1b9e62af303d09b372 Mon Sep 17 00:00:00 2001 From: CanadaHonk Date: Wed, 5 Apr 2023 15:35:41 +0100 Subject: [PATCH] inject: rewrite evalOnNewDoc to return remove func --- src/launcher/inject.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/launcher/inject.js b/src/launcher/inject.js index 459a555..e1a4afc 100644 --- a/src/launcher/inject.js +++ b/src/launcher/inject.js @@ -98,13 +98,25 @@ export default async (CDP, proc, injectionType = 'browser', { dataPath, browserN return reply.result?.value ?? reply; }; + const evalOnNewDocument = async source => { + const { identifier } = await CDP.sendMessage('Page.addScriptToEvaluateOnNewDocument', { + source + }, sessionId); + + return async () => { + await CDP.sendMessage('Page.removeScriptToEvaluateOnNewDocument', { + identifier + }, sessionId); + }; + }; + const [ ipcMessageCallback, injectIPC, IPC ] = await IPCApi({ browserName, browserInfo, browserType }, { evalInWindow, - evalOnNewDocument: source => CDP.sendMessage('Page.addScriptToEvaluateOnNewDocument', { source }, sessionId) + evalOnNewDocument }); onWindowMessage = ipcMessageCallback;