@checkly/playwright-core 1.51.17-beta.1 → 1.54.2-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/ThirdPartyNotices.txt +65 -123
  2. package/browsers.json +16 -14
  3. package/index.js +1 -1
  4. package/lib/androidServerImpl.js +47 -50
  5. package/lib/browserServerImpl.js +89 -69
  6. package/lib/checkly/escapeRegExp.js +23 -27
  7. package/lib/checkly/fetch.js +64 -46
  8. package/lib/checkly/secretsFilter.js +49 -36
  9. package/lib/cli/driver.js +71 -69
  10. package/lib/cli/program.js +400 -359
  11. package/lib/cli/programWithTestStub.js +51 -45
  12. package/lib/client/accessibility.js +31 -32
  13. package/lib/client/android.js +151 -242
  14. package/lib/client/api.js +135 -283
  15. package/lib/client/artifact.js +39 -36
  16. package/lib/client/browser.js +96 -71
  17. package/lib/client/browserContext.js +314 -345
  18. package/lib/client/browserType.js +103 -127
  19. package/lib/client/cdpSession.js +29 -31
  20. package/lib/client/channelOwner.js +90 -113
  21. package/lib/client/clientHelper.js +48 -39
  22. package/lib/client/clientInstrumentation.js +40 -37
  23. package/lib/client/clientStackTrace.js +41 -37
  24. package/lib/client/clock.js +36 -36
  25. package/lib/client/connection.js +188 -214
  26. package/lib/client/consoleMessage.js +31 -28
  27. package/lib/client/coverage.js +25 -22
  28. package/lib/client/dialog.js +30 -31
  29. package/lib/client/download.js +25 -25
  30. package/lib/client/electron.js +80 -77
  31. package/lib/client/elementHandle.js +120 -159
  32. package/lib/client/errors.js +53 -53
  33. package/lib/client/eventEmitter.js +124 -121
  34. package/lib/client/events.js +72 -68
  35. package/lib/client/fetch.js +166 -190
  36. package/lib/client/fileChooser.js +25 -24
  37. package/lib/client/fileUtils.js +31 -28
  38. package/lib/client/frame.js +207 -306
  39. package/lib/client/harRouter.js +42 -52
  40. package/lib/client/input.js +42 -69
  41. package/lib/client/jsHandle.js +54 -69
  42. package/lib/client/jsonPipe.js +27 -23
  43. package/lib/client/localUtils.js +29 -29
  44. package/lib/client/locator.js +145 -237
  45. package/lib/client/network.js +282 -307
  46. package/lib/client/page.js +269 -318
  47. package/lib/client/platform.js +46 -43
  48. package/lib/client/playwright.js +51 -76
  49. package/lib/client/selectors.js +45 -63
  50. package/lib/client/stream.js +29 -25
  51. package/lib/client/timeoutSettings.js +55 -41
  52. package/lib/client/tracing.js +49 -96
  53. package/lib/client/types.js +26 -22
  54. package/lib/client/video.js +35 -27
  55. package/lib/client/waiter.js +69 -88
  56. package/lib/client/webError.js +25 -23
  57. package/lib/client/webSocket.js +43 -56
  58. package/lib/client/worker.js +48 -56
  59. package/lib/client/writableStream.js +27 -23
  60. package/lib/generated/bindingsControllerSource.js +28 -0
  61. package/lib/generated/clockSource.js +26 -6
  62. package/lib/generated/consoleApiSource.js +26 -6
  63. package/lib/generated/injectedScriptSource.js +26 -6
  64. package/lib/generated/pollingRecorderSource.js +26 -6
  65. package/lib/generated/storageScriptSource.js +28 -0
  66. package/lib/generated/utilityScriptSource.js +26 -6
  67. package/lib/generated/webSocketMockSource.js +333 -5
  68. package/lib/inProcessFactory.js +51 -53
  69. package/lib/inprocess.js +2 -19
  70. package/lib/outofprocess.js +51 -46
  71. package/lib/protocol/serializers.js +153 -134
  72. package/lib/protocol/validator.js +2807 -2739
  73. package/lib/protocol/validatorPrimitives.js +114 -73
  74. package/lib/remote/playwrightConnection.js +88 -242
  75. package/lib/remote/playwrightServer.js +305 -92
  76. package/lib/server/accessibility.js +44 -37
  77. package/lib/server/android/android.js +251 -241
  78. package/lib/server/android/backendAdb.js +87 -82
  79. package/lib/server/artifact.js +78 -55
  80. package/lib/server/bidi/bidiBrowser.js +297 -158
  81. package/lib/server/bidi/bidiChromium.js +119 -89
  82. package/lib/server/bidi/bidiConnection.js +66 -83
  83. package/lib/server/bidi/bidiExecutionContext.js +129 -113
  84. package/lib/server/bidi/bidiFirefox.js +86 -76
  85. package/lib/server/bidi/bidiInput.js +106 -117
  86. package/lib/server/bidi/bidiNetworkManager.js +142 -159
  87. package/lib/server/bidi/bidiOverCdp.js +57 -58
  88. package/lib/server/bidi/bidiPage.js +260 -260
  89. package/lib/server/bidi/bidiPdf.js +52 -86
  90. package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  91. package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
  92. package/lib/server/bidi/third_party/bidiKeyboard.js +236 -220
  93. package/lib/server/bidi/third_party/bidiProtocol.js +22 -137
  94. package/lib/server/bidi/third_party/bidiProtocolCore.js +152 -0
  95. package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
  96. package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
  97. package/lib/server/bidi/third_party/firefoxPrefs.js +141 -119
  98. package/lib/server/browser.js +93 -95
  99. package/lib/server/browserContext.js +419 -429
  100. package/lib/server/browserType.js +186 -216
  101. package/lib/server/callLog.js +47 -44
  102. package/lib/server/chromium/chromium.js +235 -203
  103. package/lib/server/chromium/chromiumSwitches.js +100 -67
  104. package/lib/server/chromium/crAccessibility.js +157 -131
  105. package/lib/server/chromium/crBrowser.js +310 -292
  106. package/lib/server/chromium/crConnection.js +95 -121
  107. package/lib/server/chromium/crCoverage.js +121 -131
  108. package/lib/server/chromium/crDevTools.js +60 -51
  109. package/lib/server/chromium/crDragDrop.js +68 -84
  110. package/lib/server/chromium/crExecutionContext.js +89 -83
  111. package/lib/server/chromium/crInput.js +118 -113
  112. package/lib/server/chromium/crNetworkManager.js +274 -375
  113. package/lib/server/chromium/crPage.js +536 -593
  114. package/lib/server/chromium/crPdf.js +54 -86
  115. package/lib/server/chromium/crProtocolHelper.js +92 -80
  116. package/lib/server/chromium/crServiceWorker.js +84 -73
  117. package/lib/server/chromium/defaultFontFamilies.js +152 -135
  118. package/lib/server/chromium/protocol.d.js +16 -0
  119. package/lib/server/chromium/videoRecorder.js +66 -99
  120. package/lib/server/clock.js +107 -83
  121. package/lib/server/codegen/csharp.js +192 -162
  122. package/lib/server/codegen/java.js +156 -129
  123. package/lib/server/codegen/javascript.js +163 -148
  124. package/lib/server/codegen/jsonl.js +32 -28
  125. package/lib/server/codegen/language.js +75 -52
  126. package/lib/server/codegen/languages.js +65 -27
  127. package/lib/server/codegen/python.js +141 -126
  128. package/lib/server/codegen/types.js +15 -4
  129. package/lib/server/console.js +28 -32
  130. package/lib/server/cookieStore.js +108 -86
  131. package/lib/server/debugController.js +147 -151
  132. package/lib/server/debugger.js +86 -78
  133. package/lib/server/deviceDescriptors.js +37 -24
  134. package/lib/server/deviceDescriptorsSource.json +238 -128
  135. package/lib/server/dialog.js +84 -39
  136. package/lib/server/dispatchers/androidDispatcher.js +257 -148
  137. package/lib/server/dispatchers/artifactDispatcher.js +79 -79
  138. package/lib/server/dispatchers/browserContextDispatcher.js +289 -259
  139. package/lib/server/dispatchers/browserDispatcher.js +96 -148
  140. package/lib/server/dispatchers/browserTypeDispatcher.js +50 -41
  141. package/lib/server/dispatchers/cdpSessionDispatcher.js +35 -39
  142. package/lib/server/dispatchers/debugControllerDispatcher.js +65 -83
  143. package/lib/server/dispatchers/dialogDispatcher.js +34 -31
  144. package/lib/server/dispatchers/dispatcher.js +208 -248
  145. package/lib/server/dispatchers/electronDispatcher.js +66 -70
  146. package/lib/server/dispatchers/elementHandlerDispatcher.js +164 -216
  147. package/lib/server/dispatchers/frameDispatcher.js +211 -272
  148. package/lib/server/dispatchers/jsHandleDispatcher.js +63 -75
  149. package/lib/server/dispatchers/jsonPipeDispatcher.js +37 -38
  150. package/lib/server/dispatchers/localUtilsDispatcher.js +121 -119
  151. package/lib/server/dispatchers/networkDispatchers.js +117 -128
  152. package/lib/server/dispatchers/pageDispatcher.js +256 -248
  153. package/lib/server/dispatchers/playwrightDispatcher.js +92 -87
  154. package/lib/server/dispatchers/streamDispatcher.js +52 -48
  155. package/lib/server/dispatchers/tracingDispatcher.js +47 -52
  156. package/lib/server/dispatchers/webSocketRouteDispatcher.js +126 -150
  157. package/lib/server/dispatchers/writableStreamDispatcher.js +65 -43
  158. package/lib/server/dom.js +485 -582
  159. package/lib/server/download.js +47 -37
  160. package/lib/server/electron/electron.js +216 -243
  161. package/lib/server/electron/loader.js +9 -37
  162. package/lib/server/errors.js +47 -46
  163. package/lib/server/fetch.js +317 -360
  164. package/lib/server/fileChooser.js +25 -24
  165. package/lib/server/fileUploadUtils.js +66 -60
  166. package/lib/server/firefox/ffAccessibility.js +153 -131
  167. package/lib/server/firefox/ffBrowser.js +268 -305
  168. package/lib/server/firefox/ffConnection.js +63 -84
  169. package/lib/server/firefox/ffExecutionContext.js +92 -73
  170. package/lib/server/firefox/ffInput.js +82 -84
  171. package/lib/server/firefox/ffNetworkManager.js +137 -114
  172. package/lib/server/firefox/ffPage.js +261 -293
  173. package/lib/server/firefox/firefox.js +80 -72
  174. package/lib/server/firefox/protocol.d.js +16 -0
  175. package/lib/server/formData.js +107 -35
  176. package/lib/server/frameSelectors.js +98 -114
  177. package/lib/server/frames.js +845 -1055
  178. package/lib/server/har/harRecorder.js +85 -77
  179. package/lib/server/har/harTracer.js +290 -223
  180. package/lib/server/harBackend.js +80 -80
  181. package/lib/server/helper.js +55 -59
  182. package/lib/server/index.js +59 -99
  183. package/lib/server/input.js +151 -189
  184. package/lib/server/instrumentation.js +57 -44
  185. package/lib/server/javascript.js +133 -134
  186. package/lib/server/launchApp.js +113 -75
  187. package/lib/server/localUtils.js +150 -142
  188. package/lib/server/macEditingCommands.js +141 -137
  189. package/lib/server/network.js +299 -303
  190. package/lib/server/page.js +513 -544
  191. package/lib/server/pipeTransport.js +49 -45
  192. package/lib/server/playwright.js +58 -67
  193. package/lib/server/progress.js +137 -68
  194. package/lib/server/protocolError.js +34 -31
  195. package/lib/server/recorder/chat.js +70 -86
  196. package/lib/server/recorder/recorderApp.js +341 -176
  197. package/lib/server/recorder/recorderInTraceViewer.js +65 -94
  198. package/lib/server/recorder/recorderRunner.js +93 -116
  199. package/lib/server/recorder/recorderSignalProcessor.js +83 -0
  200. package/lib/server/recorder/recorderUtils.js +104 -47
  201. package/lib/server/recorder/throttledFile.js +42 -30
  202. package/lib/server/recorder.js +395 -275
  203. package/lib/server/registry/browserFetcher.js +106 -101
  204. package/lib/server/registry/dependencies.js +245 -196
  205. package/lib/server/registry/index.js +930 -803
  206. package/lib/server/registry/nativeDeps.js +1073 -464
  207. package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
  208. package/lib/server/screenshotter.js +160 -191
  209. package/lib/server/selectors.js +90 -51
  210. package/lib/server/socksClientCertificatesInterceptor.js +171 -186
  211. package/lib/server/socksInterceptor.js +62 -70
  212. package/lib/server/trace/recorder/snapshotter.js +76 -102
  213. package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
  214. package/lib/server/trace/recorder/tracing.js +354 -362
  215. package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
  216. package/lib/server/trace/viewer/traceViewer.js +160 -147
  217. package/lib/server/transport.js +119 -134
  218. package/lib/server/types.js +26 -22
  219. package/lib/server/usKeyboardLayout.js +135 -545
  220. package/lib/server/utils/ascii.js +39 -26
  221. package/lib/server/utils/comparators.js +105 -103
  222. package/lib/server/utils/crypto.js +157 -112
  223. package/lib/server/utils/debug.js +36 -32
  224. package/lib/server/utils/debugLogger.js +77 -48
  225. package/lib/server/utils/env.js +52 -37
  226. package/lib/server/utils/eventsHelper.js +29 -28
  227. package/lib/server/utils/expectUtils.js +31 -26
  228. package/lib/server/utils/fileUtils.js +123 -136
  229. package/lib/server/utils/happyEyeballs.js +141 -126
  230. package/lib/server/utils/hostPlatform.js +84 -120
  231. package/lib/server/utils/httpServer.js +106 -121
  232. package/lib/server/utils/image_tools/colorUtils.js +42 -51
  233. package/lib/server/utils/image_tools/compare.js +44 -43
  234. package/lib/server/utils/image_tools/imageChannel.js +38 -30
  235. package/lib/server/utils/image_tools/stats.js +40 -40
  236. package/lib/server/utils/linuxUtils.js +50 -37
  237. package/lib/server/utils/network.js +152 -96
  238. package/lib/server/utils/nodePlatform.js +87 -79
  239. package/lib/server/utils/pipeTransport.js +44 -42
  240. package/lib/server/utils/processLauncher.js +111 -121
  241. package/lib/server/utils/profiler.js +52 -39
  242. package/lib/server/utils/socksProxy.js +280 -339
  243. package/lib/server/utils/spawnAsync.js +37 -41
  244. package/lib/server/utils/task.js +31 -38
  245. package/lib/server/utils/userAgent.js +73 -66
  246. package/lib/server/utils/wsServer.js +68 -75
  247. package/lib/server/utils/zipFile.js +36 -37
  248. package/lib/server/utils/zones.js +37 -34
  249. package/lib/server/webkit/protocol.d.js +16 -0
  250. package/lib/server/webkit/webkit.js +77 -61
  251. package/lib/server/webkit/wkAccessibility.js +161 -118
  252. package/lib/server/webkit/wkBrowser.js +193 -184
  253. package/lib/server/webkit/wkConnection.js +59 -83
  254. package/lib/server/webkit/wkExecutionContext.js +85 -70
  255. package/lib/server/webkit/wkInput.js +97 -95
  256. package/lib/server/webkit/wkInterceptableRequest.js +102 -95
  257. package/lib/server/webkit/wkPage.js +568 -667
  258. package/lib/server/webkit/wkProvisionalPage.js +45 -56
  259. package/lib/server/webkit/wkWorkers.js +79 -79
  260. package/lib/utils/expectUtils.js +31 -26
  261. package/lib/utils/isomorphic/ariaSnapshot.js +149 -152
  262. package/lib/utils/isomorphic/assert.js +28 -22
  263. package/lib/utils/isomorphic/colors.js +66 -59
  264. package/lib/utils/isomorphic/cssParser.js +120 -125
  265. package/lib/utils/isomorphic/cssTokenizer.js +436 -364
  266. package/lib/utils/isomorphic/headers.js +38 -37
  267. package/lib/utils/isomorphic/locatorGenerators.js +358 -357
  268. package/lib/utils/isomorphic/locatorParser.js +96 -105
  269. package/lib/utils/isomorphic/locatorUtils.js +63 -44
  270. package/lib/utils/isomorphic/manualPromise.js +46 -39
  271. package/lib/utils/isomorphic/mimeType.js +447 -25
  272. package/lib/utils/isomorphic/multimap.js +34 -27
  273. package/lib/utils/isomorphic/protocolFormatter.js +68 -0
  274. package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
  275. package/lib/utils/isomorphic/recorderUtils.js +140 -181
  276. package/lib/utils/isomorphic/rtti.js +35 -33
  277. package/lib/utils/isomorphic/selectorParser.js +182 -193
  278. package/lib/utils/isomorphic/semaphore.js +27 -24
  279. package/lib/utils/isomorphic/stackTrace.js +87 -98
  280. package/lib/utils/isomorphic/stringUtils.js +98 -112
  281. package/lib/utils/isomorphic/time.js +46 -22
  282. package/lib/utils/isomorphic/timeoutRunner.js +53 -53
  283. package/lib/utils/isomorphic/traceUtils.js +37 -41
  284. package/lib/utils/isomorphic/types.js +15 -4
  285. package/lib/utils/isomorphic/urlMatch.js +113 -67
  286. package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
  287. package/lib/utils.js +101 -443
  288. package/lib/utilsBundle.js +101 -52
  289. package/lib/utilsBundleImpl/index.js +160 -150
  290. package/lib/zipBundle.js +32 -23
  291. package/lib/zipBundleImpl.js +4 -4
  292. package/package.json +1 -1
  293. package/types/protocol.d.ts +1267 -1057
  294. package/types/types.d.ts +131 -29
  295. package/lib/common/socksProxy.js +0 -569
  296. package/lib/common/timeoutSettings.js +0 -73
  297. package/lib/common/types.js +0 -5
  298. package/lib/image_tools/colorUtils.js +0 -98
  299. package/lib/image_tools/compare.js +0 -108
  300. package/lib/image_tools/imageChannel.js +0 -70
  301. package/lib/image_tools/stats.js +0 -102
  302. package/lib/protocol/debug.js +0 -27
  303. package/lib/protocol/transport.js +0 -82
  304. package/lib/server/dispatchers/selectorsDispatcher.js +0 -36
  305. package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
  306. package/lib/server/recorder/contextRecorder.js +0 -290
  307. package/lib/server/recorder/recorderCollection.js +0 -104
  308. package/lib/server/recorder/recorderFrontend.js +0 -5
  309. package/lib/server/storageScript.js +0 -160
  310. package/lib/server/timeoutSettings.js +0 -74
  311. package/lib/third_party/diff_match_patch.js +0 -2222
  312. package/lib/utils/ascii.js +0 -31
  313. package/lib/utils/comparators.js +0 -171
  314. package/lib/utils/crypto.js +0 -174
  315. package/lib/utils/debug.js +0 -46
  316. package/lib/utils/debugLogger.js +0 -91
  317. package/lib/utils/env.js +0 -49
  318. package/lib/utils/eventsHelper.js +0 -38
  319. package/lib/utils/fileUtils.js +0 -205
  320. package/lib/utils/happy-eyeballs.js +0 -210
  321. package/lib/utils/headers.js +0 -52
  322. package/lib/utils/hostPlatform.js +0 -133
  323. package/lib/utils/httpServer.js +0 -237
  324. package/lib/utils/index.js +0 -368
  325. package/lib/utils/linuxUtils.js +0 -78
  326. package/lib/utils/manualPromise.js +0 -109
  327. package/lib/utils/multimap.js +0 -75
  328. package/lib/utils/network.js +0 -160
  329. package/lib/utils/processLauncher.js +0 -248
  330. package/lib/utils/profiler.js +0 -53
  331. package/lib/utils/rtti.js +0 -44
  332. package/lib/utils/semaphore.js +0 -51
  333. package/lib/utils/spawnAsync.js +0 -45
  334. package/lib/utils/stackTrace.js +0 -121
  335. package/lib/utils/task.js +0 -58
  336. package/lib/utils/time.js +0 -37
  337. package/lib/utils/timeoutRunner.js +0 -66
  338. package/lib/utils/traceUtils.js +0 -44
  339. package/lib/utils/userAgent.js +0 -105
  340. package/lib/utils/wsServer.js +0 -127
  341. package/lib/utils/zipFile.js +0 -75
  342. package/lib/utils/zones.js +0 -62
  343. package/lib/vite/htmlReport/index.html +0 -69
  344. package/lib/vite/recorder/assets/codeMirrorModule-DrMbgOIo.js +0 -16684
  345. package/lib/vite/recorder/assets/codeMirrorModule-DuST8d_k.css +0 -344
  346. package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  347. package/lib/vite/recorder/assets/index-5NM3V7eb.css +0 -2524
  348. package/lib/vite/recorder/assets/index-CT-scFHn.js +0 -16848
  349. package/lib/vite/recorder/index.html +0 -29
  350. package/lib/vite/recorder/playwright-logo.svg +0 -9
  351. package/lib/vite/traceViewer/assets/codeMirrorModule-CB-2okZ8.js +0 -16684
  352. package/lib/vite/traceViewer/assets/defaultSettingsView-CBiB4avC.js +0 -217
  353. package/lib/vite/traceViewer/assets/inspectorTab-CwgfffWb.js +0 -25143
  354. package/lib/vite/traceViewer/assets/workbench-CWZselvp.js +0 -2470
  355. package/lib/vite/traceViewer/assets/xtermModule-Es_gt_u7.js +0 -5994
  356. package/lib/vite/traceViewer/codeMirrorModule.DuST8d_k.css +0 -344
  357. package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  358. package/lib/vite/traceViewer/defaultSettingsView.Dp3b_92q.css +0 -41
  359. package/lib/vite/traceViewer/embedded.BeldSa2G.css +0 -68
  360. package/lib/vite/traceViewer/embedded.gzudoghF.js +0 -106
  361. package/lib/vite/traceViewer/embedded.html +0 -18
  362. package/lib/vite/traceViewer/index.DilotR1h.js +0 -314
  363. package/lib/vite/traceViewer/index.QewjJ85u.css +0 -131
  364. package/lib/vite/traceViewer/index.html +0 -47
  365. package/lib/vite/traceViewer/inspectorTab.DnGm18kV.css +0 -3178
  366. package/lib/vite/traceViewer/playwright-logo.svg +0 -9
  367. package/lib/vite/traceViewer/recorder.DLgqV9db.css +0 -15
  368. package/lib/vite/traceViewer/recorder.DVrkq3Um.js +0 -551
  369. package/lib/vite/traceViewer/recorder.html +0 -17
  370. package/lib/vite/traceViewer/snapshot.html +0 -21
  371. package/lib/vite/traceViewer/sw.bundle.js +0 -3
  372. package/lib/vite/traceViewer/uiMode.C9_OcpPU.js +0 -1756
  373. package/lib/vite/traceViewer/uiMode.c5ORgcrX.css +0 -1424
  374. package/lib/vite/traceViewer/uiMode.html +0 -21
  375. package/lib/vite/traceViewer/workbench.xUZSA8PY.css +0 -787
  376. package/lib/vite/traceViewer/xtermModule.EsaqrrTX.css +0 -209
@@ -1,67 +1,91 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var bidiBrowser_exports = {};
30
+ __export(bidiBrowser_exports, {
31
+ BidiBrowser: () => BidiBrowser,
32
+ BidiBrowserContext: () => BidiBrowserContext,
33
+ Network: () => Network
5
34
  });
6
- exports.Network = exports.BidiBrowserContext = exports.BidiBrowser = void 0;
7
- var _eventsHelper = require("../utils/eventsHelper");
8
- var _browser = require("../browser");
9
- var _browserContext = require("../browserContext");
10
- var network = _interopRequireWildcard(require("../network"));
11
- var _bidiConnection = require("./bidiConnection");
12
- var _bidiNetworkManager = require("./bidiNetworkManager");
13
- var _bidiPage = require("./bidiPage");
14
- var bidi = _interopRequireWildcard(require("./third_party/bidiProtocol"));
15
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
16
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
17
- /**
18
- * Copyright (c) Microsoft Corporation.
19
- *
20
- * Licensed under the Apache License, Version 2.0 (the 'License');
21
- * you may not use this file except in compliance with the License.
22
- * You may obtain a copy of the License at
23
- *
24
- * http://www.apache.org/licenses/LICENSE-2.0
25
- *
26
- * Unless required by applicable law or agreed to in writing, software
27
- * distributed under the License is distributed on an 'AS IS' BASIS,
28
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29
- * See the License for the specific language governing permissions and
30
- * limitations under the License.
31
- */
32
-
33
- class BidiBrowser extends _browser.Browser {
35
+ module.exports = __toCommonJS(bidiBrowser_exports);
36
+ var import_eventsHelper = require("../utils/eventsHelper");
37
+ var import_browser = require("../browser");
38
+ var import_browserContext = require("../browserContext");
39
+ var network = __toESM(require("../network"));
40
+ var import_bidiConnection = require("./bidiConnection");
41
+ var import_bidiNetworkManager = require("./bidiNetworkManager");
42
+ var import_bidiPage = require("./bidiPage");
43
+ var import_page = require("../page");
44
+ var bidi = __toESM(require("./third_party/bidiProtocol"));
45
+ class BidiBrowser extends import_browser.Browser {
46
+ constructor(parent, transport, options) {
47
+ super(parent, options);
48
+ this._contexts = /* @__PURE__ */ new Map();
49
+ this._bidiPages = /* @__PURE__ */ new Map();
50
+ this._connection = new import_bidiConnection.BidiConnection(transport, this._onDisconnect.bind(this), options.protocolLogger, options.browserLogsCollector);
51
+ this._browserSession = this._connection.browserSession;
52
+ this._eventListeners = [
53
+ import_eventsHelper.eventsHelper.addEventListener(this._browserSession, "browsingContext.contextCreated", this._onBrowsingContextCreated.bind(this)),
54
+ import_eventsHelper.eventsHelper.addEventListener(this._browserSession, "script.realmDestroyed", this._onScriptRealmDestroyed.bind(this))
55
+ ];
56
+ }
34
57
  static async connect(parent, transport, options) {
35
58
  const browser = new BidiBrowser(parent, transport, options);
36
- if (options.__testHookOnConnectToBrowser) await options.__testHookOnConnectToBrowser();
59
+ if (options.__testHookOnConnectToBrowser)
60
+ await options.__testHookOnConnectToBrowser();
37
61
  let proxy;
38
62
  if (options.proxy) {
39
63
  proxy = {
40
- proxyType: 'manual'
64
+ proxyType: "manual"
41
65
  };
42
- const url = new URL(options.proxy.server); // Validate proxy server.
66
+ const url = new URL(options.proxy.server);
43
67
  switch (url.protocol) {
44
- case 'http:':
68
+ case "http:":
45
69
  proxy.httpProxy = url.host;
46
70
  break;
47
- case 'https:':
71
+ case "https:":
48
72
  proxy.httpsProxy = url.host;
49
73
  break;
50
- case 'socks4:':
74
+ case "socks4:":
51
75
  proxy.socksProxy = url.host;
52
76
  proxy.socksVersion = 4;
53
77
  break;
54
- case 'socks5:':
78
+ case "socks5:":
55
79
  proxy.socksProxy = url.host;
56
80
  proxy.socksVersion = 5;
57
81
  break;
58
82
  default:
59
- throw new Error('Invalid proxy server protocol: ' + options.proxy.server);
83
+ throw new Error("Invalid proxy server protocol: " + options.proxy.server);
60
84
  }
61
- if (options.proxy.bypass) proxy.noProxy = options.proxy.bypass.split(',');
62
- // TODO: support authentication.
85
+ if (options.proxy.bypass)
86
+ proxy.noProxy = options.proxy.bypass.split(",");
63
87
  }
64
- browser._bidiSessionInfo = await browser._browserSession.send('session.new', {
88
+ browser._bidiSessionInfo = await browser._browserSession.send("session.new", {
65
89
  capabilities: {
66
90
  alwaysMatch: {
67
91
  acceptInsecureCerts: false,
@@ -73,37 +97,30 @@ class BidiBrowser extends _browser.Browser {
73
97
  }
74
98
  }
75
99
  });
76
- await browser._browserSession.send('session.subscribe', {
77
- events: ['browsingContext', 'network', 'log', 'script']
100
+ await browser._browserSession.send("session.subscribe", {
101
+ events: [
102
+ "browsingContext",
103
+ "network",
104
+ "log",
105
+ "script"
106
+ ]
78
107
  });
79
108
  if (options.persistent) {
80
- browser._defaultContext = new BidiBrowserContext(browser, undefined, options.persistent);
81
- await browser._defaultContext._initialize();
82
- // Create default page as we cannot get access to the existing one.
109
+ const context = new BidiBrowserContext(browser, void 0, options.persistent);
110
+ browser._defaultContext = context;
111
+ await context._initialize();
83
112
  const page = await browser._defaultContext.doCreateNewPage();
84
113
  await page.waitForInitializedOrError();
85
114
  }
86
115
  return browser;
87
116
  }
88
- constructor(parent, transport, options) {
89
- super(parent, options);
90
- this._connection = void 0;
91
- this._browserSession = void 0;
92
- this._bidiSessionInfo = void 0;
93
- this._contexts = new Map();
94
- this._bidiPages = new Map();
95
- this._eventListeners = void 0;
96
- this._connection = new _bidiConnection.BidiConnection(transport, this._onDisconnect.bind(this), options.protocolLogger, options.browserLogsCollector);
97
- this._browserSession = this._connection.browserSession;
98
- this._eventListeners = [_eventsHelper.eventsHelper.addEventListener(this._browserSession, 'browsingContext.contextCreated', this._onBrowsingContextCreated.bind(this)), _eventsHelper.eventsHelper.addEventListener(this._browserSession, 'script.realmDestroyed', this._onScriptRealmDestroyed.bind(this))];
99
- }
100
117
  _onDisconnect() {
101
118
  this._didClose();
102
119
  }
103
120
  async doCreateNewContext(options) {
104
- const {
105
- userContext
106
- } = await this._browserSession.send('browser.createUserContext', {});
121
+ const { userContext } = await this._browserSession.send("browser.createUserContext", {
122
+ acceptInsecureCerts: options.ignoreHTTPSErrors
123
+ });
107
124
  const context = new BidiBrowserContext(this, userContext, options);
108
125
  await context._initialize();
109
126
  this._contexts.set(userContext, context);
@@ -124,23 +141,27 @@ class BidiBrowser extends _browser.Browser {
124
141
  _onBrowsingContextCreated(event) {
125
142
  if (event.parent) {
126
143
  const parentFrameId = event.parent;
127
- for (const page of this._bidiPages.values()) {
128
- const parentFrame = page._page._frameManager.frame(parentFrameId);
129
- if (!parentFrame) continue;
130
- page._session.addFrameBrowsingContext(event.context);
131
- page._page._frameManager.frameAttached(event.context, parentFrameId);
132
- const frame = page._page._frameManager.frame(event.context);
133
- if (frame) frame._url = event.url;
144
+ for (const page2 of this._bidiPages.values()) {
145
+ const parentFrame = page2._page.frameManager.frame(parentFrameId);
146
+ if (!parentFrame)
147
+ continue;
148
+ page2._session.addFrameBrowsingContext(event.context);
149
+ page2._page.frameManager.frameAttached(event.context, parentFrameId);
150
+ const frame = page2._page.frameManager.frame(event.context);
151
+ if (frame)
152
+ frame._url = event.url;
134
153
  return;
135
154
  }
136
155
  return;
137
156
  }
138
157
  let context = this._contexts.get(event.userContext);
139
- if (!context) context = this._defaultContext;
140
- if (!context) return;
158
+ if (!context)
159
+ context = this._defaultContext;
160
+ if (!context)
161
+ return;
141
162
  const session = this._connection.createMainFrameBrowsingContextSession(event.context);
142
163
  const opener = event.originalOpener && this._bidiPages.get(event.originalOpener);
143
- const page = new _bidiPage.BidiPage(context, session, opener || null);
164
+ const page = new import_bidiPage.BidiPage(context, session, opener || null);
144
165
  page._page.mainFrame()._url = event.url;
145
166
  this._bidiPages.set(event.context, page);
146
167
  }
@@ -149,166 +170,284 @@ class BidiBrowser extends _browser.Browser {
149
170
  this._browserSession.removeFrameBrowsingContext(event.context);
150
171
  const parentFrameId = event.parent;
151
172
  for (const page of this._bidiPages.values()) {
152
- const parentFrame = page._page._frameManager.frame(parentFrameId);
153
- if (!parentFrame) continue;
154
- page._page._frameManager.frameDetached(event.context);
173
+ const parentFrame = page._page.frameManager.frame(parentFrameId);
174
+ if (!parentFrame)
175
+ continue;
176
+ page._page.frameManager.frameDetached(event.context);
155
177
  return;
156
178
  }
157
179
  return;
158
180
  }
159
181
  const bidiPage = this._bidiPages.get(event.context);
160
- if (!bidiPage) return;
182
+ if (!bidiPage)
183
+ return;
161
184
  bidiPage.didClose();
162
185
  this._bidiPages.delete(event.context);
163
186
  }
164
187
  _onScriptRealmDestroyed(event) {
165
188
  for (const page of this._bidiPages.values()) {
166
- if (page._onRealmDestroyed(event)) return;
189
+ if (page._onRealmDestroyed(event))
190
+ return;
167
191
  }
168
192
  }
169
193
  }
170
- exports.BidiBrowser = BidiBrowser;
171
- class BidiBrowserContext extends _browserContext.BrowserContext {
194
+ class BidiBrowserContext extends import_browserContext.BrowserContext {
172
195
  constructor(browser, browserContextId, options) {
173
196
  super(browser, options, browserContextId);
197
+ this._originToPermissions = /* @__PURE__ */ new Map();
198
+ this._blockingPageCreations = /* @__PURE__ */ new Set();
199
+ this._initScriptIds = /* @__PURE__ */ new Map();
174
200
  this._authenticateProxyViaHeader();
175
201
  }
176
202
  _bidiPages() {
177
- return [...this._browser._bidiPages.values()].filter(bidiPage => bidiPage._browserContext === this);
203
+ return [...this._browser._bidiPages.values()].filter((bidiPage) => bidiPage._browserContext === this);
204
+ }
205
+ async _initialize() {
206
+ const promises = [
207
+ super._initialize()
208
+ ];
209
+ promises.push(this.doUpdateDefaultViewport());
210
+ if (this._options.geolocation)
211
+ promises.push(this.setGeolocation(this._options.geolocation));
212
+ await Promise.all(promises);
178
213
  }
179
214
  possiblyUninitializedPages() {
180
- return this._bidiPages().map(bidiPage => bidiPage._page);
215
+ return this._bidiPages().map((bidiPage) => bidiPage._page);
216
+ }
217
+ async doCreateNewPage(markAsServerSideOnly) {
218
+ const promise = this._createNewPageImpl(markAsServerSideOnly);
219
+ if (markAsServerSideOnly)
220
+ this._blockingPageCreations.add(promise);
221
+ try {
222
+ return await promise;
223
+ } finally {
224
+ this._blockingPageCreations.delete(promise);
225
+ }
181
226
  }
182
- async doCreateNewPage() {
183
- (0, _browserContext.assertBrowserContextIsNotOwned)(this);
184
- const {
185
- context
186
- } = await this._browser._browserSession.send('browsingContext.create', {
227
+ async _createNewPageImpl(markAsServerSideOnly) {
228
+ const { context } = await this._browser._browserSession.send("browsingContext.create", {
187
229
  type: bidi.BrowsingContext.CreateType.Window,
188
230
  userContext: this._browserContextId
189
231
  });
190
- return this._browser._bidiPages.get(context)._page;
232
+ const page = this._browser._bidiPages.get(context)._page;
233
+ if (markAsServerSideOnly)
234
+ page.markAsServerSideOnly();
235
+ return page;
236
+ }
237
+ async waitForBlockingPageCreations() {
238
+ await Promise.all([...this._blockingPageCreations].map((command) => command.catch(() => {
239
+ })));
191
240
  }
192
241
  async doGetCookies(urls) {
193
- const {
194
- cookies
195
- } = await this._browser._browserSession.send('storage.getCookies', {
196
- partition: {
197
- type: 'storageKey',
198
- userContext: this._browserContextId
199
- }
200
- });
201
- return network.filterCookies(cookies.map(c => {
202
- var _c$expiry;
242
+ const { cookies } = await this._browser._browserSession.send(
243
+ "storage.getCookies",
244
+ { partition: { type: "storageKey", userContext: this._browserContextId } }
245
+ );
246
+ return network.filterCookies(cookies.map((c) => {
203
247
  const copy = {
204
248
  name: c.name,
205
- value: (0, _bidiNetworkManager.bidiBytesValueToString)(c.value),
249
+ value: (0, import_bidiNetworkManager.bidiBytesValueToString)(c.value),
206
250
  domain: c.domain,
207
251
  path: c.path,
208
252
  httpOnly: c.httpOnly,
209
253
  secure: c.secure,
210
- expires: (_c$expiry = c.expiry) !== null && _c$expiry !== void 0 ? _c$expiry : -1,
211
- sameSite: c.sameSite ? fromBidiSameSite(c.sameSite) : 'None'
254
+ expires: c.expiry ?? -1,
255
+ sameSite: c.sameSite ? fromBidiSameSite(c.sameSite) : "None"
212
256
  };
213
257
  return copy;
214
258
  }), urls);
215
259
  }
216
260
  async addCookies(cookies) {
217
261
  cookies = network.rewriteCookies(cookies);
218
- const promises = cookies.map(c => {
262
+ const promises = cookies.map((c) => {
219
263
  const cookie = {
220
264
  name: c.name,
221
- value: {
222
- type: 'string',
223
- value: c.value
224
- },
265
+ value: { type: "string", value: c.value },
225
266
  domain: c.domain,
226
267
  path: c.path,
227
268
  httpOnly: c.httpOnly,
228
269
  secure: c.secure,
229
270
  sameSite: c.sameSite && toBidiSameSite(c.sameSite),
230
- expiry: c.expires === -1 || c.expires === undefined ? undefined : Math.round(c.expires)
271
+ expiry: c.expires === -1 || c.expires === void 0 ? void 0 : Math.round(c.expires)
231
272
  };
232
- return this._browser._browserSession.send('storage.setCookie', {
233
- cookie,
234
- partition: {
235
- type: 'storageKey',
236
- userContext: this._browserContextId
237
- }
238
- });
273
+ return this._browser._browserSession.send(
274
+ "storage.setCookie",
275
+ { cookie, partition: { type: "storageKey", userContext: this._browserContextId } }
276
+ );
239
277
  });
240
278
  await Promise.all(promises);
241
279
  }
242
280
  async doClearCookies() {
243
- await this._browser._browserSession.send('storage.deleteCookies', {
244
- partition: {
245
- type: 'storageKey',
246
- userContext: this._browserContextId
247
- }
281
+ await this._browser._browserSession.send(
282
+ "storage.deleteCookies",
283
+ { partition: { type: "storageKey", userContext: this._browserContextId } }
284
+ );
285
+ }
286
+ async doGrantPermissions(origin, permissions) {
287
+ const currentPermissions = this._originToPermissions.get(origin) || [];
288
+ const toGrant = permissions.filter((permission) => !currentPermissions.includes(permission));
289
+ this._originToPermissions.set(origin, [...currentPermissions, ...toGrant]);
290
+ await Promise.all(toGrant.map((permission) => this._setPermission(origin, permission, bidi.Permissions.PermissionState.Granted)));
291
+ }
292
+ async doClearPermissions() {
293
+ const currentPermissions = [...this._originToPermissions.entries()];
294
+ this._originToPermissions = /* @__PURE__ */ new Map();
295
+ await Promise.all(currentPermissions.map(([origin, permissions]) => permissions.map(
296
+ (p) => this._setPermission(origin, p, bidi.Permissions.PermissionState.Prompt)
297
+ )));
298
+ }
299
+ async _setPermission(origin, permission, state) {
300
+ await this._browser._browserSession.send("permissions.setPermission", {
301
+ descriptor: {
302
+ name: permission
303
+ },
304
+ state,
305
+ origin,
306
+ userContext: this._browserContextId || "default"
307
+ });
308
+ }
309
+ async setGeolocation(geolocation) {
310
+ (0, import_browserContext.verifyGeolocation)(geolocation);
311
+ this._options.geolocation = geolocation;
312
+ await this._browser._browserSession.send("emulation.setGeolocationOverride", {
313
+ coordinates: geolocation ? {
314
+ latitude: geolocation.latitude,
315
+ longitude: geolocation.longitude,
316
+ accuracy: geolocation.accuracy
317
+ } : null,
318
+ userContexts: [this._browserContextId || "default"]
248
319
  });
249
320
  }
250
- async doGrantPermissions(origin, permissions) {}
251
- async doClearPermissions() {}
252
- async setGeolocation(geolocation) {}
253
- async setExtraHTTPHeaders(headers) {}
254
- async setUserAgent(userAgent) {}
255
- async setOffline(offline) {}
321
+ async doUpdateExtraHTTPHeaders() {
322
+ }
323
+ async setUserAgent(userAgent) {
324
+ }
325
+ async doUpdateOffline() {
326
+ }
256
327
  async doSetHTTPCredentials(httpCredentials) {
257
328
  this._options.httpCredentials = httpCredentials;
258
- for (const page of this.pages()) await page._delegate.updateHttpCredentials();
329
+ for (const page of this.pages())
330
+ await page.delegate.updateHttpCredentials();
259
331
  }
260
332
  async doAddInitScript(initScript) {
261
- await Promise.all(this.pages().map(page => page._delegate.addInitScript(initScript)));
333
+ const { script } = await this._browser._browserSession.send("script.addPreloadScript", {
334
+ // TODO: remove function call from the source.
335
+ functionDeclaration: `() => { return ${initScript.source} }`,
336
+ userContexts: [this._browserContextId || "default"]
337
+ });
338
+ this._initScriptIds.set(initScript, script);
339
+ }
340
+ async doRemoveInitScripts(initScripts) {
341
+ const ids = [];
342
+ for (const script of initScripts) {
343
+ const id = this._initScriptIds.get(script);
344
+ if (id)
345
+ ids.push(id);
346
+ this._initScriptIds.delete(script);
347
+ }
348
+ await Promise.all(ids.map((script) => this._browser._browserSession.send("script.removePreloadScript", { script })));
349
+ }
350
+ async doUpdateRequestInterception() {
351
+ }
352
+ async doUpdateDefaultViewport() {
353
+ if (!this._options.viewport)
354
+ return;
355
+ await this._browser._browserSession.send("browsingContext.setViewport", {
356
+ viewport: {
357
+ width: this._options.viewport.width,
358
+ height: this._options.viewport.height
359
+ },
360
+ devicePixelRatio: this._options.deviceScaleFactor || 1,
361
+ userContexts: [this._userContextId()]
362
+ });
363
+ }
364
+ async doUpdateDefaultEmulatedMedia() {
365
+ }
366
+ async doExposePlaywrightBinding() {
367
+ const args = [{
368
+ type: "channel",
369
+ value: {
370
+ channel: import_bidiPage.kPlaywrightBindingChannel,
371
+ ownership: bidi.Script.ResultOwnership.Root
372
+ }
373
+ }];
374
+ const functionDeclaration = `function addMainBinding(callback) { globalThis['${import_page.PageBinding.kBindingName}'] = callback; }`;
375
+ const promises = [];
376
+ promises.push(this._browser._browserSession.send("script.addPreloadScript", {
377
+ functionDeclaration,
378
+ arguments: args,
379
+ userContexts: [this._userContextId()]
380
+ }));
381
+ promises.push(...this._bidiPages().map((page) => {
382
+ const realms = [...page._realmToContext].filter(([realm, context]) => context.world === "main").map(([realm, context]) => realm);
383
+ return Promise.all(realms.map((realm) => {
384
+ return page._session.send("script.callFunction", {
385
+ functionDeclaration,
386
+ arguments: args,
387
+ target: { realm },
388
+ awaitPromise: false,
389
+ userActivation: false
390
+ });
391
+ }));
392
+ }));
393
+ await Promise.all(promises);
394
+ }
395
+ onClosePersistent() {
396
+ }
397
+ async clearCache() {
262
398
  }
263
- async doRemoveNonInternalInitScripts() {}
264
- async doUpdateRequestInterception() {}
265
- onClosePersistent() {}
266
- async clearCache() {}
267
399
  async doClose(reason) {
268
400
  if (!this._browserContextId) {
269
- // Closing persistent context should close the browser.
270
- await this._browser.close({
271
- reason
272
- });
401
+ await this._browser.close({ reason });
273
402
  return;
274
403
  }
275
- await this._browser._browserSession.send('browser.removeUserContext', {
404
+ await this._browser._browserSession.send("browser.removeUserContext", {
276
405
  userContext: this._browserContextId
277
406
  });
278
407
  this._browser._contexts.delete(this._browserContextId);
279
408
  }
280
- async cancelDownload(uuid) {}
409
+ async cancelDownload(uuid) {
410
+ }
411
+ _userContextId() {
412
+ if (this._browserContextId)
413
+ return this._browserContextId;
414
+ return "default";
415
+ }
281
416
  }
282
- exports.BidiBrowserContext = BidiBrowserContext;
283
417
  function fromBidiSameSite(sameSite) {
284
418
  switch (sameSite) {
285
- case 'strict':
286
- return 'Strict';
287
- case 'lax':
288
- return 'Lax';
289
- case 'none':
290
- return 'None';
291
- }
292
- return 'None';
419
+ case "strict":
420
+ return "Strict";
421
+ case "lax":
422
+ return "Lax";
423
+ case "none":
424
+ return "None";
425
+ }
426
+ return "None";
293
427
  }
294
428
  function toBidiSameSite(sameSite) {
295
429
  switch (sameSite) {
296
- case 'Strict':
430
+ case "Strict":
297
431
  return bidi.Network.SameSite.Strict;
298
- case 'Lax':
432
+ case "Lax":
299
433
  return bidi.Network.SameSite.Lax;
300
- case 'None':
434
+ case "None":
301
435
  return bidi.Network.SameSite.None;
302
436
  }
303
437
  return bidi.Network.SameSite.None;
304
438
  }
305
- let Network = exports.Network = void 0;
306
- (function (_Network) {
307
- let SameSite = /*#__PURE__*/function (SameSite) {
308
- SameSite["Strict"] = "strict";
309
- SameSite["Lax"] = "lax";
310
- SameSite["None"] = "none";
311
- return SameSite;
312
- }({});
313
- _Network.SameSite = SameSite;
314
- })(Network || (exports.Network = Network = {}));
439
+ var Network;
440
+ ((Network2) => {
441
+ let SameSite;
442
+ ((SameSite2) => {
443
+ SameSite2["Strict"] = "strict";
444
+ SameSite2["Lax"] = "lax";
445
+ SameSite2["None"] = "none";
446
+ })(SameSite = Network2.SameSite || (Network2.SameSite = {}));
447
+ })(Network || (Network = {}));
448
+ // Annotate the CommonJS export names for ESM import in node:
449
+ 0 && (module.exports = {
450
+ BidiBrowser,
451
+ BidiBrowserContext,
452
+ Network
453
+ });