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.
Files changed (96) hide show
  1. package/.browser +1 -1
  2. package/README.md +28 -5
  3. package/lib/cjs/bidiMapper/{bidiMapper.js → BidiMapper.js} +1 -1
  4. package/lib/cjs/bidiMapper/BidiMapper.js.map +1 -0
  5. package/lib/cjs/bidiMapper/BidiServer.d.ts +2 -1
  6. package/lib/cjs/bidiMapper/BidiServer.js +8 -7
  7. package/lib/cjs/bidiMapper/BidiServer.js.map +1 -1
  8. package/lib/cjs/bidiMapper/CommandProcessor.d.ts +2 -1
  9. package/lib/cjs/bidiMapper/CommandProcessor.js +28 -28
  10. package/lib/cjs/bidiMapper/CommandProcessor.js.map +1 -1
  11. package/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.d.ts +2 -2
  12. package/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js +4 -5
  13. package/lib/cjs/bidiMapper/domains/browser/BrowserProcessor.js.map +1 -1
  14. package/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.d.ts +2 -2
  15. package/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.js +4 -2
  16. package/lib/cjs/bidiMapper/domains/cdp/CdpProcessor.js.map +1 -1
  17. package/lib/cjs/bidiMapper/domains/context/BrowsingContextImpl.d.ts +1 -1
  18. package/lib/cjs/bidiMapper/domains/context/BrowsingContextImpl.js +52 -20
  19. package/lib/cjs/bidiMapper/domains/context/BrowsingContextImpl.js.map +1 -1
  20. package/lib/cjs/bidiMapper/domains/context/BrowsingContextProcessor.d.ts +2 -1
  21. package/lib/cjs/bidiMapper/domains/context/BrowsingContextProcessor.js +12 -12
  22. package/lib/cjs/bidiMapper/domains/context/BrowsingContextProcessor.js.map +1 -1
  23. package/lib/cjs/bidiMapper/domains/context/CdpTarget.d.ts +3 -11
  24. package/lib/cjs/bidiMapper/domains/context/CdpTarget.js +13 -17
  25. package/lib/cjs/bidiMapper/domains/context/CdpTarget.js.map +1 -1
  26. package/lib/cjs/bidiMapper/domains/input/InputSource.d.ts +5 -5
  27. package/lib/cjs/bidiMapper/domains/log/LogManager.js +1 -1
  28. package/lib/cjs/bidiMapper/domains/log/LogManager.js.map +1 -1
  29. package/lib/cjs/bidiMapper/domains/network/NetworkManager.js +3 -9
  30. package/lib/cjs/bidiMapper/domains/network/NetworkManager.js.map +1 -1
  31. package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.d.ts +9 -4
  32. package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.js +127 -24
  33. package/lib/cjs/bidiMapper/domains/network/NetworkProcessor.js.map +1 -1
  34. package/lib/cjs/bidiMapper/domains/network/NetworkRequest.d.ts +15 -3
  35. package/lib/cjs/bidiMapper/domains/network/NetworkRequest.js +241 -62
  36. package/lib/cjs/bidiMapper/domains/network/NetworkRequest.js.map +1 -1
  37. package/lib/cjs/bidiMapper/domains/network/NetworkStorage.d.ts +10 -4
  38. package/lib/cjs/bidiMapper/domains/network/NetworkStorage.js +24 -13
  39. package/lib/cjs/bidiMapper/domains/network/NetworkStorage.js.map +1 -1
  40. package/lib/cjs/bidiMapper/domains/network/NetworkUtils.d.ts +16 -0
  41. package/lib/cjs/bidiMapper/domains/network/NetworkUtils.js +91 -0
  42. package/lib/cjs/bidiMapper/domains/network/NetworkUtils.js.map +1 -0
  43. package/lib/cjs/bidiMapper/domains/script/ChannelProxy.js +1 -1
  44. package/lib/cjs/bidiMapper/domains/script/ChannelProxy.js.map +1 -1
  45. package/lib/cjs/bidiMapper/domains/script/PreloadScript.d.ts +3 -1
  46. package/lib/cjs/bidiMapper/domains/script/PreloadScript.js +7 -0
  47. package/lib/cjs/bidiMapper/domains/script/PreloadScript.js.map +1 -1
  48. package/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.d.ts +3 -1
  49. package/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.js +7 -0
  50. package/lib/cjs/bidiMapper/domains/script/PreloadScriptStorage.js.map +1 -1
  51. package/lib/cjs/bidiMapper/domains/script/Realm.js +4 -4
  52. package/lib/cjs/bidiMapper/domains/script/Realm.js.map +1 -1
  53. package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js +25 -7
  54. package/lib/cjs/bidiMapper/domains/script/ScriptProcessor.js.map +1 -1
  55. package/lib/cjs/bidiServer/BrowserInstance.d.ts +19 -0
  56. package/lib/cjs/bidiServer/BrowserInstance.js +122 -0
  57. package/lib/cjs/bidiServer/BrowserInstance.js.map +1 -0
  58. package/lib/cjs/bidiServer/{MapperServer.d.ts → MapperCdpConnection.d.ts} +5 -4
  59. package/lib/cjs/bidiServer/{MapperServer.js → MapperCdpConnection.js} +28 -68
  60. package/lib/cjs/bidiServer/MapperCdpConnection.js.map +1 -0
  61. package/lib/cjs/bidiServer/SimpleTransport.d.ts +13 -0
  62. package/lib/cjs/bidiServer/SimpleTransport.js +39 -0
  63. package/lib/cjs/bidiServer/SimpleTransport.js.map +1 -0
  64. package/lib/cjs/bidiServer/WebSocketServer.d.ts +13 -0
  65. package/lib/cjs/bidiServer/{bidiServerRunner.js → WebSocketServer.js} +67 -54
  66. package/lib/cjs/bidiServer/WebSocketServer.js.map +1 -0
  67. package/lib/cjs/bidiServer/index.js +5 -80
  68. package/lib/cjs/bidiServer/index.js.map +1 -1
  69. package/lib/cjs/bidiServer/reader.d.ts +1 -1
  70. package/lib/cjs/bidiServer/reader.js +4 -4
  71. package/lib/cjs/bidiServer/reader.js.map +1 -1
  72. package/lib/cjs/bidiTab/BidiParser.d.ts +1 -1
  73. package/lib/cjs/bidiTab/Transport.d.ts +1 -1
  74. package/lib/cjs/bidiTab/bidiTab.d.ts +5 -0
  75. package/lib/cjs/bidiTab/bidiTab.js +37 -23
  76. package/lib/cjs/bidiTab/bidiTab.js.map +1 -1
  77. package/lib/cjs/cdp/CdpClient.d.ts +0 -5
  78. package/lib/cjs/cdp/CdpClient.js +0 -3
  79. package/lib/cjs/cdp/CdpClient.js.map +1 -1
  80. package/lib/cjs/cdp/CdpConnection.d.ts +1 -3
  81. package/lib/cjs/cdp/CdpConnection.js +21 -11
  82. package/lib/cjs/cdp/CdpConnection.js.map +1 -1
  83. package/lib/cjs/protocol/webdriver-bidi.d.ts +10 -2
  84. package/lib/cjs/protocol-parser/webdriver-bidi.d.ts +149 -103
  85. package/lib/cjs/protocol-parser/webdriver-bidi.js +4 -2
  86. package/lib/cjs/protocol-parser/webdriver-bidi.js.map +1 -1
  87. package/lib/cjs/utils/ProcessingQueue.js +11 -13
  88. package/lib/cjs/utils/ProcessingQueue.js.map +1 -1
  89. package/lib/iife/mapperTab.js +2 -2
  90. package/lib/iife/mapperTab.js.map +1 -1
  91. package/package.json +43 -36
  92. package/lib/cjs/bidiMapper/bidiMapper.js.map +0 -1
  93. package/lib/cjs/bidiServer/MapperServer.js.map +0 -1
  94. package/lib/cjs/bidiServer/bidiServerRunner.d.ts +0 -15
  95. package/lib/cjs/bidiServer/bidiServerRunner.js.map +0 -1
  96. /package/lib/cjs/bidiMapper/{bidiMapper.d.ts → BidiMapper.d.ts} +0 -0
package/.browser CHANGED
@@ -1 +1 @@
1
- chrome@120.0.6049.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
- ### Starting the Server
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.6+ and some dependencies are required:
250
+ Python 3.10+ and some dependencies are required:
247
251
 
248
252
  ```sh
249
- python3 -m pip install --user -r tests/requirements.txt
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
- #### Examples
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=bidiMapper.js.map
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 cdpClient.sendCommand('Target.setDiscoverTargets', { discover: true });
59
+ await browserCdpClient.sendCommand('Target.setDiscoverTargets', {
60
+ discover: true,
61
+ });
61
62
  // Needed to automatically attach to new targets.
62
- await cdpClient.sendCommand('Target.setAutoAttach', {
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":"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"}
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(cdpConnection);
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":"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"}
1
+ {"version":3,"file":"CommandProcessor.js","sourceRoot":"","sources":["../../../src/bidiMapper/CommandProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAGH,yDAKiC;AACjC,8DAAsD;AACtD,4CAAuD;AAIvD,2DAAmD;AAEnD,6DAAqD;AACrD,+EAAuE;AACvE,mEAA2D;AAC3D,+FAAuF;AAGvF,yEAAiE;AACjE,sFAA8E;AAC9E,4EAAoE;AAEpE,+EAAuE;AACvE,+EAAuE;AACvE,2EAAmE;AAanE,MAAa,gBAAiB,SAAQ,8BAAuC;IAC3E,oBAAoB;IACpB,iBAAiB,CAAmB;IACpC,yBAAyB,CAA2B;IACpD,aAAa,CAAe;IAC5B,eAAe,CAAiB;IAChC,iBAAiB,CAAmB;IACpC,gBAAgB,CAAkB;IAClC,iBAAiB,CAAmB;IACpC,kBAAkB;IAElB,OAAO,CAAc;IACrB,OAAO,CAAY;IAEnB,YACE,aAA6B,EAC7B,gBAA4B,EAC5B,YAA0B,EAC1B,YAAoB,EACpB,sBAA8C,EAC9C,YAA0B,EAC1B,SAAsB,IAAI,kCAAc,EAAE,EAC1C,MAAiB;QAEjB,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QAEtB,MAAM,cAAc,GAAG,IAAI,kCAAc,CAAC,YAAY,CAAC,CAAC;QACxD,MAAM,oBAAoB,GAAG,IAAI,8CAAoB,EAAE,CAAC;QAExD,8BAA8B;QAC9B,IAAI,CAAC,iBAAiB,GAAG,IAAI,sCAAgB,CAAC,gBAAgB,CAAC,CAAC;QAChE,IAAI,CAAC,yBAAyB,GAAG,IAAI,sDAAwB,CAC3D,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,YAAY,EACZ,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,MAAM,CACP,CAAC;QACF,IAAI,CAAC,aAAa,GAAG,IAAI,8BAAY,CACnC,sBAAsB,EACtB,aAAa,EACb,gBAAgB,CACjB,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,IAAI,kCAAc,CAAC,sBAAsB,CAAC,CAAC;QAClE,IAAI,CAAC,iBAAiB,GAAG,IAAI,sCAAgB,CAC3C,sBAAsB,EACtB,cAAc,CACf,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,oCAAe,CACzC,sBAAsB,EACtB,YAAY,EACZ,oBAAoB,EACpB,MAAM,CACP,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,sCAAgB,CAAC,YAAY,CAAC,CAAC;QAC5D,kBAAkB;IACpB,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,OAA6B;QAE7B,QAAQ,OAAO,CAAC,MAAM,EAAE;YACtB,KAAK,aAAa,CAAC;YACnB,KAAK,aAAa;gBAChB,mBAAmB;gBACnB,MAAM;YAER,iBAAiB;YACjB,8BAA8B;YAC9B,KAAK,eAAe;gBAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YACxC,kBAAkB;YAElB,0BAA0B;YAC1B,8BAA8B;YAC9B,KAAK,0BAA0B;gBAC7B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAClD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CACjD,CAAC;YACJ,KAAK,mCAAmC;gBACtC,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,iBAAiB,CAC3D,IAAI,CAAC,OAAO,CAAC,4BAA4B,CAAC,OAAO,CAAC,MAAM,CAAC,CAC1D,CAAC;YACJ,KAAK,uBAAuB;gBAC1B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAC/C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC9C,CAAC;YACJ,KAAK,wBAAwB;gBAC3B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAChD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;YACJ,KAAK,yBAAyB;gBAC5B,OAAO,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAC3C,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAChD,CAAC;YACJ,KAAK,kCAAkC;gBACrC,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,CAC1D,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,CACzD,CAAC;YACJ,KAAK,0BAA0B;gBAC7B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAClD,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CACjD,CAAC;YACJ,KAAK,uBAAuB;gBAC1B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAC/C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC9C,CAAC;YACJ,KAAK,wBAAwB;gBAC3B,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,MAAM,CAChD,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;YACJ,KAAK,6BAA6B;gBAChC,OAAO,MAAM,IAAI,CAAC,yBAAyB,CAAC,WAAW,CACrD,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CACpD,CAAC;YACJ,kBAAkB;YAElB,aAAa;YACb,8BAA8B;YAC9B,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,aAAa,CAAC,UAAU,CAClC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CACnD,CAAC;YACJ,KAAK,iBAAiB;gBACpB,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CACzC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CACpD,CAAC;YACJ,kBAAkB;YAElB,eAAe;YACf,8BAA8B;YAC9B,KAAK,sBAAsB;gBACzB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAC9C,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,CACvD,CAAC;YACJ,KAAK,sBAAsB;gBACzB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAC9C,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,OAAO,CAAC,MAAM,CAAC,CACvD,CAAC;YACJ,kBAAkB;YAElB,iBAAiB;YACjB,8BAA8B;YAC9B,KAAK,sBAAsB;gBACzB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAC9C,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CACrD,CAAC;YACJ,KAAK,yBAAyB;gBAC5B,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACjD,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CACxD,CAAC;YACJ,KAAK,0BAA0B;gBAC7B,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAClD,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,CACzD,CAAC;YACJ,KAAK,0BAA0B;gBAC7B,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAClD,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,CACzD,CAAC;YACJ,KAAK,qBAAqB;gBACxB,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAC7C,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,MAAM,CAAC,CACpD,CAAC;YACJ,KAAK,yBAAyB;gBAC5B,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACjD,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CACxD,CAAC;YACJ,KAAK,yBAAyB;gBAC5B,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CACjD,IAAI,CAAC,OAAO,CAAC,0BAA0B,CAAC,OAAO,CAAC,MAAM,CAAC,CACxD,CAAC;YACJ,kBAAkB;YAElB,gBAAgB;YAChB,8BAA8B;YAC9B,KAAK,yBAAyB;gBAC5B,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CACjD,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,CACzD,CAAC;YACJ,KAAK,qBAAqB;gBACxB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAC7C,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,CACrD,CAAC;YACJ,KAAK,eAAe;gBAClB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CACvC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,CAAC,CAC/C,CAAC;YACJ,KAAK,iBAAiB;gBACpB,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CACzC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CACjD,CAAC;YACJ,KAAK,kBAAkB;gBACrB,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CACpC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,CAClD,CAAC;YACJ,KAAK,4BAA4B;gBAC/B,OAAO,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CACpD,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,OAAO,CAAC,MAAM,CAAC,CAC5D,CAAC;YACJ,kBAAkB;YAElB,iBAAiB;YACjB,8BAA8B;YAC9B,KAAK,gBAAgB;gBACnB,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YACzC,KAAK,mBAAmB;gBACtB,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CACrC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,EACjD,OAAO,CAAC,OAAO,CAChB,CAAC;YACJ,KAAK,qBAAqB;gBACxB,OAAO,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACvC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,MAAM,CAAC,EACjD,OAAO,CAAC,OAAO,CAChB,CAAC;YACJ,kBAAkB;SACnB;QAED,oEAAoE;QACpE,0EAA0E;QAC1E,oBAAoB;QACpB,MAAM,IAAI,qCAAuB,CAAC,oBAAoB,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAA6B;QAChD,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAEnD,MAAM,QAAQ,GAAG;gBACf,IAAI,EAAE,SAAS;gBACf,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,MAAM;aACgC,CAAC;YAEzC,IAAI,CAAC,IAAI,mDAAkC;gBACzC,OAAO,EAAE,oCAAe,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC;gBAClE,KAAK,EAAE,OAAO,CAAC,MAAM;aACtB,CAAC,CAAC;SACJ;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,CAAC,YAAY,uBAAS,EAAE;gBAC1B,IAAI,CAAC,IAAI,mDAAkC;oBACzC,OAAO,EAAE,oCAAe,CAAC,cAAc,CACrC,CAAC,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,EAC7B,OAAO,CAAC,OAAO,CAChB;oBACD,KAAK,EAAE,OAAO,CAAC,MAAM;iBACtB,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,KAAK,GAAG,CAAU,CAAC;gBACzB,IAAI,CAAC,OAAO,EAAE,CAAC,gBAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;gBACpC,IAAI,CAAC,IAAI,mDAAkC;oBACzC,OAAO,EAAE,oCAAe,CAAC,cAAc,CACrC,IAAI,mCAAqB,CACvB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,KAAK,CACZ,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,EAC7B,OAAO,CAAC,OAAO,CAChB;oBACD,KAAK,EAAE,OAAO,CAAC,MAAM;iBACtB,CAAC,CAAC;aACJ;SACF;IACH,CAAC;CACF;AA7QD,4CA6QC"}
@@ -15,9 +15,9 @@
15
15
  * limitations under the License.
16
16
  */
17
17
  import type { EmptyResult } from '../../../protocol/protocol.js';
18
- import type { ICdpConnection } from '../../bidiMapper';
18
+ import type { ICdpClient } from '../../BidiMapper.js';
19
19
  export declare class BrowserProcessor {
20
20
  #private;
21
- constructor(cdpConnection: ICdpConnection);
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
- #cdpConnection;
22
- constructor(cdpConnection) {
23
- this.#cdpConnection = cdpConnection;
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(() => client.sendCommand('Browser.close'), 0);
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;IAC3B,cAAc,CAAiB;IAE/B,YAAY,aAA6B;QACvC,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,CAAC;IAED,KAAK;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC;QAEnD,sDAAsD;QACtD,6DAA6D;QAC7D,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC;QAEzD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF;AAhBD,4CAgBC"}
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
- constructor(browsingContextStorage, cdpConnection) {
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.#cdpConnection.browserClient();
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;IACvB,uBAAuB,CAAyB;IAChD,cAAc,CAAiB;IAE/B,YACE,sBAA8C,EAC9C,aAA6B;QAE7B,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;QACtD,IAAI,CAAC,cAAc,GAAG,aAAa,CAAC;IACtC,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,cAAc,CAAC,aAAa,EAAE,CAAC;QACxC,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;AAlCD,oCAkCC"}
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: BrowsingContext.Viewport | null): Promise<void>;
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
- const { cssVisualViewport } = await this.#cdpTarget.cdpClient.sendCommand('Page.getLayoutMetrics');
521
- const viewport = {
522
- x: cssVisualViewport.pageX,
523
- y: cssVisualViewport.pageY,
524
- width: cssVisualViewport.clientWidth,
525
- height: cssVisualViewport.clientHeight,
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), viewport)
529
- : viewport;
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
- const result = await this.#cdpTarget.cdpClient.sendCommand('Page.captureScreenshot', { clip: { ...rect, scale: 1.0 }, ...formatParameters });
534
- return {
535
- data: result.data,
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 'viewport':
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 { format: 'webp' };
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`);