chromium-bidi 0.10.0 → 0.10.2

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 (142) hide show
  1. package/.browser +1 -1
  2. package/README.md +89 -11
  3. package/lib/cjs/bidiMapper/BidiNoOpParser.js +10 -10
  4. package/lib/cjs/bidiMapper/CommandProcessor.js +32 -16
  5. package/lib/cjs/bidiMapper/CommandProcessor.js.map +1 -1
  6. package/lib/cjs/bidiMapper/modules/browser/BrowserProcessor.d.ts +3 -1
  7. package/lib/cjs/bidiMapper/modules/browser/BrowserProcessor.js +32 -1
  8. package/lib/cjs/bidiMapper/modules/browser/BrowserProcessor.js.map +1 -1
  9. package/lib/cjs/bidiMapper/modules/cdp/CdpTarget.d.ts +4 -2
  10. package/lib/cjs/bidiMapper/modules/cdp/CdpTarget.js +38 -43
  11. package/lib/cjs/bidiMapper/modules/cdp/CdpTarget.js.map +1 -1
  12. package/lib/cjs/bidiMapper/modules/cdp/TargetEvents.d.ts +17 -0
  13. package/lib/cjs/bidiMapper/modules/cdp/TargetEvents.js +20 -0
  14. package/lib/cjs/bidiMapper/modules/cdp/TargetEvents.js.map +1 -0
  15. package/lib/cjs/bidiMapper/modules/context/BrowsingContextImpl.d.ts +0 -1
  16. package/lib/cjs/bidiMapper/modules/context/BrowsingContextImpl.js +72 -162
  17. package/lib/cjs/bidiMapper/modules/context/BrowsingContextImpl.js.map +1 -1
  18. package/lib/cjs/bidiMapper/modules/context/NavigationTracker.d.ts +32 -0
  19. package/lib/cjs/bidiMapper/modules/context/NavigationTracker.js +219 -0
  20. package/lib/cjs/bidiMapper/modules/context/NavigationTracker.js.map +1 -0
  21. package/lib/cjs/bidiMapper/modules/input/ActionDispatcher.js +8 -15
  22. package/lib/cjs/bidiMapper/modules/input/ActionDispatcher.js.map +1 -1
  23. package/lib/cjs/bidiMapper/modules/input/InputSource.d.ts +6 -6
  24. package/lib/cjs/bidiMapper/modules/network/NetworkProcessor.d.ts +3 -2
  25. package/lib/cjs/bidiMapper/modules/network/NetworkProcessor.js +110 -45
  26. package/lib/cjs/bidiMapper/modules/network/NetworkProcessor.js.map +1 -1
  27. package/lib/cjs/bidiMapper/modules/network/NetworkRequest.js +12 -4
  28. package/lib/cjs/bidiMapper/modules/network/NetworkRequest.js.map +1 -1
  29. package/lib/cjs/bidiMapper/modules/network/NetworkStorage.d.ts +3 -2
  30. package/lib/cjs/bidiMapper/modules/network/NetworkStorage.js.map +1 -1
  31. package/lib/cjs/bidiMapper/modules/network/NetworkUtils.d.ts +9 -2
  32. package/lib/cjs/bidiMapper/modules/network/NetworkUtils.js +25 -15
  33. package/lib/cjs/bidiMapper/modules/network/NetworkUtils.js.map +1 -1
  34. package/lib/cjs/bidiMapper/modules/session/EventManager.js +2 -2
  35. package/lib/cjs/bidiMapper/modules/session/SubscriptionManager.js +14 -1
  36. package/lib/cjs/bidiMapper/modules/session/SubscriptionManager.js.map +1 -1
  37. package/lib/cjs/bidiMapper/modules/session/events.d.ts +5 -0
  38. package/lib/cjs/bidiMapper/modules/session/events.js +12 -1
  39. package/lib/cjs/bidiMapper/modules/session/events.js.map +1 -1
  40. package/lib/cjs/bidiMapper/modules/storage/StorageProcessor.d.ts +1 -1
  41. package/lib/cjs/bidiMapper/modules/storage/StorageProcessor.js +1 -1
  42. package/lib/cjs/bidiTab/BidiParser.js +27 -17
  43. package/lib/cjs/bidiTab/BidiParser.js.map +1 -1
  44. package/lib/cjs/cdp/CdpClient.d.ts +1 -1
  45. package/lib/cjs/cdp/CdpClient.js +1 -1
  46. package/lib/cjs/cdp/CdpClient.js.map +1 -1
  47. package/lib/cjs/protocol/ErrorResponse.d.ts +6 -0
  48. package/lib/cjs/protocol/ErrorResponse.js +13 -1
  49. package/lib/cjs/protocol/ErrorResponse.js.map +1 -1
  50. package/lib/cjs/protocol/cdp.d.ts +22 -6
  51. package/lib/cjs/protocol/chromium-bidi.d.ts +2 -1
  52. package/lib/cjs/protocol/chromium-bidi.js +2 -1
  53. package/lib/cjs/protocol/chromium-bidi.js.map +1 -1
  54. package/lib/cjs/protocol/generated/webdriver-bidi.d.ts +62 -5
  55. package/lib/cjs/protocol/protocol.js +17 -7
  56. package/lib/cjs/protocol/protocol.js.map +1 -1
  57. package/lib/cjs/protocol-parser/generated/webdriver-bidi.d.ts +1117 -116
  58. package/lib/cjs/protocol-parser/generated/webdriver-bidi.js +68 -4
  59. package/lib/cjs/protocol-parser/generated/webdriver-bidi.js.map +1 -1
  60. package/lib/cjs/protocol-parser/protocol-parser.js +17 -7
  61. package/lib/cjs/protocol-parser/protocol-parser.js.map +1 -1
  62. package/lib/cjs/utils/Deferred.d.ts +1 -1
  63. package/lib/cjs/utils/Deferred.js.map +1 -1
  64. package/lib/cjs/utils/UrlHelpers.d.ts +8 -0
  65. package/lib/cjs/utils/UrlHelpers.js +52 -0
  66. package/lib/cjs/utils/UrlHelpers.js.map +1 -0
  67. package/lib/{esm/utils/UrlPattern-browser.js → cjs/utils/time.d.ts} +1 -6
  68. package/lib/cjs/utils/{UrlPattern-browser.js → time.js} +8 -6
  69. package/lib/cjs/utils/time.js.map +1 -0
  70. package/lib/esm/bidiMapper/BidiNoOpParser.js +10 -10
  71. package/lib/esm/bidiMapper/CommandProcessor.js +32 -16
  72. package/lib/esm/bidiMapper/CommandProcessor.js.map +1 -1
  73. package/lib/esm/bidiMapper/modules/browser/BrowserProcessor.d.ts +3 -1
  74. package/lib/esm/bidiMapper/modules/browser/BrowserProcessor.js +32 -1
  75. package/lib/esm/bidiMapper/modules/browser/BrowserProcessor.js.map +1 -1
  76. package/lib/esm/bidiMapper/modules/cdp/CdpTarget.d.ts +4 -2
  77. package/lib/esm/bidiMapper/modules/cdp/CdpTarget.js +38 -43
  78. package/lib/esm/bidiMapper/modules/cdp/CdpTarget.js.map +1 -1
  79. package/lib/esm/bidiMapper/modules/cdp/TargetEvents.d.ts +17 -0
  80. package/lib/esm/bidiMapper/modules/cdp/TargetEvents.js +19 -0
  81. package/lib/esm/bidiMapper/modules/cdp/TargetEvents.js.map +1 -0
  82. package/lib/esm/bidiMapper/modules/context/BrowsingContextImpl.d.ts +0 -1
  83. package/lib/esm/bidiMapper/modules/context/BrowsingContextImpl.js +72 -162
  84. package/lib/esm/bidiMapper/modules/context/BrowsingContextImpl.js.map +1 -1
  85. package/lib/esm/bidiMapper/modules/context/NavigationTracker.d.ts +32 -0
  86. package/lib/esm/bidiMapper/modules/context/NavigationTracker.js +215 -0
  87. package/lib/esm/bidiMapper/modules/context/NavigationTracker.js.map +1 -0
  88. package/lib/esm/bidiMapper/modules/input/ActionDispatcher.js +8 -15
  89. package/lib/esm/bidiMapper/modules/input/ActionDispatcher.js.map +1 -1
  90. package/lib/esm/bidiMapper/modules/input/InputSource.d.ts +6 -6
  91. package/lib/esm/bidiMapper/modules/network/NetworkProcessor.d.ts +3 -2
  92. package/lib/esm/bidiMapper/modules/network/NetworkProcessor.js +110 -45
  93. package/lib/esm/bidiMapper/modules/network/NetworkProcessor.js.map +1 -1
  94. package/lib/esm/bidiMapper/modules/network/NetworkRequest.js +12 -4
  95. package/lib/esm/bidiMapper/modules/network/NetworkRequest.js.map +1 -1
  96. package/lib/esm/bidiMapper/modules/network/NetworkStorage.d.ts +3 -2
  97. package/lib/esm/bidiMapper/modules/network/NetworkStorage.js.map +1 -1
  98. package/lib/esm/bidiMapper/modules/network/NetworkUtils.d.ts +9 -2
  99. package/lib/esm/bidiMapper/modules/network/NetworkUtils.js +25 -15
  100. package/lib/esm/bidiMapper/modules/network/NetworkUtils.js.map +1 -1
  101. package/lib/esm/bidiMapper/modules/session/EventManager.js +2 -2
  102. package/lib/esm/bidiMapper/modules/session/SubscriptionManager.js +15 -2
  103. package/lib/esm/bidiMapper/modules/session/SubscriptionManager.js.map +1 -1
  104. package/lib/esm/bidiMapper/modules/session/events.d.ts +5 -0
  105. package/lib/esm/bidiMapper/modules/session/events.js +11 -1
  106. package/lib/esm/bidiMapper/modules/session/events.js.map +1 -1
  107. package/lib/esm/bidiMapper/modules/storage/StorageProcessor.d.ts +1 -1
  108. package/lib/esm/bidiMapper/modules/storage/StorageProcessor.js +1 -1
  109. package/lib/esm/bidiTab/BidiParser.js +10 -10
  110. package/lib/esm/cdp/CdpClient.d.ts +1 -1
  111. package/lib/esm/cdp/CdpClient.js +1 -1
  112. package/lib/esm/cdp/CdpClient.js.map +1 -1
  113. package/lib/esm/protocol/ErrorResponse.d.ts +6 -0
  114. package/lib/esm/protocol/ErrorResponse.js +10 -0
  115. package/lib/esm/protocol/ErrorResponse.js.map +1 -1
  116. package/lib/esm/protocol/cdp.d.ts +22 -6
  117. package/lib/esm/protocol/chromium-bidi.d.ts +2 -1
  118. package/lib/esm/protocol/chromium-bidi.js +2 -1
  119. package/lib/esm/protocol/chromium-bidi.js.map +1 -1
  120. package/lib/esm/protocol/generated/webdriver-bidi.d.ts +62 -5
  121. package/lib/esm/protocol-parser/generated/webdriver-bidi.d.ts +1117 -116
  122. package/lib/esm/protocol-parser/generated/webdriver-bidi.js +67 -3
  123. package/lib/esm/protocol-parser/generated/webdriver-bidi.js.map +1 -1
  124. package/lib/esm/utils/Deferred.d.ts +1 -1
  125. package/lib/esm/utils/Deferred.js.map +1 -1
  126. package/lib/esm/utils/UrlHelpers.d.ts +8 -0
  127. package/lib/esm/utils/UrlHelpers.js +49 -0
  128. package/lib/esm/utils/UrlHelpers.js.map +1 -0
  129. package/lib/esm/utils/{UrlPattern.d.ts → time.d.ts} +2 -4
  130. package/lib/{cjs/utils/UrlPattern-browser.d.ts → esm/utils/time.js} +8 -8
  131. package/lib/esm/utils/time.js.map +1 -0
  132. package/lib/iife/mapperTab.js +1426 -1038
  133. package/lib/iife/mapperTab.js.map +1 -1
  134. package/package.json +16 -18
  135. package/lib/cjs/utils/UrlPattern-browser.js.map +0 -1
  136. package/lib/cjs/utils/UrlPattern.d.ts +0 -19
  137. package/lib/cjs/utils/UrlPattern.js +0 -29
  138. package/lib/cjs/utils/UrlPattern.js.map +0 -1
  139. package/lib/esm/utils/UrlPattern-browser.d.ts +0 -24
  140. package/lib/esm/utils/UrlPattern-browser.js.map +0 -1
  141. package/lib/esm/utils/UrlPattern.js +0 -26
  142. package/lib/esm/utils/UrlPattern.js.map +0 -1
package/.browser CHANGED
@@ -1 +1 @@
1
- chrome@133.0.6835.0
1
+ chrome@133.0.6857.0
package/README.md CHANGED
@@ -21,11 +21,11 @@ at [WPT WebDriver BiDi status](https://wpt.fyi/results/webdriver/tests/bidi).
21
21
 
22
22
  **"BiDi+"** is an extension of the WebDriver BiDi protocol. In addition to [WebDriver BiDi](https://w3c.github.io/webdriver-bidi/) it has:
23
23
 
24
- ### Command `cdp.sendCommand`
24
+ ### Command `goog:cdp.sendCommand`
25
25
 
26
26
  ```cddl
27
27
  CdpSendCommandCommand = {
28
- method: "cdp.sendCommand",
28
+ method: "goog:cdp.sendCommand",
29
29
  params: CdpSendCommandParameters,
30
30
  }
31
31
 
@@ -45,11 +45,11 @@ The command runs the
45
45
  described [CDP command](https://chromedevtools.github.io/devtools-protocol)
46
46
  and returns the result.
47
47
 
48
- ### Command `cdp.getSession`
48
+ ### Command `goog:cdp.getSession`
49
49
 
50
50
  ```cddl
51
51
  CdpGetSessionCommand = {
52
- method: "cdp.getSession",
52
+ method: "goog:cdp.getSession",
53
53
  params: CdpGetSessionParameters,
54
54
  }
55
55
 
@@ -64,11 +64,11 @@ CdpGetSessionResult = {
64
64
 
65
65
  The command returns the default CDP session for the selected browsing context.
66
66
 
67
- ### Command `cdp.resolveRealm`
67
+ ### Command `goog:cdp.resolveRealm`
68
68
 
69
69
  ```cddl
70
70
  CdpResolveRealmCommand = {
71
- method: "cdp.resolveRealm",
71
+ method: "goog:cdp.resolveRealm",
72
72
  params: CdpResolveRealmParameters,
73
73
  }
74
74
 
@@ -83,11 +83,11 @@ CdpResolveRealmResult = {
83
83
 
84
84
  The command returns resolves a BiDi realm to its CDP execution context ID.
85
85
 
86
- ### Events `cdp`
86
+ ### Events `goog:cdp`
87
87
 
88
88
  ```cddl
89
89
  CdpEventReceivedEvent = {
90
- method: "cdp.<CDP Event Name>",
90
+ method: "goog:cdp.<CDP Event Name>",
91
91
  params: CdpEventReceivedParameters,
92
92
  }
93
93
 
@@ -252,8 +252,13 @@ npm run unit
252
252
 
253
253
  ### E2E tests
254
254
 
255
- The E2E tests are written using Python, in order to learn how to eventually do
256
- this in web-platform-tests.
255
+ The e2e tests serve the following purposes:
256
+
257
+ 1. Brief checks of the scenarios (the detailed check is done in WPT)
258
+ 2. Test Chromium-specific behavior nuances
259
+ 3. Add a simple setup for engaging the specific command
260
+
261
+ The E2E tests are written using Python, in order to more-or-less align with the web-platform-tests.
257
262
 
258
263
  #### Installation
259
264
 
@@ -306,7 +311,7 @@ HEADLESS=new npm run e2e
306
311
  #### Updating snapshots
307
312
 
308
313
  ```sh
309
- npm run e2e -- --snapshot-update
314
+ npm run e2e -- --snapshot-update true
310
315
  ```
311
316
 
312
317
  See https://github.com/tophat/syrupy for more information.
@@ -540,3 +545,76 @@ third_party/bidimapper/roll_bidmapper
540
545
  Commit the changes (if any), and upload the new patch to the CL.
541
546
 
542
547
  5. Add appropriate reviewers or comment the CL link on the PR.
548
+
549
+ ## Adding new command
550
+
551
+ Want to add a shiny new command to WebDriver BiDi for Chromium? Here's the playbook:
552
+
553
+ ### Prerequisites
554
+
555
+ #### Specification
556
+
557
+ The WebDriver BiDi [module](https://w3c.github.io/webdriver-bidi/#protocol-modules), [command](https://w3c.github.io/webdriver-bidi/#commands), or [event](https://w3c.github.io/webdriver-bidi/#events) must be specified either in the [WebDriver BiDi specification](https://w3c.github.io/webdriver-bidi) or as an extension in a separate specification (e.g., the [Permissions specification](https://www.w3.org/TR/permissions/#automation-webdriver-bidi)). The specification should include the command's type definitions in valid [CDDL](https://datatracker.ietf.org/doc/html/rfc8610) format.
558
+
559
+ #### WPT wdspec tests
560
+
561
+ You'll need tests to prove your command works as expected. These tests should be written using [WPT wdspec](https://web-platform-tests.org/writing-tests/wdspec.html) and submitted along with the spec itself. Don't forget to roll the WPT repo into the Mapper ([dependabot](https://github.com/GoogleChromeLabs/chromium-bidi/network/updates/10663151/jobs) can help, and you will likely need to tweak some expectations afterward).
562
+
563
+ #### CDP implementation
564
+
565
+ Make sure Chromium already has the CDP methods your command will rely on.
566
+
567
+ ### Update CDDL types
568
+
569
+ 1. If your command lives in a separate spec, add a link to that spec in the ["Build WebDriverBiDi types"](https://github.com/GoogleChromeLabs/chromium-bidi/blob/0f971303281aba1910786035facc5eb54a833232/.github/workflows/update-bidi-types.yml#L27) GitHub action (check out the ["bluetooth" pull request](https://github.com/GoogleChromeLabs/chromium-bidi/pull/2585) for an example).
570
+ 2. Run the ["Update WebdriverBiDi types"](https://github.com/GoogleChromeLabs/chromium-bidi/actions/workflows/update-bidi-types.yml) GitHub action. This will create a pull request with your new types. If you added a command, this PR will have a failing check complaining about a non-exhaustive switch statement:
571
+ > error: Switch is not exhaustive. Cases not matched: "{NEW_COMMAND_NAME}" @typescript-eslint/switch-exhaustiveness-check
572
+ 3. Update the created pull request. Add your new command to [`CommandProcessor.#processCommand`](https://github.com/GoogleChromeLabs/chromium-bidi/blob/0f971303281aba1910786035facc5eb54a833232/src/bidiMapper/CommandProcessor.ts#L140). For now, just have it throw an UnknownErrorException (see the [example](https://github.com/GoogleChromeLabs/chromium-bidi/pull/2647/files#diff-7f06ce28b8514fd75b759d217bff9f5a471b657bcf78bd893cc291c7945c1cacR169) for how to do this).
573
+
574
+ ```typescript
575
+ case '{NEW_COMMAND_NAME}':
576
+ throw new UnknownErrorException(
577
+ `Method ${command.method} is not implemented.`,
578
+ );
579
+ ```
580
+
581
+ 4. Merge it! Standard PR process: create, review, merge.
582
+
583
+ ### Implement the new command
584
+
585
+ [`CommandProcessor.#processCommand`](https://github.com/GoogleChromeLabs/chromium-bidi/blob/0f971303281aba1910786035facc5eb54a833232/src/bidiMapper/CommandProcessor.ts#L140) handles parsing parameters and running your command.
586
+
587
+ #### (only if the new command has non-empty parameters) parse command parameters
588
+
589
+ If your command has parameters, update the [`BidiCommandParameterParser`](https://github.com/GoogleChromeLabs/chromium-bidi/blob/0f971303281aba1910786035facc5eb54a833232/src/bidiMapper/BidiParser.ts#L31) and implement the parsing logic in [`BidiNoOpParser`](https://github.com/GoogleChromeLabs/chromium-bidi/blob/0f971303281aba1910786035facc5eb54a833232/src/bidiMapper/BidiNoOpParser.ts#L209), [`BidiParser`](https://github.com/GoogleChromeLabs/chromium-bidi/blob/0f971303281aba1910786035facc5eb54a833232/src/bidiTab/BidiParser.ts#L182) and [`protocol-parser`](https://github.com/GoogleChromeLabs/chromium-bidi/blob/0f971303281aba1910786035facc5eb54a833232/src/protocol-parser/protocol-parser.ts#L386). Look at the [example](https://github.com/GoogleChromeLabs/chromium-bidi/blob/0f971303281aba1910786035facc5eb54a833232/src/bidiMapper/BidiParser.ts#L97) for guidance.
590
+
591
+ #### Implement the new command
592
+
593
+ Write the core logic for your command in the appropriate domain processor. Again, [example](https://github.com/GoogleChromeLabs/chromium-bidi/blob/0f971303281aba1910786035facc5eb54a833232/src/bidiMapper/modules/permissions/PermissionsProcessor.ts#L32) is your friend.
594
+
595
+ #### Call the module processor's method
596
+
597
+ Call your new module processor method from `CommandProcessor.#processCommand`, passing in the parsed parameters. [Example](https://github.com/GoogleChromeLabs/chromium-bidi/blob/0f971303281aba1910786035facc5eb54a833232/src/bidiMapper/CommandProcessor.ts#L313).
598
+
599
+ #### Add e2e tests
600
+
601
+ Write end-to-end tests for your command, including the happy path and any edge cases that might trip things up. Focus on testing the code in the mapper.
602
+
603
+ #### Update WPT expectations
604
+
605
+ Your WPT tests will probably fail now.
606
+
607
+ > Tests with unexpected results: PASS [expected FAIL] ...
608
+
609
+ Update the expectations in a draft PR with the "update-expectations" label. This will trigger an automated PR "test: update the expectations for PR" that you'll need to merge to your branch.
610
+
611
+ #### Merge it!
612
+
613
+ Mark your PR as ready, get it reviewed, and merge it in.
614
+
615
+ ### Roll in ChromeDriver
616
+
617
+ This bit usually involves the core devs:
618
+
619
+ 1. [Release](#automatic-release) your changes.
620
+ 2. [Roll the changes into ChromeDriver](#roll-into-chromium).
@@ -18,7 +18,7 @@
18
18
  Object.defineProperty(exports, "__esModule", { value: true });
19
19
  exports.BidiNoOpParser = void 0;
20
20
  class BidiNoOpParser {
21
- // Bluetooth domain
21
+ // Bluetooth module
22
22
  // keep-sorted start block=yes
23
23
  parseHandleRequestDevicePromptParams(params) {
24
24
  return params;
@@ -33,13 +33,13 @@ class BidiNoOpParser {
33
33
  return params;
34
34
  }
35
35
  // keep-sorted end
36
- // Browser domain
36
+ // Browser module
37
37
  // keep-sorted start block=yes
38
38
  parseRemoveUserContextParams(params) {
39
39
  return params;
40
40
  }
41
41
  // keep-sorted end
42
- // Browsing Context domain
42
+ // Browsing Context module
43
43
  // keep-sorted start block=yes
44
44
  parseActivateParams(params) {
45
45
  return params;
@@ -78,7 +78,7 @@ class BidiNoOpParser {
78
78
  return params;
79
79
  }
80
80
  // keep-sorted end
81
- // CDP domain
81
+ // CDP module
82
82
  // keep-sorted start block=yes
83
83
  parseGetSessionParams(params) {
84
84
  return params;
@@ -90,7 +90,7 @@ class BidiNoOpParser {
90
90
  return params;
91
91
  }
92
92
  // keep-sorted end
93
- // Script domain
93
+ // Script module
94
94
  // keep-sorted start block=yes
95
95
  parseAddPreloadScriptParams(params) {
96
96
  return params;
@@ -111,7 +111,7 @@ class BidiNoOpParser {
111
111
  return params;
112
112
  }
113
113
  // keep-sorted end
114
- // Input domain
114
+ // Input module
115
115
  // keep-sorted start block=yes
116
116
  parsePerformActionsParams(params) {
117
117
  return params;
@@ -123,7 +123,7 @@ class BidiNoOpParser {
123
123
  return params;
124
124
  }
125
125
  // keep-sorted end
126
- // Network domain
126
+ // Network module
127
127
  // keep-sorted start block=yes
128
128
  parseAddInterceptParams(params) {
129
129
  return params;
@@ -150,19 +150,19 @@ class BidiNoOpParser {
150
150
  return params;
151
151
  }
152
152
  // keep-sorted end
153
- // Permissions domain
153
+ // Permissions module
154
154
  // keep-sorted start block=yes
155
155
  parseSetPermissionsParams(params) {
156
156
  return params;
157
157
  }
158
158
  // keep-sorted end
159
- // Session domain
159
+ // Session module
160
160
  // keep-sorted start block=yes
161
161
  parseSubscribeParams(params) {
162
162
  return params;
163
163
  }
164
164
  // keep-sorted end
165
- // Storage domain
165
+ // Storage module
166
166
  // keep-sorted start block=yes
167
167
  parseDeleteCookiesParams(params) {
168
168
  return params;
@@ -52,7 +52,7 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
52
52
  this.#logger = logger;
53
53
  this.#bluetoothProcessor = bluetoothProcessor;
54
54
  // keep-sorted start block=yes
55
- this.#browserProcessor = new BrowserProcessor_js_1.BrowserProcessor(browserCdpClient);
55
+ this.#browserProcessor = new BrowserProcessor_js_1.BrowserProcessor(browserCdpClient, browsingContextStorage);
56
56
  this.#browsingContextProcessor = new BrowsingContextProcessor_js_1.BrowsingContextProcessor(browserCdpClient, browsingContextStorage, eventManager);
57
57
  this.#cdpProcessor = new CdpProcessor_js_1.CdpProcessor(browsingContextStorage, realmStorage, cdpConnection, browserCdpClient);
58
58
  this.#inputProcessor = new InputProcessor_js_1.InputProcessor(browsingContextStorage);
@@ -65,10 +65,7 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
65
65
  }
66
66
  async #processCommand(command) {
67
67
  switch (command.method) {
68
- case 'session.end':
69
- // TODO: Implement.
70
- break;
71
- // Bluetooth domain
68
+ // Bluetooth module
72
69
  // keep-sorted start block=yes
73
70
  case 'bluetooth.handleRequestDevicePrompt':
74
71
  return await this.#bluetoothProcessor.handleRequestDevicePrompt(this.#parser.parseHandleRequestDevicePromptParams(command.params));
@@ -79,14 +76,14 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
79
76
  case 'bluetooth.simulatePreconnectedPeripheral':
80
77
  return await this.#bluetoothProcessor.simulatePreconnectedPeripheral(this.#parser.parseSimulatePreconnectedPeripheralParameters(command.params));
81
78
  // keep-sorted end
82
- // Browser domain
79
+ // Browser module
83
80
  // keep-sorted start block=yes
84
81
  case 'browser.close':
85
82
  return this.#browserProcessor.close();
86
83
  case 'browser.createUserContext':
87
84
  return await this.#browserProcessor.createUserContext(command.params);
88
85
  case 'browser.getClientWindows':
89
- throw new protocol_js_1.UnknownErrorException(`Method ${command.method} is not implemented.`);
86
+ return await this.#browserProcessor.getClientWindows();
90
87
  case 'browser.getUserContexts':
91
88
  return await this.#browserProcessor.getUserContexts();
92
89
  case 'browser.removeUserContext':
@@ -94,7 +91,7 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
94
91
  case 'browser.setClientWindowState':
95
92
  throw new protocol_js_1.UnknownErrorException(`Method ${command.method} is not implemented.`);
96
93
  // keep-sorted end
97
- // Browsing Context domain
94
+ // Browsing Context module
98
95
  // keep-sorted start block=yes
99
96
  case 'browsingContext.activate':
100
97
  return await this.#browsingContextProcessor.activate(this.#parser.parseActivateParams(command.params));
@@ -121,7 +118,17 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
121
118
  case 'browsingContext.traverseHistory':
122
119
  return await this.#browsingContextProcessor.traverseHistory(this.#parser.parseTraverseHistoryParams(command.params));
123
120
  // keep-sorted end
124
- // CDP domain
121
+ // CDP module
122
+ // keep-sorted start block=yes
123
+ case 'goog:cdp.getSession':
124
+ return this.#cdpProcessor.getSession(this.#parser.parseGetSessionParams(command.params));
125
+ case 'goog:cdp.resolveRealm':
126
+ return this.#cdpProcessor.resolveRealm(this.#parser.parseResolveRealmParams(command.params));
127
+ case 'goog:cdp.sendCommand':
128
+ return await this.#cdpProcessor.sendCommand(this.#parser.parseSendCommandParams(command.params));
129
+ // keep-sorted end
130
+ // CDP deprecated domain.
131
+ // https://github.com/GoogleChromeLabs/chromium-bidi/issues/2844
125
132
  // keep-sorted start block=yes
126
133
  case 'cdp.getSession':
127
134
  return this.#cdpProcessor.getSession(this.#parser.parseGetSessionParams(command.params));
@@ -130,7 +137,7 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
130
137
  case 'cdp.sendCommand':
131
138
  return await this.#cdpProcessor.sendCommand(this.#parser.parseSendCommandParams(command.params));
132
139
  // keep-sorted end
133
- // Input domain
140
+ // Input module
134
141
  // keep-sorted start block=yes
135
142
  case 'input.performActions':
136
143
  return await this.#inputProcessor.performActions(this.#parser.parsePerformActionsParams(command.params));
@@ -139,7 +146,7 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
139
146
  case 'input.setFiles':
140
147
  return await this.#inputProcessor.setFiles(this.#parser.parseSetFilesParams(command.params));
141
148
  // keep-sorted end
142
- // Network domain
149
+ // Network module
143
150
  // keep-sorted start block=yes
144
151
  case 'network.addIntercept':
145
152
  return await this.#networkProcessor.addIntercept(this.#parser.parseAddInterceptParams(command.params));
@@ -158,12 +165,12 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
158
165
  case 'network.setCacheBehavior':
159
166
  return await this.#networkProcessor.setCacheBehavior(this.#parser.parseSetCacheBehavior(command.params));
160
167
  // keep-sorted end
161
- // Permissions domain
168
+ // Permissions module
162
169
  // keep-sorted start block=yes
163
170
  case 'permissions.setPermission':
164
171
  return await this.#permissionsProcessor.setPermissions(this.#parser.parseSetPermissionsParams(command.params));
165
172
  // keep-sorted end
166
- // Script domain
173
+ // Script module
167
174
  // keep-sorted start block=yes
168
175
  case 'script.addPreloadScript':
169
176
  return await this.#scriptProcessor.addPreloadScript(this.#parser.parseAddPreloadScriptParams(command.params));
@@ -178,8 +185,10 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
178
185
  case 'script.removePreloadScript':
179
186
  return await this.#scriptProcessor.removePreloadScript(this.#parser.parseRemovePreloadScriptParams(command.params));
180
187
  // keep-sorted end
181
- // Session domain
188
+ // Session module
182
189
  // keep-sorted start block=yes
190
+ case 'session.end':
191
+ throw new protocol_js_1.UnknownErrorException(`Method ${command.method} is not implemented.`);
183
192
  case 'session.new':
184
193
  return await this.#sessionProcessor.new(command.params);
185
194
  case 'session.status':
@@ -189,7 +198,7 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
189
198
  case 'session.unsubscribe':
190
199
  return await this.#sessionProcessor.unsubscribe(this.#parser.parseSubscribeParams(command.params), command.channel);
191
200
  // keep-sorted end
192
- // Storage domain
201
+ // Storage module
193
202
  // keep-sorted start block=yes
194
203
  case 'storage.deleteCookies':
195
204
  return await this.#storageProcessor.deleteCookies(this.#parser.parseDeleteCookiesParams(command.params));
@@ -198,11 +207,18 @@ class CommandProcessor extends EventEmitter_js_1.EventEmitter {
198
207
  case 'storage.setCookie':
199
208
  return await this.#storageProcessor.setCookie(this.#parser.parseSetCookieParams(command.params));
200
209
  // keep-sorted end
210
+ // WebExtension module
211
+ // keep-sorted start block=yes
212
+ case 'webExtension.install':
213
+ throw new protocol_js_1.UnknownErrorException(`Method ${command.method} is not implemented.`);
214
+ case 'webExtension.uninstall':
215
+ throw new protocol_js_1.UnknownErrorException(`Method ${command.method} is not implemented.`);
216
+ // keep-sorted end
201
217
  }
202
218
  // Intentionally kept outside the switch statement to ensure that
203
219
  // ESLint @typescript-eslint/switch-exhaustiveness-check triggers if a new
204
220
  // command is added.
205
- throw new protocol_js_1.UnknownCommandException(`Unknown command '${command.method}'.`);
221
+ throw new protocol_js_1.UnknownCommandException(`Unknown command '${command?.method}'.`);
206
222
  }
207
223
  // Workaround for as zod.union always take the first schema
208
224
  // https://github.com/w3c/webdriver-bidi/issues/635
@@ -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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"}
@@ -16,11 +16,13 @@
16
16
  */
17
17
  import { type EmptyResult, type Browser } from '../../../protocol/protocol.js';
18
18
  import type { CdpClient } from '../../BidiMapper.js';
19
+ import type { BrowsingContextStorage } from '../context/BrowsingContextStorage';
19
20
  export declare class BrowserProcessor {
20
21
  #private;
21
- constructor(browserCdpClient: CdpClient);
22
+ constructor(browserCdpClient: CdpClient, browsingContextStorage: BrowsingContextStorage);
22
23
  close(): EmptyResult;
23
24
  createUserContext(params: Record<string, any>): Promise<Browser.CreateUserContextResult>;
24
25
  removeUserContext(params: Browser.RemoveUserContextParameters): Promise<EmptyResult>;
25
26
  getUserContexts(): Promise<Browser.GetUserContextsResult>;
27
+ getClientWindows(): Promise<Browser.GetClientWindowsResult>;
26
28
  }
@@ -20,8 +20,10 @@ exports.BrowserProcessor = void 0;
20
20
  const protocol_js_1 = require("../../../protocol/protocol.js");
21
21
  class BrowserProcessor {
22
22
  #browserCdpClient;
23
- constructor(browserCdpClient) {
23
+ #browsingContextStorage;
24
+ constructor(browserCdpClient, browsingContextStorage) {
24
25
  this.#browserCdpClient = browserCdpClient;
26
+ this.#browsingContextStorage = browsingContextStorage;
25
27
  }
26
28
  close() {
27
29
  // Ensure that it is put at the end of the event loop.
@@ -76,6 +78,35 @@ class BrowserProcessor {
76
78
  ],
77
79
  };
78
80
  }
81
+ async #getWindowInfo(targetId) {
82
+ const windowInfo = await this.#browserCdpClient.sendCommand('Browser.getWindowForTarget', { targetId });
83
+ return {
84
+ // `active` is not supported in CDP yet.
85
+ active: false,
86
+ clientWindow: `${windowInfo.windowId}`,
87
+ state: windowInfo.bounds.windowState ?? 'normal',
88
+ height: windowInfo.bounds.height ?? 0,
89
+ width: windowInfo.bounds.width ?? 0,
90
+ x: windowInfo.bounds.left ?? 0,
91
+ y: windowInfo.bounds.top ?? 0,
92
+ };
93
+ }
94
+ async getClientWindows() {
95
+ const topLevelTargetIds = this.#browsingContextStorage
96
+ .getTopLevelContexts()
97
+ .map((b) => b.cdpTarget.id);
98
+ const clientWindows = await Promise.all(topLevelTargetIds.map(async (targetId) => await this.#getWindowInfo(targetId)));
99
+ const uniqueClientWindowIds = new Set();
100
+ const uniqueClientWindows = new Array();
101
+ // Filter out duplicated client windows.
102
+ for (const window of clientWindows) {
103
+ if (!uniqueClientWindowIds.has(window.clientWindow)) {
104
+ uniqueClientWindowIds.add(window.clientWindow);
105
+ uniqueClientWindows.push(window);
106
+ }
107
+ }
108
+ return { clientWindows: uniqueClientWindows };
109
+ }
79
110
  }
80
111
  exports.BrowserProcessor = BrowserProcessor;
81
112
  //# sourceMappingURL=BrowserProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/browser/BrowserProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAIH,+DAKuC;AAGvC,MAAa,gBAAgB;IAClB,iBAAiB,CAAY;IAEtC,YAAY,gBAA2B;QACrC,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;IAED,KAAK,CAAC,iBAAiB,CACrB,MAA2B;QAE3B,MAAM,OAAO,GAAgD;YAC3D,WAAW,EAAE,MAAM,CAAC,kBAAkB,CAAC,IAAI,SAAS;SACrD,CAAC;QACF,MAAM,eAAe,GACnB,MAAM,CAAC,sBAAsB,CAAC,IAAI,SAAS,CAAC;QAC9C,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACtD,6BAA6B,EAC7B,OAAO,CACR,CAAC;QACF,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,gBAAgB;SACtC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAA2C;QAE3C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,sCAAwB,CAChC,0CAA0C,CAC3C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,8BAA8B,EAAE;gBACvE,gBAAgB,EAAE,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mKAAmK;YACnK,IAAK,GAAa,CAAC,OAAO,CAAC,UAAU,CAAC,gCAAgC,CAAC,EAAE,CAAC;gBACxE,MAAM,IAAI,wCAA0B,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACrD,2BAA2B,CAC5B,CAAC;QACF,OAAO;YACL,YAAY,EAAE;gBACZ;oBACE,WAAW,EAAE,SAAS;iBACvB;gBACD,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;oBACrC,OAAO;wBACL,WAAW,EAAE,EAAE;qBAChB,CAAC;gBACJ,CAAC,CAAC;aACH;SACF,CAAC;IACJ,CAAC;CACF;AA3ED,4CA2EC"}
1
+ {"version":3,"file":"BrowserProcessor.js","sourceRoot":"","sources":["../../../../../src/bidiMapper/modules/browser/BrowserProcessor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAIH,+DAKuC;AAIvC,MAAa,gBAAgB;IAClB,iBAAiB,CAAY;IAC7B,uBAAuB,CAAyB;IAEzD,YACE,gBAA2B,EAC3B,sBAA8C;QAE9C,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC;QAC1C,IAAI,CAAC,uBAAuB,GAAG,sBAAsB,CAAC;IACxD,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;IAED,KAAK,CAAC,iBAAiB,CACrB,MAA2B;QAE3B,MAAM,OAAO,GAAgD;YAC3D,WAAW,EAAE,MAAM,CAAC,kBAAkB,CAAC,IAAI,SAAS;SACrD,CAAC;QACF,MAAM,eAAe,GACnB,MAAM,CAAC,sBAAsB,CAAC,IAAI,SAAS,CAAC;QAC9C,IAAI,eAAe,EAAE,CAAC;YACpB,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACtD,6BAA6B,EAC7B,OAAO,CACR,CAAC;QACF,OAAO;YACL,WAAW,EAAE,OAAO,CAAC,gBAAgB;SACtC,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,MAA2C;QAE3C,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACvC,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,sCAAwB,CAChC,0CAA0C,CAC3C,CAAC;QACJ,CAAC;QACD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,8BAA8B,EAAE;gBACvE,gBAAgB,EAAE,WAAW;aAC9B,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,mKAAmK;YACnK,IAAK,GAAa,CAAC,OAAO,CAAC,UAAU,CAAC,gCAAgC,CAAC,EAAE,CAAC;gBACxE,MAAM,IAAI,wCAA0B,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACrD,2BAA2B,CAC5B,CAAC;QACF,OAAO;YACL,YAAY,EAAE;gBACZ;oBACE,WAAW,EAAE,SAAS;iBACvB;gBACD,GAAG,MAAM,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE;oBACrC,OAAO;wBACL,WAAW,EAAE,EAAE;qBAChB,CAAC;gBACJ,CAAC,CAAC;aACH;SACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB;QACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CACzD,4BAA4B,EAC5B,EAAC,QAAQ,EAAC,CACX,CAAC;QACF,OAAO;YACL,wCAAwC;YACxC,MAAM,EAAE,KAAK;YACb,YAAY,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE;YACtC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,IAAI,QAAQ;YAChD,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC;YACrC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;YACnC,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;YAC9B,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;SAC9B,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB;QACpB,MAAM,iBAAiB,GAAG,IAAI,CAAC,uBAAuB;aACnD,mBAAmB,EAAE;aACrB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE9B,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CACrC,iBAAiB,CAAC,GAAG,CACnB,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CACxD,CACF,CAAC;QAEF,MAAM,qBAAqB,GAAG,IAAI,GAAG,EAAU,CAAC;QAChD,MAAM,mBAAmB,GAAG,IAAI,KAAK,EAA4B,CAAC;QAElE,wCAAwC;QACxC,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;YACnC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC;gBACpD,qBAAqB,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;gBAC/C,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnC,CAAC;QACH,CAAC;QACD,OAAO,EAAC,aAAa,EAAE,mBAAmB,EAAC,CAAC;IAC9C,CAAC;CACF;AAzHD,4CAyHC"}
@@ -2,6 +2,7 @@ import type { Protocol } from 'devtools-protocol';
2
2
  import type { CdpClient } from '../../../cdp/CdpClient.js';
3
3
  import type { ChromiumBidi, Session } from '../../../protocol/protocol.js';
4
4
  import { Deferred } from '../../../utils/Deferred.js';
5
+ import { EventEmitter } from '../../../utils/EventEmitter.js';
5
6
  import type { LoggerFn } from '../../../utils/log.js';
6
7
  import type { Result } from '../../../utils/result.js';
7
8
  import type { BrowsingContextStorage } from '../context/BrowsingContextStorage.js';
@@ -10,7 +11,8 @@ import type { ChannelProxy } from '../script/ChannelProxy.js';
10
11
  import type { PreloadScriptStorage } from '../script/PreloadScriptStorage.js';
11
12
  import type { RealmStorage } from '../script/RealmStorage.js';
12
13
  import type { EventManager } from '../session/EventManager.js';
13
- export declare class CdpTarget {
14
+ import { type TargetEventMap } from './TargetEvents.js';
15
+ export declare class CdpTarget extends EventEmitter<TargetEventMap> {
14
16
  #private;
15
17
  static create(targetId: Protocol.Target.TargetID, cdpClient: CdpClient, browserCdpClient: CdpClient, parentCdpClient: CdpClient, realmStorage: RealmStorage, eventManager: EventManager, preloadScriptStorage: PreloadScriptStorage, browsingContextStorage: BrowsingContextStorage, networkStorage: NetworkStorage, prerenderingDisabled: boolean, unhandledPromptBehavior?: Session.UserPromptHandler, logger?: LoggerFn): CdpTarget;
16
18
  constructor(targetId: Protocol.Target.TargetID, cdpClient: CdpClient, browserCdpClient: CdpClient, parentCdpClient: CdpClient, eventManager: EventManager, realmStorage: RealmStorage, preloadScriptStorage: PreloadScriptStorage, browsingContextStorage: BrowsingContextStorage, networkStorage: NetworkStorage, prerenderingDisabled: boolean, unhandledPromptBehavior?: Session.UserPromptHandler, logger?: LoggerFn);
@@ -24,7 +26,7 @@ export declare class CdpTarget {
24
26
  get cdpSessionId(): Protocol.Target.SessionID;
25
27
  toggleFetchIfNeeded(): Promise<void>;
26
28
  /**
27
- * Toggles both Network and Fetch domains.
29
+ * Toggles CDP "Fetch" domain and enable/disable network cache.
28
30
  */
29
31
  toggleNetworkIfNeeded(): Promise<void>;
30
32
  toggleSetCacheDisabled(disable?: boolean): Promise<void>;