From c4d9525f3a4b646f9b980fa498210915f7e0e2bb Mon Sep 17 00:00:00 2001 From: Randolf J Date: Tue, 23 Aug 2022 14:48:05 +0200 Subject: [PATCH] chore: addScriptToEvaluateOnNewDocument on page --- src/common/FrameManager.ts | 9 ++------- src/common/Page.ts | 11 ++++++++++- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/common/FrameManager.ts b/src/common/FrameManager.ts index 182dc1a17a212..6864558caae9b 100644 --- a/src/common/FrameManager.ts +++ b/src/common/FrameManager.ts @@ -23,7 +23,7 @@ import { import {isErrorLike} from '../util/ErrorLike.js'; import {CDPSession} from './Connection.js'; import {EventEmitter} from './EventEmitter.js'; -import {EVALUATION_SCRIPT_URL, ExecutionContext} from './ExecutionContext.js'; +import {ExecutionContext} from './ExecutionContext.js'; import {Frame} from './Frame.js'; import {IsolatedWorld, MAIN_WORLD, PUPPETEER_WORLD} from './IsolatedWorld.js'; import {NetworkManager} from './NetworkManager.js'; @@ -32,7 +32,7 @@ import {Target} from './Target.js'; import {TimeoutSettings} from './TimeoutSettings.js'; import {debugError} from './util.js'; -const UTILITY_WORLD_NAME = '__puppeteer_utility_world__'; +export const UTILITY_WORLD_NAME = '__puppeteer_utility_world__'; /** * We use symbols to prevent external parties listening to these events. @@ -389,11 +389,6 @@ export class FrameManager extends EventEmitter { return; } - await session.send('Page.addScriptToEvaluateOnNewDocument', { - source: `//# sourceURL=${EVALUATION_SCRIPT_URL}`, - worldName: name, - }); - await Promise.all( this.frames() .filter(frame => { diff --git a/src/common/Page.ts b/src/common/Page.ts index 7274136142e6b..314f6137de03a 100644 --- a/src/common/Page.ts +++ b/src/common/Page.ts @@ -28,7 +28,11 @@ import {ElementHandle} from './ElementHandle.js'; import {EmulationManager} from './EmulationManager.js'; import {EventEmitter, Handler} from './EventEmitter.js'; import {FileChooser} from './FileChooser.js'; -import {FrameManager, FrameManagerEmittedEvents} from './FrameManager.js'; +import { + FrameManager, + FrameManagerEmittedEvents, + UTILITY_WORLD_NAME, +} from './FrameManager.js'; import {Frame} from './Frame.js'; import {HTTPRequest} from './HTTPRequest.js'; import {HTTPResponse} from './HTTPResponse.js'; @@ -73,6 +77,7 @@ import { DeferredPromise, } from '../util/DeferredPromise.js'; import {WebWorker} from './WebWorker.js'; +import {EVALUATION_SCRIPT_URL} from './ExecutionContext.js'; /** * @public @@ -641,6 +646,10 @@ export class Page extends EventEmitter { this.#frameManager.initialize(this.#target._targetId), this.#client.send('Performance.enable'), this.#client.send('Log.enable'), + this.#client.send('Page.addScriptToEvaluateOnNewDocument', { + source: `//# sourceURL=${EVALUATION_SCRIPT_URL}`, + worldName: UTILITY_WORLD_NAME, + }), ]); }