chromium-bidi 0.4.4 → 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 +36 -28
- 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 +8 -7
- package/lib/cjs/bidiMapper/domains/context/browsingContextImpl.js +120 -105
- 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 +69 -59
- package/lib/cjs/bidiMapper/domains/context/browsingContextProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/context/browsingContextStorage.d.ts +2 -1
- 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 +8 -6
- package/lib/cjs/bidiMapper/domains/events/EventManager.js +60 -25
- 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 +104 -33
- 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 +165 -52
- 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 +20 -18
- 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 -267
- 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 +184 -19
- 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 -712
- package/lib/cjs/protocol-parser/protocol-parser.js +143 -59
- 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
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
# WebDriver BiDi for Chromium [](https://www.npmjs.com/package/chromium-bidi)
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
## CI status
|
|
4
|
+
|
|
4
5
|

|
|
5
|
-

|
|
6
7
|

|
|
8
|
+

|
|
7
9
|
|
|
8
|
-

|
|
11
|
+

|
|
9
12
|
|
|
10
13
|
This is an implementation of the
|
|
11
14
|
[WebDriver BiDi](https://w3c.github.io/webdriver-bidi/) protocol with some
|
|
@@ -169,14 +172,26 @@ npm run server -- --headless=false
|
|
|
169
172
|
```
|
|
170
173
|
|
|
171
174
|
Use the `CHANNEL=...` environment variable or `--channel=...` argument with one of
|
|
172
|
-
the following values to run the specific Chrome channel: `
|
|
173
|
-
`
|
|
175
|
+
the following values to run the specific Chrome channel: `stable`,
|
|
176
|
+
`beta`, `canary`, `dev`.
|
|
174
177
|
|
|
175
178
|
The requested Chrome version should be installed.
|
|
176
179
|
|
|
177
180
|
```sh
|
|
178
|
-
CHANNEL=
|
|
179
|
-
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
|
|
180
195
|
```
|
|
181
196
|
|
|
182
197
|
### Starting on Linux and Mac
|
|
@@ -305,7 +320,7 @@ export WPT_BROWSER_PATH="/Applications/Microsoft Edge.app/Contents/MacOS/Microso
|
|
|
305
320
|
|
|
306
321
|
https://www.google.com/chrome/dev/
|
|
307
322
|
|
|
308
|
-
#### 2. Build
|
|
323
|
+
#### 2. Build Chromedriver BiDi
|
|
309
324
|
|
|
310
325
|
Oneshot:
|
|
311
326
|
|
|
@@ -323,10 +338,10 @@ npm run watch
|
|
|
323
338
|
|
|
324
339
|
```sh
|
|
325
340
|
./wpt/wpt run \
|
|
326
|
-
--webdriver-binary
|
|
341
|
+
--webdriver-binary runBiDiServer.sh \
|
|
327
342
|
--binary "$WPT_BROWSER_PATH" \
|
|
328
|
-
--manifest
|
|
329
|
-
--metadata
|
|
343
|
+
--manifest wpt/MANIFEST.json \
|
|
344
|
+
--metadata wpt-metadata/mapper/headless \
|
|
330
345
|
chromium \
|
|
331
346
|
webdriver/tests/bidi/
|
|
332
347
|
```
|
|
@@ -337,10 +352,10 @@ npm run watch
|
|
|
337
352
|
|
|
338
353
|
```sh
|
|
339
354
|
./wpt/wpt run \
|
|
340
|
-
--webdriver-binary
|
|
355
|
+
--webdriver-binary runBiDiServer.sh \
|
|
341
356
|
--binary "$WPT_BROWSER_PATH" \
|
|
342
|
-
--manifest
|
|
343
|
-
--metadata
|
|
357
|
+
--manifest wpt/MANIFEST.json \
|
|
358
|
+
--metadata wpt-metadata/mapper/headless \
|
|
344
359
|
--log-wptreport wptreport.json \
|
|
345
360
|
chromium \
|
|
346
361
|
webdriver/tests/bidi/
|
|
@@ -351,9 +366,9 @@ npm run watch
|
|
|
351
366
|
```sh
|
|
352
367
|
./wpt/wpt update-expectations \
|
|
353
368
|
--product chromium \
|
|
354
|
-
--manifest
|
|
355
|
-
--metadata
|
|
356
|
-
|
|
369
|
+
--manifest wpt/MANIFEST.json \
|
|
370
|
+
--metadata wpt-metadata/mapper/headless \
|
|
371
|
+
wptreport.json
|
|
357
372
|
```
|
|
358
373
|
|
|
359
374
|
## How does it work?
|
|
@@ -376,20 +391,13 @@ new command, add it to `_processCommand`, write and call processor for it.
|
|
|
376
391
|
|
|
377
392
|
### Publish new `npm` release
|
|
378
393
|
|
|
379
|
-
1.
|
|
394
|
+
1. Open a PR bumping the chromium-bidi version number in `package.json` for review:
|
|
380
395
|
|
|
381
396
|
```sh
|
|
382
|
-
npm version patch -m 'Release v%s'
|
|
397
|
+
npm version patch -m 'Release v%s' --no-git-tag-version
|
|
383
398
|
```
|
|
384
399
|
|
|
385
400
|
Instead of `patch`, use `minor` or `major` [as needed](https://semver.org/).
|
|
386
401
|
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
1. Push the release commit and tag:
|
|
390
|
-
|
|
391
|
-
```sh
|
|
392
|
-
git push && git push --tags
|
|
393
|
-
```
|
|
394
|
-
|
|
395
|
-
Our CI then automatically publishes the new release to npm.
|
|
402
|
+
1. After the PR is reviewed, [create a GitHub release](https://github.com/GoogleChromeLabs/chromium-bidi/releases/new) specifying the tag name matching the bumped version.
|
|
403
|
+
Our CI then automatically publishes the new release to npm based on the tag name.
|
|
@@ -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":"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"}
|
|
@@ -15,23 +15,22 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import { BrowsingContext } from '../../../protocol/protocol.js';
|
|
18
|
-
import {
|
|
19
|
-
import { CdpClient } from '../../CdpConnection.js';
|
|
18
|
+
import { LoggerFn } from '../../../utils/log.js';
|
|
20
19
|
import { IEventManager } from '../events/EventManager.js';
|
|
21
20
|
import { Realm } from '../script/realm.js';
|
|
22
21
|
import { RealmStorage } from '../script/realmStorage.js';
|
|
22
|
+
import { BrowsingContextStorage } from './browsingContextStorage.js';
|
|
23
|
+
import { CdpTarget } from './cdpTarget';
|
|
23
24
|
export declare class BrowsingContextImpl {
|
|
24
25
|
#private;
|
|
25
26
|
private constructor();
|
|
26
|
-
static
|
|
27
|
-
static createTargetContext(realmStorage: RealmStorage, contextId: string, parentId: string | null, cdpClient: CdpClient, cdpSessionId: string, cdpBrowserContextId: string | null, eventManager: IEventManager, browsingContextStorage: BrowsingContextStorage): Promise<void>;
|
|
28
|
-
get cdpBrowserContextId(): string | null;
|
|
27
|
+
static create(cdpTarget: CdpTarget, realmStorage: RealmStorage, contextId: string, parentId: string | null, eventManager: IEventManager, browsingContextStorage: BrowsingContextStorage, logger?: LoggerFn): Promise<void>;
|
|
29
28
|
get navigableId(): string | null;
|
|
30
|
-
|
|
29
|
+
updateCdpTarget(cdpTarget: CdpTarget): void;
|
|
31
30
|
delete(): Promise<void>;
|
|
32
31
|
get contextId(): string;
|
|
33
32
|
get parentId(): string | null;
|
|
34
|
-
get
|
|
33
|
+
get cdpTarget(): CdpTarget;
|
|
35
34
|
get children(): BrowsingContextImpl[];
|
|
36
35
|
get url(): string;
|
|
37
36
|
addChild(child: BrowsingContextImpl): void;
|
|
@@ -40,4 +39,6 @@ export declare class BrowsingContextImpl {
|
|
|
40
39
|
serializeToBidiValue(maxDepth?: number, addParentFiled?: boolean): BrowsingContext.Info;
|
|
41
40
|
navigate(url: string, wait: BrowsingContext.ReadinessState): Promise<BrowsingContext.NavigateResult>;
|
|
42
41
|
getOrCreateSandbox(sandbox: string | undefined): Promise<Realm>;
|
|
42
|
+
captureScreenshot(): Promise<BrowsingContext.CaptureScreenshotResult>;
|
|
43
|
+
print(params: BrowsingContext.PrintParameters): Promise<BrowsingContext.PrintResult>;
|
|
43
44
|
}
|