@stablyai/internal-playwright-core 0.1.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 (405) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +5 -0
  3. package/README.md +3 -0
  4. package/ThirdPartyNotices.txt +1134 -0
  5. package/bin/install_media_pack.ps1 +5 -0
  6. package/bin/install_webkit_wsl.ps1 +35 -0
  7. package/bin/reinstall_chrome_beta_linux.sh +42 -0
  8. package/bin/reinstall_chrome_beta_mac.sh +13 -0
  9. package/bin/reinstall_chrome_beta_win.ps1 +24 -0
  10. package/bin/reinstall_chrome_stable_linux.sh +42 -0
  11. package/bin/reinstall_chrome_stable_mac.sh +12 -0
  12. package/bin/reinstall_chrome_stable_win.ps1 +24 -0
  13. package/bin/reinstall_msedge_beta_linux.sh +48 -0
  14. package/bin/reinstall_msedge_beta_mac.sh +11 -0
  15. package/bin/reinstall_msedge_beta_win.ps1 +23 -0
  16. package/bin/reinstall_msedge_dev_linux.sh +48 -0
  17. package/bin/reinstall_msedge_dev_mac.sh +11 -0
  18. package/bin/reinstall_msedge_dev_win.ps1 +23 -0
  19. package/bin/reinstall_msedge_stable_linux.sh +48 -0
  20. package/bin/reinstall_msedge_stable_mac.sh +11 -0
  21. package/bin/reinstall_msedge_stable_win.ps1 +24 -0
  22. package/browsers.json +80 -0
  23. package/cli.js +18 -0
  24. package/index.d.ts +17 -0
  25. package/index.js +32 -0
  26. package/index.mjs +28 -0
  27. package/lib/androidServerImpl.js +65 -0
  28. package/lib/browserServerImpl.js +120 -0
  29. package/lib/cli/cli.js +58 -0
  30. package/lib/cli/driver.js +97 -0
  31. package/lib/cli/program.js +634 -0
  32. package/lib/cli/programWithTestStub.js +74 -0
  33. package/lib/client/accessibility.js +49 -0
  34. package/lib/client/android.js +361 -0
  35. package/lib/client/api.js +137 -0
  36. package/lib/client/artifact.js +79 -0
  37. package/lib/client/browser.js +163 -0
  38. package/lib/client/browserContext.js +529 -0
  39. package/lib/client/browserType.js +184 -0
  40. package/lib/client/cdpSession.js +51 -0
  41. package/lib/client/channelOwner.js +194 -0
  42. package/lib/client/clientHelper.js +64 -0
  43. package/lib/client/clientInstrumentation.js +55 -0
  44. package/lib/client/clientStackTrace.js +69 -0
  45. package/lib/client/clock.js +68 -0
  46. package/lib/client/connection.js +314 -0
  47. package/lib/client/consoleMessage.js +54 -0
  48. package/lib/client/coverage.js +44 -0
  49. package/lib/client/dialog.js +56 -0
  50. package/lib/client/download.js +62 -0
  51. package/lib/client/electron.js +138 -0
  52. package/lib/client/elementHandle.js +281 -0
  53. package/lib/client/errors.js +77 -0
  54. package/lib/client/eventEmitter.js +314 -0
  55. package/lib/client/events.js +99 -0
  56. package/lib/client/fetch.js +369 -0
  57. package/lib/client/fileChooser.js +46 -0
  58. package/lib/client/fileUtils.js +34 -0
  59. package/lib/client/frame.js +408 -0
  60. package/lib/client/harRouter.js +87 -0
  61. package/lib/client/input.js +84 -0
  62. package/lib/client/jsHandle.js +109 -0
  63. package/lib/client/jsonPipe.js +39 -0
  64. package/lib/client/localUtils.js +60 -0
  65. package/lib/client/locator.js +368 -0
  66. package/lib/client/network.js +747 -0
  67. package/lib/client/page.js +721 -0
  68. package/lib/client/platform.js +74 -0
  69. package/lib/client/playwright.js +71 -0
  70. package/lib/client/selectors.js +55 -0
  71. package/lib/client/stream.js +39 -0
  72. package/lib/client/timeoutSettings.js +79 -0
  73. package/lib/client/tracing.js +117 -0
  74. package/lib/client/types.js +28 -0
  75. package/lib/client/video.js +59 -0
  76. package/lib/client/waiter.js +142 -0
  77. package/lib/client/webError.js +39 -0
  78. package/lib/client/webSocket.js +93 -0
  79. package/lib/client/worker.js +63 -0
  80. package/lib/client/writableStream.js +39 -0
  81. package/lib/common/debugLogger.js +90 -0
  82. package/lib/common/socksProxy.js +569 -0
  83. package/lib/common/timeoutSettings.js +73 -0
  84. package/lib/common/types.js +5 -0
  85. package/lib/generated/bindingsControllerSource.js +28 -0
  86. package/lib/generated/clockSource.js +28 -0
  87. package/lib/generated/consoleApiSource.js +28 -0
  88. package/lib/generated/injectedScriptSource.js +28 -0
  89. package/lib/generated/pollingRecorderSource.js +28 -0
  90. package/lib/generated/recorderSource.js +28 -0
  91. package/lib/generated/storageScriptSource.js +28 -0
  92. package/lib/generated/utilityScriptSource.js +28 -0
  93. package/lib/generated/webSocketMockSource.js +336 -0
  94. package/lib/image_tools/colorUtils.js +98 -0
  95. package/lib/image_tools/compare.js +108 -0
  96. package/lib/image_tools/imageChannel.js +70 -0
  97. package/lib/image_tools/stats.js +102 -0
  98. package/lib/inProcessFactory.js +60 -0
  99. package/lib/index.js +19 -0
  100. package/lib/inprocess.js +3 -0
  101. package/lib/outofprocess.js +76 -0
  102. package/lib/protocol/debug.js +27 -0
  103. package/lib/protocol/serializers.js +192 -0
  104. package/lib/protocol/transport.js +82 -0
  105. package/lib/protocol/validator.js +2919 -0
  106. package/lib/protocol/validatorPrimitives.js +193 -0
  107. package/lib/remote/playwrightConnection.js +129 -0
  108. package/lib/remote/playwrightServer.js +335 -0
  109. package/lib/server/accessibility.js +69 -0
  110. package/lib/server/android/android.js +465 -0
  111. package/lib/server/android/backendAdb.js +177 -0
  112. package/lib/server/artifact.js +127 -0
  113. package/lib/server/bidi/bidiBrowser.js +490 -0
  114. package/lib/server/bidi/bidiChromium.js +153 -0
  115. package/lib/server/bidi/bidiConnection.js +212 -0
  116. package/lib/server/bidi/bidiExecutionContext.js +221 -0
  117. package/lib/server/bidi/bidiFirefox.js +130 -0
  118. package/lib/server/bidi/bidiInput.js +146 -0
  119. package/lib/server/bidi/bidiNetworkManager.js +383 -0
  120. package/lib/server/bidi/bidiOverCdp.js +102 -0
  121. package/lib/server/bidi/bidiPage.js +552 -0
  122. package/lib/server/bidi/bidiPdf.js +106 -0
  123. package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  124. package/lib/server/bidi/third_party/bidiDeserializer.js +98 -0
  125. package/lib/server/bidi/third_party/bidiKeyboard.js +256 -0
  126. package/lib/server/bidi/third_party/bidiProtocol.js +24 -0
  127. package/lib/server/bidi/third_party/bidiProtocolCore.js +179 -0
  128. package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
  129. package/lib/server/bidi/third_party/bidiSerializer.js +148 -0
  130. package/lib/server/bidi/third_party/firefoxPrefs.js +259 -0
  131. package/lib/server/browser.js +149 -0
  132. package/lib/server/browserContext.js +695 -0
  133. package/lib/server/browserType.js +328 -0
  134. package/lib/server/callLog.js +82 -0
  135. package/lib/server/chromium/appIcon.png +0 -0
  136. package/lib/server/chromium/chromium.js +402 -0
  137. package/lib/server/chromium/chromiumSwitches.js +95 -0
  138. package/lib/server/chromium/crAccessibility.js +263 -0
  139. package/lib/server/chromium/crBrowser.js +501 -0
  140. package/lib/server/chromium/crConnection.js +202 -0
  141. package/lib/server/chromium/crCoverage.js +235 -0
  142. package/lib/server/chromium/crDevTools.js +113 -0
  143. package/lib/server/chromium/crDragDrop.js +131 -0
  144. package/lib/server/chromium/crExecutionContext.js +146 -0
  145. package/lib/server/chromium/crInput.js +187 -0
  146. package/lib/server/chromium/crNetworkManager.js +666 -0
  147. package/lib/server/chromium/crPage.js +1069 -0
  148. package/lib/server/chromium/crPdf.js +121 -0
  149. package/lib/server/chromium/crProtocolHelper.js +145 -0
  150. package/lib/server/chromium/crServiceWorker.js +123 -0
  151. package/lib/server/chromium/defaultFontFamilies.js +162 -0
  152. package/lib/server/chromium/protocol.d.js +16 -0
  153. package/lib/server/chromium/videoRecorder.js +113 -0
  154. package/lib/server/clock.js +149 -0
  155. package/lib/server/codegen/csharp.js +327 -0
  156. package/lib/server/codegen/java.js +274 -0
  157. package/lib/server/codegen/javascript.js +270 -0
  158. package/lib/server/codegen/jsonl.js +52 -0
  159. package/lib/server/codegen/language.js +132 -0
  160. package/lib/server/codegen/languages.js +68 -0
  161. package/lib/server/codegen/python.js +279 -0
  162. package/lib/server/codegen/types.js +16 -0
  163. package/lib/server/console.js +53 -0
  164. package/lib/server/cookieStore.js +206 -0
  165. package/lib/server/debugController.js +191 -0
  166. package/lib/server/debugger.js +119 -0
  167. package/lib/server/deviceDescriptors.js +39 -0
  168. package/lib/server/deviceDescriptorsSource.json +1779 -0
  169. package/lib/server/dialog.js +116 -0
  170. package/lib/server/dispatchers/androidDispatcher.js +325 -0
  171. package/lib/server/dispatchers/artifactDispatcher.js +118 -0
  172. package/lib/server/dispatchers/browserContextDispatcher.js +364 -0
  173. package/lib/server/dispatchers/browserDispatcher.js +118 -0
  174. package/lib/server/dispatchers/browserTypeDispatcher.js +64 -0
  175. package/lib/server/dispatchers/cdpSessionDispatcher.js +44 -0
  176. package/lib/server/dispatchers/debugControllerDispatcher.js +78 -0
  177. package/lib/server/dispatchers/dialogDispatcher.js +47 -0
  178. package/lib/server/dispatchers/dispatcher.js +371 -0
  179. package/lib/server/dispatchers/electronDispatcher.js +89 -0
  180. package/lib/server/dispatchers/elementHandlerDispatcher.js +181 -0
  181. package/lib/server/dispatchers/frameDispatcher.js +227 -0
  182. package/lib/server/dispatchers/jsHandleDispatcher.js +85 -0
  183. package/lib/server/dispatchers/jsonPipeDispatcher.js +58 -0
  184. package/lib/server/dispatchers/localUtilsDispatcher.js +149 -0
  185. package/lib/server/dispatchers/networkDispatchers.js +213 -0
  186. package/lib/server/dispatchers/pageDispatcher.js +401 -0
  187. package/lib/server/dispatchers/playwrightDispatcher.js +108 -0
  188. package/lib/server/dispatchers/selectorsDispatcher.js +36 -0
  189. package/lib/server/dispatchers/streamDispatcher.js +67 -0
  190. package/lib/server/dispatchers/tracingDispatcher.js +68 -0
  191. package/lib/server/dispatchers/webSocketRouteDispatcher.js +165 -0
  192. package/lib/server/dispatchers/writableStreamDispatcher.js +79 -0
  193. package/lib/server/dom.js +806 -0
  194. package/lib/server/download.js +70 -0
  195. package/lib/server/electron/electron.js +270 -0
  196. package/lib/server/electron/loader.js +29 -0
  197. package/lib/server/errors.js +69 -0
  198. package/lib/server/fetch.js +621 -0
  199. package/lib/server/fileChooser.js +43 -0
  200. package/lib/server/fileUploadUtils.js +84 -0
  201. package/lib/server/firefox/ffAccessibility.js +238 -0
  202. package/lib/server/firefox/ffBrowser.js +428 -0
  203. package/lib/server/firefox/ffConnection.js +147 -0
  204. package/lib/server/firefox/ffExecutionContext.js +150 -0
  205. package/lib/server/firefox/ffInput.js +159 -0
  206. package/lib/server/firefox/ffNetworkManager.js +256 -0
  207. package/lib/server/firefox/ffPage.js +503 -0
  208. package/lib/server/firefox/firefox.js +116 -0
  209. package/lib/server/firefox/protocol.d.js +16 -0
  210. package/lib/server/formData.js +147 -0
  211. package/lib/server/frameSelectors.js +156 -0
  212. package/lib/server/frames.js +1502 -0
  213. package/lib/server/har/harRecorder.js +147 -0
  214. package/lib/server/har/harTracer.js +607 -0
  215. package/lib/server/harBackend.js +157 -0
  216. package/lib/server/helper.js +96 -0
  217. package/lib/server/index.js +58 -0
  218. package/lib/server/input.js +273 -0
  219. package/lib/server/instrumentation.js +69 -0
  220. package/lib/server/isomorphic/utilityScriptSerializers.js +212 -0
  221. package/lib/server/javascript.js +291 -0
  222. package/lib/server/launchApp.js +128 -0
  223. package/lib/server/localUtils.js +218 -0
  224. package/lib/server/macEditingCommands.js +143 -0
  225. package/lib/server/network.js +629 -0
  226. package/lib/server/page.js +871 -0
  227. package/lib/server/pipeTransport.js +89 -0
  228. package/lib/server/playwright.js +69 -0
  229. package/lib/server/progress.js +112 -0
  230. package/lib/server/protocolError.js +52 -0
  231. package/lib/server/recorder/chat.js +161 -0
  232. package/lib/server/recorder/codeGenerator.js +153 -0
  233. package/lib/server/recorder/csharp.js +310 -0
  234. package/lib/server/recorder/java.js +248 -0
  235. package/lib/server/recorder/javascript.js +229 -0
  236. package/lib/server/recorder/jsonl.js +47 -0
  237. package/lib/server/recorder/language.js +44 -0
  238. package/lib/server/recorder/python.js +276 -0
  239. package/lib/server/recorder/recorderActions.js +5 -0
  240. package/lib/server/recorder/recorderApp.js +387 -0
  241. package/lib/server/recorder/recorderRunner.js +138 -0
  242. package/lib/server/recorder/recorderSignalProcessor.js +83 -0
  243. package/lib/server/recorder/recorderUtils.js +157 -0
  244. package/lib/server/recorder/throttledFile.js +57 -0
  245. package/lib/server/recorder/utils.js +45 -0
  246. package/lib/server/recorder.js +499 -0
  247. package/lib/server/registry/browserFetcher.js +175 -0
  248. package/lib/server/registry/dependencies.js +371 -0
  249. package/lib/server/registry/index.js +1331 -0
  250. package/lib/server/registry/nativeDeps.js +1280 -0
  251. package/lib/server/registry/oopDownloadBrowserMain.js +120 -0
  252. package/lib/server/screenshotter.js +333 -0
  253. package/lib/server/selectors.js +112 -0
  254. package/lib/server/socksClientCertificatesInterceptor.js +383 -0
  255. package/lib/server/socksInterceptor.js +95 -0
  256. package/lib/server/stably/ai-tools/http-request.js +70 -0
  257. package/lib/server/stably/ai-tools/stablyApiCaller.js +137 -0
  258. package/lib/server/stably/autohealing/elementHandleFromCoordinates.js +64 -0
  259. package/lib/server/stably/autohealing/healingService.js +228 -0
  260. package/lib/server/stably/autohealing/screenshotFrame.js +41 -0
  261. package/lib/server/stably/constants.js +31 -0
  262. package/lib/server/trace/recorder/snapshotter.js +147 -0
  263. package/lib/server/trace/recorder/snapshotterInjected.js +541 -0
  264. package/lib/server/trace/recorder/tracing.js +602 -0
  265. package/lib/server/trace/test/inMemorySnapshotter.js +87 -0
  266. package/lib/server/trace/viewer/traceViewer.js +240 -0
  267. package/lib/server/transport.js +181 -0
  268. package/lib/server/types.js +28 -0
  269. package/lib/server/usKeyboardLayout.js +145 -0
  270. package/lib/server/utils/ascii.js +44 -0
  271. package/lib/server/utils/comparators.js +161 -0
  272. package/lib/server/utils/crypto.js +216 -0
  273. package/lib/server/utils/debug.js +42 -0
  274. package/lib/server/utils/debugLogger.js +122 -0
  275. package/lib/server/utils/env.js +73 -0
  276. package/lib/server/utils/eventsHelper.js +39 -0
  277. package/lib/server/utils/expectUtils.js +38 -0
  278. package/lib/server/utils/fileUtils.js +191 -0
  279. package/lib/server/utils/happyEyeballs.js +207 -0
  280. package/lib/server/utils/hostPlatform.js +111 -0
  281. package/lib/server/utils/httpServer.js +218 -0
  282. package/lib/server/utils/image_tools/colorUtils.js +89 -0
  283. package/lib/server/utils/image_tools/compare.js +109 -0
  284. package/lib/server/utils/image_tools/imageChannel.js +78 -0
  285. package/lib/server/utils/image_tools/stats.js +102 -0
  286. package/lib/server/utils/linuxUtils.js +71 -0
  287. package/lib/server/utils/network.js +233 -0
  288. package/lib/server/utils/nodePlatform.js +148 -0
  289. package/lib/server/utils/pipeTransport.js +84 -0
  290. package/lib/server/utils/processLauncher.js +241 -0
  291. package/lib/server/utils/profiler.js +65 -0
  292. package/lib/server/utils/socksProxy.js +511 -0
  293. package/lib/server/utils/spawnAsync.js +41 -0
  294. package/lib/server/utils/task.js +51 -0
  295. package/lib/server/utils/userAgent.js +98 -0
  296. package/lib/server/utils/wsServer.js +121 -0
  297. package/lib/server/utils/zipFile.js +74 -0
  298. package/lib/server/utils/zones.js +57 -0
  299. package/lib/server/webkit/protocol.d.js +16 -0
  300. package/lib/server/webkit/webkit.js +119 -0
  301. package/lib/server/webkit/wkAccessibility.js +237 -0
  302. package/lib/server/webkit/wkBrowser.js +339 -0
  303. package/lib/server/webkit/wkConnection.js +149 -0
  304. package/lib/server/webkit/wkExecutionContext.js +154 -0
  305. package/lib/server/webkit/wkInput.js +181 -0
  306. package/lib/server/webkit/wkInterceptableRequest.js +169 -0
  307. package/lib/server/webkit/wkPage.js +1134 -0
  308. package/lib/server/webkit/wkProvisionalPage.js +83 -0
  309. package/lib/server/webkit/wkWorkers.js +104 -0
  310. package/lib/server/webkit/wsl/webkit-wsl-transport-client.js +74 -0
  311. package/lib/server/webkit/wsl/webkit-wsl-transport-server.js +113 -0
  312. package/lib/third_party/diff_match_patch.js +2222 -0
  313. package/lib/third_party/pixelmatch.js +255 -0
  314. package/lib/utils/ascii.js +31 -0
  315. package/lib/utils/comparators.js +171 -0
  316. package/lib/utils/crypto.js +33 -0
  317. package/lib/utils/debug.js +46 -0
  318. package/lib/utils/debugLogger.js +89 -0
  319. package/lib/utils/env.js +49 -0
  320. package/lib/utils/eventsHelper.js +38 -0
  321. package/lib/utils/fileUtils.js +205 -0
  322. package/lib/utils/glob.js +83 -0
  323. package/lib/utils/happy-eyeballs.js +160 -0
  324. package/lib/utils/headers.js +52 -0
  325. package/lib/utils/hostPlatform.js +128 -0
  326. package/lib/utils/httpServer.js +236 -0
  327. package/lib/utils/index.js +346 -0
  328. package/lib/utils/isomorphic/ariaSnapshot.js +392 -0
  329. package/lib/utils/isomorphic/assert.js +31 -0
  330. package/lib/utils/isomorphic/colors.js +72 -0
  331. package/lib/utils/isomorphic/cssParser.js +245 -0
  332. package/lib/utils/isomorphic/cssTokenizer.js +1051 -0
  333. package/lib/utils/isomorphic/headers.js +53 -0
  334. package/lib/utils/isomorphic/locatorGenerators.js +673 -0
  335. package/lib/utils/isomorphic/locatorParser.js +176 -0
  336. package/lib/utils/isomorphic/locatorUtils.js +81 -0
  337. package/lib/utils/isomorphic/manualPromise.js +114 -0
  338. package/lib/utils/isomorphic/mimeType.js +459 -0
  339. package/lib/utils/isomorphic/multimap.js +80 -0
  340. package/lib/utils/isomorphic/protocolFormatter.js +78 -0
  341. package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
  342. package/lib/utils/isomorphic/rtti.js +43 -0
  343. package/lib/utils/isomorphic/selectorParser.js +386 -0
  344. package/lib/utils/isomorphic/semaphore.js +54 -0
  345. package/lib/utils/isomorphic/stackTrace.js +158 -0
  346. package/lib/utils/isomorphic/stringUtils.js +155 -0
  347. package/lib/utils/isomorphic/time.js +49 -0
  348. package/lib/utils/isomorphic/timeoutRunner.js +66 -0
  349. package/lib/utils/isomorphic/traceUtils.js +58 -0
  350. package/lib/utils/isomorphic/types.js +16 -0
  351. package/lib/utils/isomorphic/urlMatch.js +176 -0
  352. package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
  353. package/lib/utils/linuxUtils.js +78 -0
  354. package/lib/utils/manualPromise.js +109 -0
  355. package/lib/utils/mimeType.js +29 -0
  356. package/lib/utils/multimap.js +75 -0
  357. package/lib/utils/network.js +188 -0
  358. package/lib/utils/processLauncher.js +248 -0
  359. package/lib/utils/profiler.js +53 -0
  360. package/lib/utils/rtti.js +44 -0
  361. package/lib/utils/semaphore.js +51 -0
  362. package/lib/utils/spawnAsync.js +45 -0
  363. package/lib/utils/stackTrace.js +121 -0
  364. package/lib/utils/task.js +58 -0
  365. package/lib/utils/time.js +37 -0
  366. package/lib/utils/timeoutRunner.js +66 -0
  367. package/lib/utils/traceUtils.js +44 -0
  368. package/lib/utils/userAgent.js +105 -0
  369. package/lib/utils/wsServer.js +127 -0
  370. package/lib/utils/zipFile.js +75 -0
  371. package/lib/utils/zones.js +62 -0
  372. package/lib/utils.js +107 -0
  373. package/lib/utilsBundle.js +109 -0
  374. package/lib/utilsBundleImpl/index.js +218 -0
  375. package/lib/utilsBundleImpl/xdg-open +1066 -0
  376. package/lib/vite/htmlReport/index.html +84 -0
  377. package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +1 -0
  378. package/lib/vite/recorder/assets/codeMirrorModule-RJCXzfmE.js +24 -0
  379. package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  380. package/lib/vite/recorder/assets/index-Ri0uHF7I.css +1 -0
  381. package/lib/vite/recorder/assets/index-Y-X2TGJv.js +193 -0
  382. package/lib/vite/recorder/index.html +29 -0
  383. package/lib/vite/recorder/playwright-logo.svg +9 -0
  384. package/lib/vite/traceViewer/assets/codeMirrorModule-Bhnc5o2x.js +24 -0
  385. package/lib/vite/traceViewer/assets/defaultSettingsView-ClwvkA2N.js +265 -0
  386. package/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +9 -0
  387. package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +1 -0
  388. package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  389. package/lib/vite/traceViewer/defaultSettingsView.TQ8_7ybu.css +1 -0
  390. package/lib/vite/traceViewer/index.DFO9NNF5.js +2 -0
  391. package/lib/vite/traceViewer/index.I8N9v4jT.css +1 -0
  392. package/lib/vite/traceViewer/index.html +43 -0
  393. package/lib/vite/traceViewer/playwright-logo.svg +9 -0
  394. package/lib/vite/traceViewer/snapshot.html +21 -0
  395. package/lib/vite/traceViewer/sw.bundle.js +3 -0
  396. package/lib/vite/traceViewer/uiMode.Btcz36p_.css +1 -0
  397. package/lib/vite/traceViewer/uiMode.Shu3QS-1.js +5 -0
  398. package/lib/vite/traceViewer/uiMode.html +17 -0
  399. package/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +32 -0
  400. package/lib/zipBundle.js +34 -0
  401. package/lib/zipBundleImpl.js +5 -0
  402. package/package.json +43 -0
  403. package/types/protocol.d.ts +23130 -0
  404. package/types/structs.d.ts +45 -0
  405. package/types/types.d.ts +22857 -0
@@ -0,0 +1,213 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var networkDispatchers_exports = {};
20
+ __export(networkDispatchers_exports, {
21
+ APIRequestContextDispatcher: () => APIRequestContextDispatcher,
22
+ RequestDispatcher: () => RequestDispatcher,
23
+ ResponseDispatcher: () => ResponseDispatcher,
24
+ RouteDispatcher: () => RouteDispatcher,
25
+ WebSocketDispatcher: () => WebSocketDispatcher
26
+ });
27
+ module.exports = __toCommonJS(networkDispatchers_exports);
28
+ var import_network = require("../network");
29
+ var import_dispatcher = require("./dispatcher");
30
+ var import_frameDispatcher = require("./frameDispatcher");
31
+ var import_pageDispatcher = require("./pageDispatcher");
32
+ var import_tracingDispatcher = require("./tracingDispatcher");
33
+ var import_network2 = require("../network");
34
+ class RequestDispatcher extends import_dispatcher.Dispatcher {
35
+ static from(scope, request) {
36
+ const result = scope.connection.existingDispatcher(request);
37
+ return result || new RequestDispatcher(scope, request);
38
+ }
39
+ static fromNullable(scope, request) {
40
+ return request ? RequestDispatcher.from(scope, request) : void 0;
41
+ }
42
+ constructor(scope, request) {
43
+ const postData = request.postDataBuffer();
44
+ const frame = request.frame();
45
+ const page = request.frame()?._page;
46
+ const pageDispatcher = page ? scope.connection.existingDispatcher(page) : null;
47
+ const frameDispatcher = import_frameDispatcher.FrameDispatcher.fromNullable(scope, frame);
48
+ super(pageDispatcher || frameDispatcher || scope, request, "Request", {
49
+ frame: frameDispatcher,
50
+ serviceWorker: import_pageDispatcher.WorkerDispatcher.fromNullable(scope, request.serviceWorker()),
51
+ url: request.url(),
52
+ resourceType: request.resourceType(),
53
+ method: request.method(),
54
+ postData: postData === null ? void 0 : postData,
55
+ headers: request.headers(),
56
+ isNavigationRequest: request.isNavigationRequest(),
57
+ redirectedFrom: RequestDispatcher.fromNullable(scope, request.redirectedFrom()),
58
+ hasResponse: !!request._existingResponse()
59
+ });
60
+ this._type_Request = true;
61
+ this._browserContextDispatcher = scope;
62
+ this.addObjectListener(import_network2.Request.Events.Response, () => this._dispatchEvent("response", {}));
63
+ }
64
+ async rawRequestHeaders(params, progress) {
65
+ return { headers: await progress.race(this._object.rawRequestHeaders()) };
66
+ }
67
+ async response(params, progress) {
68
+ return { response: ResponseDispatcher.fromNullable(this._browserContextDispatcher, await progress.race(this._object.response())) };
69
+ }
70
+ }
71
+ class ResponseDispatcher extends import_dispatcher.Dispatcher {
72
+ constructor(scope, response) {
73
+ super(scope, response, "Response", {
74
+ // TODO: responses in popups can point to non-reported requests.
75
+ request: scope,
76
+ url: response.url(),
77
+ status: response.status(),
78
+ statusText: response.statusText(),
79
+ headers: response.headers(),
80
+ timing: response.timing(),
81
+ fromServiceWorker: response.fromServiceWorker()
82
+ });
83
+ this._type_Response = true;
84
+ }
85
+ static from(scope, response) {
86
+ const result = scope.connection.existingDispatcher(response);
87
+ const requestDispatcher = RequestDispatcher.from(scope, response.request());
88
+ return result || new ResponseDispatcher(requestDispatcher, response);
89
+ }
90
+ static fromNullable(scope, response) {
91
+ return response ? ResponseDispatcher.from(scope, response) : void 0;
92
+ }
93
+ async body(params, progress) {
94
+ return { binary: await progress.race(this._object.body()) };
95
+ }
96
+ async securityDetails(params, progress) {
97
+ return { value: await progress.race(this._object.securityDetails()) || void 0 };
98
+ }
99
+ async serverAddr(params, progress) {
100
+ return { value: await progress.race(this._object.serverAddr()) || void 0 };
101
+ }
102
+ async rawResponseHeaders(params, progress) {
103
+ return { headers: await progress.race(this._object.rawResponseHeaders()) };
104
+ }
105
+ async sizes(params, progress) {
106
+ return { sizes: await progress.race(this._object.sizes()) };
107
+ }
108
+ }
109
+ class RouteDispatcher extends import_dispatcher.Dispatcher {
110
+ constructor(scope, route) {
111
+ super(scope, route, "Route", {
112
+ // Context route can point to a non-reported request, so we send the request in the initializer.
113
+ request: scope
114
+ });
115
+ this._type_Route = true;
116
+ this._handled = false;
117
+ }
118
+ _checkNotHandled() {
119
+ if (this._handled)
120
+ throw new Error("Route is already handled!");
121
+ this._handled = true;
122
+ }
123
+ async continue(params, progress) {
124
+ this._checkNotHandled();
125
+ await this._object.continue({
126
+ url: params.url,
127
+ method: params.method,
128
+ headers: params.headers,
129
+ postData: params.postData,
130
+ isFallback: params.isFallback
131
+ });
132
+ }
133
+ async fulfill(params, progress) {
134
+ this._checkNotHandled();
135
+ await this._object.fulfill(params);
136
+ }
137
+ async abort(params, progress) {
138
+ this._checkNotHandled();
139
+ await this._object.abort(params.errorCode || "failed");
140
+ }
141
+ async redirectNavigationRequest(params, progress) {
142
+ this._checkNotHandled();
143
+ this._object.redirectNavigationRequest(params.url);
144
+ }
145
+ }
146
+ class WebSocketDispatcher extends import_dispatcher.Dispatcher {
147
+ constructor(scope, webSocket) {
148
+ super(scope, webSocket, "WebSocket", {
149
+ url: webSocket.url()
150
+ });
151
+ this._type_EventTarget = true;
152
+ this._type_WebSocket = true;
153
+ this.addObjectListener(import_network.WebSocket.Events.FrameSent, (event) => this._dispatchEvent("frameSent", event));
154
+ this.addObjectListener(import_network.WebSocket.Events.FrameReceived, (event) => this._dispatchEvent("frameReceived", event));
155
+ this.addObjectListener(import_network.WebSocket.Events.SocketError, (error) => this._dispatchEvent("socketError", { error }));
156
+ this.addObjectListener(import_network.WebSocket.Events.Close, () => this._dispatchEvent("close", {}));
157
+ }
158
+ }
159
+ class APIRequestContextDispatcher extends import_dispatcher.Dispatcher {
160
+ constructor(parentScope, request) {
161
+ const tracing = import_tracingDispatcher.TracingDispatcher.from(parentScope, request.tracing());
162
+ super(parentScope, request, "APIRequestContext", {
163
+ tracing
164
+ });
165
+ this._type_APIRequestContext = true;
166
+ this.adopt(tracing);
167
+ }
168
+ static from(scope, request) {
169
+ const result = scope.connection.existingDispatcher(request);
170
+ return result || new APIRequestContextDispatcher(scope, request);
171
+ }
172
+ static fromNullable(scope, request) {
173
+ return request ? APIRequestContextDispatcher.from(scope, request) : void 0;
174
+ }
175
+ async storageState(params, progress) {
176
+ return await this._object.storageState(progress, params.indexedDB);
177
+ }
178
+ async dispose(params, progress) {
179
+ progress.metadata.potentiallyClosesScope = true;
180
+ await this._object.dispose(params);
181
+ this._dispose();
182
+ }
183
+ async fetch(params, progress) {
184
+ const fetchResponse = await this._object.fetch(progress, params);
185
+ return {
186
+ response: {
187
+ url: fetchResponse.url,
188
+ status: fetchResponse.status,
189
+ statusText: fetchResponse.statusText,
190
+ headers: fetchResponse.headers,
191
+ fetchUid: fetchResponse.fetchUid
192
+ }
193
+ };
194
+ }
195
+ async fetchResponseBody(params, progress) {
196
+ return { binary: this._object.fetchResponses.get(params.fetchUid) };
197
+ }
198
+ async fetchLog(params, progress) {
199
+ const log = this._object.fetchLog.get(params.fetchUid) || [];
200
+ return { log };
201
+ }
202
+ async disposeAPIResponse(params, progress) {
203
+ this._object.disposeResponse(params.fetchUid);
204
+ }
205
+ }
206
+ // Annotate the CommonJS export names for ESM import in node:
207
+ 0 && (module.exports = {
208
+ APIRequestContextDispatcher,
209
+ RequestDispatcher,
210
+ ResponseDispatcher,
211
+ RouteDispatcher,
212
+ WebSocketDispatcher
213
+ });
@@ -0,0 +1,401 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var pageDispatcher_exports = {};
20
+ __export(pageDispatcher_exports, {
21
+ BindingCallDispatcher: () => BindingCallDispatcher,
22
+ PageDispatcher: () => PageDispatcher,
23
+ WorkerDispatcher: () => WorkerDispatcher
24
+ });
25
+ module.exports = __toCommonJS(pageDispatcher_exports);
26
+ var import_page = require("../page");
27
+ var import_dispatcher = require("./dispatcher");
28
+ var import_errors = require("../errors");
29
+ var import_artifactDispatcher = require("./artifactDispatcher");
30
+ var import_elementHandlerDispatcher = require("./elementHandlerDispatcher");
31
+ var import_frameDispatcher = require("./frameDispatcher");
32
+ var import_jsHandleDispatcher = require("./jsHandleDispatcher");
33
+ var import_networkDispatchers = require("./networkDispatchers");
34
+ var import_networkDispatchers2 = require("./networkDispatchers");
35
+ var import_networkDispatchers3 = require("./networkDispatchers");
36
+ var import_webSocketRouteDispatcher = require("./webSocketRouteDispatcher");
37
+ var import_instrumentation = require("../instrumentation");
38
+ var import_urlMatch = require("../../utils/isomorphic/urlMatch");
39
+ class PageDispatcher extends import_dispatcher.Dispatcher {
40
+ constructor(parentScope, page) {
41
+ const mainFrame = import_frameDispatcher.FrameDispatcher.from(parentScope, page.mainFrame());
42
+ super(parentScope, page, "Page", {
43
+ mainFrame,
44
+ viewportSize: page.emulatedSize()?.viewport,
45
+ isClosed: page.isClosed(),
46
+ opener: PageDispatcher.fromNullable(parentScope, page.opener())
47
+ });
48
+ this._type_EventTarget = true;
49
+ this._type_Page = true;
50
+ this._subscriptions = /* @__PURE__ */ new Set();
51
+ this._webSocketInterceptionPatterns = [];
52
+ this._bindings = [];
53
+ this._initScripts = [];
54
+ this._interceptionUrlMatchers = [];
55
+ this._locatorHandlers = /* @__PURE__ */ new Set();
56
+ this._jsCoverageActive = false;
57
+ this._cssCoverageActive = false;
58
+ this.adopt(mainFrame);
59
+ this._page = page;
60
+ this._requestInterceptor = (route, request) => {
61
+ const matchesSome = this._interceptionUrlMatchers.some((urlMatch) => (0, import_urlMatch.urlMatches)(this._page.browserContext._options.baseURL, request.url(), urlMatch));
62
+ if (!matchesSome) {
63
+ route.continue({ isFallback: true }).catch(() => {
64
+ });
65
+ return;
66
+ }
67
+ this._dispatchEvent("route", { route: new import_networkDispatchers3.RouteDispatcher(import_networkDispatchers.RequestDispatcher.from(this.parentScope(), request), route) });
68
+ };
69
+ this.addObjectListener(import_page.Page.Events.Close, () => {
70
+ this._dispatchEvent("close");
71
+ this._dispose();
72
+ });
73
+ this.addObjectListener(import_page.Page.Events.Crash, () => this._dispatchEvent("crash"));
74
+ this.addObjectListener(import_page.Page.Events.Download, (download) => {
75
+ this._dispatchEvent("download", { url: download.url, suggestedFilename: download.suggestedFilename(), artifact: import_artifactDispatcher.ArtifactDispatcher.from(parentScope, download.artifact) });
76
+ });
77
+ this.addObjectListener(import_page.Page.Events.EmulatedSizeChanged, () => this._dispatchEvent("viewportSizeChanged", { viewportSize: page.emulatedSize()?.viewport }));
78
+ this.addObjectListener(import_page.Page.Events.FileChooser, (fileChooser) => this._dispatchEvent("fileChooser", {
79
+ element: import_elementHandlerDispatcher.ElementHandleDispatcher.from(mainFrame, fileChooser.element()),
80
+ isMultiple: fileChooser.isMultiple()
81
+ }));
82
+ this.addObjectListener(import_page.Page.Events.FrameAttached, (frame) => this._onFrameAttached(frame));
83
+ this.addObjectListener(import_page.Page.Events.FrameDetached, (frame) => this._onFrameDetached(frame));
84
+ this.addObjectListener(import_page.Page.Events.LocatorHandlerTriggered, (uid) => this._dispatchEvent("locatorHandlerTriggered", { uid }));
85
+ this.addObjectListener(import_page.Page.Events.WebSocket, (webSocket) => this._dispatchEvent("webSocket", { webSocket: new import_networkDispatchers3.WebSocketDispatcher(this, webSocket) }));
86
+ this.addObjectListener(import_page.Page.Events.Worker, (worker) => this._dispatchEvent("worker", { worker: new WorkerDispatcher(this, worker) }));
87
+ this.addObjectListener(import_page.Page.Events.Video, (artifact) => this._dispatchEvent("video", { artifact: import_artifactDispatcher.ArtifactDispatcher.from(parentScope, artifact) }));
88
+ if (page.video)
89
+ this._dispatchEvent("video", { artifact: import_artifactDispatcher.ArtifactDispatcher.from(this.parentScope(), page.video) });
90
+ const frames = page.frameManager.frames();
91
+ for (let i = 1; i < frames.length; i++)
92
+ this._onFrameAttached(frames[i]);
93
+ }
94
+ static from(parentScope, page) {
95
+ return PageDispatcher.fromNullable(parentScope, page);
96
+ }
97
+ static fromNullable(parentScope, page) {
98
+ if (!page)
99
+ return void 0;
100
+ const result = parentScope.connection.existingDispatcher(page);
101
+ return result || new PageDispatcher(parentScope, page);
102
+ }
103
+ page() {
104
+ return this._page;
105
+ }
106
+ serializeConsoleMessage(message) {
107
+ return {
108
+ type: message.type(),
109
+ text: message.text(),
110
+ args: message.args().map((a) => {
111
+ const elementHandle = a.asElement();
112
+ if (elementHandle)
113
+ return import_elementHandlerDispatcher.ElementHandleDispatcher.from(import_frameDispatcher.FrameDispatcher.from(this.parentScope(), elementHandle._frame), elementHandle);
114
+ return import_jsHandleDispatcher.JSHandleDispatcher.fromJSHandle(this, a);
115
+ }),
116
+ location: message.location()
117
+ };
118
+ }
119
+ async exposeBinding(params, progress) {
120
+ const binding = await this._page.exposeBinding(progress, params.name, !!params.needsHandle, (source, ...args) => {
121
+ if (this._disposed)
122
+ return;
123
+ const binding2 = new BindingCallDispatcher(this, params.name, !!params.needsHandle, source, args);
124
+ this._dispatchEvent("bindingCall", { binding: binding2 });
125
+ return binding2.promise();
126
+ });
127
+ this._bindings.push(binding);
128
+ }
129
+ async setExtraHTTPHeaders(params, progress) {
130
+ await this._page.setExtraHTTPHeaders(progress, params.headers);
131
+ }
132
+ async reload(params, progress) {
133
+ return { response: import_networkDispatchers2.ResponseDispatcher.fromNullable(this.parentScope(), await this._page.reload(progress, params)) };
134
+ }
135
+ async goBack(params, progress) {
136
+ return { response: import_networkDispatchers2.ResponseDispatcher.fromNullable(this.parentScope(), await this._page.goBack(progress, params)) };
137
+ }
138
+ async goForward(params, progress) {
139
+ return { response: import_networkDispatchers2.ResponseDispatcher.fromNullable(this.parentScope(), await this._page.goForward(progress, params)) };
140
+ }
141
+ async requestGC(params, progress) {
142
+ await progress.race(this._page.requestGC());
143
+ }
144
+ async registerLocatorHandler(params, progress) {
145
+ const uid = this._page.registerLocatorHandler(params.selector, params.noWaitAfter);
146
+ this._locatorHandlers.add(uid);
147
+ return { uid };
148
+ }
149
+ async resolveLocatorHandlerNoReply(params, progress) {
150
+ this._page.resolveLocatorHandler(params.uid, params.remove);
151
+ }
152
+ async unregisterLocatorHandler(params, progress) {
153
+ this._page.unregisterLocatorHandler(params.uid);
154
+ this._locatorHandlers.delete(params.uid);
155
+ }
156
+ async emulateMedia(params, progress) {
157
+ await this._page.emulateMedia(progress, {
158
+ media: params.media,
159
+ colorScheme: params.colorScheme,
160
+ reducedMotion: params.reducedMotion,
161
+ forcedColors: params.forcedColors,
162
+ contrast: params.contrast
163
+ });
164
+ }
165
+ async setViewportSize(params, progress) {
166
+ await this._page.setViewportSize(progress, params.viewportSize);
167
+ }
168
+ async addInitScript(params, progress) {
169
+ this._initScripts.push(await this._page.addInitScript(progress, params.source));
170
+ }
171
+ async setNetworkInterceptionPatterns(params, progress) {
172
+ const hadMatchers = this._interceptionUrlMatchers.length > 0;
173
+ if (!params.patterns.length) {
174
+ if (hadMatchers)
175
+ await this._page.removeRequestInterceptor(this._requestInterceptor);
176
+ this._interceptionUrlMatchers = [];
177
+ } else {
178
+ this._interceptionUrlMatchers = params.patterns.map((pattern) => pattern.regexSource ? new RegExp(pattern.regexSource, pattern.regexFlags) : pattern.glob);
179
+ if (!hadMatchers)
180
+ await this._page.addRequestInterceptor(progress, this._requestInterceptor);
181
+ }
182
+ }
183
+ async setWebSocketInterceptionPatterns(params, progress) {
184
+ this._webSocketInterceptionPatterns = params.patterns;
185
+ if (params.patterns.length && !this._routeWebSocketInitScript)
186
+ this._routeWebSocketInitScript = await import_webSocketRouteDispatcher.WebSocketRouteDispatcher.install(progress, this.connection, this._page);
187
+ }
188
+ async expectScreenshot(params, progress) {
189
+ const mask = (params.mask || []).map(({ frame, selector }) => ({
190
+ frame: frame._object,
191
+ selector
192
+ }));
193
+ const locator = params.locator ? {
194
+ frame: params.locator.frame._object,
195
+ selector: params.locator.selector
196
+ } : void 0;
197
+ return await this._page.expectScreenshot(progress, {
198
+ ...params,
199
+ locator,
200
+ mask
201
+ });
202
+ }
203
+ async screenshot(params, progress) {
204
+ const mask = (params.mask || []).map(({ frame, selector }) => ({
205
+ frame: frame._object,
206
+ selector
207
+ }));
208
+ return { binary: await this._page.screenshot(progress, { ...params, mask }) };
209
+ }
210
+ async close(params, progress) {
211
+ if (!params.runBeforeUnload)
212
+ progress.metadata.potentiallyClosesScope = true;
213
+ await this._page.close(params);
214
+ }
215
+ async updateSubscription(params, progress) {
216
+ if (params.event === "fileChooser")
217
+ await this._page.setFileChooserInterceptedBy(params.enabled, this);
218
+ if (params.enabled)
219
+ this._subscriptions.add(params.event);
220
+ else
221
+ this._subscriptions.delete(params.event);
222
+ }
223
+ async keyboardDown(params, progress) {
224
+ await this._page.keyboard.down(progress, params.key);
225
+ }
226
+ async keyboardUp(params, progress) {
227
+ await this._page.keyboard.up(progress, params.key);
228
+ }
229
+ async keyboardInsertText(params, progress) {
230
+ await this._page.keyboard.insertText(progress, params.text);
231
+ }
232
+ async keyboardType(params, progress) {
233
+ await this._page.keyboard.type(progress, params.text, params);
234
+ }
235
+ async keyboardPress(params, progress) {
236
+ await this._page.keyboard.press(progress, params.key, params);
237
+ }
238
+ async consoleMessages(params, progress) {
239
+ this._subscriptions.add("console");
240
+ return { messages: this._page.consoleMessages().map((message) => this.serializeConsoleMessage(message)) };
241
+ }
242
+ async pageErrors(params, progress) {
243
+ return { errors: this._page.pageErrors().map((error) => (0, import_errors.serializeError)(error)) };
244
+ }
245
+ async mouseMove(params, progress) {
246
+ progress.metadata.point = { x: params.x, y: params.y };
247
+ await this._page.mouse.move(progress, params.x, params.y, params);
248
+ }
249
+ async mouseDown(params, progress) {
250
+ progress.metadata.point = this._page.mouse.currentPoint();
251
+ await this._page.mouse.down(progress, params);
252
+ }
253
+ async mouseUp(params, progress) {
254
+ progress.metadata.point = this._page.mouse.currentPoint();
255
+ await this._page.mouse.up(progress, params);
256
+ }
257
+ async mouseClick(params, progress) {
258
+ progress.metadata.point = { x: params.x, y: params.y };
259
+ await this._page.mouse.click(progress, params.x, params.y, params);
260
+ }
261
+ async mouseWheel(params, progress) {
262
+ await this._page.mouse.wheel(progress, params.deltaX, params.deltaY);
263
+ }
264
+ async touchscreenTap(params, progress) {
265
+ progress.metadata.point = { x: params.x, y: params.y };
266
+ await this._page.touchscreen.tap(progress, params.x, params.y);
267
+ }
268
+ async accessibilitySnapshot(params, progress) {
269
+ const rootAXNode = await progress.race(this._page.accessibility.snapshot({
270
+ interestingOnly: params.interestingOnly,
271
+ root: params.root ? params.root._elementHandle : void 0
272
+ }));
273
+ return { rootAXNode: rootAXNode || void 0 };
274
+ }
275
+ async pdf(params, progress) {
276
+ if (!this._page.pdf)
277
+ throw new Error("PDF generation is only supported for Headless Chromium");
278
+ const buffer = await progress.race(this._page.pdf(params));
279
+ return { pdf: buffer };
280
+ }
281
+ async requests(params, progress) {
282
+ this._subscriptions.add("request");
283
+ return { requests: this._page.networkRequests().map((request) => import_networkDispatchers.RequestDispatcher.from(this.parentScope(), request)) };
284
+ }
285
+ async snapshotForAI(params, progress) {
286
+ return { snapshot: await this._page.snapshotForAI(progress) };
287
+ }
288
+ async bringToFront(params, progress) {
289
+ await progress.race(this._page.bringToFront());
290
+ }
291
+ async startJSCoverage(params, progress) {
292
+ const coverage = this._page.coverage;
293
+ await coverage.startJSCoverage(progress, params);
294
+ this._jsCoverageActive = true;
295
+ }
296
+ async stopJSCoverage(params, progress) {
297
+ this._jsCoverageActive = false;
298
+ const coverage = this._page.coverage;
299
+ return await coverage.stopJSCoverage();
300
+ }
301
+ async startCSSCoverage(params, progress) {
302
+ const coverage = this._page.coverage;
303
+ await coverage.startCSSCoverage(progress, params);
304
+ this._cssCoverageActive = true;
305
+ }
306
+ async stopCSSCoverage(params, progress) {
307
+ this._cssCoverageActive = false;
308
+ const coverage = this._page.coverage;
309
+ return await coverage.stopCSSCoverage();
310
+ }
311
+ _onFrameAttached(frame) {
312
+ this._dispatchEvent("frameAttached", { frame: import_frameDispatcher.FrameDispatcher.from(this.parentScope(), frame) });
313
+ }
314
+ _onFrameDetached(frame) {
315
+ this._dispatchEvent("frameDetached", { frame: import_frameDispatcher.FrameDispatcher.from(this.parentScope(), frame) });
316
+ }
317
+ _onDispose() {
318
+ if (this._page.isClosedOrClosingOrCrashed())
319
+ return;
320
+ this._interceptionUrlMatchers = [];
321
+ this._page.removeRequestInterceptor(this._requestInterceptor).catch(() => {
322
+ });
323
+ this._page.removeExposedBindings(this._bindings).catch(() => {
324
+ });
325
+ this._bindings = [];
326
+ this._page.removeInitScripts(this._initScripts).catch(() => {
327
+ });
328
+ this._initScripts = [];
329
+ if (this._routeWebSocketInitScript)
330
+ import_webSocketRouteDispatcher.WebSocketRouteDispatcher.uninstall(this.connection, this._page, this._routeWebSocketInitScript).catch(() => {
331
+ });
332
+ this._routeWebSocketInitScript = void 0;
333
+ for (const uid of this._locatorHandlers)
334
+ this._page.unregisterLocatorHandler(uid);
335
+ this._locatorHandlers.clear();
336
+ this._page.setFileChooserInterceptedBy(false, this).catch(() => {
337
+ });
338
+ if (this._jsCoverageActive)
339
+ this._page.coverage.stopJSCoverage().catch(() => {
340
+ });
341
+ this._jsCoverageActive = false;
342
+ if (this._cssCoverageActive)
343
+ this._page.coverage.stopCSSCoverage().catch(() => {
344
+ });
345
+ this._cssCoverageActive = false;
346
+ }
347
+ }
348
+ class WorkerDispatcher extends import_dispatcher.Dispatcher {
349
+ constructor(scope, worker) {
350
+ super(scope, worker, "Worker", {
351
+ url: worker.url
352
+ });
353
+ this._type_Worker = true;
354
+ this.addObjectListener(import_page.Worker.Events.Close, () => this._dispatchEvent("close"));
355
+ }
356
+ static fromNullable(scope, worker) {
357
+ if (!worker)
358
+ return void 0;
359
+ const result = scope.connection.existingDispatcher(worker);
360
+ return result || new WorkerDispatcher(scope, worker);
361
+ }
362
+ async evaluateExpression(params, progress) {
363
+ return { value: (0, import_jsHandleDispatcher.serializeResult)(await progress.race(this._object.evaluateExpression(params.expression, params.isFunction, (0, import_jsHandleDispatcher.parseArgument)(params.arg)))) };
364
+ }
365
+ async evaluateExpressionHandle(params, progress) {
366
+ return { handle: import_jsHandleDispatcher.JSHandleDispatcher.fromJSHandle(this, await progress.race(this._object.evaluateExpressionHandle(params.expression, params.isFunction, (0, import_jsHandleDispatcher.parseArgument)(params.arg)))) };
367
+ }
368
+ }
369
+ class BindingCallDispatcher extends import_dispatcher.Dispatcher {
370
+ constructor(scope, name, needsHandle, source, args) {
371
+ const frameDispatcher = import_frameDispatcher.FrameDispatcher.from(scope.parentScope(), source.frame);
372
+ super(scope, new import_instrumentation.SdkObject(scope._object, "bindingCall"), "BindingCall", {
373
+ frame: frameDispatcher,
374
+ name,
375
+ args: needsHandle ? void 0 : args.map(import_jsHandleDispatcher.serializeResult),
376
+ handle: needsHandle ? import_elementHandlerDispatcher.ElementHandleDispatcher.fromJSOrElementHandle(frameDispatcher, args[0]) : void 0
377
+ });
378
+ this._type_BindingCall = true;
379
+ this._promise = new Promise((resolve, reject) => {
380
+ this._resolve = resolve;
381
+ this._reject = reject;
382
+ });
383
+ }
384
+ promise() {
385
+ return this._promise;
386
+ }
387
+ async resolve(params, progress) {
388
+ this._resolve((0, import_jsHandleDispatcher.parseArgument)(params.result));
389
+ this._dispose();
390
+ }
391
+ async reject(params, progress) {
392
+ this._reject((0, import_errors.parseError)(params.error));
393
+ this._dispose();
394
+ }
395
+ }
396
+ // Annotate the CommonJS export names for ESM import in node:
397
+ 0 && (module.exports = {
398
+ BindingCallDispatcher,
399
+ PageDispatcher,
400
+ WorkerDispatcher
401
+ });