chromium-bidi 0.6.4 → 0.7.0

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 (42) hide show
  1. package/.browser +1 -1
  2. package/README.md +38 -2
  3. package/lib/THIRD_PARTY_NOTICES +0 -27
  4. package/lib/cjs/bidiMapper/CommandProcessor.js +2 -2
  5. package/lib/cjs/bidiMapper/CommandProcessor.js.map +1 -1
  6. package/lib/cjs/bidiMapper/modules/cdp/CdpTargetManager.js +6 -2
  7. package/lib/cjs/bidiMapper/modules/cdp/CdpTargetManager.js.map +1 -1
  8. package/lib/cjs/bidiMapper/modules/context/BrowsingContextImpl.d.ts +2 -7
  9. package/lib/cjs/bidiMapper/modules/context/BrowsingContextImpl.js +120 -73
  10. package/lib/cjs/bidiMapper/modules/context/BrowsingContextImpl.js.map +1 -1
  11. package/lib/cjs/bidiMapper/modules/input/ActionDispatcher.js +9 -2
  12. package/lib/cjs/bidiMapper/modules/input/ActionDispatcher.js.map +1 -1
  13. package/lib/cjs/bidiMapper/modules/input/InputProcessor.d.ts +1 -2
  14. package/lib/cjs/bidiMapper/modules/input/InputProcessor.js +1 -3
  15. package/lib/cjs/bidiMapper/modules/input/InputProcessor.js.map +1 -1
  16. package/lib/cjs/bidiMapper/modules/input/InputSource.d.ts +5 -5
  17. package/lib/cjs/bidiMapper/modules/log/LogManager.js +41 -6
  18. package/lib/cjs/bidiMapper/modules/log/LogManager.js.map +1 -1
  19. package/lib/cjs/bidiMapper/modules/network/NetworkProcessor.js +2 -1
  20. package/lib/cjs/bidiMapper/modules/network/NetworkProcessor.js.map +1 -1
  21. package/lib/cjs/bidiMapper/modules/network/NetworkRequest.js +1 -1
  22. package/lib/cjs/bidiMapper/modules/network/NetworkRequest.js.map +1 -1
  23. package/lib/cjs/bidiMapper/modules/network/NetworkStorage.d.ts +1 -1
  24. package/lib/cjs/bidiMapper/modules/network/NetworkStorage.js +2 -3
  25. package/lib/cjs/bidiMapper/modules/network/NetworkStorage.js.map +1 -1
  26. package/lib/cjs/bidiMapper/modules/script/Realm.js +1 -0
  27. package/lib/cjs/bidiMapper/modules/script/Realm.js.map +1 -1
  28. package/lib/cjs/bidiMapper/modules/script/ScriptProcessor.d.ts +2 -1
  29. package/lib/cjs/bidiMapper/modules/script/ScriptProcessor.js +28 -1
  30. package/lib/cjs/bidiMapper/modules/script/ScriptProcessor.js.map +1 -1
  31. package/lib/cjs/bidiServer/WebSocketServer.js +8 -4
  32. package/lib/cjs/bidiServer/WebSocketServer.js.map +1 -1
  33. package/lib/cjs/bidiServer/index.js.map +1 -1
  34. package/lib/cjs/protocol-parser/generated/webdriver-bidi.d.ts +150 -150
  35. package/lib/cjs/utils/UrlPattern-browser.d.ts +24 -0
  36. package/lib/cjs/utils/UrlPattern-browser.js +26 -0
  37. package/lib/cjs/utils/UrlPattern-browser.js.map +1 -0
  38. package/lib/cjs/utils/UrlPattern.js +1 -0
  39. package/lib/cjs/utils/UrlPattern.js.map +1 -1
  40. package/lib/iife/mapperTab.js +238 -134
  41. package/lib/iife/mapperTab.js.map +1 -1
  42. package/package.json +23 -17
package/.browser CHANGED
@@ -1 +1 @@
1
- chrome@129.0.6632.0
1
+ chrome@130.0.6693.0
package/README.md CHANGED
@@ -452,6 +452,43 @@ new command, add it to `_processCommand`, write and call processor for it.
452
452
 
453
453
  ### Publish new `npm` release
454
454
 
455
+ #### Release branches
456
+
457
+ `chromium-bidi` maintains release branches corresponding to Chrome releases. The
458
+ branches are named using the following pattern: `releases/m$MAJOR_VERSION`.
459
+
460
+ The new release branch is created as soon a new major browser version is
461
+ published by the
462
+ [update-browser-version](https://github.com/GoogleChromeLabs/chromium-bidi/blob/main/.github/workflows/update-browser-version.yml)
463
+ job:
464
+
465
+ - the PR created by this job should be marked as a feature and it should cause the
466
+ major package version to be bumped.
467
+ - once the browser version is bumped, the commit preceding the version bump
468
+ should be used to create a release branch for major version pinned before the bump.
469
+
470
+ Changes that need to be cherry-picked into the release branch should be marked
471
+ as patches. Either major or minor version bumps are not allowed on the release
472
+ branch.
473
+
474
+ Example workflow:
475
+
476
+ ```mermaid
477
+ gitGraph
478
+ commit id: "feat: featA"
479
+ commit id: "release: v0.5.0"
480
+ branch release/m129
481
+ checkout main
482
+ commit id: "feat: roll Chrome to M130 from 129"
483
+ commit id: "release: v0.6.0"
484
+ commit id: "fix: for m129"
485
+ checkout release/m129
486
+ cherry-pick id: "fix: for m129"
487
+ commit id: "release: v0.5.1 "
488
+ ```
489
+
490
+ Currently, the releases from release branches are not automated.
491
+
455
492
  #### Automatic release
456
493
 
457
494
  We use [release-please](https://github.com/googleapis/release-please) to automate releases. When a release should be done, check for the release PR in our [pull requests](https://github.com/GoogleChromeLabs/chromium-bidi/pulls) and merge it.
@@ -485,8 +522,7 @@ Otherwise submit an issue for a project maintainer.
485
522
  2. Update the mapper version:
486
523
 
487
524
  ```shell
488
- third_party/bidimapper/pull.sh
489
- third_party/bidimapper/build.sh
525
+ third_party/bidimapper/roll_bidmapper
490
526
  ```
491
527
 
492
528
  3. Submit a CL with bug `chromedriver:4226`.
@@ -26,33 +26,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
26
26
  SOFTWARE.
27
27
 
28
28
 
29
- -------------------- DEPENDENCY DIVIDER --------------------
30
-
31
- Name: urlpattern-polyfill
32
- URL: https://github.com/kenchris/urlpattern-polyfill
33
- Version: 10.0.0
34
- License: MIT
35
-
36
- Copyright 2020 Intel Corporation
37
-
38
- Permission is hereby granted, free of charge, to any person obtaining a copy
39
- of this software and associated documentation files (the "Software"), to deal
40
- in the Software without restriction, including without limitation the rights
41
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
42
- copies of the Software, and to permit persons to whom the Software is
43
- furnished to do so, subject to the following conditions:
44
-
45
- The above copyright notice and this permission notice shall be included in
46
- all copies or substantial portions of the Software.
47
-
48
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
49
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
50
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
51
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
52
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
53
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
54
- THE SOFTWARE.
55
-
56
29
  -------------------- DEPENDENCY DIVIDER --------------------
57
30
 
58
31
  Name: zod
@@ -53,10 +53,10 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
53
53
  this.#browserProcessor = new BrowserProcessor_js_1.BrowserProcessor(browserCdpClient);
54
54
  this.#browsingContextProcessor = new BrowsingContextProcessor_js_1.BrowsingContextProcessor(browserCdpClient, browsingContextStorage, eventManager);
55
55
  this.#cdpProcessor = new CdpProcessor_js_1.CdpProcessor(browsingContextStorage, realmStorage, cdpConnection, browserCdpClient);
56
- this.#inputProcessor = new InputProcessor_js_1.InputProcessor(browsingContextStorage, realmStorage);
56
+ this.#inputProcessor = new InputProcessor_js_1.InputProcessor(browsingContextStorage);
57
57
  this.#networkProcessor = new NetworkProcessor_js_1.NetworkProcessor(browsingContextStorage, networkStorage);
58
58
  this.#permissionsProcessor = new PermissionsProcessor_js_1.PermissionsProcessor(browserCdpClient);
59
- this.#scriptProcessor = new ScriptProcessor_js_1.ScriptProcessor(browsingContextStorage, realmStorage, preloadScriptStorage, logger);
59
+ this.#scriptProcessor = new ScriptProcessor_js_1.ScriptProcessor(eventManager, browsingContextStorage, realmStorage, preloadScriptStorage, logger);
60
60
  this.#sessionProcessor = new SessionProcessor_js_1.SessionProcessor(eventManager, browserCdpClient, initConnection);
61
61
  this.#storageProcessor = new StorageProcessor_js_1.StorageProcessor(browserCdpClient, browsingContextStorage, logger);
62
62
  // keep-sorted end
@@ -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":"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"}
@@ -53,6 +53,7 @@ class CdpTargetManager {
53
53
  });
54
54
  cdpClient.on('Page.frameAttached', this.#handleFrameAttachedEvent.bind(this));
55
55
  cdpClient.on('Page.frameDetached', this.#handleFrameDetachedEvent.bind(this));
56
+ cdpClient.on('Page.frameSubtreeWillBeDetached', this.#handleFrameSubtreeWillBeDetached.bind(this));
56
57
  }
57
58
  #handleFrameAttachedEvent(params) {
58
59
  const parentBrowsingContext = this.#browsingContextStorage.findContext(params.parentFrameId);
@@ -68,7 +69,10 @@ class CdpTargetManager {
68
69
  if (params.reason === 'swap') {
69
70
  return;
70
71
  }
71
- this.#browsingContextStorage.findContext(params.frameId)?.dispose();
72
+ this.#browsingContextStorage.findContext(params.frameId)?.dispose(true);
73
+ }
74
+ #handleFrameSubtreeWillBeDetached(params) {
75
+ this.#browsingContextStorage.findContext(params.frameId)?.dispose(true);
72
76
  }
73
77
  #handleAttachedToTargetEvent(params, parentSessionCdpClient) {
74
78
  const { sessionId, targetInfo } = params;
@@ -180,7 +184,7 @@ class CdpTargetManager {
180
184
  }
181
185
  const context = this.#browsingContextStorage.findContextBySession(sessionId);
182
186
  if (context) {
183
- context.dispose();
187
+ context.dispose(true);
184
188
  return;
185
189
  }
186
190
  const worker = this.#workers.get(sessionId);
@@ -1 +1 @@
1
- {"version":3,"file":"CdpTargetManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/cdp/CdpTargetManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CdpTargetManager.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/cdp/CdpTargetManager.ts"],"names":[],"mappings":"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"}
@@ -33,13 +33,8 @@ export declare class BrowsingContextImpl {
33
33
  * @see https://html.spec.whatwg.org/multipage/document-sequences.html#navigable
34
34
  */
35
35
  get navigableId(): string | undefined;
36
- /**
37
- * Virtual navigation ID. Required, as CDP `loaderId` cannot be mapped 1:1 to all the
38
- * navigations (e.g. same document navigations). Updated after each navigation,
39
- * including same-document ones.
40
- */
41
- get virtualNavigationId(): string;
42
- dispose(): void;
36
+ get navigationId(): string;
37
+ dispose(emitContextDestroyed: boolean): void;
43
38
  /** Returns the ID of this context. */
44
39
  get id(): BrowsingContext.BrowsingContext;
45
40
  /** Returns the parent context ID. */
@@ -57,10 +57,21 @@ class BrowsingContextImpl {
57
57
  #previousViewport = { width: 0, height: 0 };
58
58
  // The URL of the navigation that is currently in progress. A workaround of the CDP
59
59
  // lacking URL for the pending navigation events, e.g. `Page.frameStartedLoading`.
60
- // Set on `Page.navigate`, `Page.reload` commands and on deprecated CDP event
61
- // `Page.frameScheduledNavigation`.
60
+ // Set on `Page.navigate`, `Page.reload` commands, on `Page.frameRequestedNavigation` or
61
+ // on a deprecated `Page.frameScheduledNavigation` event. The latest is required as the
62
+ // `Page.frameRequestedNavigation` event is not emitted for same-document navigations.
62
63
  #pendingNavigationUrl;
63
- #virtualNavigationId = (0, uuid_1.uuidv4)();
64
+ // Navigation ID is required, as CDP `loaderId` cannot be mapped 1:1 to all the
65
+ // navigations (e.g. same document navigations). Updated after each navigation,
66
+ // including same-document ones.
67
+ #navigationId = (0, uuid_1.uuidv4)();
68
+ // When a new navigation is started via `BrowsingContext.navigate` with `wait` set to
69
+ // `None`, the command result should have `navigation` value, but mapper does not have
70
+ // it yet. This value will be set to `navigationId` after next .
71
+ #pendingNavigationId;
72
+ // Set if there is a pending navigation initiated by `BrowsingContext.navigate` command.
73
+ // The promise is resolved when the navigation is finished or rejected when canceled.
74
+ #pendingCommandNavigation;
64
75
  #originalOpener;
65
76
  // Set when the user prompt is opened. Required to provide the type in closing event.
66
77
  #lastUserPromptType;
@@ -118,30 +129,28 @@ class BrowsingContextImpl {
118
129
  get navigableId() {
119
130
  return this.#loaderId;
120
131
  }
121
- /**
122
- * Virtual navigation ID. Required, as CDP `loaderId` cannot be mapped 1:1 to all the
123
- * navigations (e.g. same document navigations). Updated after each navigation,
124
- * including same-document ones.
125
- */
126
- get virtualNavigationId() {
127
- return this.#virtualNavigationId;
132
+ get navigationId() {
133
+ return this.#navigationId;
128
134
  }
129
- dispose() {
135
+ dispose(emitContextDestroyed) {
136
+ this.#pendingCommandNavigation?.reject(new protocol_js_1.UnknownErrorException('navigation canceled by context disposal'));
130
137
  this.#deleteAllChildren();
131
138
  this.#realmStorage.deleteRealms({
132
139
  browsingContextId: this.id,
133
140
  });
134
- // Remove context from the parent.
141
+ // Delete context from the parent.
135
142
  if (!this.isTopLevelContext()) {
136
143
  this.parent.#children.delete(this.id);
137
144
  }
138
145
  // Fail all ongoing navigations.
139
146
  this.#failLifecycleIfNotFinished();
140
- this.#eventManager.registerEvent({
141
- type: 'event',
142
- method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.ContextDestroyed,
143
- params: this.serializeToBidiValue(),
144
- }, this.id);
147
+ if (emitContextDestroyed) {
148
+ this.#eventManager.registerEvent({
149
+ type: 'event',
150
+ method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.ContextDestroyed,
151
+ params: this.serializeToBidiValue(),
152
+ }, this.id);
153
+ }
145
154
  this.#browsingContextStorage.deleteContextById(this.id);
146
155
  }
147
156
  /** Returns the ID of this context. */
@@ -201,8 +210,8 @@ class BrowsingContextImpl {
201
210
  addChild(childId) {
202
211
  this.#children.add(childId);
203
212
  }
204
- #deleteAllChildren() {
205
- this.directChildren.map((child) => child.dispose());
213
+ #deleteAllChildren(emitContextDestroyed = false) {
214
+ this.directChildren.map((child) => child.dispose(emitContextDestroyed));
206
215
  }
207
216
  get cdpTarget() {
208
217
  return this.#cdpTarget;
@@ -275,7 +284,7 @@ class BrowsingContextImpl {
275
284
  this.#pendingNavigationUrl = undefined;
276
285
  // At the point the page is initialized, all the nested iframes from the
277
286
  // previous page are detached and realms are destroyed.
278
- // Remove children from context.
287
+ // Delete children from context.
279
288
  this.#deleteAllChildren();
280
289
  });
281
290
  this.#cdpTarget.cdpClient.on('Page.navigatedWithinDocument', (params) => {
@@ -291,7 +300,7 @@ class BrowsingContextImpl {
291
300
  method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.FragmentNavigated,
292
301
  params: {
293
302
  context: this.id,
294
- navigation: this.#virtualNavigationId,
303
+ navigation: this.#navigationId,
295
304
  timestamp,
296
305
  url: this.#url,
297
306
  },
@@ -301,14 +310,16 @@ class BrowsingContextImpl {
301
310
  if (this.id !== params.frameId) {
302
311
  return;
303
312
  }
304
- // Generate a new virtual navigation id.
305
- this.#virtualNavigationId = (0, uuid_1.uuidv4)();
313
+ // Use `pendingNavigationId` if navigation initiated by BiDi
314
+ // `BrowsingContext.navigate` or generate a new navigation id.
315
+ this.#navigationId = this.#pendingNavigationId ?? (0, uuid_1.uuidv4)();
316
+ this.#pendingNavigationId = undefined;
306
317
  this.#eventManager.registerEvent({
307
318
  type: 'event',
308
319
  method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.NavigationStarted,
309
320
  params: {
310
321
  context: this.id,
311
- navigation: this.#virtualNavigationId,
322
+ navigation: this.#navigationId,
312
323
  timestamp: BrowsingContextImpl.getTimestamp(),
313
324
  // The URL of the navigation that is currently in progress. Although the URL
314
325
  // is not yet known in case of user-initiated navigations, it is possible to
@@ -325,6 +336,14 @@ class BrowsingContextImpl {
325
336
  }
326
337
  this.#pendingNavigationUrl = params.url;
327
338
  });
339
+ this.#cdpTarget.cdpClient.on('Page.frameRequestedNavigation', (params) => {
340
+ if (this.id !== params.frameId) {
341
+ return;
342
+ }
343
+ // If there is a pending navigation, reject it.
344
+ this.#pendingCommandNavigation?.reject(new protocol_js_1.UnknownErrorException(`navigation canceled, as new navigation is requested by ${params.reason}`));
345
+ this.#pendingNavigationUrl = params.url;
346
+ });
328
347
  this.#cdpTarget.cdpClient.on('Page.lifecycleEvent', (params) => {
329
348
  if (this.id !== params.frameId) {
330
349
  return;
@@ -355,7 +374,7 @@ class BrowsingContextImpl {
355
374
  method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.DomContentLoaded,
356
375
  params: {
357
376
  context: this.id,
358
- navigation: this.#virtualNavigationId,
377
+ navigation: this.#navigationId,
359
378
  timestamp,
360
379
  url: this.#url,
361
380
  },
@@ -368,7 +387,7 @@ class BrowsingContextImpl {
368
387
  method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.Load,
369
388
  params: {
370
389
  context: this.id,
371
- navigation: this.#virtualNavigationId,
390
+ navigation: this.#navigationId,
372
391
  timestamp,
373
392
  url: this.#url,
374
393
  },
@@ -523,8 +542,8 @@ class BrowsingContextImpl {
523
542
  }
524
543
  }
525
544
  #documentChanged(loaderId) {
526
- // Same document navigation.
527
545
  if (loaderId === undefined || this.#loaderId === loaderId) {
546
+ // Same document navigation. Document didn't change.
528
547
  if (this.#navigation.withinDocument.isFinished) {
529
548
  this.#navigation.withinDocument = new Deferred_js_1.Deferred();
530
549
  }
@@ -533,8 +552,11 @@ class BrowsingContextImpl {
533
552
  }
534
553
  return;
535
554
  }
555
+ // Document changed.
536
556
  this.#resetLifecycleIfFinished();
537
557
  this.#loaderId = loaderId;
558
+ // Delete all child iframes and notify about top level destruction.
559
+ this.#deleteAllChildren(true);
538
560
  }
539
561
  #resetLifecycleIfFinished() {
540
562
  if (this.#lifecycle.DOMContentLoaded.isFinished) {
@@ -565,61 +587,83 @@ class BrowsingContextImpl {
565
587
  catch {
566
588
  throw new protocol_js_1.InvalidArgumentException(`Invalid URL: ${url}`);
567
589
  }
590
+ this.#pendingCommandNavigation?.reject(new protocol_js_1.UnknownErrorException('navigation canceled by concurrent navigation'));
568
591
  await this.targetUnblockedOrThrow();
569
592
  // Set the pending navigation URL to provide it in `browsingContext.navigationStarted`
570
593
  // event.
571
594
  // TODO: detect navigation start not from CDP. Check if
572
595
  // `Page.frameRequestedNavigation` can be used for this purpose.
573
596
  this.#pendingNavigationUrl = url;
574
- // TODO: handle loading errors.
575
- const cdpNavigateResult = await this.#cdpTarget.cdpClient.sendCommand('Page.navigate', {
576
- url,
577
- frameId: this.id,
578
- });
579
- if (cdpNavigateResult.errorText) {
580
- // If navigation failed, no pending navigation is left.
581
- this.#pendingNavigationUrl = undefined;
582
- this.#eventManager.registerEvent({
583
- type: 'event',
584
- method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.NavigationFailed,
585
- params: {
586
- context: this.id,
587
- navigation: this.#virtualNavigationId,
588
- timestamp: BrowsingContextImpl.getTimestamp(),
589
- url,
590
- },
591
- }, this.id);
592
- throw new protocol_js_1.UnknownErrorException(cdpNavigateResult.errorText);
597
+ const navigationId = (0, uuid_1.uuidv4)();
598
+ this.#pendingNavigationId = navigationId;
599
+ this.#pendingCommandNavigation = new Deferred_js_1.Deferred();
600
+ // Navigate and wait for the result. If the navigation fails, the error event is
601
+ // emitted and the promise is rejected.
602
+ const cdpNavigatePromise = (async () => {
603
+ const cdpNavigateResult = await this.#cdpTarget.cdpClient.sendCommand('Page.navigate', {
604
+ url,
605
+ frameId: this.id,
606
+ });
607
+ if (cdpNavigateResult.errorText) {
608
+ // If navigation failed, no pending navigation is left.
609
+ this.#pendingNavigationUrl = undefined;
610
+ this.#eventManager.registerEvent({
611
+ type: 'event',
612
+ method: protocol_js_1.ChromiumBidi.BrowsingContext.EventNames.NavigationFailed,
613
+ params: {
614
+ context: this.id,
615
+ navigation: navigationId,
616
+ timestamp: BrowsingContextImpl.getTimestamp(),
617
+ url,
618
+ },
619
+ }, this.id);
620
+ throw new protocol_js_1.UnknownErrorException(cdpNavigateResult.errorText);
621
+ }
622
+ this.#documentChanged(cdpNavigateResult.loaderId);
623
+ return cdpNavigateResult;
624
+ })();
625
+ if (wait === "none" /* BrowsingContext.ReadinessState.None */) {
626
+ // Do not wait for the result of the navigation promise.
627
+ this.#pendingCommandNavigation.resolve();
628
+ this.#pendingCommandNavigation = undefined;
629
+ return {
630
+ navigation: navigationId,
631
+ url,
632
+ };
633
+ }
634
+ const cdpNavigateResult = await cdpNavigatePromise;
635
+ // Wait for either the navigation is finished or canceled by another navigation.
636
+ await Promise.race([
637
+ // No `loaderId` means same-document navigation.
638
+ this.#waitNavigation(wait, cdpNavigateResult.loaderId === undefined),
639
+ // Throw an error if the navigation is canceled.
640
+ this.#pendingCommandNavigation,
641
+ ]);
642
+ this.#pendingCommandNavigation.resolve();
643
+ this.#pendingCommandNavigation = undefined;
644
+ return {
645
+ navigation: navigationId,
646
+ // Url can change due to redirect get the latest one.
647
+ url: this.#url,
648
+ };
649
+ }
650
+ async #waitNavigation(wait, withinDocument) {
651
+ if (withinDocument) {
652
+ await this.#navigation.withinDocument;
653
+ return;
593
654
  }
594
- this.#documentChanged(cdpNavigateResult.loaderId);
595
655
  switch (wait) {
596
656
  case "none" /* BrowsingContext.ReadinessState.None */:
597
- break;
657
+ return;
598
658
  case "interactive" /* BrowsingContext.ReadinessState.Interactive */:
599
- // No `loaderId` means same-document navigation.
600
- if (cdpNavigateResult.loaderId === undefined) {
601
- await this.#navigation.withinDocument;
602
- }
603
- else {
604
- await this.#lifecycle.DOMContentLoaded;
605
- }
606
- break;
659
+ await this.#lifecycle.DOMContentLoaded;
660
+ return;
607
661
  case "complete" /* BrowsingContext.ReadinessState.Complete */:
608
- // No `loaderId` means same-document navigation.
609
- if (cdpNavigateResult.loaderId === undefined) {
610
- await this.#navigation.withinDocument;
611
- }
612
- else {
613
- await this.#lifecycle.load;
614
- }
615
- break;
662
+ await this.#lifecycle.load;
663
+ return;
616
664
  }
617
- return {
618
- navigation: this.#virtualNavigationId,
619
- // Url can change due to redirect get the latest one.
620
- url: wait === "none" /* BrowsingContext.ReadinessState.None */ ? url : this.#url,
621
- };
622
665
  }
666
+ // TODO: support concurrent navigations analogous to `navigate`.
623
667
  async reload(ignoreCache, wait) {
624
668
  await this.targetUnblockedOrThrow();
625
669
  this.#resetLifecycleIfFinished();
@@ -637,7 +681,7 @@ class BrowsingContextImpl {
637
681
  break;
638
682
  }
639
683
  return {
640
- navigation: this.#virtualNavigationId,
684
+ navigation: this.#navigationId,
641
685
  url: this.url,
642
686
  };
643
687
  }
@@ -910,7 +954,7 @@ class BrowsingContextImpl {
910
954
  }
911
955
  return [...element.querySelectorAll(cssSelector)];
912
956
  };
913
- startNodes = startNodes.length > 0 ? startNodes : [document.body];
957
+ startNodes = startNodes.length > 0 ? startNodes : [document];
914
958
  const returnedNodes = startNodes
915
959
  .map((startNode) =>
916
960
  // TODO: stop search early if `maxNodeCount` is reached.
@@ -943,7 +987,7 @@ class BrowsingContextImpl {
943
987
  }
944
988
  return returnedNodes;
945
989
  };
946
- startNodes = startNodes.length > 0 ? startNodes : [document.body];
990
+ startNodes = startNodes.length > 0 ? startNodes : [document];
947
991
  const returnedNodes = startNodes
948
992
  .map((startNode) =>
949
993
  // TODO: stop search early if `maxNodeCount` is reached.
@@ -1121,7 +1165,10 @@ class BrowsingContextImpl {
1121
1165
  collect(childNodes, selector);
1122
1166
  }
1123
1167
  }
1124
- startNodes = startNodes.length > 0 ? startNodes : [document.body];
1168
+ startNodes =
1169
+ startNodes.length > 0
1170
+ ? startNodes
1171
+ : Array.from(document.documentElement.children).filter((c) => c instanceof HTMLElement);
1125
1172
  collect(startNodes, {
1126
1173
  role,
1127
1174
  name,