chromium-bidi 0.4.31 → 0.4.33
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/.browser +1 -1
- package/README.md +28 -5
- package/lib/cjs/bidiMapper/{bidiMapper.js → BidiMapper.js} +1 -1
- package/lib/cjs/bidiMapper/BidiMapper.js.map +1 -0
- package/lib/cjs/bidiMapper/BidiServer.d.ts +2 -1
- package/lib/cjs/bidiMapper/BidiServer.js +8 -7
- package/lib/cjs/bidiMapper/BidiServer.js.map +1 -1
- package/lib/cjs/bidiMapper/CommandProcessor.d.ts +2 -1
- package/lib/cjs/bidiMapper/CommandProcessor.js +28 -28
- package/lib/cjs/bidiMapper/CommandProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.d.ts +2 -2
- package/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js +4 -5
- package/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.d.ts +2 -2
- package/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.js +4 -2
- package/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextImpl.d.ts +1 -1
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextImpl.js +52 -20
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextImpl.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextProcessor.d.ts +2 -1
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextProcessor.js +12 -12
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/context/CdpTarget.d.ts +3 -11
- package/lib/cjs/bidiMapper/domains/context/CdpTarget.js +13 -17
- package/lib/cjs/bidiMapper/domains/context/CdpTarget.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/input/InputSource.d.ts +5 -5
- package/lib/cjs/bidiMapper/domains/log/LogManager.js +1 -1
- package/lib/cjs/bidiMapper/domains/log/LogManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkManager.js +3 -9
- package/lib/cjs/bidiMapper/domains/network/NetworkManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.d.ts +9 -4
- package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.js +127 -24
- package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkRequest.d.ts +15 -3
- package/lib/cjs/bidiMapper/domains/network/NetworkRequest.js +241 -62
- package/lib/cjs/bidiMapper/domains/network/NetworkRequest.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkStorage.d.ts +10 -4
- package/lib/cjs/bidiMapper/domains/network/NetworkStorage.js +24 -13
- package/lib/cjs/bidiMapper/domains/network/NetworkStorage.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkUtils.d.ts +16 -0
- package/lib/cjs/bidiMapper/domains/network/NetworkUtils.js +91 -0
- package/lib/cjs/bidiMapper/domains/network/NetworkUtils.js.map +1 -0
- package/lib/cjs/bidiMapper/domains/script/ChannelProxy.js +1 -1
- package/lib/cjs/bidiMapper/domains/script/ChannelProxy.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/PreloadScript.d.ts +3 -1
- package/lib/cjs/bidiMapper/domains/script/PreloadScript.js +7 -0
- package/lib/cjs/bidiMapper/domains/script/PreloadScript.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.d.ts +3 -1
- package/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.js +7 -0
- package/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/Realm.js +4 -4
- package/lib/cjs/bidiMapper/domains/script/Realm.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js +25 -7
- package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js.map +1 -1
- package/lib/cjs/bidiServer/BrowserInstance.d.ts +19 -0
- package/lib/cjs/bidiServer/BrowserInstance.js +122 -0
- package/lib/cjs/bidiServer/BrowserInstance.js.map +1 -0
- package/lib/cjs/bidiServer/{MapperServer.d.ts → MapperCdpConnection.d.ts} +5 -4
- package/lib/cjs/bidiServer/{MapperServer.js → MapperCdpConnection.js} +28 -68
- package/lib/cjs/bidiServer/MapperCdpConnection.js.map +1 -0
- package/lib/cjs/bidiServer/SimpleTransport.d.ts +13 -0
- package/lib/cjs/bidiServer/SimpleTransport.js +39 -0
- package/lib/cjs/bidiServer/SimpleTransport.js.map +1 -0
- package/lib/cjs/bidiServer/WebSocketServer.d.ts +13 -0
- package/lib/cjs/bidiServer/{bidiServerRunner.js → WebSocketServer.js} +67 -54
- package/lib/cjs/bidiServer/WebSocketServer.js.map +1 -0
- package/lib/cjs/bidiServer/index.js +5 -80
- package/lib/cjs/bidiServer/index.js.map +1 -1
- package/lib/cjs/bidiServer/reader.d.ts +1 -1
- package/lib/cjs/bidiServer/reader.js +4 -4
- package/lib/cjs/bidiServer/reader.js.map +1 -1
- package/lib/cjs/bidiTab/BidiParser.d.ts +1 -1
- package/lib/cjs/bidiTab/Transport.d.ts +1 -1
- package/lib/cjs/bidiTab/bidiTab.d.ts +5 -0
- package/lib/cjs/bidiTab/bidiTab.js +37 -23
- package/lib/cjs/bidiTab/bidiTab.js.map +1 -1
- package/lib/cjs/cdp/CdpClient.d.ts +0 -5
- package/lib/cjs/cdp/CdpClient.js +0 -3
- package/lib/cjs/cdp/CdpClient.js.map +1 -1
- package/lib/cjs/cdp/CdpConnection.d.ts +1 -3
- package/lib/cjs/cdp/CdpConnection.js +21 -11
- package/lib/cjs/cdp/CdpConnection.js.map +1 -1
- package/lib/cjs/protocol/webdriver-bidi.d.ts +10 -2
- package/lib/cjs/protocol-parser/webdriver-bidi.d.ts +149 -103
- package/lib/cjs/protocol-parser/webdriver-bidi.js +4 -2
- package/lib/cjs/protocol-parser/webdriver-bidi.js.map +1 -1
- package/lib/cjs/utils/ProcessingQueue.js +11 -13
- package/lib/cjs/utils/ProcessingQueue.js.map +1 -1
- package/lib/iife/mapperTab.js +2 -2
- package/lib/iife/mapperTab.js.map +1 -1
- package/package.json +43 -36
- package/lib/cjs/bidiMapper/bidiMapper.js.map +0 -1
- package/lib/cjs/bidiServer/MapperServer.js.map +0 -1
- package/lib/cjs/bidiServer/bidiServerRunner.d.ts +0 -15
- package/lib/cjs/bidiServer/bidiServerRunner.js.map +0 -1
- /package/lib/cjs/bidiMapper/{bidiMapper.d.ts → BidiMapper.d.ts} +0 -0
package/.browser
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
chrome@120.0.
|
|
1
|
+
chrome@120.0.6096.0
|
package/README.md
CHANGED
|
@@ -153,7 +153,11 @@ We use [cddlconv](https://github.com/google/cddlconv) to generate our WebDriverB
|
|
|
153
153
|
|
|
154
154
|
Refer to the documentation at [.pre-commit-config.yaml](.pre-commit-config.yaml).
|
|
155
155
|
|
|
156
|
-
|
|
156
|
+
```sh
|
|
157
|
+
pre-commit install --hook-type pre-push
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### Starting WebDriver BiDi Server
|
|
157
161
|
|
|
158
162
|
This will run the server on port `8080`:
|
|
159
163
|
|
|
@@ -243,10 +247,11 @@ this in web-platform-tests.
|
|
|
243
247
|
|
|
244
248
|
#### Installation
|
|
245
249
|
|
|
246
|
-
Python 3.
|
|
250
|
+
Python 3.10+ and some dependencies are required:
|
|
247
251
|
|
|
248
252
|
```sh
|
|
249
|
-
|
|
253
|
+
python -m pip install --user pipenv
|
|
254
|
+
pipenv install
|
|
250
255
|
```
|
|
251
256
|
|
|
252
257
|
#### Running
|
|
@@ -266,7 +271,25 @@ Use the `PORT` environment variable to connect to another port:
|
|
|
266
271
|
PORT=8081 npm run e2e
|
|
267
272
|
```
|
|
268
273
|
|
|
269
|
-
|
|
274
|
+
### Local http server
|
|
275
|
+
|
|
276
|
+
E2E tests use local http
|
|
277
|
+
server [`pytest-httpserver`](https://pytest-httpserver.readthedocs.io/), which is run
|
|
278
|
+
automatically with the tests. However,
|
|
279
|
+
sometimes it is useful to run the http server outside the test
|
|
280
|
+
case, for example for manual debugging. This can be done by running:
|
|
281
|
+
|
|
282
|
+
```sh
|
|
283
|
+
pipenv run local_http_server
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
...or directly:
|
|
287
|
+
|
|
288
|
+
```sh
|
|
289
|
+
python tests/tools/local_http_server.py
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### Examples
|
|
270
293
|
|
|
271
294
|
Refer to [examples/README.md](examples/README.md).
|
|
272
295
|
|
|
@@ -432,7 +455,7 @@ third_party/bidimapper/build.sh
|
|
|
432
455
|
4.1. Trigger a build and test run:
|
|
433
456
|
|
|
434
457
|
```shell
|
|
435
|
-
third_party/blink/tools/blink_tool.py update-metadata --build="linux-blink-rel"
|
|
458
|
+
third_party/blink/tools/blink_tool.py update-metadata --build="linux-blink-rel" --verbose
|
|
436
459
|
```
|
|
437
460
|
|
|
438
461
|
4.2. Once the test completes on the builder, rerun that command to update the metadata.
|
|
@@ -28,4 +28,4 @@ var EventEmitter_js_1 = require("../utils/EventEmitter.js");
|
|
|
28
28
|
Object.defineProperty(exports, "EventEmitter", { enumerable: true, get: function () { return EventEmitter_js_1.EventEmitter; } });
|
|
29
29
|
var OutgoingMessage_js_1 = require("./OutgoingMessage.js");
|
|
30
30
|
Object.defineProperty(exports, "OutgoingMessage", { enumerable: true, get: function () { return OutgoingMessage_js_1.OutgoingMessage; } });
|
|
31
|
-
//# sourceMappingURL=
|
|
31
|
+
//# sourceMappingURL=BidiMapper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BidiMapper.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiMapper.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH;;;;GAIG;AACH,iDAA2C;AAAnC,2GAAA,UAAU,OAAA;AAMlB,4DAAsD;AAA9C,+GAAA,YAAY,OAAA;AAEpB,2DAAqD;AAA7C,qHAAA,eAAe,OAAA"}
|
|
@@ -19,6 +19,7 @@ import type { ChromiumBidi } from '../protocol/protocol.js';
|
|
|
19
19
|
import { EventEmitter } from '../utils/EventEmitter.js';
|
|
20
20
|
import { type LoggerFn } from '../utils/log.js';
|
|
21
21
|
import type { Result } from '../utils/result.js';
|
|
22
|
+
import type { ICdpClient } from '../cdp/CdpClient';
|
|
22
23
|
import type { IBidiParser } from './BidiParser.js';
|
|
23
24
|
import type { IBidiTransport } from './BidiTransport.js';
|
|
24
25
|
import type { OutgoingMessage } from './OutgoingMessage.js';
|
|
@@ -29,7 +30,7 @@ type BidiServerEvent = {
|
|
|
29
30
|
export declare class BidiServer extends EventEmitter<BidiServerEvent> {
|
|
30
31
|
#private;
|
|
31
32
|
private constructor();
|
|
32
|
-
static createAndStart(bidiTransport: IBidiTransport, cdpConnection: ICdpConnection, selfTargetId: string, parser?: IBidiParser, logger?: LoggerFn): Promise<BidiServer>;
|
|
33
|
+
static createAndStart(bidiTransport: IBidiTransport, cdpConnection: ICdpConnection, browserCdpClient: ICdpClient, selfTargetId: string, parser?: IBidiParser, logger?: LoggerFn): Promise<BidiServer>;
|
|
33
34
|
/**
|
|
34
35
|
* Sends BiDi message.
|
|
35
36
|
*/
|
|
@@ -42,24 +42,25 @@ class BidiServer extends EventEmitter_js_1.EventEmitter {
|
|
|
42
42
|
}
|
|
43
43
|
await this.#transport.sendMessage(message);
|
|
44
44
|
};
|
|
45
|
-
constructor(bidiTransport, cdpConnection, selfTargetId, parser, logger) {
|
|
45
|
+
constructor(bidiTransport, cdpConnection, browserCdpClient, selfTargetId, parser, logger) {
|
|
46
46
|
super();
|
|
47
47
|
this.#logger = logger;
|
|
48
48
|
this.#messageQueue = new ProcessingQueue_js_1.ProcessingQueue(this.#processOutgoingMessage, this.#logger);
|
|
49
49
|
this.#transport = bidiTransport;
|
|
50
50
|
this.#transport.setOnMessage(this.#handleIncomingMessage);
|
|
51
|
-
this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(cdpConnection, new EventManager_js_1.EventManager(this), selfTargetId, this.#browsingContextStorage, new RealmStorage_js_1.RealmStorage(), parser, this.#logger);
|
|
51
|
+
this.#commandProcessor = new CommandProcessor_js_1.CommandProcessor(cdpConnection, browserCdpClient, new EventManager_js_1.EventManager(this), selfTargetId, this.#browsingContextStorage, new RealmStorage_js_1.RealmStorage(), parser, this.#logger);
|
|
52
52
|
this.#commandProcessor.on("response" /* CommandProcessorEvents.Response */, ({ message, event }) => {
|
|
53
53
|
this.emitOutgoingMessage(message, event);
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
|
-
static async createAndStart(bidiTransport, cdpConnection, selfTargetId, parser, logger) {
|
|
57
|
-
const server = new BidiServer(bidiTransport, cdpConnection, selfTargetId, parser, logger);
|
|
58
|
-
const cdpClient = cdpConnection.browserClient();
|
|
56
|
+
static async createAndStart(bidiTransport, cdpConnection, browserCdpClient, selfTargetId, parser, logger) {
|
|
57
|
+
const server = new BidiServer(bidiTransport, cdpConnection, browserCdpClient, selfTargetId, parser, logger);
|
|
59
58
|
// Needed to get events about new targets.
|
|
60
|
-
await
|
|
59
|
+
await browserCdpClient.sendCommand('Target.setDiscoverTargets', {
|
|
60
|
+
discover: true,
|
|
61
|
+
});
|
|
61
62
|
// Needed to automatically attach to new targets.
|
|
62
|
-
await
|
|
63
|
+
await browserCdpClient.sendCommand('Target.setAutoAttach', {
|
|
63
64
|
autoAttach: true,
|
|
64
65
|
waitForDebuggerOnStart: true,
|
|
65
66
|
flatten: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAIH,8DAAsD;AACtD,4CAAuD;AACvD,oEAA4D;
|
|
1
|
+
{"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,6 +19,7 @@ import { type ChromiumBidi } from '../protocol/protocol.js';
|
|
|
19
19
|
import { EventEmitter } from '../utils/EventEmitter.js';
|
|
20
20
|
import { type LoggerFn } from '../utils/log.js';
|
|
21
21
|
import type { Result } from '../utils/result.js';
|
|
22
|
+
import type { ICdpClient } from '../cdp/CdpClient';
|
|
22
23
|
import type { IBidiParser } from './BidiParser.js';
|
|
23
24
|
import { OutgoingMessage } from './OutgoingMessage.js';
|
|
24
25
|
import type { BrowsingContextStorage } from './domains/context/BrowsingContextStorage.js';
|
|
@@ -35,7 +36,7 @@ type CommandProcessorEventsMap = {
|
|
|
35
36
|
};
|
|
36
37
|
export declare class CommandProcessor extends EventEmitter<CommandProcessorEventsMap> {
|
|
37
38
|
#private;
|
|
38
|
-
constructor(cdpConnection: ICdpConnection, eventManager: EventManager, selfTargetId: string, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, parser?: IBidiParser, logger?: LoggerFn);
|
|
39
|
+
constructor(cdpConnection: ICdpConnection, browserCdpClient: ICdpClient, eventManager: EventManager, selfTargetId: string, browsingContextStorage: BrowsingContextStorage, realmStorage: RealmStorage, parser?: IBidiParser, logger?: LoggerFn);
|
|
39
40
|
processCommand(command: ChromiumBidi.Command): Promise<void>;
|
|
40
41
|
}
|
|
41
42
|
export {};
|
|
@@ -43,16 +43,16 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
|
|
|
43
43
|
// keep-sorted end
|
|
44
44
|
#parser;
|
|
45
45
|
#logger;
|
|
46
|
-
constructor(cdpConnection, eventManager, selfTargetId, browsingContextStorage, realmStorage, parser = new BidiNoOpParser_js_1.BidiNoOpParser(), logger) {
|
|
46
|
+
constructor(cdpConnection, browserCdpClient, eventManager, selfTargetId, browsingContextStorage, realmStorage, parser = new BidiNoOpParser_js_1.BidiNoOpParser(), logger) {
|
|
47
47
|
super();
|
|
48
48
|
this.#parser = parser;
|
|
49
49
|
this.#logger = logger;
|
|
50
50
|
const networkStorage = new NetworkStorage_js_1.NetworkStorage(eventManager);
|
|
51
51
|
const preloadScriptStorage = new PreloadScriptStorage_js_1.PreloadScriptStorage();
|
|
52
52
|
// keep-sorted start block=yes
|
|
53
|
-
this.#browserProcessor = new BrowserProcessor_js_1.BrowserProcessor(
|
|
54
|
-
this.#browsingContextProcessor = new BrowsingContextProcessor_js_1.BrowsingContextProcessor(cdpConnection, selfTargetId, eventManager, browsingContextStorage, realmStorage, networkStorage, preloadScriptStorage, logger);
|
|
55
|
-
this.#cdpProcessor = new CdpProcessor_js_1.CdpProcessor(browsingContextStorage, cdpConnection);
|
|
53
|
+
this.#browserProcessor = new BrowserProcessor_js_1.BrowserProcessor(browserCdpClient);
|
|
54
|
+
this.#browsingContextProcessor = new BrowsingContextProcessor_js_1.BrowsingContextProcessor(cdpConnection, browserCdpClient, selfTargetId, eventManager, browsingContextStorage, realmStorage, networkStorage, preloadScriptStorage, logger);
|
|
55
|
+
this.#cdpProcessor = new CdpProcessor_js_1.CdpProcessor(browsingContextStorage, cdpConnection, browserCdpClient);
|
|
56
56
|
this.#inputProcessor = new InputProcessor_js_1.InputProcessor(browsingContextStorage);
|
|
57
57
|
this.#networkProcessor = new NetworkProcessor_js_1.NetworkProcessor(browsingContextStorage, networkStorage);
|
|
58
58
|
this.#scriptProcessor = new ScriptProcessor_js_1.ScriptProcessor(browsingContextStorage, realmStorage, preloadScriptStorage, logger);
|
|
@@ -73,71 +73,71 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
|
|
|
73
73
|
// Browsing Context domain
|
|
74
74
|
// keep-sorted start block=yes
|
|
75
75
|
case 'browsingContext.activate':
|
|
76
|
-
return this.#browsingContextProcessor.activate(this.#parser.parseActivateParams(command.params));
|
|
76
|
+
return await this.#browsingContextProcessor.activate(this.#parser.parseActivateParams(command.params));
|
|
77
77
|
case 'browsingContext.captureScreenshot':
|
|
78
|
-
return this.#browsingContextProcessor.captureScreenshot(this.#parser.parseCaptureScreenshotParams(command.params));
|
|
78
|
+
return await this.#browsingContextProcessor.captureScreenshot(this.#parser.parseCaptureScreenshotParams(command.params));
|
|
79
79
|
case 'browsingContext.close':
|
|
80
|
-
return this.#browsingContextProcessor.close(this.#parser.parseCloseParams(command.params));
|
|
80
|
+
return await this.#browsingContextProcessor.close(this.#parser.parseCloseParams(command.params));
|
|
81
81
|
case 'browsingContext.create':
|
|
82
|
-
return this.#browsingContextProcessor.create(this.#parser.parseCreateParams(command.params));
|
|
82
|
+
return await this.#browsingContextProcessor.create(this.#parser.parseCreateParams(command.params));
|
|
83
83
|
case 'browsingContext.getTree':
|
|
84
84
|
return this.#browsingContextProcessor.getTree(this.#parser.parseGetTreeParams(command.params));
|
|
85
85
|
case 'browsingContext.handleUserPrompt':
|
|
86
|
-
return this.#browsingContextProcessor.handleUserPrompt(this.#parser.parseHandleUserPromptParams(command.params));
|
|
86
|
+
return await this.#browsingContextProcessor.handleUserPrompt(this.#parser.parseHandleUserPromptParams(command.params));
|
|
87
87
|
case 'browsingContext.navigate':
|
|
88
|
-
return this.#browsingContextProcessor.navigate(this.#parser.parseNavigateParams(command.params));
|
|
88
|
+
return await this.#browsingContextProcessor.navigate(this.#parser.parseNavigateParams(command.params));
|
|
89
89
|
case 'browsingContext.print':
|
|
90
|
-
return this.#browsingContextProcessor.print(this.#parser.parsePrintParams(command.params));
|
|
90
|
+
return await this.#browsingContextProcessor.print(this.#parser.parsePrintParams(command.params));
|
|
91
91
|
case 'browsingContext.reload':
|
|
92
|
-
return this.#browsingContextProcessor.reload(this.#parser.parseReloadParams(command.params));
|
|
92
|
+
return await this.#browsingContextProcessor.reload(this.#parser.parseReloadParams(command.params));
|
|
93
93
|
case 'browsingContext.setViewport':
|
|
94
|
-
return this.#browsingContextProcessor.setViewport(this.#parser.parseSetViewportParams(command.params));
|
|
94
|
+
return await this.#browsingContextProcessor.setViewport(this.#parser.parseSetViewportParams(command.params));
|
|
95
95
|
// keep-sorted end
|
|
96
96
|
// CDP domain
|
|
97
97
|
// keep-sorted start block=yes
|
|
98
98
|
case 'cdp.getSession':
|
|
99
99
|
return this.#cdpProcessor.getSession(this.#parser.parseGetSessionParams(command.params));
|
|
100
100
|
case 'cdp.sendCommand':
|
|
101
|
-
return this.#cdpProcessor.sendCommand(this.#parser.parseSendCommandParams(command.params));
|
|
101
|
+
return await this.#cdpProcessor.sendCommand(this.#parser.parseSendCommandParams(command.params));
|
|
102
102
|
// keep-sorted end
|
|
103
103
|
// Input domain
|
|
104
104
|
// keep-sorted start block=yes
|
|
105
105
|
case 'input.performActions':
|
|
106
|
-
return this.#inputProcessor.performActions(this.#parser.parsePerformActionsParams(command.params));
|
|
106
|
+
return await this.#inputProcessor.performActions(this.#parser.parsePerformActionsParams(command.params));
|
|
107
107
|
case 'input.releaseActions':
|
|
108
|
-
return this.#inputProcessor.releaseActions(this.#parser.parseReleaseActionsParams(command.params));
|
|
108
|
+
return await this.#inputProcessor.releaseActions(this.#parser.parseReleaseActionsParams(command.params));
|
|
109
109
|
// keep-sorted end
|
|
110
110
|
// Network domain
|
|
111
111
|
// keep-sorted start block=yes
|
|
112
112
|
case 'network.addIntercept':
|
|
113
|
-
return this.#networkProcessor.addIntercept(this.#parser.parseAddInterceptParams(command.params));
|
|
113
|
+
return await this.#networkProcessor.addIntercept(this.#parser.parseAddInterceptParams(command.params));
|
|
114
114
|
case 'network.continueRequest':
|
|
115
|
-
return this.#networkProcessor.continueRequest(this.#parser.parseContinueRequestParams(command.params));
|
|
115
|
+
return await this.#networkProcessor.continueRequest(this.#parser.parseContinueRequestParams(command.params));
|
|
116
116
|
case 'network.continueResponse':
|
|
117
|
-
return this.#networkProcessor.continueResponse(this.#parser.parseContinueResponseParams(command.params));
|
|
117
|
+
return await this.#networkProcessor.continueResponse(this.#parser.parseContinueResponseParams(command.params));
|
|
118
118
|
case 'network.continueWithAuth':
|
|
119
|
-
return this.#networkProcessor.continueWithAuth(this.#parser.parseContinueWithAuthParams(command.params));
|
|
119
|
+
return await this.#networkProcessor.continueWithAuth(this.#parser.parseContinueWithAuthParams(command.params));
|
|
120
120
|
case 'network.failRequest':
|
|
121
|
-
return this.#networkProcessor.failRequest(this.#parser.parseFailRequestParams(command.params));
|
|
121
|
+
return await this.#networkProcessor.failRequest(this.#parser.parseFailRequestParams(command.params));
|
|
122
122
|
case 'network.provideResponse':
|
|
123
|
-
return this.#networkProcessor.provideResponse(this.#parser.parseProvideResponseParams(command.params));
|
|
123
|
+
return await this.#networkProcessor.provideResponse(this.#parser.parseProvideResponseParams(command.params));
|
|
124
124
|
case 'network.removeIntercept':
|
|
125
|
-
return this.#networkProcessor.removeIntercept(this.#parser.parseRemoveInterceptParams(command.params));
|
|
125
|
+
return await this.#networkProcessor.removeIntercept(this.#parser.parseRemoveInterceptParams(command.params));
|
|
126
126
|
// keep-sorted end
|
|
127
127
|
// Script domain
|
|
128
128
|
// keep-sorted start block=yes
|
|
129
129
|
case 'script.addPreloadScript':
|
|
130
|
-
return this.#scriptProcessor.addPreloadScript(this.#parser.parseAddPreloadScriptParams(command.params));
|
|
130
|
+
return await this.#scriptProcessor.addPreloadScript(this.#parser.parseAddPreloadScriptParams(command.params));
|
|
131
131
|
case 'script.callFunction':
|
|
132
|
-
return this.#scriptProcessor.callFunction(this.#parser.parseCallFunctionParams(command.params));
|
|
132
|
+
return await this.#scriptProcessor.callFunction(this.#parser.parseCallFunctionParams(command.params));
|
|
133
133
|
case 'script.disown':
|
|
134
|
-
return this.#scriptProcessor.disown(this.#parser.parseDisownParams(command.params));
|
|
134
|
+
return await this.#scriptProcessor.disown(this.#parser.parseDisownParams(command.params));
|
|
135
135
|
case 'script.evaluate':
|
|
136
|
-
return this.#scriptProcessor.evaluate(this.#parser.parseEvaluateParams(command.params));
|
|
136
|
+
return await this.#scriptProcessor.evaluate(this.#parser.parseEvaluateParams(command.params));
|
|
137
137
|
case 'script.getRealms':
|
|
138
138
|
return this.#scriptProcessor.getRealms(this.#parser.parseGetRealmsParams(command.params));
|
|
139
139
|
case 'script.removePreloadScript':
|
|
140
|
-
return this.#scriptProcessor.removePreloadScript(this.#parser.parseRemovePreloadScriptParams(command.params));
|
|
140
|
+
return await this.#scriptProcessor.removePreloadScript(this.#parser.parseRemovePreloadScriptParams(command.params));
|
|
141
141
|
// keep-sorted end
|
|
142
142
|
// Session domain
|
|
143
143
|
// keep-sorted start block=yes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandProcessor.js","sourceRoot":"","sources":["../../../src/bidiMapper/CommandProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAGH,yDAKiC;AACjC,8DAAsD;AACtD,4CAAuD;
|
|
1
|
+
{"version":3,"file":"CommandProcessor.js","sourceRoot":"","sources":["../../../src/bidiMapper/CommandProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import type { EmptyResult } from '../../../protocol/protocol.js';
|
|
18
|
-
import type {
|
|
18
|
+
import type { ICdpClient } from '../../BidiMapper.js';
|
|
19
19
|
export declare class BrowserProcessor {
|
|
20
20
|
#private;
|
|
21
|
-
constructor(
|
|
21
|
+
constructor(browserCdpClient: ICdpClient);
|
|
22
22
|
close(): EmptyResult;
|
|
23
23
|
}
|
|
@@ -18,15 +18,14 @@
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
19
|
exports.BrowserProcessor = void 0;
|
|
20
20
|
class BrowserProcessor {
|
|
21
|
-
#
|
|
22
|
-
constructor(
|
|
23
|
-
this.#
|
|
21
|
+
#browserCdpClient;
|
|
22
|
+
constructor(browserCdpClient) {
|
|
23
|
+
this.#browserCdpClient = browserCdpClient;
|
|
24
24
|
}
|
|
25
25
|
close() {
|
|
26
|
-
const client = this.#cdpConnection.browserClient();
|
|
27
26
|
// Ensure that it is put at the end of the event loop.
|
|
28
27
|
// This way we send back the response before closing the tab.
|
|
29
|
-
setTimeout(() =>
|
|
28
|
+
setTimeout(() => this.#browserCdpClient.sendCommand('Browser.close'), 0);
|
|
30
29
|
return {};
|
|
31
30
|
}
|
|
32
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/browser/BrowserProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAKH,MAAa,gBAAgB;
|
|
1
|
+
{"version":3,"file":"BrowserProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/browser/BrowserProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAKH,MAAa,gBAAgB;IAClB,iBAAiB,CAAa;IAEvC,YAAY,gBAA4B;QACtC,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED,KAAK;QACH,sDAAsD;QACtD,6DAA6D;QAC7D,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzE,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAdD,4CAcC"}
|
|
@@ -15,11 +15,11 @@
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import type { Cdp } from '../../../protocol/protocol.js';
|
|
18
|
-
import type { ICdpConnection } from '../../
|
|
18
|
+
import type { ICdpClient, ICdpConnection } from '../../BidiMapper.js';
|
|
19
19
|
import type { BrowsingContextStorage } from '../context/BrowsingContextStorage.js';
|
|
20
20
|
export declare class CdpProcessor {
|
|
21
21
|
#private;
|
|
22
|
-
constructor(browsingContextStorage: BrowsingContextStorage, cdpConnection: ICdpConnection);
|
|
22
|
+
constructor(browsingContextStorage: BrowsingContextStorage, cdpConnection: ICdpConnection, browserCdpClient: ICdpClient);
|
|
23
23
|
getSession(params: Cdp.GetSessionParameters): Cdp.GetSessionResult;
|
|
24
24
|
sendCommand(params: Cdp.SendCommandParameters): Promise<Cdp.SendCommandResult>;
|
|
25
25
|
}
|
|
@@ -20,9 +20,11 @@ exports.CdpProcessor = void 0;
|
|
|
20
20
|
class CdpProcessor {
|
|
21
21
|
#browsingContextStorage;
|
|
22
22
|
#cdpConnection;
|
|
23
|
-
|
|
23
|
+
#browserCdpClient;
|
|
24
|
+
constructor(browsingContextStorage, cdpConnection, browserCdpClient) {
|
|
24
25
|
this.#browsingContextStorage = browsingContextStorage;
|
|
25
26
|
this.#cdpConnection = cdpConnection;
|
|
27
|
+
this.#browserCdpClient = browserCdpClient;
|
|
26
28
|
}
|
|
27
29
|
getSession(params) {
|
|
28
30
|
const context = params.context;
|
|
@@ -35,7 +37,7 @@ class CdpProcessor {
|
|
|
35
37
|
async sendCommand(params) {
|
|
36
38
|
const client = params.session
|
|
37
39
|
? this.#cdpConnection.getCdpClient(params.session)
|
|
38
|
-
: this.#
|
|
40
|
+
: this.#browserCdpClient;
|
|
39
41
|
const result = await client.sendCommand(params.method, params.params);
|
|
40
42
|
return {
|
|
41
43
|
result,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CdpProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/cdp/CdpProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAMH,MAAa,YAAY;
|
|
1
|
+
{"version":3,"file":"CdpProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/domains/cdp/CdpProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAMH,MAAa,YAAY;IACd,uBAAuB,CAAyB;IAChD,cAAc,CAAiB;IAC/B,iBAAiB,CAAa;IAEvC,YACE,sBAA8C,EAC9C,aAA6B,EAC7B,gBAA4B;QAE5B,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;QACpC,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;IAC5C,CAAC;IAED,UAAU,CAAC,MAAgC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,MAAM,SAAS,GACb,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC;QAC1E,IAAI,SAAS,KAAK,SAAS,EAAE;YAC3B,OAAO,EAAE,CAAC;SACX;QACD,OAAO,EAAC,OAAO,EAAE,SAAS,EAAC,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,WAAW,CACf,MAAiC;QAEjC,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO;YAC3B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC;YAClD,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QACtE,OAAO;YACL,MAAM;YACN,OAAO,EAAE,MAAM,CAAC,OAAO;SACxB,CAAC;IACJ,CAAC;CACF;AArCD,oCAqCC"}
|
|
@@ -60,7 +60,7 @@ export declare class BrowsingContextImpl {
|
|
|
60
60
|
onTargetInfoChanged(params: Protocol.Target.TargetInfoChangedEvent): void;
|
|
61
61
|
navigate(url: string, wait: BrowsingContext.ReadinessState): Promise<BrowsingContext.NavigateResult>;
|
|
62
62
|
reload(ignoreCache: boolean, wait: BrowsingContext.ReadinessState): Promise<BrowsingContext.NavigateResult>;
|
|
63
|
-
setViewport(viewport
|
|
63
|
+
setViewport(viewport?: BrowsingContext.Viewport | null, devicePixelRatio?: number | null): Promise<void>;
|
|
64
64
|
handleUserPrompt(params: BrowsingContext.HandleUserPromptParameters): Promise<void>;
|
|
65
65
|
activate(): Promise<void>;
|
|
66
66
|
captureScreenshot(params: BrowsingContext.CaptureScreenshotParameters): Promise<BrowsingContext.CaptureScreenshotResult>;
|
|
@@ -476,16 +476,16 @@ class BrowsingContextImpl {
|
|
|
476
476
|
url: this.url,
|
|
477
477
|
};
|
|
478
478
|
}
|
|
479
|
-
async setViewport(viewport) {
|
|
480
|
-
if (viewport === null) {
|
|
479
|
+
async setViewport(viewport, devicePixelRatio) {
|
|
480
|
+
if (viewport === null && devicePixelRatio === null) {
|
|
481
481
|
await this.#cdpTarget.cdpClient.sendCommand('Emulation.clearDeviceMetricsOverride');
|
|
482
482
|
}
|
|
483
483
|
else {
|
|
484
484
|
try {
|
|
485
485
|
await this.#cdpTarget.cdpClient.sendCommand('Emulation.setDeviceMetricsOverride', {
|
|
486
|
-
width: viewport.width,
|
|
487
|
-
height: viewport.height,
|
|
488
|
-
deviceScaleFactor: 0,
|
|
486
|
+
width: viewport ? viewport.width : 0,
|
|
487
|
+
height: viewport ? viewport.height : 0,
|
|
488
|
+
deviceScaleFactor: devicePixelRatio ? devicePixelRatio : 0,
|
|
489
489
|
mobile: false,
|
|
490
490
|
dontSetVisibleSize: true,
|
|
491
491
|
});
|
|
@@ -517,23 +517,52 @@ class BrowsingContextImpl {
|
|
|
517
517
|
// XXX: Focus the original tab after the screenshot is taken.
|
|
518
518
|
// This is needed because the screenshot gets blocked until the active tab gets focus.
|
|
519
519
|
await this.#cdpTarget.cdpClient.sendCommand('Page.bringToFront');
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
520
|
+
let captureBeyondViewport = false;
|
|
521
|
+
let script;
|
|
522
|
+
params.origin ??= 'viewport';
|
|
523
|
+
switch (params.origin) {
|
|
524
|
+
case 'document': {
|
|
525
|
+
script = String(() => {
|
|
526
|
+
const element = document.documentElement;
|
|
527
|
+
return {
|
|
528
|
+
x: 0,
|
|
529
|
+
y: 0,
|
|
530
|
+
width: element.scrollWidth,
|
|
531
|
+
height: element.scrollHeight,
|
|
532
|
+
};
|
|
533
|
+
});
|
|
534
|
+
captureBeyondViewport = true;
|
|
535
|
+
break;
|
|
536
|
+
}
|
|
537
|
+
case 'viewport': {
|
|
538
|
+
script = String(() => {
|
|
539
|
+
const viewport = window.visualViewport;
|
|
540
|
+
return {
|
|
541
|
+
x: viewport.pageLeft,
|
|
542
|
+
y: viewport.pageTop,
|
|
543
|
+
width: viewport.width,
|
|
544
|
+
height: viewport.height,
|
|
545
|
+
};
|
|
546
|
+
});
|
|
547
|
+
break;
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
const realm = await this.getOrCreateSandbox(undefined);
|
|
551
|
+
const originResult = await realm.callFunction(script, { type: 'undefined' }, [], false, "none" /* Script.ResultOwnership.None */, {}, false);
|
|
552
|
+
(0, assert_js_1.assert)(originResult.type === 'success');
|
|
553
|
+
const origin = deserializeDOMRect(originResult.result);
|
|
554
|
+
(0, assert_js_1.assert)(origin);
|
|
527
555
|
const rect = params.clip
|
|
528
|
-
? getIntersectionRect(await this.#parseRect(params.clip),
|
|
529
|
-
:
|
|
556
|
+
? getIntersectionRect(await this.#parseRect(params.clip), origin)
|
|
557
|
+
: origin;
|
|
530
558
|
if (rect.width === 0 || rect.height === 0) {
|
|
531
559
|
throw new protocol_js_1.UnableToCaptureScreenException(`Unable to capture screenshot with zero dimensions: width=${rect.width}, height=${rect.height}`);
|
|
532
560
|
}
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
561
|
+
return await this.#cdpTarget.cdpClient.sendCommand('Page.captureScreenshot', {
|
|
562
|
+
clip: { ...rect, scale: 1.0 },
|
|
563
|
+
...formatParameters,
|
|
564
|
+
captureBeyondViewport,
|
|
565
|
+
});
|
|
537
566
|
}
|
|
538
567
|
async print(params) {
|
|
539
568
|
const cdpParams = {};
|
|
@@ -622,7 +651,7 @@ class BrowsingContextImpl {
|
|
|
622
651
|
*/
|
|
623
652
|
async #parseRect(clip) {
|
|
624
653
|
switch (clip.type) {
|
|
625
|
-
case '
|
|
654
|
+
case 'box':
|
|
626
655
|
return { x: clip.x, y: clip.y, width: clip.width, height: clip.height };
|
|
627
656
|
case 'element': {
|
|
628
657
|
if (clip.scrollIntoView) {
|
|
@@ -680,7 +709,10 @@ function getImageFormatParameters(params) {
|
|
|
680
709
|
};
|
|
681
710
|
}
|
|
682
711
|
case 'image/webp': {
|
|
683
|
-
return {
|
|
712
|
+
return {
|
|
713
|
+
format: 'webp',
|
|
714
|
+
...(quality === undefined ? {} : { quality: Math.round(quality * 100) }),
|
|
715
|
+
};
|
|
684
716
|
}
|
|
685
717
|
}
|
|
686
718
|
throw new protocol_js_1.UnsupportedOperationException(`Image format '${type}' is not a supported format`);
|