@browserless.io/browserless 2.25.0-beta-2 → 2.25.1

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 (224) hide show
  1. package/CHANGELOG.md +43 -3
  2. package/README.md +4 -5
  3. package/build/browserless.js +3 -1
  4. package/build/browsers/browsers.cdp.d.ts +3 -0
  5. package/build/browsers/browsers.cdp.js +4 -1
  6. package/build/browsers/browsers.playwright.d.ts +4 -0
  7. package/build/browsers/browsers.playwright.js +11 -2
  8. package/build/browsers/index.js +4 -3
  9. package/build/http.d.ts +9 -0
  10. package/build/http.js +9 -0
  11. package/build/routes/chrome/http/content.post.body.json +8 -8
  12. package/build/routes/chrome/http/pdf.post.body.json +8 -8
  13. package/build/routes/chrome/http/scrape.post.body.json +8 -8
  14. package/build/routes/chrome/http/screenshot.post.body.json +8 -8
  15. package/build/routes/chrome/tests/kill-sessions.spec.js +1 -1
  16. package/build/routes/chromium/http/content.post.body.json +8 -8
  17. package/build/routes/chromium/http/pdf.post.body.json +8 -8
  18. package/build/routes/chromium/http/scrape.post.body.json +8 -8
  19. package/build/routes/chromium/http/screenshot.post.body.json +8 -8
  20. package/build/routes/chromium/tests/kill-sessions.spec.js +1 -1
  21. package/build/routes/edge/http/content.post.body.json +579 -0
  22. package/build/routes/edge/http/content.post.d.ts +8 -0
  23. package/build/routes/edge/http/content.post.js +7 -0
  24. package/build/routes/edge/http/content.post.query.json +183 -0
  25. package/build/routes/edge/http/content.post.response.json +5 -0
  26. package/build/routes/edge/http/download.post.body.json +32 -0
  27. package/build/routes/edge/http/download.post.d.ts +8 -0
  28. package/build/routes/edge/http/download.post.js +7 -0
  29. package/build/routes/edge/http/download.post.query.json +120 -0
  30. package/build/routes/edge/http/download.post.response.json +4 -0
  31. package/build/routes/edge/http/function.post.body.json +32 -0
  32. package/build/routes/edge/http/function.post.d.ts +8 -0
  33. package/build/routes/edge/http/function.post.js +7 -0
  34. package/build/routes/edge/http/function.post.query.json +120 -0
  35. package/build/routes/edge/http/function.post.response.json +4 -0
  36. package/build/routes/edge/http/json-list.get.d.ts +5 -0
  37. package/build/routes/edge/http/json-list.get.js +5 -0
  38. package/build/routes/edge/http/json-list.get.response.json +52 -0
  39. package/build/routes/edge/http/json-new.put.d.ts +5 -0
  40. package/build/routes/edge/http/json-new.put.js +5 -0
  41. package/build/routes/edge/http/json-new.put.response.json +44 -0
  42. package/build/routes/edge/http/json-protocol.get.d.ts +5 -0
  43. package/build/routes/edge/http/json-protocol.get.js +5 -0
  44. package/build/routes/edge/http/json-protocol.get.response.json +6 -0
  45. package/build/routes/edge/http/json-version.get.d.ts +5 -0
  46. package/build/routes/edge/http/json-version.get.js +5 -0
  47. package/build/routes/edge/http/json-version.get.response.json +44 -0
  48. package/build/routes/edge/http/pdf.post.body.json +724 -0
  49. package/build/routes/edge/http/pdf.post.d.ts +8 -0
  50. package/build/routes/edge/http/pdf.post.js +7 -0
  51. package/build/routes/edge/http/pdf.post.query.json +120 -0
  52. package/build/routes/edge/http/pdf.post.response.json +5 -0
  53. package/build/routes/edge/http/performance.post.body.json +26 -0
  54. package/build/routes/edge/http/performance.post.d.ts +8 -0
  55. package/build/routes/edge/http/performance.post.js +7 -0
  56. package/build/routes/edge/http/performance.post.query.json +120 -0
  57. package/build/routes/edge/http/performance.post.response.json +7 -0
  58. package/build/routes/edge/http/scrape.post.body.json +626 -0
  59. package/build/routes/edge/http/scrape.post.d.ts +8 -0
  60. package/build/routes/edge/http/scrape.post.js +7 -0
  61. package/build/routes/edge/http/scrape.post.query.json +183 -0
  62. package/build/routes/edge/http/scrape.post.response.json +334 -0
  63. package/build/routes/edge/http/screenshot.post.body.json +669 -0
  64. package/build/routes/edge/http/screenshot.post.d.ts +8 -0
  65. package/build/routes/edge/http/screenshot.post.js +7 -0
  66. package/build/routes/edge/http/screenshot.post.query.json +120 -0
  67. package/build/routes/edge/http/screenshot.post.response.json +5 -0
  68. package/build/routes/edge/tests/content.spec.d.ts +1 -0
  69. package/build/routes/edge/tests/content.spec.js +312 -0
  70. package/build/routes/edge/tests/download.spec.d.ts +1 -0
  71. package/build/routes/edge/tests/download.spec.js +67 -0
  72. package/build/routes/edge/tests/function.spec.d.ts +1 -0
  73. package/build/routes/edge/tests/function.spec.js +277 -0
  74. package/build/routes/edge/tests/json-version.spec.d.ts +1 -0
  75. package/build/routes/edge/tests/json-version.spec.js +37 -0
  76. package/build/routes/edge/tests/kill-sessions.spec.d.ts +1 -0
  77. package/build/routes/edge/tests/kill-sessions.spec.js +80 -0
  78. package/build/routes/edge/tests/page-websocket.spec.d.ts +1 -0
  79. package/build/routes/edge/tests/page-websocket.spec.js +97 -0
  80. package/build/routes/edge/tests/pdf.spec.d.ts +1 -0
  81. package/build/routes/edge/tests/pdf.spec.js +345 -0
  82. package/build/routes/edge/tests/performance.spec.d.ts +1 -0
  83. package/build/routes/edge/tests/performance.spec.js +124 -0
  84. package/build/routes/edge/tests/scrape.spec.d.ts +1 -0
  85. package/build/routes/edge/tests/scrape.spec.js +354 -0
  86. package/build/routes/edge/tests/screenshot.spec.d.ts +1 -0
  87. package/build/routes/edge/tests/screenshot.spec.js +339 -0
  88. package/build/routes/edge/tests/websocket.spec.d.ts +1 -0
  89. package/build/routes/edge/tests/websocket.spec.js +384 -0
  90. package/build/routes/edge/ws/browser.d.ts +7 -0
  91. package/build/routes/edge/ws/browser.js +6 -0
  92. package/build/routes/edge/ws/browser.query.json +120 -0
  93. package/build/routes/edge/ws/cdp.d.ts +8 -0
  94. package/build/routes/edge/ws/cdp.js +7 -0
  95. package/build/routes/edge/ws/cdp.query.json +120 -0
  96. package/build/routes/edge/ws/page.d.ts +8 -0
  97. package/build/routes/edge/ws/page.js +7 -0
  98. package/build/routes/edge/ws/page.query.json +120 -0
  99. package/build/routes/edge/ws/playwright.d.ts +8 -0
  100. package/build/routes/edge/ws/playwright.js +7 -0
  101. package/build/routes/edge/ws/playwright.query.json +100 -0
  102. package/build/routes/firefox/tests/kill-sessions.spec.js +1 -1
  103. package/build/routes/management/http/meta.get.js +3 -1
  104. package/build/routes/webkit/tests/kill-sessions.spec.js +1 -1
  105. package/build/sdk-utils.js +1 -1
  106. package/build/shared/scrape.http.js +2 -2
  107. package/build/types.d.ts +32 -0
  108. package/build/types.js +18 -0
  109. package/build/utils.d.ts +1 -0
  110. package/build/utils.js +16 -2
  111. package/docker/chrome/Dockerfile +14 -14
  112. package/docker/chromium/Dockerfile +14 -14
  113. package/docker/edge/.dockerignore +16 -0
  114. package/docker/edge/Dockerfile +43 -0
  115. package/docker/firefox/Dockerfile +14 -14
  116. package/docker/multi/Dockerfile +18 -18
  117. package/docker/sdk/Dockerfile +10 -0
  118. package/extensions/ublock/_locales/ar/messages.json +3 -3
  119. package/extensions/ublock/_locales/bg/messages.json +1 -1
  120. package/extensions/ublock/_locales/br_FR/messages.json +2 -2
  121. package/extensions/ublock/_locales/cy/messages.json +11 -11
  122. package/extensions/ublock/_locales/el/messages.json +2 -2
  123. package/extensions/ublock/_locales/hu/messages.json +1 -1
  124. package/extensions/ublock/_locales/id/messages.json +1 -1
  125. package/extensions/ublock/_locales/lv/messages.json +4 -4
  126. package/extensions/ublock/_locales/mk/messages.json +130 -130
  127. package/extensions/ublock/_locales/oc/messages.json +1 -1
  128. package/extensions/ublock/_locales/pt_BR/messages.json +1 -1
  129. package/extensions/ublock/_locales/pt_PT/messages.json +2 -2
  130. package/extensions/ublock/_locales/si/messages.json +100 -100
  131. package/extensions/ublock/_locales/sr/messages.json +4 -4
  132. package/extensions/ublock/_locales/vi/messages.json +19 -19
  133. package/extensions/ublock/_locales/zh_TW/messages.json +28 -28
  134. package/extensions/ublock/assets/assets.json +33 -29
  135. package/extensions/ublock/assets/thirdparties/easylist/easylist.txt +2984 -3287
  136. package/extensions/ublock/assets/thirdparties/easylist/easyprivacy.txt +150 -171
  137. package/extensions/ublock/assets/thirdparties/pgl.yoyo.org/as/serverlist +37 -27
  138. package/extensions/ublock/assets/thirdparties/publicsuffix.org/list/effective_tld_names.dat +802 -888
  139. package/extensions/ublock/assets/thirdparties/urlhaus-filter/urlhaus-filter-online.txt +2355 -2071
  140. package/extensions/ublock/assets/ublock/badlists.txt +9 -1
  141. package/extensions/ublock/assets/ublock/badware.min.txt +354 -243
  142. package/extensions/ublock/assets/ublock/filters.min.txt +5837 -5737
  143. package/extensions/ublock/assets/ublock/privacy.min.txt +151 -38
  144. package/extensions/ublock/assets/ublock/quick-fixes.min.txt +83 -127
  145. package/extensions/ublock/assets/ublock/unbreak.min.txt +66 -50
  146. package/extensions/ublock/css/codemirror.css +4 -0
  147. package/extensions/ublock/document-blocked.html +3 -1
  148. package/extensions/ublock/js/arglist-parser.js +116 -0
  149. package/extensions/ublock/js/background.js +1 -1
  150. package/extensions/ublock/js/logger-ui.js +1 -1
  151. package/extensions/ublock/js/messaging.js +9 -2
  152. package/extensions/ublock/js/pagestore.js +3 -1
  153. package/extensions/ublock/js/redirect-engine.js +3 -1
  154. package/extensions/ublock/{assets/resources/set-attr.js → js/resources/attribute.js} +115 -11
  155. package/extensions/ublock/js/resources/base.js +38 -0
  156. package/extensions/ublock/js/resources/cookie.js +419 -0
  157. package/extensions/ublock/js/resources/href-sanitizer.js +188 -0
  158. package/extensions/ublock/js/resources/localstorage.js +235 -0
  159. package/extensions/ublock/js/resources/parse-replace.js +54 -0
  160. package/extensions/ublock/js/resources/prevent-settimeout.js +236 -0
  161. package/extensions/ublock/js/resources/proxy-apply.js +109 -0
  162. package/extensions/ublock/js/resources/replace-argument.js +120 -0
  163. package/extensions/ublock/{assets → js}/resources/run-at.js +20 -4
  164. package/extensions/ublock/{assets → js}/resources/safe-self.js +5 -4
  165. package/extensions/ublock/{assets → js}/resources/scriptlets.js +90 -1589
  166. package/extensions/ublock/js/resources/set-constant.js +287 -0
  167. package/extensions/ublock/js/resources/shared.js +44 -0
  168. package/extensions/ublock/js/resources/spoof-css.js +163 -0
  169. package/extensions/ublock/js/s14e-serializer.js +2 -1
  170. package/extensions/ublock/js/scriptlet-filtering-core.js +1 -1
  171. package/extensions/ublock/js/scriptlet-filtering.js +1 -31
  172. package/extensions/ublock/js/static-dnr-filtering.js +143 -129
  173. package/extensions/ublock/js/static-filtering-parser.js +27 -117
  174. package/extensions/ublock/js/static-net-filtering.js +53 -141
  175. package/extensions/ublock/js/traffic.js +1 -1
  176. package/extensions/ublock/js/urlskip.js +166 -0
  177. package/extensions/ublock/js/vapi-background-ext.js +38 -14
  178. package/extensions/ublock/manifest.json +1 -1
  179. package/package.json +22 -22
  180. package/src/browserless.ts +4 -0
  181. package/src/browsers/browsers.cdp.ts +5 -0
  182. package/src/browsers/browsers.playwright.ts +14 -1
  183. package/src/browsers/index.ts +5 -2
  184. package/src/http.ts +9 -0
  185. package/src/routes/chrome/tests/kill-sessions.spec.ts +1 -1
  186. package/src/routes/chromium/tests/kill-sessions.spec.ts +1 -1
  187. package/src/routes/edge/http/content.post.ts +20 -0
  188. package/src/routes/edge/http/download.post.ts +20 -0
  189. package/src/routes/edge/http/function.post.ts +20 -0
  190. package/src/routes/edge/http/json-list.get.ts +7 -0
  191. package/src/routes/edge/http/json-new.put.ts +7 -0
  192. package/src/routes/edge/http/json-protocol.get.ts +7 -0
  193. package/src/routes/edge/http/json-version.get.ts +7 -0
  194. package/src/routes/edge/http/pdf.post.ts +20 -0
  195. package/src/routes/edge/http/performance.post.ts +20 -0
  196. package/src/routes/edge/http/scrape.post.ts +20 -0
  197. package/src/routes/edge/http/screenshot.post.ts +20 -0
  198. package/src/routes/edge/tests/content.spec.ts +376 -0
  199. package/src/routes/edge/tests/download.spec.ts +77 -0
  200. package/src/routes/edge/tests/function.spec.ts +317 -0
  201. package/src/routes/edge/tests/json-version.spec.ts +52 -0
  202. package/src/routes/edge/tests/kill-sessions.spec.ts +99 -0
  203. package/src/routes/edge/tests/page-websocket.spec.ts +129 -0
  204. package/src/routes/edge/tests/pdf.spec.ts +389 -0
  205. package/src/routes/edge/tests/performance.spec.ts +155 -0
  206. package/src/routes/edge/tests/scrape.spec.ts +417 -0
  207. package/src/routes/edge/tests/screenshot.spec.ts +387 -0
  208. package/src/routes/edge/tests/websocket.spec.ts +510 -0
  209. package/src/routes/edge/ws/browser.ts +10 -0
  210. package/src/routes/edge/ws/cdp.ts +17 -0
  211. package/src/routes/edge/ws/page.ts +10 -0
  212. package/src/routes/edge/ws/playwright.ts +17 -0
  213. package/src/routes/firefox/tests/kill-sessions.spec.ts +1 -1
  214. package/src/routes/management/http/meta.get.ts +6 -1
  215. package/src/routes/management/http/static.get.ts +1 -1
  216. package/src/routes/webkit/tests/kill-sessions.spec.ts +1 -1
  217. package/src/sdk-utils.ts +1 -1
  218. package/src/shared/scrape.http.ts +2 -2
  219. package/src/types.ts +19 -0
  220. package/src/utils.ts +38 -16
  221. package/static/docs/swagger.json +2097 -10
  222. package/static/docs/swagger.min.json +2096 -9
  223. package/static/function/client.js +141 -253
  224. package/static/function/index.html +141 -253
@@ -4401,7 +4401,7 @@
4401
4401
  // node_modules/puppeteer-core/lib/esm/puppeteer/generated/version.js
4402
4402
  init_dirname();
4403
4403
  init_buffer2();
4404
- var packageVersion = "23.11.0";
4404
+ var packageVersion = "24.2.1";
4405
4405
 
4406
4406
  // node_modules/puppeteer-core/lib/esm/puppeteer/util/assert.js
4407
4407
  init_dirname();
@@ -4546,17 +4546,50 @@
4546
4546
  init_dirname();
4547
4547
  init_buffer2();
4548
4548
  var paperFormats = {
4549
- letter: { width: 8.5, height: 11 },
4550
- legal: { width: 8.5, height: 14 },
4551
- tabloid: { width: 11, height: 17 },
4552
- ledger: { width: 17, height: 11 },
4553
- a0: { width: 33.1102, height: 46.811 },
4554
- a1: { width: 23.3858, height: 33.1102 },
4555
- a2: { width: 16.5354, height: 23.3858 },
4556
- a3: { width: 11.6929, height: 16.5354 },
4557
- a4: { width: 8.2677, height: 11.6929 },
4558
- a5: { width: 5.8268, height: 8.2677 },
4559
- a6: { width: 4.1339, height: 5.8268 }
4549
+ letter: {
4550
+ cm: { width: 21.59, height: 27.94 },
4551
+ in: { width: 8.5, height: 11 }
4552
+ },
4553
+ legal: {
4554
+ cm: { width: 21.59, height: 35.56 },
4555
+ in: { width: 8.5, height: 14 }
4556
+ },
4557
+ tabloid: {
4558
+ cm: { width: 27.94, height: 43.18 },
4559
+ in: { width: 11, height: 17 }
4560
+ },
4561
+ ledger: {
4562
+ cm: { width: 43.18, height: 27.94 },
4563
+ in: { width: 17, height: 11 }
4564
+ },
4565
+ a0: {
4566
+ cm: { width: 84.1, height: 118.9 },
4567
+ in: { width: 33.1102, height: 46.811 }
4568
+ },
4569
+ a1: {
4570
+ cm: { width: 59.4, height: 84.1 },
4571
+ in: { width: 23.3858, height: 33.1102 }
4572
+ },
4573
+ a2: {
4574
+ cm: { width: 42, height: 59.4 },
4575
+ in: { width: 16.5354, height: 23.3858 }
4576
+ },
4577
+ a3: {
4578
+ cm: { width: 29.7, height: 42 },
4579
+ in: { width: 11.6929, height: 16.5354 }
4580
+ },
4581
+ a4: {
4582
+ cm: { width: 21, height: 29.7 },
4583
+ in: { width: 8.2677, height: 11.6929 }
4584
+ },
4585
+ a5: {
4586
+ cm: { width: 14.8, height: 21 },
4587
+ in: { width: 5.8268, height: 8.2677 }
4588
+ },
4589
+ a6: {
4590
+ cm: { width: 10.5, height: 14.8 },
4591
+ in: { width: 4.1339, height: 5.8268 }
4592
+ }
4560
4593
  };
4561
4594
 
4562
4595
  // node_modules/puppeteer-core/lib/esm/puppeteer/common/util.js
@@ -4739,7 +4772,7 @@
4739
4772
  let width = 8.5;
4740
4773
  let height = 11;
4741
4774
  if (options.format) {
4742
- const format = paperFormats[options.format.toLowerCase()];
4775
+ const format = paperFormats[options.format.toLowerCase()][lengthUnit];
4743
4776
  assert(format, "Unknown paper format: " + options.format);
4744
4777
  width = format.width;
4745
4778
  height = format.height;
@@ -5184,25 +5217,24 @@
5184
5217
 
5185
5218
  // node_modules/puppeteer-core/lib/esm/puppeteer/api/Browser.js
5186
5219
  var WEB_PERMISSION_TO_PROTOCOL_PERMISSION = /* @__PURE__ */ new Map([
5187
- ["geolocation", "geolocation"],
5188
- ["midi", "midi"],
5189
- ["notifications", "notifications"],
5190
- // TODO: push isn't a valid type?
5191
- // ['push', 'push'],
5192
- ["camera", "videoCapture"],
5193
- ["microphone", "audioCapture"],
5194
- ["background-sync", "backgroundSync"],
5195
- ["ambient-light-sensor", "sensors"],
5196
5220
  ["accelerometer", "sensors"],
5197
- ["gyroscope", "sensors"],
5198
- ["magnetometer", "sensors"],
5199
- ["accessibility-events", "accessibilityEvents"],
5221
+ ["ambient-light-sensor", "sensors"],
5222
+ ["background-sync", "backgroundSync"],
5223
+ ["camera", "videoCapture"],
5200
5224
  ["clipboard-read", "clipboardReadWrite"],
5201
- ["clipboard-write", "clipboardReadWrite"],
5202
5225
  ["clipboard-sanitized-write", "clipboardSanitizedWrite"],
5226
+ ["clipboard-write", "clipboardReadWrite"],
5227
+ ["geolocation", "geolocation"],
5228
+ ["gyroscope", "sensors"],
5229
+ ["idle-detection", "idleDetection"],
5230
+ ["keyboard-lock", "keyboardLock"],
5231
+ ["magnetometer", "sensors"],
5232
+ ["microphone", "audioCapture"],
5233
+ ["midi", "midi"],
5234
+ ["notifications", "notifications"],
5203
5235
  ["payment-handler", "paymentHandler"],
5204
5236
  ["persistent-storage", "durableStorage"],
5205
- ["idle-detection", "idleDetection"],
5237
+ ["pointer-lock", "pointerLock"],
5206
5238
  // chrome-specific permissions we have.
5207
5239
  ["midi-sysex", "midiSysex"]
5208
5240
  ]);
@@ -6678,7 +6710,7 @@
6678
6710
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
6679
6711
  * can be passed as-is and a
6680
6712
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
6681
- * allows quering by
6713
+ * allows querying by
6682
6714
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
6683
6715
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
6684
6716
  * and
@@ -6705,7 +6737,7 @@
6705
6737
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
6706
6738
  * can be passed as-is and a
6707
6739
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
6708
- * allows quering by
6740
+ * allows querying by
6709
6741
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
6710
6742
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
6711
6743
  * and
@@ -6839,7 +6871,7 @@
6839
6871
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
6840
6872
  * can be passed as-is and a
6841
6873
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
6842
- * allows quering by
6874
+ * allows querying by
6843
6875
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
6844
6876
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
6845
6877
  * and
@@ -6912,7 +6944,7 @@
6912
6944
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
6913
6945
  * can be passed as-is and a
6914
6946
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
6915
- * allows quering by
6947
+ * allows querying by
6916
6948
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
6917
6949
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
6918
6950
  * and
@@ -7534,7 +7566,7 @@
7534
7566
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
7535
7567
  * can be passed as-is and a
7536
7568
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
7537
- * allows quering by
7569
+ * allows querying by
7538
7570
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
7539
7571
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
7540
7572
  * and
@@ -7561,7 +7593,7 @@
7561
7593
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
7562
7594
  * can be passed as-is and a
7563
7595
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
7564
- * allows quering by
7596
+ * allows querying by
7565
7597
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
7566
7598
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
7567
7599
  * and
@@ -7595,7 +7627,7 @@
7595
7627
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
7596
7628
  * can be passed as-is and a
7597
7629
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
7598
- * allows quering by
7630
+ * allows querying by
7599
7631
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
7600
7632
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
7601
7633
  * and
@@ -7634,7 +7666,7 @@
7634
7666
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
7635
7667
  * can be passed as-is and a
7636
7668
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
7637
- * allows quering by
7669
+ * allows querying by
7638
7670
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
7639
7671
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
7640
7672
  * and
@@ -7666,7 +7698,7 @@
7666
7698
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
7667
7699
  * can be passed as-is and a
7668
7700
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
7669
- * allows quering by
7701
+ * allows querying by
7670
7702
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
7671
7703
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
7672
7704
  * and
@@ -7704,7 +7736,7 @@
7704
7736
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
7705
7737
  * can be passed as-is and a
7706
7738
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
7707
- * allows quering by
7739
+ * allows querying by
7708
7740
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
7709
7741
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
7710
7742
  * and
@@ -7756,7 +7788,7 @@
7756
7788
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
7757
7789
  * can be passed as-is and a
7758
7790
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
7759
- * allows quering by
7791
+ * allows querying by
7760
7792
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
7761
7793
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
7762
7794
  * and
@@ -8374,7 +8406,7 @@
8374
8406
  }
8375
8407
  };
8376
8408
 
8377
- // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js
8409
+ // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CdpSession.js
8378
8410
  init_dirname();
8379
8411
  init_buffer2();
8380
8412
 
@@ -8500,7 +8532,7 @@
8500
8532
  }
8501
8533
  };
8502
8534
 
8503
- // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js
8535
+ // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/CdpSession.js
8504
8536
  var CdpCDPSession = class extends CDPSession {
8505
8537
  #sessionId;
8506
8538
  #targetType;
@@ -8509,6 +8541,7 @@
8509
8541
  #parentSessionId;
8510
8542
  #target;
8511
8543
  #rawErrors = false;
8544
+ #detached = false;
8512
8545
  /**
8513
8546
  * @internal
8514
8547
  */
@@ -8525,7 +8558,7 @@
8525
8558
  *
8526
8559
  * @internal
8527
8560
  */
8528
- _setTarget(target) {
8561
+ setTarget(target) {
8529
8562
  this.#target = target;
8530
8563
  }
8531
8564
  /**
@@ -8533,13 +8566,16 @@
8533
8566
  *
8534
8567
  * @internal
8535
8568
  */
8536
- _target() {
8569
+ target() {
8537
8570
  assert(this.#target, "Target must exist");
8538
8571
  return this.#target;
8539
8572
  }
8540
8573
  connection() {
8541
8574
  return this.#connection;
8542
8575
  }
8576
+ get #closed() {
8577
+ return this.#connection._closed || this.#detached;
8578
+ }
8543
8579
  parentSession() {
8544
8580
  if (!this.#parentSessionId) {
8545
8581
  return this;
@@ -8548,7 +8584,7 @@
8548
8584
  return parent ?? void 0;
8549
8585
  }
8550
8586
  send(method, params, options) {
8551
- if (!this.#connection) {
8587
+ if (this.#closed) {
8552
8588
  return Promise.reject(new TargetCloseError(`Protocol error (${method}): Session closed. Most likely the ${this.#targetType} has been closed.`));
8553
8589
  }
8554
8590
  return this.#connection._rawSend(this.#callbacks, method, params, this.#sessionId, options);
@@ -8556,7 +8592,7 @@
8556
8592
  /**
8557
8593
  * @internal
8558
8594
  */
8559
- _onMessage(object) {
8595
+ onMessage(object) {
8560
8596
  if (object.id) {
8561
8597
  if (object.error) {
8562
8598
  if (this.#rawErrors) {
@@ -8577,19 +8613,20 @@
8577
8613
  * won't emit any events and can't be used to send messages.
8578
8614
  */
8579
8615
  async detach() {
8580
- if (!this.#connection) {
8616
+ if (this.#closed) {
8581
8617
  throw new Error(`Session already detached. Most likely the ${this.#targetType} has been closed.`);
8582
8618
  }
8583
8619
  await this.#connection.send("Target.detachFromTarget", {
8584
8620
  sessionId: this.#sessionId
8585
8621
  });
8622
+ this.#detached = true;
8586
8623
  }
8587
8624
  /**
8588
8625
  * @internal
8589
8626
  */
8590
- _onClosed() {
8627
+ onClosed() {
8591
8628
  this.#callbacks.clear();
8592
- this.#connection = void 0;
8629
+ this.#detached = true;
8593
8630
  this.emit(CDPSessionEvent.Disconnected, void 0);
8594
8631
  }
8595
8632
  /**
@@ -8716,7 +8753,7 @@
8716
8753
  } else if (object.method === "Target.detachedFromTarget") {
8717
8754
  const session = this.#sessions.get(object.params.sessionId);
8718
8755
  if (session) {
8719
- session._onClosed();
8756
+ session.onClosed();
8720
8757
  this.#sessions.delete(object.params.sessionId);
8721
8758
  this.emit(CDPSessionEvent.SessionDetached, session);
8722
8759
  const parentSession = this.#sessions.get(object.sessionId);
@@ -8728,7 +8765,7 @@
8728
8765
  if (object.sessionId) {
8729
8766
  const session = this.#sessions.get(object.sessionId);
8730
8767
  if (session) {
8731
- session._onMessage(object);
8768
+ session.onMessage(object);
8732
8769
  }
8733
8770
  } else if (object.id) {
8734
8771
  if (object.error) {
@@ -8753,7 +8790,7 @@
8753
8790
  this.#transport.onclose = void 0;
8754
8791
  this.#callbacks.clear();
8755
8792
  for (const session of this.#sessions.values()) {
8756
- session._onClosed();
8793
+ session.onClosed();
8757
8794
  }
8758
8795
  this.#sessions.clear();
8759
8796
  this.emit(CDPSessionEvent.Disconnected, void 0);
@@ -9634,136 +9671,6 @@
9634
9671
  };
9635
9672
  })();
9636
9673
 
9637
- // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/FirefoxTargetManager.js
9638
- init_dirname();
9639
- init_buffer2();
9640
- var FirefoxTargetManager = class extends EventEmitter {
9641
- #connection;
9642
- /**
9643
- * Keeps track of the following events: 'Target.targetCreated',
9644
- * 'Target.targetDestroyed'.
9645
- *
9646
- * A target becomes discovered when 'Target.targetCreated' is received.
9647
- * A target is removed from this map once 'Target.targetDestroyed' is
9648
- * received.
9649
- *
9650
- * `targetFilterCallback` has no effect on this map.
9651
- */
9652
- #discoveredTargetsByTargetId = /* @__PURE__ */ new Map();
9653
- /**
9654
- * Keeps track of targets that were created via 'Target.targetCreated'
9655
- * and which one are not filtered out by `targetFilterCallback`.
9656
- *
9657
- * The target is removed from here once it's been destroyed.
9658
- */
9659
- #availableTargetsByTargetId = /* @__PURE__ */ new Map();
9660
- /**
9661
- * Tracks which sessions attach to which target.
9662
- */
9663
- #availableTargetsBySessionId = /* @__PURE__ */ new Map();
9664
- #targetFilterCallback;
9665
- #targetFactory;
9666
- #attachedToTargetListenersBySession = /* @__PURE__ */ new WeakMap();
9667
- #initializeDeferred = Deferred.create();
9668
- #targetsIdsForInit = /* @__PURE__ */ new Set();
9669
- constructor(connection, targetFactory, targetFilterCallback) {
9670
- super();
9671
- this.#connection = connection;
9672
- this.#targetFilterCallback = targetFilterCallback;
9673
- this.#targetFactory = targetFactory;
9674
- this.#connection.on("Target.targetCreated", this.#onTargetCreated);
9675
- this.#connection.on("Target.targetDestroyed", this.#onTargetDestroyed);
9676
- this.#connection.on(CDPSessionEvent.SessionDetached, this.#onSessionDetached);
9677
- this.setupAttachmentListeners(this.#connection);
9678
- }
9679
- setupAttachmentListeners(session) {
9680
- const listener = (event) => {
9681
- return this.#onAttachedToTarget(session, event);
9682
- };
9683
- assert(!this.#attachedToTargetListenersBySession.has(session));
9684
- this.#attachedToTargetListenersBySession.set(session, listener);
9685
- session.on("Target.attachedToTarget", listener);
9686
- }
9687
- #onSessionDetached = (session) => {
9688
- this.removeSessionListeners(session);
9689
- this.#availableTargetsBySessionId.delete(session.id());
9690
- };
9691
- removeSessionListeners(session) {
9692
- if (this.#attachedToTargetListenersBySession.has(session)) {
9693
- session.off("Target.attachedToTarget", this.#attachedToTargetListenersBySession.get(session));
9694
- this.#attachedToTargetListenersBySession.delete(session);
9695
- }
9696
- }
9697
- getAvailableTargets() {
9698
- return this.#availableTargetsByTargetId;
9699
- }
9700
- getChildTargets(_target) {
9701
- return /* @__PURE__ */ new Set();
9702
- }
9703
- dispose() {
9704
- this.#connection.off("Target.targetCreated", this.#onTargetCreated);
9705
- this.#connection.off("Target.targetDestroyed", this.#onTargetDestroyed);
9706
- }
9707
- async initialize() {
9708
- await this.#connection.send("Target.setDiscoverTargets", {
9709
- discover: true,
9710
- filter: [{}]
9711
- });
9712
- this.#targetsIdsForInit = new Set(this.#discoveredTargetsByTargetId.keys());
9713
- await this.#initializeDeferred.valueOrThrow();
9714
- }
9715
- #onTargetCreated = async (event) => {
9716
- if (this.#discoveredTargetsByTargetId.has(event.targetInfo.targetId)) {
9717
- return;
9718
- }
9719
- this.#discoveredTargetsByTargetId.set(event.targetInfo.targetId, event.targetInfo);
9720
- if (event.targetInfo.type === "browser" && event.targetInfo.attached) {
9721
- const target2 = this.#targetFactory(event.targetInfo, void 0);
9722
- target2._initialize();
9723
- this.#availableTargetsByTargetId.set(event.targetInfo.targetId, target2);
9724
- this.#finishInitializationIfReady(target2._targetId);
9725
- return;
9726
- }
9727
- const target = this.#targetFactory(event.targetInfo, void 0);
9728
- if (this.#targetFilterCallback && !this.#targetFilterCallback(target)) {
9729
- this.#finishInitializationIfReady(event.targetInfo.targetId);
9730
- return;
9731
- }
9732
- target._initialize();
9733
- this.#availableTargetsByTargetId.set(event.targetInfo.targetId, target);
9734
- this.emit("targetAvailable", target);
9735
- this.#finishInitializationIfReady(target._targetId);
9736
- };
9737
- #onTargetDestroyed = (event) => {
9738
- this.#discoveredTargetsByTargetId.delete(event.targetId);
9739
- this.#finishInitializationIfReady(event.targetId);
9740
- const target = this.#availableTargetsByTargetId.get(event.targetId);
9741
- if (target) {
9742
- this.emit("targetGone", target);
9743
- this.#availableTargetsByTargetId.delete(event.targetId);
9744
- }
9745
- };
9746
- #onAttachedToTarget = async (parentSession, event) => {
9747
- const targetInfo = event.targetInfo;
9748
- const session = this.#connection.session(event.sessionId);
9749
- if (!session) {
9750
- throw new Error(`Session ${event.sessionId} was not created.`);
9751
- }
9752
- const target = this.#availableTargetsByTargetId.get(targetInfo.targetId);
9753
- assert(target, `Target ${targetInfo.targetId} is missing`);
9754
- session._setTarget(target);
9755
- this.setupAttachmentListeners(session);
9756
- this.#availableTargetsBySessionId.set(session.id(), this.#availableTargetsByTargetId.get(targetInfo.targetId));
9757
- parentSession.emit(CDPSessionEvent.Ready, session);
9758
- };
9759
- #finishInitializationIfReady(targetId) {
9760
- this.#targetsIdsForInit.delete(targetId);
9761
- if (this.#targetsIdsForInit.size === 0) {
9762
- this.#initializeDeferred.resolve();
9763
- }
9764
- }
9765
- };
9766
-
9767
9674
  // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/FrameManager.js
9768
9675
  init_dirname();
9769
9676
  init_buffer2();
@@ -11062,7 +10969,7 @@
11062
10969
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
11063
10970
  * can be passed as-is and a
11064
10971
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
11065
- * allows quering by
10972
+ * allows querying by
11066
10973
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
11067
10974
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
11068
10975
  * and
@@ -11088,7 +10995,7 @@
11088
10995
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
11089
10996
  * can be passed as-is and a
11090
10997
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
11091
- * allows quering by
10998
+ * allows querying by
11092
10999
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
11093
11000
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
11094
11001
  * and
@@ -11124,7 +11031,7 @@
11124
11031
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
11125
11032
  * can be passed as-is and a
11126
11033
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
11127
- * allows quering by
11034
+ * allows querying by
11128
11035
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
11129
11036
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
11130
11037
  * and
@@ -11163,7 +11070,7 @@
11163
11070
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
11164
11071
  * can be passed as-is and a
11165
11072
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
11166
- * allows quering by
11073
+ * allows querying by
11167
11074
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
11168
11075
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
11169
11076
  * and
@@ -11721,7 +11628,7 @@
11721
11628
  var DeviceRequestPromptManager = class {
11722
11629
  #client;
11723
11630
  #timeoutSettings;
11724
- #deviceRequestPrompDeferreds = /* @__PURE__ */ new Set();
11631
+ #deviceRequestPromptDeferreds = /* @__PURE__ */ new Set();
11725
11632
  /**
11726
11633
  * @internal
11727
11634
  */
@@ -11741,7 +11648,7 @@
11741
11648
  */
11742
11649
  async waitForDevicePrompt(options = {}) {
11743
11650
  assert(this.#client !== null, "Cannot wait for device prompt through detached session!");
11744
- const needsEnable = this.#deviceRequestPrompDeferreds.size === 0;
11651
+ const needsEnable = this.#deviceRequestPromptDeferreds.size === 0;
11745
11652
  let enablePromise;
11746
11653
  if (needsEnable) {
11747
11654
  enablePromise = this.#client.send("DeviceAccess.enable");
@@ -11756,7 +11663,7 @@
11756
11663
  deferred.reject(options.signal?.reason);
11757
11664
  }, { once: true });
11758
11665
  }
11759
- this.#deviceRequestPrompDeferreds.add(deferred);
11666
+ this.#deviceRequestPromptDeferreds.add(deferred);
11760
11667
  try {
11761
11668
  const [result] = await Promise.all([
11762
11669
  deferred.valueOrThrow(),
@@ -11764,22 +11671,22 @@
11764
11671
  ]);
11765
11672
  return result;
11766
11673
  } finally {
11767
- this.#deviceRequestPrompDeferreds.delete(deferred);
11674
+ this.#deviceRequestPromptDeferreds.delete(deferred);
11768
11675
  }
11769
11676
  }
11770
11677
  /**
11771
11678
  * @internal
11772
11679
  */
11773
11680
  #onDeviceRequestPrompted(event) {
11774
- if (!this.#deviceRequestPrompDeferreds.size) {
11681
+ if (!this.#deviceRequestPromptDeferreds.size) {
11775
11682
  return;
11776
11683
  }
11777
11684
  assert(this.#client !== null);
11778
11685
  const devicePrompt = new DeviceRequestPrompt(this.#client, this.#timeoutSettings, event);
11779
- for (const promise of this.#deviceRequestPrompDeferreds) {
11686
+ for (const promise of this.#deviceRequestPromptDeferreds) {
11780
11687
  promise.resolve(devicePrompt);
11781
11688
  }
11782
- this.#deviceRequestPrompDeferreds.clear();
11689
+ this.#deviceRequestPromptDeferreds.clear();
11783
11690
  }
11784
11691
  };
11785
11692
 
@@ -12111,8 +12018,8 @@
12111
12018
  /**
12112
12019
  * @internal
12113
12020
  */
12114
- dispose() {
12115
- return this.handle.dispose();
12021
+ async dispose() {
12022
+ await Promise.all([this.handle.dispose(), this.isolatedHandle?.dispose()]);
12116
12023
  }
12117
12024
  /**
12118
12025
  * @internal
@@ -12129,7 +12036,7 @@
12129
12036
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
12130
12037
  * can be passed as-is and a
12131
12038
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
12132
- * allows quering by
12039
+ * allows querying by
12133
12040
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
12134
12041
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
12135
12042
  * and
@@ -12154,7 +12061,7 @@
12154
12061
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
12155
12062
  * can be passed as-is and a
12156
12063
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
12157
- * allows quering by
12064
+ * allows querying by
12158
12065
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
12159
12066
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
12160
12067
  * and
@@ -12214,7 +12121,7 @@
12214
12121
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
12215
12122
  * can be passed as-is and a
12216
12123
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
12217
- * allows quering by
12124
+ * allows querying by
12218
12125
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
12219
12126
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
12220
12127
  * and
@@ -12277,7 +12184,7 @@
12277
12184
  * {@link https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Selectors | CSS selectors}
12278
12185
  * can be passed as-is and a
12279
12186
  * {@link https://pptr.dev/guides/page-interactions#non-css-selectors | Puppeteer-specific selector syntax}
12280
- * allows quering by
12187
+ * allows querying by
12281
12188
  * {@link https://pptr.dev/guides/page-interactions#text-selectors--p-text | text},
12282
12189
  * {@link https://pptr.dev/guides/page-interactions#aria-selectors--p-aria | a11y role and name},
12283
12190
  * and
@@ -14490,7 +14397,7 @@ ${sourceUrlComment}
14490
14397
  }
14491
14398
  if (this.#poller) {
14492
14399
  try {
14493
- await this.#poller.evaluateHandle(async (poller) => {
14400
+ await this.#poller.evaluate(async (poller) => {
14494
14401
  await poller.stop();
14495
14402
  });
14496
14403
  if (this.#poller) {
@@ -14515,7 +14422,7 @@ ${sourceUrlComment}
14515
14422
  if (error.message.includes("Cannot find context with specified id")) {
14516
14423
  return;
14517
14424
  }
14518
- if (error.message.includes("AbortError: Actor 'MessageHandlerFrame' destroyed")) {
14425
+ if (error.message.includes("DiscardedBrowsingContextError")) {
14519
14426
  return;
14520
14427
  }
14521
14428
  return error;
@@ -15169,10 +15076,6 @@ ${sourceUrlComment}
15169
15076
  throw new UnsupportedOperation();
15170
15077
  }
15171
15078
  async frameElement() {
15172
- const isFirefox = this.page().target()._targetManager() instanceof FirefoxTargetManager;
15173
- if (isFirefox) {
15174
- return await super.frameElement();
15175
- }
15176
15079
  const parent = this.parentFrame();
15177
15080
  if (!parent) {
15178
15081
  return null;
@@ -15656,7 +15559,7 @@ ${sourceUrlComment}
15656
15559
  failed: "Failed"
15657
15560
  };
15658
15561
  function handleError(error) {
15659
- if (error.originalMessage.includes("Invalid header") || error.originalMessage.includes('Expected "header"') || // WebDriver BiDi error for invalid values, for example, headers.
15562
+ if (error.originalMessage.includes("Invalid header") || error.originalMessage.includes("Unsafe header") || error.originalMessage.includes('Expected "header"') || // WebDriver BiDi error for invalid values, for example, headers.
15660
15563
  error.originalMessage.includes("invalid argument")) {
15661
15564
  throw error;
15662
15565
  }
@@ -15688,7 +15591,7 @@ ${sourceUrlComment}
15688
15591
  this.id = data.requestId;
15689
15592
  this.#isNavigationRequest = data.requestId === data.loaderId && data.type === "Document";
15690
15593
  this._interceptionId = interceptionId;
15691
- this.#url = data.request.url;
15594
+ this.#url = data.request.url + (data.request.urlFragment ?? "");
15692
15595
  this.#resourceType = (data.type || "other").toLowerCase();
15693
15596
  this.#method = data.request.method;
15694
15597
  this.#postData = data.request.postData;
@@ -15939,7 +15842,6 @@ ${sourceUrlComment}
15939
15842
  #remoteAddress;
15940
15843
  #status;
15941
15844
  #statusText;
15942
- #url;
15943
15845
  #fromDiskCache;
15944
15846
  #fromServiceWorker;
15945
15847
  #headers = {};
@@ -15953,7 +15855,6 @@ ${sourceUrlComment}
15953
15855
  port: responsePayload.remotePort
15954
15856
  };
15955
15857
  this.#statusText = this.#parseStatusTextFromExtraInfo(extraInfo) || responsePayload.statusText;
15956
- this.#url = request.url();
15957
15858
  this.#fromDiskCache = !!responsePayload.fromDiskCache;
15958
15859
  this.#fromServiceWorker = !!responsePayload.fromServiceWorker;
15959
15860
  this.#status = extraInfo ? extraInfo.statusCode : responsePayload.status;
@@ -15992,7 +15893,7 @@ ${sourceUrlComment}
15992
15893
  return this.#remoteAddress;
15993
15894
  }
15994
15895
  url() {
15995
- return this.#url;
15896
+ return this.#request.url();
15996
15897
  }
15997
15898
  status() {
15998
15899
  return this.#status;
@@ -16659,6 +16560,10 @@ ${sourceUrlComment}
16659
16560
  if (!mainFrame) {
16660
16561
  return;
16661
16562
  }
16563
+ if (this.client.connection()?._closed) {
16564
+ this.#removeFramesRecursively(mainFrame);
16565
+ return;
16566
+ }
16662
16567
  for (const child of mainFrame.childFrames()) {
16663
16568
  this.#removeFramesRecursively(child);
16664
16569
  }
@@ -16685,9 +16590,9 @@ ${sourceUrlComment}
16685
16590
  assert(this.#client instanceof CdpCDPSession, "CDPSession is not an instance of CDPSessionImpl.");
16686
16591
  const frame = this._frameTree.getMainFrame();
16687
16592
  if (frame) {
16688
- this.#frameNavigatedReceived.add(this.#client._target()._targetId);
16593
+ this.#frameNavigatedReceived.add(this.#client.target()._targetId);
16689
16594
  this._frameTree.removeFrame(frame);
16690
- frame.updateId(this.#client._target()._targetId);
16595
+ frame.updateId(this.#client.target()._targetId);
16691
16596
  this._frameTree.addFrame(frame);
16692
16597
  frame.updateClient(client);
16693
16598
  }
@@ -18313,7 +18218,7 @@ ${sourceUrlComment}
18313
18218
  this.#primaryTargetClient = client;
18314
18219
  this.#tabTargetClient = client.parentSession();
18315
18220
  assert(this.#tabTargetClient, "Tab target session is not defined.");
18316
- this.#tabTarget = this.#tabTargetClient._target();
18221
+ this.#tabTarget = this.#tabTargetClient.target();
18317
18222
  assert(this.#tabTarget, "Tab target is not defined.");
18318
18223
  this.#primaryTarget = target;
18319
18224
  this.#targetManager = target._targetManager();
@@ -18389,7 +18294,7 @@ ${sourceUrlComment}
18389
18294
  async #onActivation(newSession) {
18390
18295
  this.#primaryTargetClient = newSession;
18391
18296
  assert(this.#primaryTargetClient instanceof CdpCDPSession, "CDPSession is not instance of CDPSessionImpl");
18392
- this.#primaryTarget = this.#primaryTargetClient._target();
18297
+ this.#primaryTarget = this.#primaryTargetClient.target();
18393
18298
  assert(this.#primaryTarget, "Missing target on swap");
18394
18299
  this.#keyboard.updateClient(newSession);
18395
18300
  this.#mouse.updateClient(newSession);
@@ -18402,7 +18307,7 @@ ${sourceUrlComment}
18402
18307
  }
18403
18308
  async #onSecondaryTarget(session) {
18404
18309
  assert(session instanceof CdpCDPSession);
18405
- if (session._target()._subtype() !== "prerender") {
18310
+ if (session.target()._subtype() !== "prerender") {
18406
18311
  return;
18407
18312
  }
18408
18313
  this.#frameManager.registerSpeculativeSession(session).catch(debugError);
@@ -18442,9 +18347,9 @@ ${sourceUrlComment}
18442
18347
  };
18443
18348
  #onAttachedToTarget = (session) => {
18444
18349
  assert(session instanceof CdpCDPSession);
18445
- this.#frameManager.onAttachedToTarget(session._target());
18446
- if (session._target()._getTargetInfo().type === "worker") {
18447
- const worker = new CdpWebWorker(session, session._target().url(), session._target()._targetId, session._target().type(), this.#addConsoleMessage.bind(this), this.#handleException.bind(this));
18350
+ this.#frameManager.onAttachedToTarget(session.target());
18351
+ if (session.target()._getTargetInfo().type === "worker") {
18352
+ const worker = new CdpWebWorker(session, session.target().url(), session.target()._targetId, session.target().type(), this.#addConsoleMessage.bind(this), this.#handleException.bind(this));
18448
18353
  this.#workers.set(session.id(), worker);
18449
18354
  this.emit("workercreated", worker);
18450
18355
  }
@@ -18891,9 +18796,8 @@ ${sourceUrlComment}
18891
18796
  const env_2 = { stack: [], error: void 0, hasError: false };
18892
18797
  try {
18893
18798
  const { fromSurface, omitBackground, optimizeForSpeed, quality, clip: userClip, type, captureBeyondViewport } = options;
18894
- const isFirefox = this.target()._targetManager() instanceof FirefoxTargetManager;
18895
18799
  const stack = __addDisposableResource12(env_2, new AsyncDisposableStack(), true);
18896
- if (!isFirefox && omitBackground && (type === "png" || type === "webp")) {
18800
+ if (omitBackground && (type === "png" || type === "webp")) {
18897
18801
  await this.#emulationManager.setTransparentBackgroundColor();
18898
18802
  stack.defer(async () => {
18899
18803
  await this.#emulationManager.resetDefaultBackgroundColor().catch(debugError);
@@ -18909,10 +18813,10 @@ ${sourceUrlComment}
18909
18813
  }
18910
18814
  const { data } = await this.#primaryTargetClient.send("Page.captureScreenshot", {
18911
18815
  format: type,
18912
- ...optimizeForSpeed ? { optimizeForSpeed } : {},
18816
+ optimizeForSpeed,
18817
+ fromSurface,
18913
18818
  ...quality !== void 0 ? { quality: Math.round(quality) } : {},
18914
18819
  ...clip ? { clip: { ...clip, scale: clip.scale ?? 1 } } : {},
18915
- ...!fromSurface ? { fromSurface } : {},
18916
18820
  captureBeyondViewport
18917
18821
  });
18918
18822
  return data;
@@ -19224,10 +19128,6 @@ ${sourceUrlComment}
19224
19128
  }
19225
19129
  };
19226
19130
 
19227
- // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ChromeTargetManager.js
19228
- init_dirname();
19229
- init_buffer2();
19230
-
19231
19131
  // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Target.js
19232
19132
  init_dirname();
19233
19133
  init_buffer2();
@@ -19260,7 +19160,7 @@ ${sourceUrlComment}
19260
19160
  this._targetId = targetInfo.targetId;
19261
19161
  this.#sessionFactory = sessionFactory;
19262
19162
  if (this.#session && this.#session instanceof CdpCDPSession) {
19263
- this.#session._setTarget(this);
19163
+ this.#session.setTarget(this);
19264
19164
  }
19265
19165
  }
19266
19166
  async asPage() {
@@ -19298,7 +19198,7 @@ ${sourceUrlComment}
19298
19198
  throw new Error("sessionFactory is not initialized");
19299
19199
  }
19300
19200
  return this.#sessionFactory(false).then((session) => {
19301
- session._setTarget(this);
19201
+ session.setTarget(this);
19302
19202
  return session;
19303
19203
  });
19304
19204
  }
@@ -19455,11 +19355,13 @@ ${sourceUrlComment}
19455
19355
  var OtherTarget = class extends CdpTarget {
19456
19356
  };
19457
19357
 
19458
- // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/ChromeTargetManager.js
19358
+ // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/TargetManager.js
19359
+ init_dirname();
19360
+ init_buffer2();
19459
19361
  function isPageTargetBecomingPrimary(target, newTargetInfo) {
19460
19362
  return Boolean(target._subtype()) && !newTargetInfo.subtype;
19461
19363
  }
19462
- var ChromeTargetManager = class extends EventEmitter {
19364
+ var TargetManager = class extends EventEmitter {
19463
19365
  #connection;
19464
19366
  /**
19465
19367
  * Keeps track of the following events: 'Target.targetCreated',
@@ -19473,7 +19375,7 @@ ${sourceUrlComment}
19473
19375
  */
19474
19376
  #discoveredTargetsByTargetId = /* @__PURE__ */ new Map();
19475
19377
  /**
19476
- * A target is added to this map once ChromeTargetManager has created
19378
+ * A target is added to this map once TargetManager has created
19477
19379
  * a Target and attached at least once to it.
19478
19380
  */
19479
19381
  #attachedTargetsByTargetId = /* @__PURE__ */ new Map();
@@ -19667,14 +19569,14 @@ ${sourceUrlComment}
19667
19569
  }
19668
19570
  this.#setupAttachmentListeners(session);
19669
19571
  if (isExistingTarget) {
19670
- session._setTarget(target);
19572
+ session.setTarget(target);
19671
19573
  this.#attachedTargetsBySessionId.set(session.id(), this.#attachedTargetsByTargetId.get(targetInfo.targetId));
19672
19574
  } else {
19673
19575
  target._initialize();
19674
19576
  this.#attachedTargetsByTargetId.set(targetInfo.targetId, target);
19675
19577
  this.#attachedTargetsBySessionId.set(session.id(), target);
19676
19578
  }
19677
- const parentTarget = parentSession instanceof CDPSession ? parentSession._target() : null;
19579
+ const parentTarget = parentSession instanceof CDPSession ? parentSession.target() : null;
19678
19580
  parentTarget?._addChildTarget(target);
19679
19581
  parentSession.emit(CDPSessionEvent.Ready, session);
19680
19582
  this.#targetsIdsForInit.delete(target._targetId);
@@ -19707,7 +19609,7 @@ ${sourceUrlComment}
19707
19609
  return;
19708
19610
  }
19709
19611
  if (parentSession instanceof CDPSession) {
19710
- parentSession._target()._removeChildTarget(target);
19612
+ parentSession.target()._removeChildTarget(target);
19711
19613
  }
19712
19614
  this.#attachedTargetsByTargetId.delete(target._targetId);
19713
19615
  this.emit("targetGone", target);
@@ -19717,8 +19619,8 @@ ${sourceUrlComment}
19717
19619
  // node_modules/puppeteer-core/lib/esm/puppeteer/cdp/Browser.js
19718
19620
  var CdpBrowser = class _CdpBrowser extends Browser {
19719
19621
  protocol = "cdp";
19720
- static async _create(product, connection, contextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true) {
19721
- const browser = new _CdpBrowser(product, connection, contextIds, defaultViewport, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets);
19622
+ static async _create(connection, contextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true) {
19623
+ const browser = new _CdpBrowser(connection, contextIds, defaultViewport, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets);
19722
19624
  if (acceptInsecureCerts) {
19723
19625
  await connection.send("Security.setIgnoreCertificateErrors", {
19724
19626
  ignore: true
@@ -19736,9 +19638,8 @@ ${sourceUrlComment}
19736
19638
  #defaultContext;
19737
19639
  #contexts = /* @__PURE__ */ new Map();
19738
19640
  #targetManager;
19739
- constructor(product, connection, contextIds, defaultViewport, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true) {
19641
+ constructor(connection, contextIds, defaultViewport, process3, closeCallback, targetFilterCallback, isPageTargetCallback, waitForInitiallyDiscoveredTargets = true) {
19740
19642
  super();
19741
- product = product || "chrome";
19742
19643
  this.#defaultViewport = defaultViewport;
19743
19644
  this.#process = process3;
19744
19645
  this.#connection = connection;
@@ -19748,11 +19649,7 @@ ${sourceUrlComment}
19748
19649
  return true;
19749
19650
  });
19750
19651
  this.#setIsPageTargetCallback(isPageTargetCallback);
19751
- if (product === "firefox") {
19752
- this.#targetManager = new FirefoxTargetManager(connection, this.#createTarget, this.#targetFilterCallback);
19753
- } else {
19754
- this.#targetManager = new ChromeTargetManager(connection, this.#createTarget, this.#targetFilterCallback, waitForInitiallyDiscoveredTargets);
19755
- }
19652
+ this.#targetManager = new TargetManager(connection, this.#createTarget, this.#targetFilterCallback, waitForInitiallyDiscoveredTargets);
19756
19653
  this.#defaultContext = new CdpBrowserContext(this.#connection, this);
19757
19654
  for (const contextId of contextIds) {
19758
19655
  this.#contexts.set(contextId, new CdpBrowserContext(this.#connection, this, contextId));
@@ -19939,10 +19836,8 @@ ${sourceUrlComment}
19939
19836
  async function _connectToCdpBrowser(connectionTransport, url, options) {
19940
19837
  const { acceptInsecureCerts = false, defaultViewport = DEFAULT_VIEWPORT, downloadBehavior, targetFilter, _isPageTarget: isPageTarget, slowMo = 0, protocolTimeout } = options;
19941
19838
  const connection = new Connection(url, connectionTransport, slowMo, protocolTimeout);
19942
- const version = await connection.send("Browser.getVersion");
19943
- const product = version.product.toLowerCase().includes("firefox") ? "firefox" : "chrome";
19944
19839
  const { browserContextIds } = await connection.send("Target.getBrowserContexts");
19945
- const browser = await CdpBrowser._create(product || "chrome", connection, browserContextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, void 0, () => {
19840
+ const browser = await CdpBrowser._create(connection, browserContextIds, acceptInsecureCerts, defaultViewport, downloadBehavior, void 0, () => {
19946
19841
  return connection.send("Browser.close").catch(debugError);
19947
19842
  }, targetFilter, isPageTarget);
19948
19843
  return browser;
@@ -20190,7 +20085,7 @@ puppeteer-core/lib/esm/puppeteer/common/CallbackRegistry.js:
20190
20085
  * SPDX-License-Identifier: Apache-2.0
20191
20086
  *)
20192
20087
 
20193
- puppeteer-core/lib/esm/puppeteer/cdp/CDPSession.js:
20088
+ puppeteer-core/lib/esm/puppeteer/cdp/CdpSession.js:
20194
20089
  (**
20195
20090
  * @license
20196
20091
  * Copyright 2017 Google Inc.
@@ -20225,13 +20120,6 @@ puppeteer-core/lib/esm/puppeteer/cdp/Dialog.js:
20225
20120
  * SPDX-License-Identifier: Apache-2.0
20226
20121
  *)
20227
20122
 
20228
- puppeteer-core/lib/esm/puppeteer/cdp/FirefoxTargetManager.js:
20229
- (**
20230
- * @license
20231
- * Copyright 2022 Google Inc.
20232
- * SPDX-License-Identifier: Apache-2.0
20233
- *)
20234
-
20235
20123
  puppeteer-core/lib/esm/puppeteer/api/ElementHandleSymbol.js:
20236
20124
  (**
20237
20125
  * @license
@@ -20547,7 +20435,7 @@ puppeteer-core/lib/esm/puppeteer/cdp/Target.js:
20547
20435
  * SPDX-License-Identifier: Apache-2.0
20548
20436
  *)
20549
20437
 
20550
- puppeteer-core/lib/esm/puppeteer/cdp/ChromeTargetManager.js:
20438
+ puppeteer-core/lib/esm/puppeteer/cdp/TargetManager.js:
20551
20439
  (**
20552
20440
  * @license
20553
20441
  * Copyright 2022 Google Inc.