Node updated. Some todos.
This commit is contained in:
48
Scripts/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.js
generated
vendored
48
Scripts/node_modules/chromium-bidi/lib/cjs/bidiMapper/BidiServer.js
generated
vendored
@ -21,15 +21,20 @@ const EventEmitter_js_1 = require("../utils/EventEmitter.js");
|
||||
const log_js_1 = require("../utils/log.js");
|
||||
const ProcessingQueue_js_1 = require("../utils/ProcessingQueue.js");
|
||||
const CommandProcessor_js_1 = require("./CommandProcessor.js");
|
||||
const BrowsingContextStorage_js_1 = require("./domains/context/BrowsingContextStorage.js");
|
||||
const RealmStorage_js_1 = require("./domains/script/RealmStorage.js");
|
||||
const EventManager_js_1 = require("./domains/session/EventManager.js");
|
||||
const CdpTargetManager_js_1 = require("./modules/cdp/CdpTargetManager.js");
|
||||
const BrowsingContextStorage_js_1 = require("./modules/context/BrowsingContextStorage.js");
|
||||
const NetworkStorage_js_1 = require("./modules/network/NetworkStorage.js");
|
||||
const PreloadScriptStorage_js_1 = require("./modules/script/PreloadScriptStorage.js");
|
||||
const RealmStorage_js_1 = require("./modules/script/RealmStorage.js");
|
||||
const EventManager_js_1 = require("./modules/session/EventManager.js");
|
||||
class BidiServer extends EventEmitter_js_1.EventEmitter {
|
||||
#messageQueue;
|
||||
#transport;
|
||||
#commandProcessor;
|
||||
#eventManager;
|
||||
#browsingContextStorage = new BrowsingContextStorage_js_1.BrowsingContextStorage();
|
||||
#realmStorage = new RealmStorage_js_1.RealmStorage();
|
||||
#preloadScriptStorage = new PreloadScriptStorage_js_1.PreloadScriptStorage();
|
||||
#logger;
|
||||
#handleIncomingMessage = (message) => {
|
||||
void this.#commandProcessor.processCommand(message).catch((error) => {
|
||||
@ -43,14 +48,32 @@ class BidiServer extends EventEmitter_js_1.EventEmitter {
|
||||
}
|
||||
await this.#transport.sendMessage(message);
|
||||
};
|
||||
constructor(bidiTransport, cdpConnection, browserCdpClient, selfTargetId, defaultUserContextId, options, parser, logger) {
|
||||
constructor(bidiTransport, cdpConnection, browserCdpClient, selfTargetId, defaultUserContextId, parser, logger) {
|
||||
super();
|
||||
this.#logger = logger;
|
||||
this.#messageQueue = new ProcessingQueue_js_1.ProcessingQueue(this.#processOutgoingMessage, this.#logger);
|
||||
this.#transport = bidiTransport;
|
||||
this.#transport.setOnMessage(this.#handleIncomingMessage);
|
||||
this.#eventManager = new EventManager_js_1.EventManager(this.#browsingContextStorage);
|
||||
this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(cdpConnection, browserCdpClient, this.#eventManager, selfTargetId, defaultUserContextId, this.#browsingContextStorage, new RealmStorage_js_1.RealmStorage(), options?.acceptInsecureCerts ?? false, options?.sharedIdWithFrame ?? false, parser, this.#logger);
|
||||
const networkStorage = new NetworkStorage_js_1.NetworkStorage(this.#eventManager, this.#browsingContextStorage, browserCdpClient, logger);
|
||||
this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(cdpConnection, browserCdpClient, this.#eventManager, this.#browsingContextStorage, this.#realmStorage, this.#preloadScriptStorage, networkStorage, parser, async (options) => {
|
||||
// This is required to ignore certificate errors when service worker is fetched.
|
||||
await browserCdpClient.sendCommand('Security.setIgnoreCertificateErrors', {
|
||||
ignore: options.acceptInsecureCerts ?? false,
|
||||
});
|
||||
new CdpTargetManager_js_1.CdpTargetManager(cdpConnection, browserCdpClient, selfTargetId, this.#eventManager, this.#browsingContextStorage, this.#realmStorage, networkStorage, this.#preloadScriptStorage, defaultUserContextId, options?.unhandledPromptBehavior, logger);
|
||||
// Needed to get events about new targets.
|
||||
await browserCdpClient.sendCommand('Target.setDiscoverTargets', {
|
||||
discover: true,
|
||||
});
|
||||
// Needed to automatically attach to new targets.
|
||||
await browserCdpClient.sendCommand('Target.setAutoAttach', {
|
||||
autoAttach: true,
|
||||
waitForDebuggerOnStart: true,
|
||||
flatten: true,
|
||||
});
|
||||
await this.#topLevelContextsLoaded();
|
||||
}, this.#logger);
|
||||
this.#eventManager.on("event" /* EventManagerEvents.Event */, ({ message, event }) => {
|
||||
this.emitOutgoingMessage(message, event);
|
||||
});
|
||||
@ -61,7 +84,7 @@ class BidiServer extends EventEmitter_js_1.EventEmitter {
|
||||
/**
|
||||
* Creates and starts BiDi Mapper instance.
|
||||
*/
|
||||
static async createAndStart(bidiTransport, cdpConnection, browserCdpClient, selfTargetId, options, parser, logger) {
|
||||
static async createAndStart(bidiTransport, cdpConnection, browserCdpClient, selfTargetId, parser, logger) {
|
||||
// The default context is not exposed in Target.getBrowserContexts but can
|
||||
// be observed via Target.getTargets. To determine the default browser
|
||||
// context, we check which one is mentioned in Target.getTargets and not in
|
||||
@ -78,18 +101,7 @@ class BidiServer extends EventEmitter_js_1.EventEmitter {
|
||||
break;
|
||||
}
|
||||
}
|
||||
const server = new BidiServer(bidiTransport, cdpConnection, browserCdpClient, selfTargetId, defaultUserContextId, options, parser, logger);
|
||||
// Needed to get events about new targets.
|
||||
await browserCdpClient.sendCommand('Target.setDiscoverTargets', {
|
||||
discover: true,
|
||||
});
|
||||
// Needed to automatically attach to new targets.
|
||||
await browserCdpClient.sendCommand('Target.setAutoAttach', {
|
||||
autoAttach: true,
|
||||
waitForDebuggerOnStart: true,
|
||||
flatten: true,
|
||||
});
|
||||
await server.#topLevelContextsLoaded();
|
||||
const server = new BidiServer(bidiTransport, cdpConnection, browserCdpClient, selfTargetId, defaultUserContextId, parser, logger);
|
||||
return server;
|
||||
}
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user