chromium-bidi 0.4.32 → 0.4.34
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 +7 -6
- package/lib/cjs/bidiMapper/BidiNoOpParser.d.ts +1 -0
- package/lib/cjs/bidiMapper/BidiNoOpParser.js +3 -0
- package/lib/cjs/bidiMapper/BidiNoOpParser.js.map +1 -1
- package/lib/cjs/bidiMapper/BidiParser.d.ts +1 -0
- package/lib/cjs/bidiMapper/BidiServer.d.ts +3 -2
- package/lib/cjs/bidiMapper/BidiServer.js +8 -7
- package/lib/cjs/bidiMapper/BidiServer.js.map +1 -1
- package/lib/cjs/bidiMapper/CommandProcessor.d.ts +3 -2
- package/lib/cjs/bidiMapper/CommandProcessor.js +36 -32
- 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 -0
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextImpl.js +26 -4
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextImpl.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextProcessor.d.ts +6 -4
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextProcessor.js +30 -15
- package/lib/cjs/bidiMapper/domains/context/BrowsingContextProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/context/CdpTarget.d.ts +4 -3
- package/lib/cjs/bidiMapper/domains/context/CdpTarget.js +12 -5
- package/lib/cjs/bidiMapper/domains/context/CdpTarget.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/events/EventManager.js +1 -1
- package/lib/cjs/bidiMapper/domains/events/EventManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js +1 -1
- package/lib/cjs/bidiMapper/domains/input/ActionDispatcher.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/input/InputProcessor.js +1 -1
- package/lib/cjs/bidiMapper/domains/input/InputProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/input/InputSource.d.ts +5 -5
- package/lib/cjs/bidiMapper/domains/log/LogManager.d.ts +1 -1
- 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.d.ts +2 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkManager.js +7 -7
- package/lib/cjs/bidiMapper/domains/network/NetworkManager.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.d.ts +3 -3
- package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.js +80 -19
- package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkRequest.d.ts +14 -13
- package/lib/cjs/bidiMapper/domains/network/NetworkRequest.js +183 -44
- package/lib/cjs/bidiMapper/domains/network/NetworkRequest.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkStorage.d.ts +8 -9
- package/lib/cjs/bidiMapper/domains/network/NetworkStorage.js +23 -29
- package/lib/cjs/bidiMapper/domains/network/NetworkStorage.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/network/NetworkUtils.d.ts +9 -3
- package/lib/cjs/bidiMapper/domains/network/NetworkUtils.js +44 -9
- package/lib/cjs/bidiMapper/domains/network/NetworkUtils.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/ChannelProxy.d.ts +1 -1
- package/lib/cjs/bidiMapper/domains/script/ChannelProxy.js +2 -2
- package/lib/cjs/bidiMapper/domains/script/ChannelProxy.js.map +1 -1
- package/lib/cjs/bidiMapper/domains/script/PreloadScript.d.ts +5 -3
- 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.d.ts +2 -2
- package/lib/cjs/bidiMapper/domains/script/Realm.js +26 -14
- 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 +3 -3
- package/lib/cjs/bidiServer/BrowserInstance.js +7 -15
- package/lib/cjs/bidiServer/BrowserInstance.js.map +1 -1
- package/lib/cjs/bidiServer/MapperCdpConnection.d.ts +3 -3
- package/lib/cjs/bidiServer/MapperCdpConnection.js +11 -10
- package/lib/cjs/bidiServer/MapperCdpConnection.js.map +1 -1
- 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 +2 -3
- package/lib/cjs/bidiServer/WebSocketServer.js +67 -12
- package/lib/cjs/bidiServer/WebSocketServer.js.map +1 -1
- package/lib/cjs/bidiServer/index.js +2 -5
- package/lib/cjs/bidiServer/index.js.map +1 -1
- package/lib/cjs/bidiServer/reader.js +1 -1
- package/lib/cjs/bidiServer/reader.js.map +1 -1
- package/lib/cjs/bidiTab/BidiParser.d.ts +1 -0
- package/lib/cjs/bidiTab/BidiParser.js +3 -0
- package/lib/cjs/bidiTab/BidiParser.js.map +1 -1
- package/lib/cjs/bidiTab/bidiTab.d.ts +5 -0
- package/lib/cjs/bidiTab/bidiTab.js +32 -8
- package/lib/cjs/bidiTab/bidiTab.js.map +1 -1
- package/lib/cjs/cdp/CdpClient.d.ts +1 -6
- package/lib/cjs/cdp/CdpClient.js +0 -3
- package/lib/cjs/cdp/CdpClient.js.map +1 -1
- package/lib/cjs/cdp/CdpConnection.d.ts +3 -5
- package/lib/cjs/cdp/CdpConnection.js +21 -11
- package/lib/cjs/cdp/CdpConnection.js.map +1 -1
- package/lib/cjs/cdp/cdpMessage.d.ts +1 -1
- package/lib/cjs/protocol/ErrorResponse.d.ts +3 -0
- package/lib/cjs/protocol/ErrorResponse.js +7 -1
- package/lib/cjs/protocol/ErrorResponse.js.map +1 -1
- package/lib/cjs/protocol/cdp.d.ts +1 -1
- package/lib/cjs/protocol/chromium-bidi.d.ts +1 -1
- package/lib/cjs/protocol/webdriver-bidi.d.ts +90 -19
- package/lib/cjs/protocol-parser/protocol-parser.d.ts +3 -2
- package/lib/cjs/protocol-parser/protocol-parser.js +4 -0
- package/lib/cjs/protocol-parser/protocol-parser.js.map +1 -1
- package/lib/cjs/protocol-parser/webdriver-bidi.d.ts +3531 -581
- package/lib/cjs/protocol-parser/webdriver-bidi.js +85 -15
- 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 +49 -42
package/.browser
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
chrome@
|
|
1
|
+
chrome@121.0.6128.2
|
package/README.md
CHANGED
|
@@ -247,10 +247,11 @@ this in web-platform-tests.
|
|
|
247
247
|
|
|
248
248
|
#### Installation
|
|
249
249
|
|
|
250
|
-
Python 3.
|
|
250
|
+
Python 3.10+ and some dependencies are required:
|
|
251
251
|
|
|
252
252
|
```sh
|
|
253
|
-
|
|
253
|
+
python -m pip install --user pipenv
|
|
254
|
+
pipenv install
|
|
254
255
|
```
|
|
255
256
|
|
|
256
257
|
#### Running
|
|
@@ -279,13 +280,13 @@ sometimes it is useful to run the http server outside the test
|
|
|
279
280
|
case, for example for manual debugging. This can be done by running:
|
|
280
281
|
|
|
281
282
|
```sh
|
|
282
|
-
|
|
283
|
+
pipenv run local_http_server
|
|
283
284
|
```
|
|
284
285
|
|
|
285
|
-
or
|
|
286
|
+
...or directly:
|
|
286
287
|
|
|
287
288
|
```sh
|
|
288
|
-
|
|
289
|
+
python tests/tools/local_http_server.py
|
|
289
290
|
```
|
|
290
291
|
|
|
291
292
|
### Examples
|
|
@@ -454,7 +455,7 @@ third_party/bidimapper/build.sh
|
|
|
454
455
|
4.1. Trigger a build and test run:
|
|
455
456
|
|
|
456
457
|
```shell
|
|
457
|
-
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
|
|
458
459
|
```
|
|
459
460
|
|
|
460
461
|
4.2. Once the test completes on the builder, rerun that command to update the metadata.
|
|
@@ -27,6 +27,7 @@ export declare class BidiNoOpParser implements IBidiParser {
|
|
|
27
27
|
parsePrintParams(params: unknown): BrowsingContext.PrintParameters;
|
|
28
28
|
parseReloadParams(params: unknown): BrowsingContext.ReloadParameters;
|
|
29
29
|
parseSetViewportParams(params: unknown): BrowsingContext.SetViewportParameters;
|
|
30
|
+
parseTraverseHistoryParams(params: unknown): BrowsingContext.TraverseHistoryParameters;
|
|
30
31
|
parseGetSessionParams(params: unknown): Cdp.GetSessionParameters;
|
|
31
32
|
parseSendCommandParams(params: unknown): Cdp.SendCommandParameters;
|
|
32
33
|
parseAddPreloadScriptParams(params: unknown): Script.AddPreloadScriptParameters;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BidiNoOpParser.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiNoOpParser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAaH,MAAa,cAAc;IACzB,0BAA0B;IAC1B,8BAA8B;IAC9B,mBAAmB,CAAC,MAAe;QACjC,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,4BAA4B,CAC1B,MAAe;QAEf,OAAO,MAAqD,CAAC;IAC/D,CAAC;IACD,gBAAgB,CAAC,MAAe;QAC9B,OAAO,MAAyC,CAAC;IACnD,CAAC;IACD,iBAAiB,CAAC,MAAe;QAC/B,OAAO,MAA0C,CAAC;IACpD,CAAC;IACD,kBAAkB,CAAC,MAAe;QAChC,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAAoD,CAAC;IAC9D,CAAC;IACD,mBAAmB,CAAC,MAAe;QACjC,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,gBAAgB,CAAC,MAAe;QAC9B,OAAO,MAAyC,CAAC;IACnD,CAAC;IACD,iBAAiB,CAAC,MAAe;QAC/B,OAAO,MAA0C,CAAC;IACpD,CAAC;IACD,sBAAsB,CACpB,MAAe;QAEf,OAAO,MAA+C,CAAC;IACzD,CAAC;IACD,kBAAkB;IAElB,aAAa;IACb,8BAA8B;IAC9B,qBAAqB,CAAC,MAAe;QACnC,OAAO,MAAkC,CAAC;IAC5C,CAAC;IACD,sBAAsB,CAAC,MAAe;QACpC,OAAO,MAAmC,CAAC;IAC7C,CAAC;IACD,kBAAkB;IAElB,gBAAgB;IAChB,8BAA8B;IAC9B,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,uBAAuB,CAAC,MAAe;QACrC,OAAO,MAAuC,CAAC;IACjD,CAAC;IACD,iBAAiB,CAAC,MAAe;QAC/B,OAAO,MAAiC,CAAC;IAC3C,CAAC;IACD,mBAAmB,CAAC,MAAe;QACjC,OAAO,MAAmC,CAAC;IAC7C,CAAC;IACD,oBAAoB,CAAC,MAAe;QAClC,OAAO,MAAoC,CAAC;IAC9C,CAAC;IACD,8BAA8B,CAC5B,MAAe;QAEf,OAAO,MAA8C,CAAC;IACxD,CAAC;IACD,kBAAkB;IAElB,eAAe;IACf,8BAA8B;IAC9B,yBAAyB,CAAC,MAAe;QACvC,OAAO,MAAwC,CAAC;IAClD,CAAC;IACD,yBAAyB,CAAC,MAAe;QACvC,OAAO,MAAwC,CAAC;IAClD,CAAC;IACD,kBAAkB;IAElB,iBAAiB;IACjB,8BAA8B;IAC9B,uBAAuB,CAAC,MAAe;QACrC,OAAO,MAAwC,CAAC;IAClD,CAAC;IACD,0BAA0B,CACxB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,sBAAsB,CAAC,MAAe;QACpC,OAAO,MAAuC,CAAC;IACjD,CAAC;IACD,0BAA0B,CACxB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,0BAA0B,CACxB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,kBAAkB;IAElB,iBAAiB;IACjB,8BAA8B;IAC9B,oBAAoB,CAAC,MAAe;QAClC,OAAO,MAAqC,CAAC;IAC/C,CAAC;CAEF;
|
|
1
|
+
{"version":3,"file":"BidiNoOpParser.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiNoOpParser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAaH,MAAa,cAAc;IACzB,0BAA0B;IAC1B,8BAA8B;IAC9B,mBAAmB,CAAC,MAAe;QACjC,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,4BAA4B,CAC1B,MAAe;QAEf,OAAO,MAAqD,CAAC;IAC/D,CAAC;IACD,gBAAgB,CAAC,MAAe;QAC9B,OAAO,MAAyC,CAAC;IACnD,CAAC;IACD,iBAAiB,CAAC,MAAe;QAC/B,OAAO,MAA0C,CAAC;IACpD,CAAC;IACD,kBAAkB,CAAC,MAAe;QAChC,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAAoD,CAAC;IAC9D,CAAC;IACD,mBAAmB,CAAC,MAAe;QACjC,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,gBAAgB,CAAC,MAAe;QAC9B,OAAO,MAAyC,CAAC;IACnD,CAAC;IACD,iBAAiB,CAAC,MAAe;QAC/B,OAAO,MAA0C,CAAC;IACpD,CAAC;IACD,sBAAsB,CACpB,MAAe;QAEf,OAAO,MAA+C,CAAC;IACzD,CAAC;IACD,0BAA0B,CACxB,MAAe;QAEf,OAAO,MAAmD,CAAC;IAC7D,CAAC;IACD,kBAAkB;IAElB,aAAa;IACb,8BAA8B;IAC9B,qBAAqB,CAAC,MAAe;QACnC,OAAO,MAAkC,CAAC;IAC5C,CAAC;IACD,sBAAsB,CAAC,MAAe;QACpC,OAAO,MAAmC,CAAC;IAC7C,CAAC;IACD,kBAAkB;IAElB,gBAAgB;IAChB,8BAA8B;IAC9B,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,uBAAuB,CAAC,MAAe;QACrC,OAAO,MAAuC,CAAC;IACjD,CAAC;IACD,iBAAiB,CAAC,MAAe;QAC/B,OAAO,MAAiC,CAAC;IAC3C,CAAC;IACD,mBAAmB,CAAC,MAAe;QACjC,OAAO,MAAmC,CAAC;IAC7C,CAAC;IACD,oBAAoB,CAAC,MAAe;QAClC,OAAO,MAAoC,CAAC;IAC9C,CAAC;IACD,8BAA8B,CAC5B,MAAe;QAEf,OAAO,MAA8C,CAAC;IACxD,CAAC;IACD,kBAAkB;IAElB,eAAe;IACf,8BAA8B;IAC9B,yBAAyB,CAAC,MAAe;QACvC,OAAO,MAAwC,CAAC;IAClD,CAAC;IACD,yBAAyB,CAAC,MAAe;QACvC,OAAO,MAAwC,CAAC;IAClD,CAAC;IACD,kBAAkB;IAElB,iBAAiB;IACjB,8BAA8B;IAC9B,uBAAuB,CAAC,MAAe;QACrC,OAAO,MAAwC,CAAC;IAClD,CAAC;IACD,0BAA0B,CACxB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,2BAA2B,CACzB,MAAe;QAEf,OAAO,MAA4C,CAAC;IACtD,CAAC;IACD,sBAAsB,CAAC,MAAe;QACpC,OAAO,MAAuC,CAAC;IACjD,CAAC;IACD,0BAA0B,CACxB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,0BAA0B,CACxB,MAAe;QAEf,OAAO,MAA2C,CAAC;IACrD,CAAC;IACD,kBAAkB;IAElB,iBAAiB;IACjB,8BAA8B;IAC9B,oBAAoB,CAAC,MAAe;QAClC,OAAO,MAAqC,CAAC;IAC/C,CAAC;CAEF;AArID,wCAqIC"}
|
|
@@ -26,6 +26,7 @@ export interface IBidiParser {
|
|
|
26
26
|
parsePrintParams(params: unknown): BrowsingContext.PrintParameters;
|
|
27
27
|
parseReloadParams(params: unknown): BrowsingContext.ReloadParameters;
|
|
28
28
|
parseSetViewportParams(params: unknown): BrowsingContext.SetViewportParameters;
|
|
29
|
+
parseTraverseHistoryParams(params: unknown): BrowsingContext.TraverseHistoryParameters;
|
|
29
30
|
parseGetSessionParams(params: unknown): Cdp.GetSessionParameters;
|
|
30
31
|
parseSendCommandParams(params: unknown): Cdp.SendCommandParameters;
|
|
31
32
|
parsePerformActionsParams(params: unknown): Input.PerformActionsParameters;
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
+
import type { ICdpClient } from '../cdp/CdpClient';
|
|
17
18
|
import type { ICdpConnection } from '../cdp/CdpConnection.js';
|
|
18
19
|
import type { ChromiumBidi } from '../protocol/protocol.js';
|
|
19
20
|
import { EventEmitter } from '../utils/EventEmitter.js';
|
|
@@ -21,15 +22,15 @@ import { type LoggerFn } from '../utils/log.js';
|
|
|
21
22
|
import type { Result } from '../utils/result.js';
|
|
22
23
|
import type { IBidiParser } from './BidiParser.js';
|
|
23
24
|
import type { IBidiTransport } from './BidiTransport.js';
|
|
24
|
-
import type { OutgoingMessage } from './OutgoingMessage.js';
|
|
25
25
|
import { BrowsingContextStorage } from './domains/context/BrowsingContextStorage.js';
|
|
26
|
+
import type { OutgoingMessage } from './OutgoingMessage.js';
|
|
26
27
|
type BidiServerEvent = {
|
|
27
28
|
message: ChromiumBidi.Command;
|
|
28
29
|
};
|
|
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;;;
|
|
1
|
+
{"version":3,"file":"BidiServer.js","sourceRoot":"","sources":["../../../src/bidiMapper/BidiServer.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,16 +14,17 @@
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
+
import type { ICdpClient } from '../cdp/CdpClient';
|
|
17
18
|
import type { ICdpConnection } from '../cdp/CdpConnection.js';
|
|
18
19
|
import { type ChromiumBidi } from '../protocol/protocol.js';
|
|
19
20
|
import { EventEmitter } from '../utils/EventEmitter.js';
|
|
20
21
|
import { type LoggerFn } from '../utils/log.js';
|
|
21
22
|
import type { Result } from '../utils/result.js';
|
|
22
23
|
import type { IBidiParser } from './BidiParser.js';
|
|
23
|
-
import { OutgoingMessage } from './OutgoingMessage.js';
|
|
24
24
|
import type { BrowsingContextStorage } from './domains/context/BrowsingContextStorage.js';
|
|
25
25
|
import type { EventManager } from './domains/events/EventManager.js';
|
|
26
26
|
import type { RealmStorage } from './domains/script/RealmStorage.js';
|
|
27
|
+
import { OutgoingMessage } from './OutgoingMessage.js';
|
|
27
28
|
export declare const enum CommandProcessorEvents {
|
|
28
29
|
Response = "response"
|
|
29
30
|
}
|
|
@@ -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 {};
|
|
@@ -21,16 +21,16 @@ const protocol_js_1 = require("../protocol/protocol.js");
|
|
|
21
21
|
const EventEmitter_js_1 = require("../utils/EventEmitter.js");
|
|
22
22
|
const log_js_1 = require("../utils/log.js");
|
|
23
23
|
const BidiNoOpParser_js_1 = require("./BidiNoOpParser.js");
|
|
24
|
-
const OutgoingMessage_js_1 = require("./OutgoingMessage.js");
|
|
25
24
|
const BrowserProcessor_js_1 = require("./domains/browser/BrowserProcessor.js");
|
|
26
25
|
const CdpProcessor_js_1 = require("./domains/cdp/CdpProcessor.js");
|
|
27
26
|
const BrowsingContextProcessor_js_1 = require("./domains/context/BrowsingContextProcessor.js");
|
|
28
27
|
const InputProcessor_js_1 = require("./domains/input/InputProcessor.js");
|
|
28
|
+
const NetworkProcessor_js_1 = require("./domains/network/NetworkProcessor.js");
|
|
29
|
+
const NetworkStorage_js_1 = require("./domains/network/NetworkStorage.js");
|
|
29
30
|
const PreloadScriptStorage_js_1 = require("./domains/script/PreloadScriptStorage.js");
|
|
30
31
|
const ScriptProcessor_js_1 = require("./domains/script/ScriptProcessor.js");
|
|
31
|
-
const NetworkProcessor_js_1 = require("./domains/network/NetworkProcessor.js");
|
|
32
32
|
const SessionProcessor_js_1 = require("./domains/session/SessionProcessor.js");
|
|
33
|
-
const
|
|
33
|
+
const OutgoingMessage_js_1 = require("./OutgoingMessage.js");
|
|
34
34
|
class CommandProcessor extends EventEmitter_js_1.EventEmitter {
|
|
35
35
|
// keep-sorted start
|
|
36
36
|
#browserProcessor;
|
|
@@ -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
|
-
const networkStorage = new NetworkStorage_js_1.NetworkStorage(
|
|
50
|
+
const networkStorage = new NetworkStorage_js_1.NetworkStorage();
|
|
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,75 @@ 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
|
+
case 'browsingContext.locateNodes':
|
|
88
|
+
throw new protocol_js_1.UnsupportedOperationException(`Command '${command.method}' not yet implemented.`);
|
|
87
89
|
case 'browsingContext.navigate':
|
|
88
|
-
return this.#browsingContextProcessor.navigate(this.#parser.parseNavigateParams(command.params));
|
|
90
|
+
return await this.#browsingContextProcessor.navigate(this.#parser.parseNavigateParams(command.params));
|
|
89
91
|
case 'browsingContext.print':
|
|
90
|
-
return this.#browsingContextProcessor.print(this.#parser.parsePrintParams(command.params));
|
|
92
|
+
return await this.#browsingContextProcessor.print(this.#parser.parsePrintParams(command.params));
|
|
91
93
|
case 'browsingContext.reload':
|
|
92
|
-
return this.#browsingContextProcessor.reload(this.#parser.parseReloadParams(command.params));
|
|
94
|
+
return await this.#browsingContextProcessor.reload(this.#parser.parseReloadParams(command.params));
|
|
93
95
|
case 'browsingContext.setViewport':
|
|
94
|
-
return this.#browsingContextProcessor.setViewport(this.#parser.parseSetViewportParams(command.params));
|
|
96
|
+
return await this.#browsingContextProcessor.setViewport(this.#parser.parseSetViewportParams(command.params));
|
|
97
|
+
case 'browsingContext.traverseHistory':
|
|
98
|
+
return await this.#browsingContextProcessor.traverseHistory(this.#parser.parseTraverseHistoryParams(command.params));
|
|
95
99
|
// keep-sorted end
|
|
96
100
|
// CDP domain
|
|
97
101
|
// keep-sorted start block=yes
|
|
98
102
|
case 'cdp.getSession':
|
|
99
103
|
return this.#cdpProcessor.getSession(this.#parser.parseGetSessionParams(command.params));
|
|
100
104
|
case 'cdp.sendCommand':
|
|
101
|
-
return this.#cdpProcessor.sendCommand(this.#parser.parseSendCommandParams(command.params));
|
|
105
|
+
return await this.#cdpProcessor.sendCommand(this.#parser.parseSendCommandParams(command.params));
|
|
102
106
|
// keep-sorted end
|
|
103
107
|
// Input domain
|
|
104
108
|
// keep-sorted start block=yes
|
|
105
109
|
case 'input.performActions':
|
|
106
|
-
return this.#inputProcessor.performActions(this.#parser.parsePerformActionsParams(command.params));
|
|
110
|
+
return await this.#inputProcessor.performActions(this.#parser.parsePerformActionsParams(command.params));
|
|
107
111
|
case 'input.releaseActions':
|
|
108
|
-
return this.#inputProcessor.releaseActions(this.#parser.parseReleaseActionsParams(command.params));
|
|
112
|
+
return await this.#inputProcessor.releaseActions(this.#parser.parseReleaseActionsParams(command.params));
|
|
109
113
|
// keep-sorted end
|
|
110
114
|
// Network domain
|
|
111
115
|
// keep-sorted start block=yes
|
|
112
116
|
case 'network.addIntercept':
|
|
113
|
-
return this.#networkProcessor.addIntercept(this.#parser.parseAddInterceptParams(command.params));
|
|
117
|
+
return await this.#networkProcessor.addIntercept(this.#parser.parseAddInterceptParams(command.params));
|
|
114
118
|
case 'network.continueRequest':
|
|
115
|
-
return this.#networkProcessor.continueRequest(this.#parser.parseContinueRequestParams(command.params));
|
|
119
|
+
return await this.#networkProcessor.continueRequest(this.#parser.parseContinueRequestParams(command.params));
|
|
116
120
|
case 'network.continueResponse':
|
|
117
|
-
return this.#networkProcessor.continueResponse(this.#parser.parseContinueResponseParams(command.params));
|
|
121
|
+
return await this.#networkProcessor.continueResponse(this.#parser.parseContinueResponseParams(command.params));
|
|
118
122
|
case 'network.continueWithAuth':
|
|
119
|
-
return this.#networkProcessor.continueWithAuth(this.#parser.parseContinueWithAuthParams(command.params));
|
|
123
|
+
return await this.#networkProcessor.continueWithAuth(this.#parser.parseContinueWithAuthParams(command.params));
|
|
120
124
|
case 'network.failRequest':
|
|
121
|
-
return this.#networkProcessor.failRequest(this.#parser.parseFailRequestParams(command.params));
|
|
125
|
+
return await this.#networkProcessor.failRequest(this.#parser.parseFailRequestParams(command.params));
|
|
122
126
|
case 'network.provideResponse':
|
|
123
|
-
return this.#networkProcessor.provideResponse(this.#parser.parseProvideResponseParams(command.params));
|
|
127
|
+
return await this.#networkProcessor.provideResponse(this.#parser.parseProvideResponseParams(command.params));
|
|
124
128
|
case 'network.removeIntercept':
|
|
125
|
-
return this.#networkProcessor.removeIntercept(this.#parser.parseRemoveInterceptParams(command.params));
|
|
129
|
+
return await this.#networkProcessor.removeIntercept(this.#parser.parseRemoveInterceptParams(command.params));
|
|
126
130
|
// keep-sorted end
|
|
127
131
|
// Script domain
|
|
128
132
|
// keep-sorted start block=yes
|
|
129
133
|
case 'script.addPreloadScript':
|
|
130
|
-
return this.#scriptProcessor.addPreloadScript(this.#parser.parseAddPreloadScriptParams(command.params));
|
|
134
|
+
return await this.#scriptProcessor.addPreloadScript(this.#parser.parseAddPreloadScriptParams(command.params));
|
|
131
135
|
case 'script.callFunction':
|
|
132
|
-
return this.#scriptProcessor.callFunction(this.#parser.parseCallFunctionParams(command.params));
|
|
136
|
+
return await this.#scriptProcessor.callFunction(this.#parser.parseCallFunctionParams(command.params));
|
|
133
137
|
case 'script.disown':
|
|
134
|
-
return this.#scriptProcessor.disown(this.#parser.parseDisownParams(command.params));
|
|
138
|
+
return await this.#scriptProcessor.disown(this.#parser.parseDisownParams(command.params));
|
|
135
139
|
case 'script.evaluate':
|
|
136
|
-
return this.#scriptProcessor.evaluate(this.#parser.parseEvaluateParams(command.params));
|
|
140
|
+
return await this.#scriptProcessor.evaluate(this.#parser.parseEvaluateParams(command.params));
|
|
137
141
|
case 'script.getRealms':
|
|
138
142
|
return this.#scriptProcessor.getRealms(this.#parser.parseGetRealmsParams(command.params));
|
|
139
143
|
case 'script.removePreloadScript':
|
|
140
|
-
return this.#scriptProcessor.removePreloadScript(this.#parser.parseRemovePreloadScriptParams(command.params));
|
|
144
|
+
return await this.#scriptProcessor.removePreloadScript(this.#parser.parseRemovePreloadScriptParams(command.params));
|
|
141
145
|
// keep-sorted end
|
|
142
146
|
// Session domain
|
|
143
147
|
// keep-sorted start block=yes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CommandProcessor.js","sourceRoot":"","sources":["../../../src/bidiMapper/CommandProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;
|
|
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 '../../BidiMapper.js';
|
|
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"}
|
|
@@ -66,4 +66,5 @@ export declare class BrowsingContextImpl {
|
|
|
66
66
|
captureScreenshot(params: BrowsingContext.CaptureScreenshotParameters): Promise<BrowsingContext.CaptureScreenshotResult>;
|
|
67
67
|
print(params: BrowsingContext.PrintParameters): Promise<BrowsingContext.PrintResult>;
|
|
68
68
|
close(): Promise<void>;
|
|
69
|
+
traverseHistory(delta: number): Promise<void>;
|
|
69
70
|
}
|
|
@@ -97,6 +97,8 @@ class BrowsingContextImpl {
|
|
|
97
97
|
if (!this.isTopLevelContext()) {
|
|
98
98
|
this.parent.#children.delete(this.id);
|
|
99
99
|
}
|
|
100
|
+
// Fail all ongoing navigations.
|
|
101
|
+
this.#failDeferredsIfNotFinished();
|
|
100
102
|
this.#eventManager.registerEvent({
|
|
101
103
|
type: 'event',
|
|
102
104
|
method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.ContextDestroyed,
|
|
@@ -408,6 +410,14 @@ class BrowsingContextImpl {
|
|
|
408
410
|
this.#logger?.(BrowsingContextImpl.LOGGER_PREFIX, 'Document changed (load)');
|
|
409
411
|
}
|
|
410
412
|
}
|
|
413
|
+
#failDeferredsIfNotFinished() {
|
|
414
|
+
if (!this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.isFinished) {
|
|
415
|
+
this.#deferreds.Page.lifecycleEvent.DOMContentLoaded.reject(new protocol_js_1.UnknownErrorException('navigation canceled'));
|
|
416
|
+
}
|
|
417
|
+
if (!this.#deferreds.Page.lifecycleEvent.load.isFinished) {
|
|
418
|
+
this.#deferreds.Page.lifecycleEvent.load.reject(new protocol_js_1.UnknownErrorException('navigation canceled'));
|
|
419
|
+
}
|
|
420
|
+
}
|
|
411
421
|
async navigate(url, wait) {
|
|
412
422
|
try {
|
|
413
423
|
new URL(url);
|
|
@@ -558,7 +568,7 @@ class BrowsingContextImpl {
|
|
|
558
568
|
if (rect.width === 0 || rect.height === 0) {
|
|
559
569
|
throw new protocol_js_1.UnableToCaptureScreenException(`Unable to capture screenshot with zero dimensions: width=${rect.width}, height=${rect.height}`);
|
|
560
570
|
}
|
|
561
|
-
return this.#cdpTarget.cdpClient.sendCommand('Page.captureScreenshot', {
|
|
571
|
+
return await this.#cdpTarget.cdpClient.sendCommand('Page.captureScreenshot', {
|
|
562
572
|
clip: { ...rect, scale: 1.0 },
|
|
563
573
|
...formatParameters,
|
|
564
574
|
captureBeyondViewport,
|
|
@@ -654,9 +664,6 @@ class BrowsingContextImpl {
|
|
|
654
664
|
case 'box':
|
|
655
665
|
return { x: clip.x, y: clip.y, width: clip.width, height: clip.height };
|
|
656
666
|
case 'element': {
|
|
657
|
-
if (clip.scrollIntoView) {
|
|
658
|
-
throw new protocol_js_1.UnsupportedOperationException(`'scrollIntoView' is currently not supported`);
|
|
659
|
-
}
|
|
660
667
|
// TODO: #1213: Use custom sandbox specifically for Chromium BiDi
|
|
661
668
|
const sandbox = await this.getOrCreateSandbox(undefined);
|
|
662
669
|
const result = await sandbox.callFunction(String((element) => {
|
|
@@ -692,6 +699,21 @@ class BrowsingContextImpl {
|
|
|
692
699
|
async close() {
|
|
693
700
|
await this.#cdpTarget.cdpClient.sendCommand('Page.close');
|
|
694
701
|
}
|
|
702
|
+
async traverseHistory(delta) {
|
|
703
|
+
if (delta === 0) {
|
|
704
|
+
return;
|
|
705
|
+
}
|
|
706
|
+
const history = await this.#cdpTarget.cdpClient.sendCommand('Page.getNavigationHistory');
|
|
707
|
+
const entry = history.entries[history.currentIndex + delta];
|
|
708
|
+
if (!entry) {
|
|
709
|
+
throw new protocol_js_1.NoSuchHistoryEntryException(`No history entry at delta ${delta}`);
|
|
710
|
+
}
|
|
711
|
+
await this.#cdpTarget.cdpClient.sendCommand('Page.navigateToHistoryEntry', {
|
|
712
|
+
entryId: entry.id,
|
|
713
|
+
});
|
|
714
|
+
this.#resetDeferredsIfFinished();
|
|
715
|
+
await this.lifecycleLoaded();
|
|
716
|
+
}
|
|
695
717
|
}
|
|
696
718
|
exports.BrowsingContextImpl = BrowsingContextImpl;
|
|
697
719
|
function getImageFormatParameters(params) {
|