rebrowser-playwright-core 1.52.0 → 1.64.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 (395) hide show
  1. package/ThirdPartyNotices.txt +7 -1554
  2. package/bin/install_webkit_wsl.ps1 +33 -0
  3. package/bin/reinstall_chrome_beta_linux.sh +1 -1
  4. package/bin/reinstall_chrome_beta_mac.sh +1 -1
  5. package/bin/reinstall_chrome_stable_linux.sh +1 -1
  6. package/bin/reinstall_chrome_stable_mac.sh +1 -1
  7. package/bin/reinstall_msedge_beta_linux.sh +1 -1
  8. package/bin/reinstall_msedge_beta_mac.sh +1 -1
  9. package/bin/reinstall_msedge_dev_linux.sh +1 -1
  10. package/bin/reinstall_msedge_dev_mac.sh +1 -1
  11. package/bin/reinstall_msedge_stable_linux.sh +1 -1
  12. package/bin/reinstall_msedge_stable_mac.sh +1 -1
  13. package/browsers.json +16 -44
  14. package/cli.js +5 -1
  15. package/index.js +2 -17
  16. package/lib/bootstrap.js +149 -0
  17. package/lib/coreBundle.js +78218 -0
  18. package/lib/entry/cliDaemon.js +5 -0
  19. package/lib/entry/dashboardApp.js +3 -0
  20. package/lib/entry/mcp.js +10 -0
  21. package/lib/entry/oopBrowserDownload.js +3 -0
  22. package/lib/{server/deviceDescriptors.js → package.js} +18 -7
  23. package/lib/server/electron/loader.js +108 -14
  24. package/lib/serverRegistry.js +1939 -0
  25. package/lib/serverRegistry.js.LICENSE +65 -0
  26. package/lib/tools/cli-client/channelSessions.js +141 -0
  27. package/lib/tools/cli-client/cli.js +7 -0
  28. package/lib/tools/cli-client/help.json +808 -0
  29. package/lib/tools/cli-client/minimist.js +128 -0
  30. package/lib/tools/cli-client/output.js +352 -0
  31. package/lib/tools/cli-client/program.js +422 -0
  32. package/lib/tools/cli-client/registry.js +180 -0
  33. package/lib/tools/cli-client/session.js +261 -0
  34. package/lib/tools/dashboard/appIcon.png +0 -0
  35. package/lib/tools/skills/playwright-cli/SKILL.md +493 -0
  36. package/lib/tools/skills/playwright-cli/references/element-attributes.md +23 -0
  37. package/lib/tools/skills/playwright-cli/references/playwright-tests.md +39 -0
  38. package/lib/tools/skills/playwright-cli/references/pr-attachments.md +60 -0
  39. package/lib/tools/skills/playwright-cli/references/request-mocking.md +87 -0
  40. package/lib/tools/skills/playwright-cli/references/running-code.md +245 -0
  41. package/lib/tools/skills/playwright-cli/references/session-management.md +227 -0
  42. package/lib/tools/skills/playwright-cli/references/storage-state.md +275 -0
  43. package/lib/tools/skills/playwright-cli/references/test-generation.md +433 -0
  44. package/lib/tools/skills/playwright-cli/references/tracing.md +139 -0
  45. package/lib/tools/skills/playwright-cli/references/video-recording.md +216 -0
  46. package/lib/tools/skills/playwright-component-testing/SKILL.md +136 -0
  47. package/lib/tools/skills/playwright-component-testing/references/gallery-spec.md +144 -0
  48. package/lib/tools/skills/playwright-component-testing/references/migration.md +89 -0
  49. package/lib/tools/skills/playwright-component-testing/references/react.md +69 -0
  50. package/lib/tools/skills/playwright-component-testing/references/typing.md +173 -0
  51. package/lib/tools/skills/playwright-component-testing/references/vue.md +77 -0
  52. package/lib/tools/skills/playwright-trace/SKILL.md +174 -0
  53. package/lib/tools/utils/extension.js +112 -0
  54. package/lib/tools/utils/socketConnection.js +108 -0
  55. package/lib/utilsBundle.js +86038 -66
  56. package/lib/utilsBundle.js.LICENSE +1890 -0
  57. package/lib/vite/dashboard/assets/codeMirrorModule--QdMvsKi.css +1 -0
  58. package/lib/vite/dashboard/assets/codeMirrorModule-CQ8RZGBm.js +32 -0
  59. package/lib/vite/dashboard/assets/codicon-DCmgc-ay.ttf +0 -0
  60. package/lib/vite/dashboard/assets/firefox-1bWoP6pv.svg +1 -0
  61. package/lib/vite/dashboard/assets/firefox-beta-k3eOH_eK.svg +1 -0
  62. package/lib/vite/dashboard/assets/firefox-nightly-Cp5nfeDT.svg +1 -0
  63. package/lib/vite/dashboard/assets/index-AwgwcYie.css +1 -0
  64. package/lib/vite/dashboard/assets/index-hRvO4yU2.js +12 -0
  65. package/lib/vite/dashboard/assets/safari-na3_-uQk.svg +1 -0
  66. package/lib/vite/dashboard/index.html +29 -0
  67. package/lib/vite/dashboard/playwright-logo.svg +24 -0
  68. package/lib/vite/htmlReport/index.html +2 -61
  69. package/lib/vite/htmlReport/report.css +2 -0
  70. package/lib/vite/htmlReport/report.js +32 -0
  71. package/lib/vite/recorder/assets/codeMirrorModule--QdMvsKi.css +1 -0
  72. package/lib/vite/recorder/assets/codeMirrorModule-DK72OMRi.js +32 -0
  73. package/lib/vite/recorder/assets/index-BZpYJZ-P.css +1 -0
  74. package/lib/vite/recorder/assets/index-Cn0mmDuv.js +129 -0
  75. package/lib/vite/recorder/index.html +3 -3
  76. package/lib/vite/traceViewer/assets/codeMirrorModule-BEB2e8M3.js +32 -0
  77. package/lib/vite/traceViewer/assets/defaultSettingsView-D-g2vrvf.js +184 -0
  78. package/lib/vite/traceViewer/assets/urlMatch-L3liM589.js +1 -0
  79. package/lib/vite/traceViewer/assets/xtermModule-B794rD2Z.js +7 -0
  80. package/lib/vite/traceViewer/codeMirrorModule.-QdMvsKi.css +1 -0
  81. package/lib/vite/traceViewer/defaultSettingsView.C8BeHuxd.css +1 -0
  82. package/lib/vite/traceViewer/index.B_TqY17P.css +1 -0
  83. package/lib/vite/traceViewer/index.html +9 -8
  84. package/lib/vite/traceViewer/index.oNry3Hjv.js +1 -0
  85. package/lib/vite/traceViewer/manifest.webmanifest +16 -0
  86. package/lib/vite/traceViewer/snapshot.B_Jk1wbt.js +1 -0
  87. package/lib/vite/traceViewer/snapshot.html +4 -15
  88. package/lib/vite/traceViewer/sw.bundle.js +4 -3
  89. package/lib/vite/traceViewer/uiMode.CYwC_gH1.js +5 -0
  90. package/lib/vite/traceViewer/uiMode.CyMfwkXJ.css +1 -0
  91. package/lib/vite/traceViewer/uiMode.html +6 -5
  92. package/lib/vite/traceViewer/xtermModule.kHJ-D0s7.css +1 -0
  93. package/lib/webp_codec.LICENSE +173 -0
  94. package/lib/webp_codec.wasm +0 -0
  95. package/lib/{utilsBundleImpl/xdg-open → xdg-open} +338 -137
  96. package/package.json +6 -16
  97. package/types/protocol.d.ts +10495 -8030
  98. package/types/structs.d.ts +8 -1
  99. package/types/types.d.ts +9256 -4825
  100. package/lib/androidServerImpl.js +0 -63
  101. package/lib/browserServerImpl.js +0 -88
  102. package/lib/cli/driver.js +0 -97
  103. package/lib/cli/program.js +0 -567
  104. package/lib/cli/programWithTestStub.js +0 -74
  105. package/lib/client/accessibility.js +0 -49
  106. package/lib/client/android.js +0 -365
  107. package/lib/client/api.js +0 -137
  108. package/lib/client/artifact.js +0 -79
  109. package/lib/client/browser.js +0 -136
  110. package/lib/client/browserContext.js +0 -539
  111. package/lib/client/browserType.js +0 -193
  112. package/lib/client/cdpSession.js +0 -51
  113. package/lib/client/channelOwner.js +0 -205
  114. package/lib/client/clientHelper.js +0 -64
  115. package/lib/client/clientInstrumentation.js +0 -55
  116. package/lib/client/clientStackTrace.js +0 -69
  117. package/lib/client/clock.js +0 -68
  118. package/lib/client/connection.js +0 -318
  119. package/lib/client/consoleMessage.js +0 -55
  120. package/lib/client/coverage.js +0 -44
  121. package/lib/client/dialog.js +0 -56
  122. package/lib/client/download.js +0 -62
  123. package/lib/client/electron.js +0 -133
  124. package/lib/client/elementHandle.js +0 -284
  125. package/lib/client/errors.js +0 -77
  126. package/lib/client/eventEmitter.js +0 -314
  127. package/lib/client/events.js +0 -98
  128. package/lib/client/fetch.js +0 -367
  129. package/lib/client/fileChooser.js +0 -46
  130. package/lib/client/fileUtils.js +0 -34
  131. package/lib/client/frame.js +0 -386
  132. package/lib/client/harRouter.js +0 -87
  133. package/lib/client/input.js +0 -82
  134. package/lib/client/jsHandle.js +0 -105
  135. package/lib/client/jsonPipe.js +0 -39
  136. package/lib/client/localUtils.js +0 -61
  137. package/lib/client/locator.js +0 -362
  138. package/lib/client/network.js +0 -751
  139. package/lib/client/page.js +0 -709
  140. package/lib/client/platform.js +0 -74
  141. package/lib/client/playwright.js +0 -85
  142. package/lib/client/selectors.js +0 -75
  143. package/lib/client/stream.js +0 -39
  144. package/lib/client/timeoutSettings.js +0 -75
  145. package/lib/client/tracing.js +0 -114
  146. package/lib/client/types.js +0 -28
  147. package/lib/client/video.js +0 -59
  148. package/lib/client/waiter.js +0 -142
  149. package/lib/client/webError.js +0 -39
  150. package/lib/client/webSocket.js +0 -111
  151. package/lib/client/worker.js +0 -63
  152. package/lib/client/writableStream.js +0 -39
  153. package/lib/generated/clockSource.js +0 -28
  154. package/lib/generated/consoleApiSource.js +0 -28
  155. package/lib/generated/injectedScriptSource.js +0 -28
  156. package/lib/generated/pollingRecorderSource.js +0 -28
  157. package/lib/generated/utilityScriptSource.js +0 -28
  158. package/lib/generated/webSocketMockSource.js +0 -378
  159. package/lib/inProcessFactory.js +0 -59
  160. package/lib/inprocess.js +0 -3
  161. package/lib/outofprocess.js +0 -78
  162. package/lib/protocol/debug.js +0 -211
  163. package/lib/protocol/serializers.js +0 -192
  164. package/lib/protocol/validator.js +0 -2825
  165. package/lib/protocol/validatorPrimitives.js +0 -179
  166. package/lib/remote/playwrightConnection.js +0 -266
  167. package/lib/remote/playwrightServer.js +0 -139
  168. package/lib/server/accessibility.js +0 -69
  169. package/lib/server/android/android.js +0 -451
  170. package/lib/server/android/backendAdb.js +0 -179
  171. package/lib/server/artifact.js +0 -127
  172. package/lib/server/bidi/bidiBrowser.js +0 -380
  173. package/lib/server/bidi/bidiChromium.js +0 -152
  174. package/lib/server/bidi/bidiConnection.js +0 -187
  175. package/lib/server/bidi/bidiExecutionContext.js +0 -220
  176. package/lib/server/bidi/bidiFirefox.js +0 -112
  177. package/lib/server/bidi/bidiInput.js +0 -146
  178. package/lib/server/bidi/bidiNetworkManager.js +0 -320
  179. package/lib/server/bidi/bidiOverCdp.js +0 -102
  180. package/lib/server/bidi/bidiPage.js +0 -530
  181. package/lib/server/bidi/bidiPdf.js +0 -106
  182. package/lib/server/bidi/third_party/bidiCommands.d.js +0 -22
  183. package/lib/server/bidi/third_party/bidiDeserializer.js +0 -98
  184. package/lib/server/bidi/third_party/bidiKeyboard.js +0 -256
  185. package/lib/server/bidi/third_party/bidiProtocol.js +0 -152
  186. package/lib/server/bidi/third_party/bidiSerializer.js +0 -148
  187. package/lib/server/bidi/third_party/firefoxPrefs.js +0 -259
  188. package/lib/server/browser.js +0 -140
  189. package/lib/server/browserContext.js +0 -650
  190. package/lib/server/browserType.js +0 -326
  191. package/lib/server/callLog.js +0 -82
  192. package/lib/server/chromium/chromium.js +0 -376
  193. package/lib/server/chromium/chromiumSwitches.js +0 -101
  194. package/lib/server/chromium/crAccessibility.js +0 -263
  195. package/lib/server/chromium/crBrowser.js +0 -498
  196. package/lib/server/chromium/crConnection.js +0 -324
  197. package/lib/server/chromium/crCoverage.js +0 -232
  198. package/lib/server/chromium/crDevTools.js +0 -117
  199. package/lib/server/chromium/crDragDrop.js +0 -126
  200. package/lib/server/chromium/crExecutionContext.js +0 -145
  201. package/lib/server/chromium/crInput.js +0 -184
  202. package/lib/server/chromium/crNetworkManager.js +0 -666
  203. package/lib/server/chromium/crPage.js +0 -1055
  204. package/lib/server/chromium/crPdf.js +0 -121
  205. package/lib/server/chromium/crProtocolHelper.js +0 -145
  206. package/lib/server/chromium/crServiceWorker.js +0 -130
  207. package/lib/server/chromium/defaultFontFamilies.js +0 -162
  208. package/lib/server/chromium/protocol.d.js +0 -16
  209. package/lib/server/chromium/videoRecorder.js +0 -121
  210. package/lib/server/clock.js +0 -137
  211. package/lib/server/codegen/csharp.js +0 -329
  212. package/lib/server/codegen/java.js +0 -270
  213. package/lib/server/codegen/javascript.js +0 -268
  214. package/lib/server/codegen/jsonl.js +0 -51
  215. package/lib/server/codegen/language.js +0 -111
  216. package/lib/server/codegen/languages.js +0 -68
  217. package/lib/server/codegen/python.js +0 -277
  218. package/lib/server/codegen/types.js +0 -16
  219. package/lib/server/console.js +0 -53
  220. package/lib/server/cookieStore.js +0 -204
  221. package/lib/server/debugController.js +0 -185
  222. package/lib/server/debugger.js +0 -136
  223. package/lib/server/deviceDescriptorsSource.json +0 -1669
  224. package/lib/server/dialog.js +0 -72
  225. package/lib/server/dispatchers/androidDispatcher.js +0 -293
  226. package/lib/server/dispatchers/artifactDispatcher.js +0 -118
  227. package/lib/server/dispatchers/browserContextDispatcher.js +0 -328
  228. package/lib/server/dispatchers/browserDispatcher.js +0 -151
  229. package/lib/server/dispatchers/browserTypeDispatcher.js +0 -55
  230. package/lib/server/dispatchers/cdpSessionDispatcher.js +0 -44
  231. package/lib/server/dispatchers/debugControllerDispatcher.js +0 -87
  232. package/lib/server/dispatchers/dialogDispatcher.js +0 -47
  233. package/lib/server/dispatchers/dispatcher.js +0 -346
  234. package/lib/server/dispatchers/electronDispatcher.js +0 -90
  235. package/lib/server/dispatchers/elementHandlerDispatcher.js +0 -191
  236. package/lib/server/dispatchers/frameDispatcher.js +0 -224
  237. package/lib/server/dispatchers/jsHandleDispatcher.js +0 -80
  238. package/lib/server/dispatchers/jsonPipeDispatcher.js +0 -58
  239. package/lib/server/dispatchers/localUtilsDispatcher.js +0 -155
  240. package/lib/server/dispatchers/networkDispatchers.js +0 -204
  241. package/lib/server/dispatchers/pageDispatcher.js +0 -328
  242. package/lib/server/dispatchers/playwrightDispatcher.js +0 -100
  243. package/lib/server/dispatchers/selectorsDispatcher.js +0 -40
  244. package/lib/server/dispatchers/streamDispatcher.js +0 -60
  245. package/lib/server/dispatchers/tracingDispatcher.js +0 -59
  246. package/lib/server/dispatchers/webSocketRouteDispatcher.js +0 -154
  247. package/lib/server/dispatchers/writableStreamDispatcher.js +0 -73
  248. package/lib/server/dom.js +0 -869
  249. package/lib/server/download.js +0 -70
  250. package/lib/server/electron/electron.js +0 -277
  251. package/lib/server/errors.js +0 -69
  252. package/lib/server/fetch.js +0 -640
  253. package/lib/server/fileChooser.js +0 -43
  254. package/lib/server/fileUploadUtils.js +0 -84
  255. package/lib/server/firefox/ffAccessibility.js +0 -238
  256. package/lib/server/firefox/ffBrowser.js +0 -404
  257. package/lib/server/firefox/ffConnection.js +0 -147
  258. package/lib/server/firefox/ffExecutionContext.js +0 -149
  259. package/lib/server/firefox/ffInput.js +0 -159
  260. package/lib/server/firefox/ffNetworkManager.js +0 -254
  261. package/lib/server/firefox/ffPage.js +0 -501
  262. package/lib/server/firefox/firefox.js +0 -106
  263. package/lib/server/firefox/protocol.d.js +0 -16
  264. package/lib/server/formData.js +0 -147
  265. package/lib/server/frameSelectors.js +0 -137
  266. package/lib/server/frames.js +0 -1555
  267. package/lib/server/har/harRecorder.js +0 -147
  268. package/lib/server/har/harTracer.js +0 -606
  269. package/lib/server/harBackend.js +0 -157
  270. package/lib/server/helper.js +0 -100
  271. package/lib/server/index.js +0 -61
  272. package/lib/server/input.js +0 -280
  273. package/lib/server/instrumentation.js +0 -75
  274. package/lib/server/javascript.js +0 -299
  275. package/lib/server/launchApp.js +0 -110
  276. package/lib/server/localUtils.js +0 -211
  277. package/lib/server/macEditingCommands.js +0 -143
  278. package/lib/server/network.js +0 -583
  279. package/lib/server/page.js +0 -790
  280. package/lib/server/pageBinding.js +0 -88
  281. package/lib/server/pipeTransport.js +0 -89
  282. package/lib/server/playwright.js +0 -81
  283. package/lib/server/progress.js +0 -104
  284. package/lib/server/protocolError.js +0 -52
  285. package/lib/server/recorder/chat.js +0 -161
  286. package/lib/server/recorder/contextRecorder.js +0 -286
  287. package/lib/server/recorder/recorderApp.js +0 -184
  288. package/lib/server/recorder/recorderCollection.js +0 -116
  289. package/lib/server/recorder/recorderFrontend.js +0 -16
  290. package/lib/server/recorder/recorderRunner.js +0 -135
  291. package/lib/server/recorder/recorderUtils.js +0 -100
  292. package/lib/server/recorder/throttledFile.js +0 -57
  293. package/lib/server/recorder.js +0 -360
  294. package/lib/server/registry/browserFetcher.js +0 -175
  295. package/lib/server/registry/dependencies.js +0 -371
  296. package/lib/server/registry/index.js +0 -1271
  297. package/lib/server/registry/nativeDeps.js +0 -1105
  298. package/lib/server/registry/oopDownloadBrowserMain.js +0 -120
  299. package/lib/server/screenshotter.js +0 -332
  300. package/lib/server/selectors.js +0 -112
  301. package/lib/server/socksClientCertificatesInterceptor.js +0 -321
  302. package/lib/server/socksInterceptor.js +0 -95
  303. package/lib/server/storageScript.js +0 -154
  304. package/lib/server/timeoutSettings.js +0 -89
  305. package/lib/server/trace/recorder/snapshotter.js +0 -143
  306. package/lib/server/trace/recorder/snapshotterInjected.js +0 -539
  307. package/lib/server/trace/recorder/tracing.js +0 -593
  308. package/lib/server/trace/test/inMemorySnapshotter.js +0 -87
  309. package/lib/server/trace/viewer/traceViewer.js +0 -249
  310. package/lib/server/transport.js +0 -183
  311. package/lib/server/types.js +0 -28
  312. package/lib/server/usKeyboardLayout.js +0 -145
  313. package/lib/server/utils/ascii.js +0 -44
  314. package/lib/server/utils/comparators.js +0 -161
  315. package/lib/server/utils/crypto.js +0 -216
  316. package/lib/server/utils/debug.js +0 -47
  317. package/lib/server/utils/debugLogger.js +0 -114
  318. package/lib/server/utils/env.js +0 -68
  319. package/lib/server/utils/eventsHelper.js +0 -39
  320. package/lib/server/utils/expectUtils.js +0 -38
  321. package/lib/server/utils/fileUtils.js +0 -191
  322. package/lib/server/utils/happyEyeballs.js +0 -207
  323. package/lib/server/utils/hostPlatform.js +0 -109
  324. package/lib/server/utils/httpServer.js +0 -218
  325. package/lib/server/utils/image_tools/colorUtils.js +0 -89
  326. package/lib/server/utils/image_tools/compare.js +0 -109
  327. package/lib/server/utils/image_tools/imageChannel.js +0 -78
  328. package/lib/server/utils/image_tools/stats.js +0 -102
  329. package/lib/server/utils/linuxUtils.js +0 -71
  330. package/lib/server/utils/network.js +0 -217
  331. package/lib/server/utils/nodePlatform.js +0 -148
  332. package/lib/server/utils/pipeTransport.js +0 -84
  333. package/lib/server/utils/processLauncher.js +0 -238
  334. package/lib/server/utils/profiler.js +0 -65
  335. package/lib/server/utils/socksProxy.js +0 -511
  336. package/lib/server/utils/spawnAsync.js +0 -41
  337. package/lib/server/utils/task.js +0 -51
  338. package/lib/server/utils/userAgent.js +0 -98
  339. package/lib/server/utils/wsServer.js +0 -132
  340. package/lib/server/utils/zipFile.js +0 -74
  341. package/lib/server/utils/zones.js +0 -57
  342. package/lib/server/webkit/protocol.d.js +0 -16
  343. package/lib/server/webkit/webkit.js +0 -100
  344. package/lib/server/webkit/wkAccessibility.js +0 -237
  345. package/lib/server/webkit/wkBrowser.js +0 -312
  346. package/lib/server/webkit/wkConnection.js +0 -149
  347. package/lib/server/webkit/wkExecutionContext.js +0 -153
  348. package/lib/server/webkit/wkInput.js +0 -181
  349. package/lib/server/webkit/wkInterceptableRequest.js +0 -169
  350. package/lib/server/webkit/wkPage.js +0 -1114
  351. package/lib/server/webkit/wkProvisionalPage.js +0 -83
  352. package/lib/server/webkit/wkWorkers.js +0 -104
  353. package/lib/third_party/pixelmatch.js +0 -255
  354. package/lib/utils/isomorphic/ariaSnapshot.js +0 -384
  355. package/lib/utils/isomorphic/assert.js +0 -31
  356. package/lib/utils/isomorphic/builtins.js +0 -90
  357. package/lib/utils/isomorphic/colors.js +0 -72
  358. package/lib/utils/isomorphic/cssParser.js +0 -246
  359. package/lib/utils/isomorphic/cssTokenizer.js +0 -1051
  360. package/lib/utils/isomorphic/headers.js +0 -53
  361. package/lib/utils/isomorphic/locatorGenerators.js +0 -655
  362. package/lib/utils/isomorphic/locatorParser.js +0 -176
  363. package/lib/utils/isomorphic/locatorUtils.js +0 -81
  364. package/lib/utils/isomorphic/manualPromise.js +0 -115
  365. package/lib/utils/isomorphic/mimeType.js +0 -460
  366. package/lib/utils/isomorphic/multimap.js +0 -81
  367. package/lib/utils/isomorphic/rtti.js +0 -43
  368. package/lib/utils/isomorphic/selectorParser.js +0 -387
  369. package/lib/utils/isomorphic/semaphore.js +0 -54
  370. package/lib/utils/isomorphic/stackTrace.js +0 -158
  371. package/lib/utils/isomorphic/stringUtils.js +0 -176
  372. package/lib/utils/isomorphic/time.js +0 -44
  373. package/lib/utils/isomorphic/timeoutRunner.js +0 -67
  374. package/lib/utils/isomorphic/traceUtils.js +0 -59
  375. package/lib/utils/isomorphic/types.js +0 -16
  376. package/lib/utils/isomorphic/urlMatch.js +0 -167
  377. package/lib/utils/isomorphic/utilityScriptSerializers.js +0 -248
  378. package/lib/utils.js +0 -101
  379. package/lib/utilsBundleImpl/index.js +0 -208
  380. package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +0 -1
  381. package/lib/vite/recorder/assets/codeMirrorModule-DVQi6prl.js +0 -24
  382. package/lib/vite/recorder/assets/index-97EUAAbk.js +0 -184
  383. package/lib/vite/recorder/assets/index-eHBmevrY.css +0 -1
  384. package/lib/vite/traceViewer/assets/codeMirrorModule-DwAiTpyC.js +0 -24
  385. package/lib/vite/traceViewer/assets/defaultSettingsView-DkkRvn5X.js +0 -265
  386. package/lib/vite/traceViewer/assets/xtermModule-BoAIEibi.js +0 -9
  387. package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +0 -1
  388. package/lib/vite/traceViewer/defaultSettingsView.QdHITyLI.css +0 -1
  389. package/lib/vite/traceViewer/index.CFOW-Ezb.css +0 -1
  390. package/lib/vite/traceViewer/index.DvtSwn6E.js +0 -2
  391. package/lib/vite/traceViewer/uiMode.BatfzHMG.css +0 -1
  392. package/lib/vite/traceViewer/uiMode.Sdytl9wc.js +0 -5
  393. package/lib/vite/traceViewer/xtermModule.Beg8tuEN.css +0 -32
  394. package/lib/zipBundle.js +0 -34
  395. package/lib/zipBundleImpl.js +0 -5
@@ -1,666 +0,0 @@
1
- "use strict";
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 crNetworkManager_exports = {};
30
- __export(crNetworkManager_exports, {
31
- CRNetworkManager: () => CRNetworkManager
32
- });
33
- module.exports = __toCommonJS(crNetworkManager_exports);
34
- var import_utils = require("../../utils");
35
- var import_eventsHelper = require("../utils/eventsHelper");
36
- var import_helper = require("../helper");
37
- var network = __toESM(require("../network"));
38
- var import_protocolError = require("../protocolError");
39
- class CRNetworkManager {
40
- constructor(page, serviceWorker) {
41
- this._requestIdToRequest = /* @__PURE__ */ new Map();
42
- this._requestIdToRequestWillBeSentEvent = /* @__PURE__ */ new Map();
43
- this._credentials = null;
44
- this._attemptedAuthentications = /* @__PURE__ */ new Set();
45
- this._userRequestInterceptionEnabled = false;
46
- this._protocolRequestInterceptionEnabled = false;
47
- this._offline = false;
48
- this._extraHTTPHeaders = [];
49
- this._requestIdToRequestPausedEvent = /* @__PURE__ */ new Map();
50
- this._responseExtraInfoTracker = new ResponseExtraInfoTracker();
51
- this._sessions = /* @__PURE__ */ new Map();
52
- this._page = page;
53
- this._serviceWorker = serviceWorker;
54
- }
55
- async addSession(session, workerFrame, isMain) {
56
- const sessionInfo = { session, isMain, workerFrame, eventListeners: [] };
57
- sessionInfo.eventListeners = [
58
- import_eventsHelper.eventsHelper.addEventListener(session, "Fetch.requestPaused", this._onRequestPaused.bind(this, sessionInfo)),
59
- import_eventsHelper.eventsHelper.addEventListener(session, "Fetch.authRequired", this._onAuthRequired.bind(this, sessionInfo)),
60
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.requestWillBeSent", this._onRequestWillBeSent.bind(this, sessionInfo)),
61
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.requestWillBeSentExtraInfo", this._onRequestWillBeSentExtraInfo.bind(this)),
62
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.requestServedFromCache", this._onRequestServedFromCache.bind(this)),
63
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.responseReceived", this._onResponseReceived.bind(this, sessionInfo)),
64
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.responseReceivedExtraInfo", this._onResponseReceivedExtraInfo.bind(this)),
65
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.loadingFinished", this._onLoadingFinished.bind(this, sessionInfo)),
66
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.loadingFailed", this._onLoadingFailed.bind(this, sessionInfo))
67
- ];
68
- if (this._page) {
69
- sessionInfo.eventListeners.push(...[
70
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.webSocketCreated", (e) => this._page._frameManager.onWebSocketCreated(e.requestId, e.url)),
71
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.webSocketWillSendHandshakeRequest", (e) => this._page._frameManager.onWebSocketRequest(e.requestId)),
72
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.webSocketHandshakeResponseReceived", (e) => this._page._frameManager.onWebSocketResponse(e.requestId, e.response.status, e.response.statusText)),
73
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.webSocketFrameSent", (e) => e.response.payloadData && this._page._frameManager.onWebSocketFrameSent(e.requestId, e.response.opcode, e.response.payloadData)),
74
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.webSocketFrameReceived", (e) => e.response.payloadData && this._page._frameManager.webSocketFrameReceived(e.requestId, e.response.opcode, e.response.payloadData)),
75
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.webSocketClosed", (e) => this._page._frameManager.webSocketClosed(e.requestId)),
76
- import_eventsHelper.eventsHelper.addEventListener(session, "Network.webSocketFrameError", (e) => this._page._frameManager.webSocketError(e.requestId, e.errorMessage))
77
- ]);
78
- }
79
- this._sessions.set(session, sessionInfo);
80
- await Promise.all([
81
- session.send("Network.enable"),
82
- this._updateProtocolRequestInterceptionForSession(
83
- sessionInfo,
84
- true
85
- /* initial */
86
- ),
87
- this._setOfflineForSession(
88
- sessionInfo,
89
- true
90
- /* initial */
91
- ),
92
- this._setExtraHTTPHeadersForSession(
93
- sessionInfo,
94
- true
95
- /* initial */
96
- )
97
- ]);
98
- }
99
- removeSession(session) {
100
- const info = this._sessions.get(session);
101
- if (info)
102
- import_eventsHelper.eventsHelper.removeEventListeners(info.eventListeners);
103
- this._sessions.delete(session);
104
- }
105
- async _forEachSession(cb) {
106
- await Promise.all([...this._sessions.values()].map((info) => {
107
- if (info.isMain)
108
- return cb(info);
109
- return cb(info).catch((e) => {
110
- if ((0, import_protocolError.isSessionClosedError)(e))
111
- return;
112
- throw e;
113
- });
114
- }));
115
- }
116
- async authenticate(credentials) {
117
- this._credentials = credentials;
118
- await this._updateProtocolRequestInterception();
119
- }
120
- async setOffline(offline) {
121
- if (offline === this._offline)
122
- return;
123
- this._offline = offline;
124
- await this._forEachSession((info) => this._setOfflineForSession(info));
125
- }
126
- async _setOfflineForSession(info, initial) {
127
- if (initial && !this._offline)
128
- return;
129
- if (info.workerFrame)
130
- return;
131
- await info.session.send("Network.emulateNetworkConditions", {
132
- offline: this._offline,
133
- // values of 0 remove any active throttling. crbug.com/456324#c9
134
- latency: 0,
135
- downloadThroughput: -1,
136
- uploadThroughput: -1
137
- });
138
- }
139
- async setRequestInterception(value) {
140
- this._userRequestInterceptionEnabled = value;
141
- await this._updateProtocolRequestInterception();
142
- }
143
- async _updateProtocolRequestInterception() {
144
- const enabled = this._userRequestInterceptionEnabled || !!this._credentials;
145
- if (enabled === this._protocolRequestInterceptionEnabled)
146
- return;
147
- this._protocolRequestInterceptionEnabled = enabled;
148
- await this._forEachSession((info) => this._updateProtocolRequestInterceptionForSession(info));
149
- }
150
- async _updateProtocolRequestInterceptionForSession(info, initial) {
151
- const enabled = this._protocolRequestInterceptionEnabled;
152
- if (initial && !enabled)
153
- return;
154
- const cachePromise = info.session.send("Network.setCacheDisabled", { cacheDisabled: enabled });
155
- let fetchPromise = Promise.resolve(void 0);
156
- if (!info.workerFrame) {
157
- if (enabled)
158
- fetchPromise = info.session.send("Fetch.enable", { handleAuthRequests: true, patterns: [{ urlPattern: "*", requestStage: "Request" }] });
159
- else
160
- fetchPromise = info.session.send("Fetch.disable");
161
- }
162
- await Promise.all([cachePromise, fetchPromise]);
163
- }
164
- async setExtraHTTPHeaders(extraHTTPHeaders) {
165
- if (!this._extraHTTPHeaders.length && !extraHTTPHeaders.length)
166
- return;
167
- this._extraHTTPHeaders = extraHTTPHeaders;
168
- await this._forEachSession((info) => this._setExtraHTTPHeadersForSession(info));
169
- }
170
- async _setExtraHTTPHeadersForSession(info, initial) {
171
- if (initial && !this._extraHTTPHeaders.length)
172
- return;
173
- await info.session.send("Network.setExtraHTTPHeaders", { headers: (0, import_utils.headersArrayToObject)(
174
- this._extraHTTPHeaders,
175
- false
176
- /* lowerCase */
177
- ) });
178
- }
179
- async clearCache() {
180
- await this._forEachSession(async (info) => {
181
- await info.session.send("Network.setCacheDisabled", { cacheDisabled: true });
182
- if (!this._protocolRequestInterceptionEnabled)
183
- await info.session.send("Network.setCacheDisabled", { cacheDisabled: false });
184
- if (!info.workerFrame)
185
- await info.session.send("Network.clearBrowserCache");
186
- });
187
- }
188
- _onRequestWillBeSent(sessionInfo, event) {
189
- if (this._protocolRequestInterceptionEnabled && !event.request.url.startsWith("data:")) {
190
- const requestId = event.requestId;
191
- const requestPausedEvent = this._requestIdToRequestPausedEvent.get(requestId);
192
- if (requestPausedEvent) {
193
- this._onRequest(sessionInfo, event, requestPausedEvent.sessionInfo, requestPausedEvent.event);
194
- this._requestIdToRequestPausedEvent.delete(requestId);
195
- } else {
196
- this._requestIdToRequestWillBeSentEvent.set(event.requestId, { sessionInfo, event });
197
- }
198
- } else {
199
- this._onRequest(sessionInfo, event, void 0, void 0);
200
- }
201
- }
202
- _onRequestServedFromCache(event) {
203
- this._responseExtraInfoTracker.requestServedFromCache(event);
204
- }
205
- _onRequestWillBeSentExtraInfo(event) {
206
- this._responseExtraInfoTracker.requestWillBeSentExtraInfo(event);
207
- }
208
- _onAuthRequired(sessionInfo, event) {
209
- let response = "Default";
210
- const shouldProvideCredentials = this._shouldProvideCredentials(event.request.url);
211
- if (this._attemptedAuthentications.has(event.requestId)) {
212
- response = "CancelAuth";
213
- } else if (shouldProvideCredentials) {
214
- response = "ProvideCredentials";
215
- this._attemptedAuthentications.add(event.requestId);
216
- }
217
- const { username, password } = shouldProvideCredentials && this._credentials ? this._credentials : { username: void 0, password: void 0 };
218
- sessionInfo.session._sendMayFail("Fetch.continueWithAuth", {
219
- requestId: event.requestId,
220
- authChallengeResponse: { response, username, password }
221
- });
222
- }
223
- _shouldProvideCredentials(url) {
224
- if (!this._credentials)
225
- return false;
226
- return !this._credentials.origin || new URL(url).origin.toLowerCase() === this._credentials.origin.toLowerCase();
227
- }
228
- _onRequestPaused(sessionInfo, event) {
229
- if (!event.networkId) {
230
- sessionInfo.session._sendMayFail("Fetch.continueRequest", { requestId: event.requestId });
231
- return;
232
- }
233
- if (event.request.url.startsWith("data:"))
234
- return;
235
- const requestId = event.networkId;
236
- const requestWillBeSentEvent = this._requestIdToRequestWillBeSentEvent.get(requestId);
237
- if (requestWillBeSentEvent) {
238
- this._onRequest(requestWillBeSentEvent.sessionInfo, requestWillBeSentEvent.event, sessionInfo, event);
239
- this._requestIdToRequestWillBeSentEvent.delete(requestId);
240
- } else {
241
- const existingRequest = this._requestIdToRequest.get(requestId);
242
- const alreadyContinuedParams = existingRequest?._route?._alreadyContinuedParams;
243
- if (alreadyContinuedParams && !event.redirectedRequestId) {
244
- sessionInfo.session._sendMayFail("Fetch.continueRequest", {
245
- ...alreadyContinuedParams,
246
- requestId: event.requestId
247
- });
248
- return;
249
- }
250
- this._requestIdToRequestPausedEvent.set(requestId, { sessionInfo, event });
251
- }
252
- }
253
- _onRequest(requestWillBeSentSessionInfo, requestWillBeSentEvent, requestPausedSessionInfo, requestPausedEvent) {
254
- if (requestWillBeSentEvent.request.url.startsWith("data:"))
255
- return;
256
- let redirectedFrom = null;
257
- if (requestWillBeSentEvent.redirectResponse) {
258
- const request2 = this._requestIdToRequest.get(requestWillBeSentEvent.requestId);
259
- if (request2) {
260
- this._handleRequestRedirect(request2, requestWillBeSentEvent.redirectResponse, requestWillBeSentEvent.timestamp, requestWillBeSentEvent.redirectHasExtraInfo);
261
- redirectedFrom = request2;
262
- }
263
- }
264
- let frame = requestWillBeSentEvent.frameId ? this._page?._frameManager.frame(requestWillBeSentEvent.frameId) : requestWillBeSentSessionInfo.workerFrame;
265
- if (!frame && this._page && requestPausedEvent && requestPausedEvent.frameId)
266
- frame = this._page._frameManager.frame(requestPausedEvent.frameId);
267
- if (!frame && this._page && requestWillBeSentEvent.frameId === (this._page?._delegate)._targetId) {
268
- frame = this._page._frameManager.frameAttached(requestWillBeSentEvent.frameId, null);
269
- }
270
- const isInterceptedOptionsPreflight = !!requestPausedEvent && requestPausedEvent.request.method === "OPTIONS" && requestWillBeSentEvent.initiator.type === "preflight";
271
- if (isInterceptedOptionsPreflight && (this._page || this._serviceWorker).needsRequestInterception()) {
272
- const requestHeaders = requestPausedEvent.request.headers;
273
- const responseHeaders = [
274
- { name: "Access-Control-Allow-Origin", value: requestHeaders["Origin"] || "*" },
275
- { name: "Access-Control-Allow-Methods", value: requestHeaders["Access-Control-Request-Method"] || "GET, POST, OPTIONS, DELETE" },
276
- { name: "Access-Control-Allow-Credentials", value: "true" }
277
- ];
278
- if (requestHeaders["Access-Control-Request-Headers"])
279
- responseHeaders.push({ name: "Access-Control-Allow-Headers", value: requestHeaders["Access-Control-Request-Headers"] });
280
- requestPausedSessionInfo.session._sendMayFail("Fetch.fulfillRequest", {
281
- requestId: requestPausedEvent.requestId,
282
- responseCode: 204,
283
- responsePhrase: network.statusText(204),
284
- responseHeaders,
285
- body: ""
286
- });
287
- return;
288
- }
289
- if (!frame && !this._serviceWorker) {
290
- if (requestPausedEvent)
291
- requestPausedSessionInfo.session._sendMayFail("Fetch.continueRequest", { requestId: requestPausedEvent.requestId });
292
- return;
293
- }
294
- let route = null;
295
- let headersOverride;
296
- if (requestPausedEvent) {
297
- if (redirectedFrom || !this._userRequestInterceptionEnabled && this._protocolRequestInterceptionEnabled) {
298
- headersOverride = redirectedFrom?._originalRequestRoute?._alreadyContinuedParams?.headers;
299
- requestPausedSessionInfo.session._sendMayFail("Fetch.continueRequest", { requestId: requestPausedEvent.requestId, headers: headersOverride });
300
- } else {
301
- route = new RouteImpl(requestPausedSessionInfo.session, requestPausedEvent.requestId);
302
- }
303
- }
304
- const isNavigationRequest = requestWillBeSentEvent.requestId === requestWillBeSentEvent.loaderId && requestWillBeSentEvent.type === "Document";
305
- const documentId = isNavigationRequest ? requestWillBeSentEvent.loaderId : void 0;
306
- const request = new InterceptableRequest({
307
- session: requestWillBeSentSessionInfo.session,
308
- context: (this._page || this._serviceWorker)._browserContext,
309
- frame: frame || null,
310
- serviceWorker: this._serviceWorker || null,
311
- documentId,
312
- route,
313
- requestWillBeSentEvent,
314
- requestPausedEvent,
315
- redirectedFrom,
316
- headersOverride: headersOverride || null
317
- });
318
- this._requestIdToRequest.set(requestWillBeSentEvent.requestId, request);
319
- if (route) {
320
- request.request.setRawRequestHeaders((0, import_utils.headersObjectToArray)(requestPausedEvent.request.headers, "\n"));
321
- }
322
- (this._page?._frameManager || this._serviceWorker).requestStarted(request.request, route || void 0);
323
- }
324
- _createResponse(request, responsePayload, hasExtraInfo) {
325
- const getResponseBody = async () => {
326
- const contentLengthHeader = Object.entries(responsePayload.headers).find((header) => header[0].toLowerCase() === "content-length");
327
- const expectedLength = contentLengthHeader ? +contentLengthHeader[1] : void 0;
328
- const session = request.session;
329
- const response2 = await session.send("Network.getResponseBody", { requestId: request._requestId });
330
- if (response2.body || !expectedLength)
331
- return Buffer.from(response2.body, response2.base64Encoded ? "base64" : "utf8");
332
- if (request._route?._fulfilled)
333
- return Buffer.from("");
334
- const resource = await session.send("Network.loadNetworkResource", { url: request.request.url(), frameId: this._serviceWorker ? void 0 : request.request.frame()._id, options: { disableCache: false, includeCredentials: true } });
335
- const chunks = [];
336
- while (resource.resource.stream) {
337
- const chunk = await session.send("IO.read", { handle: resource.resource.stream });
338
- chunks.push(Buffer.from(chunk.data, chunk.base64Encoded ? "base64" : "utf-8"));
339
- if (chunk.eof) {
340
- await session.send("IO.close", { handle: resource.resource.stream });
341
- break;
342
- }
343
- }
344
- return Buffer.concat(chunks);
345
- };
346
- const timingPayload = responsePayload.timing;
347
- let timing;
348
- if (timingPayload && !this._responseExtraInfoTracker.servedFromCache(request._requestId)) {
349
- timing = {
350
- startTime: (timingPayload.requestTime - request._timestamp + request._wallTime) * 1e3,
351
- domainLookupStart: timingPayload.dnsStart,
352
- domainLookupEnd: timingPayload.dnsEnd,
353
- connectStart: timingPayload.connectStart,
354
- secureConnectionStart: timingPayload.sslStart,
355
- connectEnd: timingPayload.connectEnd,
356
- requestStart: timingPayload.sendStart,
357
- responseStart: timingPayload.receiveHeadersEnd
358
- };
359
- } else {
360
- timing = {
361
- startTime: request._wallTime * 1e3,
362
- domainLookupStart: -1,
363
- domainLookupEnd: -1,
364
- connectStart: -1,
365
- secureConnectionStart: -1,
366
- connectEnd: -1,
367
- requestStart: -1,
368
- responseStart: -1
369
- };
370
- }
371
- const response = new network.Response(request.request, responsePayload.status, responsePayload.statusText, (0, import_utils.headersObjectToArray)(responsePayload.headers), timing, getResponseBody, !!responsePayload.fromServiceWorker, responsePayload.protocol);
372
- if (responsePayload?.remoteIPAddress && typeof responsePayload?.remotePort === "number") {
373
- response._serverAddrFinished({
374
- ipAddress: responsePayload.remoteIPAddress,
375
- port: responsePayload.remotePort
376
- });
377
- } else {
378
- response._serverAddrFinished();
379
- }
380
- response._securityDetailsFinished({
381
- protocol: responsePayload?.securityDetails?.protocol,
382
- subjectName: responsePayload?.securityDetails?.subjectName,
383
- issuer: responsePayload?.securityDetails?.issuer,
384
- validFrom: responsePayload?.securityDetails?.validFrom,
385
- validTo: responsePayload?.securityDetails?.validTo
386
- });
387
- this._responseExtraInfoTracker.processResponse(request._requestId, response, hasExtraInfo);
388
- return response;
389
- }
390
- _deleteRequest(request) {
391
- this._requestIdToRequest.delete(request._requestId);
392
- if (request._interceptionId)
393
- this._attemptedAuthentications.delete(request._interceptionId);
394
- }
395
- _handleRequestRedirect(request, responsePayload, timestamp, hasExtraInfo) {
396
- const response = this._createResponse(request, responsePayload, hasExtraInfo);
397
- response.setTransferSize(null);
398
- response.setEncodedBodySize(null);
399
- response._requestFinished((timestamp - request._timestamp) * 1e3);
400
- this._deleteRequest(request);
401
- (this._page?._frameManager || this._serviceWorker).requestReceivedResponse(response);
402
- (this._page?._frameManager || this._serviceWorker).reportRequestFinished(request.request, response);
403
- }
404
- _onResponseReceivedExtraInfo(event) {
405
- this._responseExtraInfoTracker.responseReceivedExtraInfo(event);
406
- }
407
- _onResponseReceived(sessionInfo, event) {
408
- let request = this._requestIdToRequest.get(event.requestId);
409
- if (!request && event.response.fromServiceWorker) {
410
- const requestWillBeSentEvent = this._requestIdToRequestWillBeSentEvent.get(event.requestId);
411
- if (requestWillBeSentEvent) {
412
- this._requestIdToRequestWillBeSentEvent.delete(event.requestId);
413
- this._onRequest(sessionInfo, requestWillBeSentEvent.event, void 0, void 0);
414
- request = this._requestIdToRequest.get(event.requestId);
415
- }
416
- }
417
- if (!request)
418
- return;
419
- const response = this._createResponse(request, event.response, event.hasExtraInfo);
420
- (this._page?._frameManager || this._serviceWorker).requestReceivedResponse(response);
421
- }
422
- _onLoadingFinished(sessionInfo, event) {
423
- this._responseExtraInfoTracker.loadingFinished(event);
424
- const request = this._requestIdToRequest.get(event.requestId);
425
- if (!request)
426
- return;
427
- this._maybeUpdateOOPIFMainRequest(sessionInfo, request);
428
- const response = request.request._existingResponse();
429
- if (response) {
430
- response.setTransferSize(event.encodedDataLength);
431
- response.responseHeadersSize().then((size) => response.setEncodedBodySize(event.encodedDataLength - size));
432
- response._requestFinished(import_helper.helper.secondsToRoundishMillis(event.timestamp - request._timestamp));
433
- }
434
- this._deleteRequest(request);
435
- (this._page?._frameManager || this._serviceWorker).reportRequestFinished(request.request, response);
436
- }
437
- _onLoadingFailed(sessionInfo, event) {
438
- this._responseExtraInfoTracker.loadingFailed(event);
439
- let request = this._requestIdToRequest.get(event.requestId);
440
- if (!request) {
441
- const requestWillBeSentEvent = this._requestIdToRequestWillBeSentEvent.get(event.requestId);
442
- if (requestWillBeSentEvent) {
443
- this._requestIdToRequestWillBeSentEvent.delete(event.requestId);
444
- this._onRequest(sessionInfo, requestWillBeSentEvent.event, void 0, void 0);
445
- request = this._requestIdToRequest.get(event.requestId);
446
- }
447
- }
448
- if (!request)
449
- return;
450
- this._maybeUpdateOOPIFMainRequest(sessionInfo, request);
451
- const response = request.request._existingResponse();
452
- if (response) {
453
- response.setTransferSize(null);
454
- response.setEncodedBodySize(null);
455
- response._requestFinished(import_helper.helper.secondsToRoundishMillis(event.timestamp - request._timestamp));
456
- } else {
457
- request.request.setRawRequestHeaders(null);
458
- }
459
- this._deleteRequest(request);
460
- request.request._setFailureText(event.errorText || event.blockedReason || "");
461
- (this._page?._frameManager || this._serviceWorker).requestFailed(request.request, !!event.canceled);
462
- }
463
- _maybeUpdateOOPIFMainRequest(sessionInfo, request) {
464
- if (request.session !== sessionInfo.session && !sessionInfo.isMain && request._documentId === request._requestId)
465
- request.session = sessionInfo.session;
466
- }
467
- }
468
- class InterceptableRequest {
469
- constructor(options) {
470
- const { session, context, frame, documentId, route, requestWillBeSentEvent, requestPausedEvent, redirectedFrom, serviceWorker, headersOverride } = options;
471
- this.session = session;
472
- this._timestamp = requestWillBeSentEvent.timestamp;
473
- this._wallTime = requestWillBeSentEvent.wallTime;
474
- this._requestId = requestWillBeSentEvent.requestId;
475
- this._interceptionId = requestPausedEvent && requestPausedEvent.requestId;
476
- this._documentId = documentId;
477
- this._route = route;
478
- this._originalRequestRoute = route ?? redirectedFrom?._originalRequestRoute;
479
- const {
480
- headers,
481
- method,
482
- url,
483
- postDataEntries = null
484
- } = requestPausedEvent ? requestPausedEvent.request : requestWillBeSentEvent.request;
485
- const type = (requestWillBeSentEvent.type || "").toLowerCase();
486
- let postDataBuffer = null;
487
- const entries = postDataEntries?.filter((entry) => entry.bytes);
488
- if (entries && entries.length)
489
- postDataBuffer = Buffer.concat(entries.map((entry) => Buffer.from(entry.bytes, "base64")));
490
- this.request = new network.Request(context, frame, serviceWorker, redirectedFrom?.request || null, documentId, url, type, method, postDataBuffer, headersOverride || (0, import_utils.headersObjectToArray)(headers));
491
- }
492
- }
493
- class RouteImpl {
494
- constructor(session, interceptionId) {
495
- this._fulfilled = false;
496
- this._session = session;
497
- this._interceptionId = interceptionId;
498
- }
499
- async continue(overrides) {
500
- this._alreadyContinuedParams = {
501
- requestId: this._interceptionId,
502
- url: overrides.url,
503
- headers: overrides.headers,
504
- method: overrides.method,
505
- postData: overrides.postData ? overrides.postData.toString("base64") : void 0
506
- };
507
- await catchDisallowedErrors(async () => {
508
- await this._session.send("Fetch.continueRequest", this._alreadyContinuedParams);
509
- });
510
- }
511
- async fulfill(response) {
512
- this._fulfilled = true;
513
- const body = response.isBase64 ? response.body : Buffer.from(response.body).toString("base64");
514
- const responseHeaders = splitSetCookieHeader(response.headers);
515
- await catchDisallowedErrors(async () => {
516
- await this._session.send("Fetch.fulfillRequest", {
517
- requestId: this._interceptionId,
518
- responseCode: response.status,
519
- responsePhrase: network.statusText(response.status),
520
- responseHeaders,
521
- body
522
- });
523
- });
524
- }
525
- async abort(errorCode = "failed") {
526
- const errorReason = errorReasons[errorCode];
527
- (0, import_utils.assert)(errorReason, "Unknown error code: " + errorCode);
528
- await catchDisallowedErrors(async () => {
529
- await this._session.send("Fetch.failRequest", {
530
- requestId: this._interceptionId,
531
- errorReason
532
- });
533
- });
534
- }
535
- }
536
- async function catchDisallowedErrors(callback) {
537
- try {
538
- return await callback();
539
- } catch (e) {
540
- if ((0, import_protocolError.isProtocolError)(e) && e.message.includes("Invalid http status code or phrase"))
541
- throw e;
542
- if ((0, import_protocolError.isProtocolError)(e) && e.message.includes("Unsafe header"))
543
- throw e;
544
- }
545
- }
546
- function splitSetCookieHeader(headers) {
547
- const index = headers.findIndex(({ name }) => name.toLowerCase() === "set-cookie");
548
- if (index === -1)
549
- return headers;
550
- const header = headers[index];
551
- const values = header.value.split("\n");
552
- if (values.length === 1)
553
- return headers;
554
- const result = headers.slice();
555
- result.splice(index, 1, ...values.map((value) => ({ name: header.name, value })));
556
- return result;
557
- }
558
- const errorReasons = {
559
- "aborted": "Aborted",
560
- "accessdenied": "AccessDenied",
561
- "addressunreachable": "AddressUnreachable",
562
- "blockedbyclient": "BlockedByClient",
563
- "blockedbyresponse": "BlockedByResponse",
564
- "connectionaborted": "ConnectionAborted",
565
- "connectionclosed": "ConnectionClosed",
566
- "connectionfailed": "ConnectionFailed",
567
- "connectionrefused": "ConnectionRefused",
568
- "connectionreset": "ConnectionReset",
569
- "internetdisconnected": "InternetDisconnected",
570
- "namenotresolved": "NameNotResolved",
571
- "timedout": "TimedOut",
572
- "failed": "Failed"
573
- };
574
- class ResponseExtraInfoTracker {
575
- constructor() {
576
- this._requests = /* @__PURE__ */ new Map();
577
- }
578
- requestWillBeSentExtraInfo(event) {
579
- const info = this._getOrCreateEntry(event.requestId);
580
- info.requestWillBeSentExtraInfo.push(event);
581
- this._patchHeaders(info, info.requestWillBeSentExtraInfo.length - 1);
582
- this._checkFinished(info);
583
- }
584
- requestServedFromCache(event) {
585
- const info = this._getOrCreateEntry(event.requestId);
586
- info.servedFromCache = true;
587
- }
588
- servedFromCache(requestId) {
589
- const info = this._requests.get(requestId);
590
- return !!info?.servedFromCache;
591
- }
592
- responseReceivedExtraInfo(event) {
593
- const info = this._getOrCreateEntry(event.requestId);
594
- info.responseReceivedExtraInfo.push(event);
595
- this._patchHeaders(info, info.responseReceivedExtraInfo.length - 1);
596
- this._checkFinished(info);
597
- }
598
- processResponse(requestId, response, hasExtraInfo) {
599
- let info = this._requests.get(requestId);
600
- if (!hasExtraInfo || info?.servedFromCache) {
601
- response.request().setRawRequestHeaders(null);
602
- response.setResponseHeadersSize(null);
603
- response.setRawResponseHeaders(null);
604
- return;
605
- }
606
- info = this._getOrCreateEntry(requestId);
607
- info.responses.push(response);
608
- this._patchHeaders(info, info.responses.length - 1);
609
- }
610
- loadingFinished(event) {
611
- const info = this._requests.get(event.requestId);
612
- if (!info)
613
- return;
614
- info.loadingFinished = event;
615
- this._checkFinished(info);
616
- }
617
- loadingFailed(event) {
618
- const info = this._requests.get(event.requestId);
619
- if (!info)
620
- return;
621
- info.loadingFailed = event;
622
- this._checkFinished(info);
623
- }
624
- _getOrCreateEntry(requestId) {
625
- let info = this._requests.get(requestId);
626
- if (!info) {
627
- info = {
628
- requestId,
629
- requestWillBeSentExtraInfo: [],
630
- responseReceivedExtraInfo: [],
631
- responses: []
632
- };
633
- this._requests.set(requestId, info);
634
- }
635
- return info;
636
- }
637
- _patchHeaders(info, index) {
638
- const response = info.responses[index];
639
- const requestExtraInfo = info.requestWillBeSentExtraInfo[index];
640
- if (response && requestExtraInfo) {
641
- response.request().setRawRequestHeaders((0, import_utils.headersObjectToArray)(requestExtraInfo.headers, "\n"));
642
- info.requestWillBeSentExtraInfo[index] = void 0;
643
- }
644
- const responseExtraInfo = info.responseReceivedExtraInfo[index];
645
- if (response && responseExtraInfo) {
646
- response.setResponseHeadersSize(responseExtraInfo.headersText?.length || 0);
647
- response.setRawResponseHeaders((0, import_utils.headersObjectToArray)(responseExtraInfo.headers, "\n"));
648
- info.responseReceivedExtraInfo[index] = void 0;
649
- }
650
- }
651
- _checkFinished(info) {
652
- if (!info.loadingFinished && !info.loadingFailed)
653
- return;
654
- if (info.responses.length <= info.responseReceivedExtraInfo.length) {
655
- this._stopTracking(info.requestId);
656
- return;
657
- }
658
- }
659
- _stopTracking(requestId) {
660
- this._requests.delete(requestId);
661
- }
662
- }
663
- // Annotate the CommonJS export names for ESM import in node:
664
- 0 && (module.exports = {
665
- CRNetworkManager
666
- });