chromium-bidi 0.4.5 → 0.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -4
- package/lib/cjs/bidiMapper/BidiServer.d.ts +3 -3
- package/lib/cjs/bidiMapper/BidiServer.js +12 -12
- package/lib/cjs/bidiMapper/BidiServer.js.map +1 -1
- package/lib/cjs/bidiMapper/CdpConnection.d.ts +5 -5
- package/lib/cjs/bidiMapper/CommandProcessor.d.ts +6 -4
- package/lib/cjs/bidiMapper/CommandProcessor.js +33 -21
- package/lib/cjs/bidiMapper/CommandProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.d.ts +7 -7
- package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js +101 -94
- package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.d.ts +8 -5
- package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js +68 -58
- package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/context/browsingContextStorage.d.ts +1 -0
- package/lib/cjs/bidiMapper/domains/context/browsingContextStorage.js +3 -0
- package/lib/cjs/bidiMapper/domains/context/browsingContextStorage.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/context/cdpTarget.d.ts +24 -0
- package/lib/cjs/bidiMapper/domains/context/cdpTarget.js +112 -0
- package/lib/cjs/bidiMapper/domains/context/cdpTarget.js.map +1 -0
- package/lib/cjs/bidiMapper/domains/events/EventManager.d.ts +6 -4
- package/lib/cjs/bidiMapper/domains/events/EventManager.js +43 -20
- package/lib/cjs/bidiMapper/domains/events/EventManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.d.ts +18 -1
- package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js +81 -22
- package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.spec.d.ts +1 -0
- package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.spec.js +128 -47
- package/lib/cjs/bidiMapper/domains/events/SubscriptionManager.spec.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/log/logHelper.d.ts +1 -1
- package/lib/cjs/bidiMapper/domains/log/logHelper.js +3 -3
- package/lib/cjs/bidiMapper/domains/log/logHelper.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/log/logHelper_getRemoteValuesText.spec.js +5 -29
- package/lib/cjs/bidiMapper/domains/log/logHelper_getRemoteValuesText.spec.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/log/logHelper_logMessageFormatter.spec.js +5 -29
- package/lib/cjs/bidiMapper/domains/log/logHelper_logMessageFormatter.spec.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/log/logManager.d.ts +2 -2
- package/lib/cjs/bidiMapper/domains/log/logManager.js +10 -32
- package/lib/cjs/bidiMapper/domains/log/logManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/networkProcessor.d.ts +7 -0
- package/lib/cjs/bidiMapper/domains/network/networkProcessor.js +65 -0
- package/lib/cjs/bidiMapper/domains/network/networkProcessor.js.map +1 -0
- package/lib/cjs/bidiMapper/domains/network/networkRequest.d.ts +15 -0
- package/lib/cjs/bidiMapper/domains/network/networkRequest.js +263 -0
- package/lib/cjs/bidiMapper/domains/network/networkRequest.js.map +1 -0
- package/lib/cjs/bidiMapper/domains/script/realm.d.ts +9 -9
- package/lib/cjs/bidiMapper/domains/script/realm.js +12 -11
- package/lib/cjs/bidiMapper/domains/script/realm.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/realmStorage.d.ts +1 -1
- package/lib/cjs/bidiMapper/domains/script/realmStorage.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/scriptEvaluator.d.ts +15 -13
- package/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js +323 -264
- package/lib/cjs/bidiMapper/domains/script/scriptEvaluator.js.map +1 -1
- package/lib/cjs/bidiMapper/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/bidiServer/bidiServerRunner.d.ts +0 -16
- package/lib/cjs/bidiServer/bidiServerRunner.js +18 -2
- package/lib/cjs/bidiServer/bidiServerRunner.js.map +1 -1
- package/lib/cjs/bidiServer/index.js +50 -26
- package/lib/cjs/bidiServer/index.js.map +1 -1
- package/lib/cjs/bidiServer/mapperReader.js +1 -1
- package/lib/cjs/bidiServer/mapperReader.js.map +1 -1
- package/lib/cjs/bidiServer/mapperServer.d.ts +2 -10
- package/lib/cjs/bidiServer/mapperServer.js +60 -23
- package/lib/cjs/bidiServer/mapperServer.js.map +1 -1
- package/lib/cjs/bidiServer/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/bidiTab/bidiTab.d.ts +1 -0
- package/lib/cjs/bidiTab/bidiTab.js +32 -28
- package/lib/cjs/bidiTab/bidiTab.js.map +1 -1
- package/lib/cjs/bidiTab/mapperTabPage.js +2 -0
- package/lib/cjs/bidiTab/mapperTabPage.js.map +1 -1
- package/lib/cjs/bidiTab/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/cdp/cdpClient.d.ts +11 -12
- package/lib/cjs/cdp/cdpClient.js +15 -16
- package/lib/cjs/cdp/cdpClient.js.map +1 -1
- package/lib/cjs/cdp/cdpClient.spec.js +20 -22
- package/lib/cjs/cdp/cdpClient.spec.js.map +1 -1
- package/lib/cjs/cdp/cdpConnection.d.ts +7 -7
- package/lib/cjs/cdp/cdpConnection.js +9 -24
- package/lib/cjs/cdp/cdpConnection.js.map +1 -1
- package/lib/cjs/cdp/cdpConnection.spec.js +14 -13
- package/lib/cjs/cdp/cdpConnection.spec.js.map +1 -1
- package/lib/cjs/cdp/cdpMessage.d.ts +4 -3
- package/lib/cjs/cdp/cdpMessage.js +0 -16
- package/lib/cjs/cdp/cdpMessage.js.map +1 -1
- package/lib/cjs/cdp/index.d.ts +1 -1
- package/lib/cjs/cdp/index.js +1 -1
- package/lib/cjs/cdp/index.js.map +1 -1
- package/lib/cjs/cdp/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/protocol/protocol.d.ts +180 -15
- package/lib/cjs/protocol/protocol.js +22 -2
- package/lib/cjs/protocol/protocol.js.map +1 -1
- package/lib/cjs/protocol/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/protocol-parser/protocol-parser.d.ts +53 -648
- package/lib/cjs/protocol-parser/protocol-parser.js +141 -48
- package/lib/cjs/protocol-parser/protocol-parser.js.map +1 -1
- package/lib/cjs/protocol-parser/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/utils/EventEmitter.d.ts +12 -12
- package/lib/cjs/utils/EventEmitter.js +6 -6
- package/lib/cjs/utils/EventEmitter.js.map +1 -1
- package/lib/cjs/utils/EventEmitter.spec.d.ts +2 -1
- package/lib/cjs/utils/EventEmitter.spec.js +37 -42
- package/lib/cjs/utils/EventEmitter.spec.js.map +1 -1
- package/lib/cjs/utils/buffer.spec.js +6 -7
- package/lib/cjs/utils/buffer.spec.js.map +1 -1
- package/lib/cjs/utils/deferred.d.ts +1 -1
- package/lib/cjs/utils/deferred.js +2 -2
- package/lib/cjs/utils/deferred.js.map +1 -1
- package/lib/cjs/utils/deferred.spec.d.ts +17 -0
- package/lib/cjs/utils/deferred.spec.js +37 -0
- package/lib/cjs/utils/deferred.spec.js.map +1 -0
- package/lib/cjs/utils/idWrapper.spec.js +4 -28
- package/lib/cjs/utils/idWrapper.spec.js.map +1 -1
- package/lib/cjs/utils/log.js +2 -0
- package/lib/cjs/utils/log.js.map +1 -1
- package/lib/cjs/utils/processingQueue.js +0 -1
- package/lib/cjs/utils/processingQueue.js.map +1 -1
- package/lib/cjs/utils/processingQueue.spec.js +6 -5
- package/lib/cjs/utils/processingQueue.spec.js.map +1 -1
- package/lib/cjs/{cdp/stubTransport.spec.d.ts → utils/transportStub.spec.d.ts} +2 -2
- package/lib/cjs/{cdp/stubTransport.spec.js → utils/transportStub.spec.js} +3 -3
- package/lib/cjs/utils/transportStub.spec.js.map +1 -0
- package/lib/cjs/utils/tsconfig.tsbuildinfo +1 -1
- package/lib/cjs/utils/unitConversions.d.ts +18 -0
- package/lib/cjs/utils/unitConversions.js +25 -0
- package/lib/cjs/utils/unitConversions.js.map +1 -0
- package/lib/cjs/utils/unitConversions.spec.d.ts +17 -0
- package/lib/cjs/utils/unitConversions.spec.js +27 -0
- package/lib/cjs/utils/unitConversions.spec.js.map +1 -0
- package/lib/cjs/{cdp → utils}/websocketTransport.d.ts +3 -4
- package/lib/cjs/{cdp → utils}/websocketTransport.js +10 -12
- package/lib/cjs/utils/websocketTransport.js.map +1 -0
- package/lib/iife/mapperTab.js +2 -2
- package/lib/iife/mapperTab.js.map +1 -1
- package/package.json +9 -6
- package/lib/cjs/cdp/stubTransport.spec.js.map +0 -1
- package/lib/cjs/cdp/websocketTransport.js.map +0 -1
package/README.md
CHANGED
|
@@ -172,14 +172,26 @@ npm run server -- --headless=false
|
|
|
172
172
|
```
|
|
173
173
|
|
|
174
174
|
Use the `CHANNEL=...` environment variable or `--channel=...` argument with one of
|
|
175
|
-
the following values to run the specific Chrome channel: `
|
|
176
|
-
`
|
|
175
|
+
the following values to run the specific Chrome channel: `stable`,
|
|
176
|
+
`beta`, `canary`, `dev`.
|
|
177
177
|
|
|
178
178
|
The requested Chrome version should be installed.
|
|
179
179
|
|
|
180
180
|
```sh
|
|
181
|
-
CHANNEL=
|
|
182
|
-
npm run server -- --channel=
|
|
181
|
+
CHANNEL=dev npm run server
|
|
182
|
+
npm run server -- --channel=dev
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
Use the CLI argument `--verbose` to have CDP events printed to the console. Note: you have to enable debugging output `bidiMapper:mapperDebug:*` as well.
|
|
186
|
+
|
|
187
|
+
```sh
|
|
188
|
+
DEBUG=bidiMapper:mapperDebug:* npm run server -- --verbose
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
or
|
|
192
|
+
|
|
193
|
+
```sh
|
|
194
|
+
DEBUG=* npm run server -- --verbose
|
|
183
195
|
```
|
|
184
196
|
|
|
185
197
|
### Starting on Linux and Mac
|
|
@@ -14,13 +14,13 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
+
import { EventEmitter } from '../utils/EventEmitter.js';
|
|
18
|
+
import { LoggerFn } from '../utils/log.js';
|
|
19
|
+
import type { Message } from '../protocol/protocol.js';
|
|
17
20
|
import { BidiParser } from './CommandProcessor.js';
|
|
18
21
|
import { BidiTransport } from './BidiTransport.js';
|
|
19
22
|
import { BrowsingContextStorage } from './domains/context/browsingContextStorage.js';
|
|
20
23
|
import { CdpConnection } from './CdpConnection.js';
|
|
21
|
-
import { EventEmitter } from '../utils/EventEmitter.js';
|
|
22
|
-
import { LoggerFn } from '../utils/log.js';
|
|
23
|
-
import type { Message } from '../protocol/protocol.js';
|
|
24
24
|
import { OutgoingBidiMessage } from './OutgoingBidiMessage.js';
|
|
25
25
|
declare type BidiServerEvents = {
|
|
26
26
|
message: Message.RawCommandRequest;
|
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
*/
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
exports.BidiServer = void 0;
|
|
20
|
+
const EventEmitter_js_1 = require("../utils/EventEmitter.js");
|
|
21
|
+
const processingQueue_js_1 = require("../utils/processingQueue.js");
|
|
20
22
|
const CommandProcessor_js_1 = require("./CommandProcessor.js");
|
|
21
23
|
const browsingContextStorage_js_1 = require("./domains/context/browsingContextStorage.js");
|
|
22
|
-
const EventEmitter_js_1 = require("../utils/EventEmitter.js");
|
|
23
24
|
const EventManager_js_1 = require("./domains/events/EventManager.js");
|
|
24
|
-
const processingQueue_js_1 = require("../utils/processingQueue.js");
|
|
25
25
|
const realmStorage_js_1 = require("./domains/script/realmStorage.js");
|
|
26
26
|
class BidiServer extends EventEmitter_js_1.EventEmitter {
|
|
27
27
|
#messageQueue;
|
|
@@ -30,6 +30,16 @@ class BidiServer extends EventEmitter_js_1.EventEmitter {
|
|
|
30
30
|
#browsingContextStorage;
|
|
31
31
|
#realmStorage;
|
|
32
32
|
#logger;
|
|
33
|
+
#handleIncomingMessage = async (message) => {
|
|
34
|
+
this.#commandProcessor.processCommand(message);
|
|
35
|
+
};
|
|
36
|
+
#processOutgoingMessage = async (messageEntry) => {
|
|
37
|
+
const message = messageEntry.message;
|
|
38
|
+
if (messageEntry.channel !== null) {
|
|
39
|
+
message['channel'] = messageEntry.channel;
|
|
40
|
+
}
|
|
41
|
+
await this.#transport.sendMessage(message);
|
|
42
|
+
};
|
|
33
43
|
constructor(bidiTransport, cdpConnection, selfTargetId, parser, logger) {
|
|
34
44
|
super();
|
|
35
45
|
this.#logger = logger;
|
|
@@ -62,13 +72,6 @@ class BidiServer extends EventEmitter_js_1.EventEmitter {
|
|
|
62
72
|
.getTopLevelContexts()
|
|
63
73
|
.map((c) => c.awaitLoaded()));
|
|
64
74
|
}
|
|
65
|
-
#processOutgoingMessage = async (messageEntry) => {
|
|
66
|
-
const message = messageEntry.message;
|
|
67
|
-
if (messageEntry.channel !== null) {
|
|
68
|
-
message['channel'] = messageEntry.channel;
|
|
69
|
-
}
|
|
70
|
-
await this.#transport.sendMessage(message);
|
|
71
|
-
};
|
|
72
75
|
/**
|
|
73
76
|
* Sends BiDi message.
|
|
74
77
|
*/
|
|
@@ -78,9 +81,6 @@ class BidiServer extends EventEmitter_js_1.EventEmitter {
|
|
|
78
81
|
close() {
|
|
79
82
|
this.#transport.close();
|
|
80
83
|
}
|
|
81
|
-
#handleIncomingMessage = async (message) => {
|
|
82
|
-
this.#commandProcessor.processCommand(message);
|
|
83
|
-
};
|
|
84
84
|
getBrowsingContextStorage() {
|
|
85
85
|
return this.#browsingContextStorage;
|
|
86
86
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,+DAAmE;AAEnE,2FAAmF;AAEnF,
|
|
1
|
+
{"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,19 +14,19 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
/**
|
|
18
|
+
* @fileoverview CDP interfaces and types that BiDi Mapper expects.
|
|
19
|
+
*/
|
|
18
20
|
import type { ProtocolMapping } from 'devtools-protocol/types/protocol-mapping.js';
|
|
21
|
+
import { EventEmitter } from '../utils/EventEmitter.js';
|
|
19
22
|
declare type CdpEvents = {
|
|
20
23
|
[Property in keyof ProtocolMapping.Events]: ProtocolMapping.Events[Property][0];
|
|
21
24
|
};
|
|
22
|
-
/**
|
|
23
|
-
* CDP interfaces that BiDi Mapper expects.
|
|
24
|
-
*/
|
|
25
25
|
export interface CdpConnection {
|
|
26
26
|
browserClient(): CdpClient;
|
|
27
27
|
getCdpClient(sessionId: string): CdpClient;
|
|
28
28
|
}
|
|
29
29
|
export interface CdpClient extends EventEmitter<CdpEvents> {
|
|
30
|
-
sendCommand<
|
|
30
|
+
sendCommand<CdpMethod extends keyof ProtocolMapping.Commands>(method: CdpMethod, ...params: ProtocolMapping.Commands[CdpMethod]['paramsType']): Promise<ProtocolMapping.Commands[CdpMethod]['returnType']>;
|
|
31
31
|
}
|
|
32
32
|
export {};
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import { BrowsingContext, CDP, Message, Script, Session } from '../protocol/protocol.js';
|
|
18
|
+
import { LoggerFn } from '../utils/log.js';
|
|
19
|
+
import { EventEmitter } from '../utils/EventEmitter.js';
|
|
18
20
|
import { BrowsingContextStorage } from './domains/context/browsingContextStorage.js';
|
|
19
21
|
import { CdpConnection } from './CdpConnection.js';
|
|
20
|
-
import { EventEmitter } from '../utils/EventEmitter.js';
|
|
21
22
|
import { IEventManager } from './domains/events/EventManager.js';
|
|
22
|
-
import { LoggerFn } from '../utils/log.js';
|
|
23
23
|
import { OutgoingBidiMessage } from './OutgoingBidiMessage.js';
|
|
24
24
|
import { RealmStorage } from './domains/script/realmStorage.js';
|
|
25
25
|
declare type CommandProcessorEvents = {
|
|
@@ -32,15 +32,17 @@ export interface BidiParser {
|
|
|
32
32
|
parseDisownParams(params: object): Script.DisownParameters;
|
|
33
33
|
parseSendCommandParams(params: object): CDP.SendCommandParams;
|
|
34
34
|
parseGetSessionParams(params: object): CDP.GetSessionParams;
|
|
35
|
+
parseSubscribeParams(params: object): Session.SubscribeParameters;
|
|
35
36
|
parseNavigateParams(params: object): BrowsingContext.NavigateParameters;
|
|
36
37
|
parseGetTreeParams(params: object): BrowsingContext.GetTreeParameters;
|
|
37
|
-
parseSubscribeParams(params: object): Session.SubscribeParameters;
|
|
38
38
|
parseCreateParams(params: object): BrowsingContext.CreateParameters;
|
|
39
39
|
parseCloseParams(params: object): BrowsingContext.CloseParameters;
|
|
40
|
+
parseCaptureScreenshotParams(params: object): BrowsingContext.CaptureScreenshotParameters;
|
|
41
|
+
parsePrintParams(params: object): BrowsingContext.PrintParameters;
|
|
40
42
|
}
|
|
41
43
|
export declare class CommandProcessor extends EventEmitter<CommandProcessorEvents> {
|
|
42
44
|
#private;
|
|
43
45
|
constructor(realmStorage: RealmStorage, cdpConnection: CdpConnection, eventManager: IEventManager, selfTargetId: string, parser: BidiParser | undefined, browsingContextStorage: BrowsingContextStorage, logger?: LoggerFn);
|
|
44
|
-
processCommand
|
|
46
|
+
processCommand(command: Message.RawCommandRequest): Promise<void>;
|
|
45
47
|
}
|
|
46
48
|
export {};
|
|
@@ -18,8 +18,9 @@
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
exports.CommandProcessor = void 0;
|
|
20
20
|
const protocol_js_1 = require("../protocol/protocol.js");
|
|
21
|
-
const
|
|
21
|
+
const log_js_1 = require("../utils/log.js");
|
|
22
22
|
const EventEmitter_js_1 = require("../utils/EventEmitter.js");
|
|
23
|
+
const browsingContextProcessor_js_1 = require("./domains/context/browsingContextProcessor.js");
|
|
23
24
|
const OutgoingBidiMessage_js_1 = require("./OutgoingBidiMessage.js");
|
|
24
25
|
class BidiNoOpParser {
|
|
25
26
|
parseGetRealmsParams(params) {
|
|
@@ -40,13 +41,13 @@ class BidiNoOpParser {
|
|
|
40
41
|
parseGetSessionParams(params) {
|
|
41
42
|
return params;
|
|
42
43
|
}
|
|
43
|
-
|
|
44
|
+
parseSubscribeParams(params) {
|
|
44
45
|
return params;
|
|
45
46
|
}
|
|
46
|
-
|
|
47
|
+
parseNavigateParams(params) {
|
|
47
48
|
return params;
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
+
parseGetTreeParams(params) {
|
|
50
51
|
return params;
|
|
51
52
|
}
|
|
52
53
|
parseCreateParams(params) {
|
|
@@ -55,19 +56,26 @@ class BidiNoOpParser {
|
|
|
55
56
|
parseCloseParams(params) {
|
|
56
57
|
return params;
|
|
57
58
|
}
|
|
59
|
+
parseCaptureScreenshotParams(params) {
|
|
60
|
+
return params;
|
|
61
|
+
}
|
|
62
|
+
parsePrintParams(params) {
|
|
63
|
+
return params;
|
|
64
|
+
}
|
|
58
65
|
}
|
|
59
66
|
class CommandProcessor extends EventEmitter_js_1.EventEmitter {
|
|
60
67
|
#contextProcessor;
|
|
61
68
|
#eventManager;
|
|
62
69
|
#parser;
|
|
70
|
+
#logger;
|
|
63
71
|
constructor(realmStorage, cdpConnection, eventManager, selfTargetId, parser = new BidiNoOpParser(), browsingContextStorage, logger) {
|
|
64
72
|
super();
|
|
65
73
|
this.#eventManager = eventManager;
|
|
74
|
+
this.#logger = logger;
|
|
66
75
|
this.#contextProcessor = new browsingContextProcessor_js_1.BrowsingContextProcessor(realmStorage, cdpConnection, selfTargetId, eventManager, browsingContextStorage, logger);
|
|
67
76
|
this.#parser = parser;
|
|
68
77
|
}
|
|
69
|
-
|
|
70
|
-
async #process_session_status() {
|
|
78
|
+
static #process_session_status() {
|
|
71
79
|
return { result: { ready: false, message: 'already connected' } };
|
|
72
80
|
}
|
|
73
81
|
async #process_session_subscribe(params, channel) {
|
|
@@ -81,36 +89,40 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
|
|
|
81
89
|
async #processCommand(commandData) {
|
|
82
90
|
switch (commandData.method) {
|
|
83
91
|
case 'session.status':
|
|
84
|
-
return
|
|
92
|
+
return CommandProcessor.#process_session_status();
|
|
85
93
|
case 'session.subscribe':
|
|
86
|
-
return
|
|
94
|
+
return this.#process_session_subscribe(this.#parser.parseSubscribeParams(commandData.params), commandData.channel ?? null);
|
|
87
95
|
case 'session.unsubscribe':
|
|
88
|
-
return
|
|
96
|
+
return this.#process_session_unsubscribe(this.#parser.parseSubscribeParams(commandData.params), commandData.channel ?? null);
|
|
89
97
|
case 'browsingContext.create':
|
|
90
|
-
return
|
|
98
|
+
return this.#contextProcessor.process_browsingContext_create(this.#parser.parseCreateParams(commandData.params));
|
|
91
99
|
case 'browsingContext.close':
|
|
92
|
-
return
|
|
100
|
+
return this.#contextProcessor.process_browsingContext_close(this.#parser.parseCloseParams(commandData.params));
|
|
93
101
|
case 'browsingContext.getTree':
|
|
94
|
-
return
|
|
102
|
+
return this.#contextProcessor.process_browsingContext_getTree(this.#parser.parseGetTreeParams(commandData.params));
|
|
95
103
|
case 'browsingContext.navigate':
|
|
96
|
-
return
|
|
104
|
+
return this.#contextProcessor.process_browsingContext_navigate(this.#parser.parseNavigateParams(commandData.params));
|
|
105
|
+
case 'browsingContext.captureScreenshot':
|
|
106
|
+
return this.#contextProcessor.process_browsingContext_captureScreenshot(this.#parser.parseCaptureScreenshotParams(commandData.params));
|
|
107
|
+
case 'browsingContext.print':
|
|
108
|
+
return this.#contextProcessor.process_browsingContext_print(this.#parser.parsePrintParams(commandData.params));
|
|
97
109
|
case 'script.getRealms':
|
|
98
110
|
return this.#contextProcessor.process_script_getRealms(this.#parser.parseGetRealmsParams(commandData.params));
|
|
99
111
|
case 'script.callFunction':
|
|
100
|
-
return
|
|
112
|
+
return this.#contextProcessor.process_script_callFunction(this.#parser.parseCallFunctionParams(commandData.params));
|
|
101
113
|
case 'script.evaluate':
|
|
102
|
-
return
|
|
114
|
+
return this.#contextProcessor.process_script_evaluate(this.#parser.parseEvaluateParams(commandData.params));
|
|
103
115
|
case 'script.disown':
|
|
104
|
-
return
|
|
116
|
+
return this.#contextProcessor.process_script_disown(this.#parser.parseDisownParams(commandData.params));
|
|
105
117
|
case 'cdp.sendCommand':
|
|
106
|
-
return
|
|
118
|
+
return this.#contextProcessor.process_cdp_sendCommand(this.#parser.parseSendCommandParams(commandData.params));
|
|
107
119
|
case 'cdp.getSession':
|
|
108
|
-
return
|
|
120
|
+
return this.#contextProcessor.process_cdp_getSession(this.#parser.parseGetSessionParams(commandData.params));
|
|
109
121
|
default:
|
|
110
122
|
throw new protocol_js_1.Message.UnknownCommandException(`Unknown command '${commandData.method}'.`);
|
|
111
123
|
}
|
|
112
124
|
}
|
|
113
|
-
|
|
125
|
+
async processCommand(command) {
|
|
114
126
|
try {
|
|
115
127
|
const result = await this.#processCommand(command);
|
|
116
128
|
const response = {
|
|
@@ -126,11 +138,11 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
|
|
|
126
138
|
}
|
|
127
139
|
else {
|
|
128
140
|
const error = e;
|
|
129
|
-
|
|
141
|
+
this.#logger?.(log_js_1.LogType.bidi, error);
|
|
130
142
|
this.emit('response', OutgoingBidiMessage_js_1.OutgoingBidiMessage.createResolved(new protocol_js_1.Message.UnknownException(error.message).toErrorResponse(command.id), command.channel ?? null));
|
|
131
143
|
}
|
|
132
144
|
}
|
|
133
|
-
}
|
|
145
|
+
}
|
|
134
146
|
}
|
|
135
147
|
exports.CommandProcessor = CommandProcessor;
|
|
136
148
|
//# sourceMappingURL=CommandProcessor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandProcessor.js","sourceRoot":"","sources":["../../../src/bidiMapper/CommandProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,yDAMiC;AACjC
|
|
1
|
+
{"version":3,"file":"CommandProcessor.js","sourceRoot":"","sources":["../../../src/bidiMapper/CommandProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,yDAMiC;AACjC,4CAAkD;AAClD,8DAAsD;AAEtD,+FAAuF;AAIvF,qEAA6D;AAyB7D,MAAM,cAAc;IAClB,oBAAoB,CAAC,MAAc;QACjC,OAAO,MAAoC,CAAC;IAC9C,CAAC;IACD,uBAAuB,CAAC,MAAc;QACpC,OAAO,MAAuC,CAAC;IACjD,CAAC;IACD,mBAAmB,CAAC,MAAc;QAChC,OAAO,MAAmC,CAAC;IAC7C,CAAC;IACD,iBAAiB,CAAC,MAAc;QAC9B,OAAO,MAAiC,CAAC;IAC3C,CAAC;IACD,sBAAsB,CAAC,MAAc;QACnC,OAAO,MAA+B,CAAC;IACzC,CAAC;IACD,qBAAqB,CAAC,MAAc;QAClC,OAAO,MAA8B,CAAC;IACxC,CAAC;IACD,oBAAoB,CAAC,MAAc;QACjC,OAAO,MAAqC,CAAC;IAC/C,CAAC;IACD,mBAAmB,CAAC,MAAc;QAChC,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,kBAAkB,CAAC,MAAc;QAC/B,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,iBAAiB,CAAC,MAAc;QAC9B,OAAO,MAA0C,CAAC;IACpD,CAAC;IACD,gBAAgB,CAAC,MAAc;QAC7B,OAAO,MAAyC,CAAC;IACnD,CAAC;IACD,4BAA4B,CAC1B,MAAc;QAEd,OAAO,MAAqD,CAAC;IAC/D,CAAC;IACD,gBAAgB,CAAC,MAAc;QAC7B,OAAO,MAAyC,CAAC;IACnD,CAAC;CACF;AAED,MAAa,gBAAiB,SAAQ,8BAAoC;IACxE,iBAAiB,CAA2B;IAC5C,aAAa,CAAgB;IAC7B,OAAO,CAAa;IACpB,OAAO,CAAY;IAEnB,YACE,YAA0B,EAC1B,aAA4B,EAC5B,YAA2B,EAC3B,YAAoB,EACpB,SAAqB,IAAI,cAAc,EAAE,EACzC,sBAA8C,EAC9C,MAAiB;QAEjB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,sDAAwB,CACnD,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,MAAM,CACP,CAAC;QACF,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,MAAM,CAAC,uBAAuB;QAC5B,OAAO,EAAC,MAAM,EAAE,EAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,mBAAmB,EAAC,EAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,0BAA0B,CAC9B,MAAmC,EACnC,OAAsB;QAEtB,MAAM,IAAI,CAAC,aAAa,CAAC,SAAS,CAChC,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EACzB,OAAO,CACR,CAAC;QACF,OAAO,EAAC,MAAM,EAAE,EAAE,EAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,MAAmC,EACnC,OAAsB;QAEtB,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAClC,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,EACzB,OAAO,CACR,CAAC;QACF,OAAO,EAAC,MAAM,EAAE,EAAE,EAAC,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,WAAsC;QAEtC,QAAQ,WAAW,CAAC,MAAM,EAAE;YAC1B,KAAK,gBAAgB;gBACnB,OAAO,gBAAgB,CAAC,uBAAuB,EAAE,CAAC;YACpD,KAAK,mBAAmB;gBACtB,OAAO,IAAI,CAAC,0BAA0B,CACpC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,EACrD,WAAW,CAAC,OAAO,IAAI,IAAI,CAC5B,CAAC;YACJ,KAAK,qBAAqB;gBACxB,OAAO,IAAI,CAAC,4BAA4B,CACtC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,EACrD,WAAW,CAAC,OAAO,IAAI,IAAI,CAC5B,CAAC;YAEJ,KAAK,wBAAwB;gBAC3B,OAAO,IAAI,CAAC,iBAAiB,CAAC,8BAA8B,CAC1D,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CACnD,CAAC;YACJ,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CACzD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAClD,CAAC;YACJ,KAAK,yBAAyB;gBAC5B,OAAO,IAAI,CAAC,iBAAiB,CAAC,+BAA+B,CAC3D,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,WAAW,CAAC,MAAM,CAAC,CACpD,CAAC;YACJ,KAAK,0BAA0B;gBAC7B,OAAO,IAAI,CAAC,iBAAiB,CAAC,gCAAgC,CAC5D,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CACrD,CAAC;YACJ,KAAK,mCAAmC;gBACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,yCAAyC,CACrE,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,WAAW,CAAC,MAAM,CAAC,CAC9D,CAAC;YACJ,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,CAAC,iBAAiB,CAAC,6BAA6B,CACzD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAClD,CAAC;YAEJ,KAAK,kBAAkB;gBACrB,OAAO,IAAI,CAAC,iBAAiB,CAAC,wBAAwB,CACpD,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CACtD,CAAC;YACJ,KAAK,qBAAqB;gBACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,2BAA2B,CACvD,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,WAAW,CAAC,MAAM,CAAC,CACzD,CAAC;YACJ,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CACnD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,MAAM,CAAC,CACrD,CAAC;YACJ,KAAK,eAAe;gBAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CACjD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,MAAM,CAAC,CACnD,CAAC;YAEJ,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,iBAAiB,CAAC,uBAAuB,CACnD,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,WAAW,CAAC,MAAM,CAAC,CACxD,CAAC;YACJ,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAClD,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,CACvD,CAAC;YAEJ;gBACE,MAAM,IAAI,qBAAO,CAAC,uBAAuB,CACvC,oBAAoB,WAAW,CAAC,MAAM,IAAI,CAC3C,CAAC;SACL;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAkC;QACrD,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEnD,MAAM,QAAQ,GAAG;gBACf,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,GAAG,MAAM;aACV,CAAC;YAEF,IAAI,CAAC,IAAI,CACP,UAAU,EACV,4CAAmB,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,CACtE,CAAC;SACH;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,qBAAO,CAAC,kBAAkB,EAAE;gBAC3C,MAAM,aAAa,GAAG,CAA+B,CAAC;gBACtD,IAAI,CAAC,IAAI,CACP,UAAU,EACV,4CAAmB,CAAC,cAAc,CAChC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,EACzC,OAAO,CAAC,OAAO,IAAI,IAAI,CACxB,CACF,CAAC;aACH;iBAAM;gBACL,MAAM,KAAK,GAAG,CAAU,CAAC;gBACzB,IAAI,CAAC,OAAO,EAAE,CAAC,gBAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,CACP,UAAU,EACV,4CAAmB,CAAC,cAAc,CAChC,IAAI,qBAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,eAAe,CACzD,OAAO,CAAC,EAAE,CACX,EACD,OAAO,CAAC,OAAO,IAAI,IAAI,CACxB,CACF,CAAC;aACH;SACF;IACH,CAAC;CACF;AA1KD,4CA0KC"}
|
|
@@ -16,23 +16,21 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { BrowsingContext } from '../../../protocol/protocol.js';
|
|
18
18
|
import { LoggerFn } from '../../../utils/log.js';
|
|
19
|
-
import { BrowsingContextStorage } from './browsingContextStorage.js';
|
|
20
|
-
import { CdpClient } from '../../CdpConnection.js';
|
|
21
19
|
import { IEventManager } from '../events/EventManager.js';
|
|
22
20
|
import { Realm } from '../script/realm.js';
|
|
23
21
|
import { RealmStorage } from '../script/realmStorage.js';
|
|
22
|
+
import { BrowsingContextStorage } from './browsingContextStorage.js';
|
|
23
|
+
import { CdpTarget } from './cdpTarget';
|
|
24
24
|
export declare class BrowsingContextImpl {
|
|
25
25
|
#private;
|
|
26
26
|
private constructor();
|
|
27
|
-
static
|
|
28
|
-
static createTargetContext(realmStorage: RealmStorage, contextId: string, parentId: string | null, cdpClient: CdpClient, cdpSessionId: string, cdpBrowserContextId: string | null, eventManager: IEventManager, browsingContextStorage: BrowsingContextStorage, logger?: LoggerFn): Promise<void>;
|
|
29
|
-
get cdpBrowserContextId(): string | null;
|
|
27
|
+
static create(cdpTarget: CdpTarget, realmStorage: RealmStorage, contextId: string, parentId: string | null, eventManager: IEventManager, browsingContextStorage: BrowsingContextStorage, logger?: LoggerFn): Promise<void>;
|
|
30
28
|
get navigableId(): string | null;
|
|
31
|
-
|
|
29
|
+
updateCdpTarget(cdpTarget: CdpTarget): void;
|
|
32
30
|
delete(): Promise<void>;
|
|
33
31
|
get contextId(): string;
|
|
34
32
|
get parentId(): string | null;
|
|
35
|
-
get
|
|
33
|
+
get cdpTarget(): CdpTarget;
|
|
36
34
|
get children(): BrowsingContextImpl[];
|
|
37
35
|
get url(): string;
|
|
38
36
|
addChild(child: BrowsingContextImpl): void;
|
|
@@ -41,4 +39,6 @@ export declare class BrowsingContextImpl {
|
|
|
41
39
|
serializeToBidiValue(maxDepth?: number, addParentFiled?: boolean): BrowsingContext.Info;
|
|
42
40
|
navigate(url: string, wait: BrowsingContext.ReadinessState): Promise<BrowsingContext.NavigateResult>;
|
|
43
41
|
getOrCreateSandbox(sandbox: string | undefined): Promise<Realm>;
|
|
42
|
+
captureScreenshot(): Promise<BrowsingContext.CaptureScreenshotResult>;
|
|
43
|
+
print(params: BrowsingContext.PrintParameters): Promise<BrowsingContext.PrintResult>;
|
|
44
44
|
}
|