@pedropaulovc/playwright-core 1.59.0-next

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 (366) hide show
  1. package/README.md +3 -0
  2. package/ThirdPartyNotices.txt +4076 -0
  3. package/bin/install_media_pack.ps1 +5 -0
  4. package/bin/install_webkit_wsl.ps1 +33 -0
  5. package/bin/reinstall_chrome_beta_linux.sh +42 -0
  6. package/bin/reinstall_chrome_beta_mac.sh +13 -0
  7. package/bin/reinstall_chrome_beta_win.ps1 +24 -0
  8. package/bin/reinstall_chrome_stable_linux.sh +42 -0
  9. package/bin/reinstall_chrome_stable_mac.sh +12 -0
  10. package/bin/reinstall_chrome_stable_win.ps1 +24 -0
  11. package/bin/reinstall_msedge_beta_linux.sh +48 -0
  12. package/bin/reinstall_msedge_beta_mac.sh +11 -0
  13. package/bin/reinstall_msedge_beta_win.ps1 +23 -0
  14. package/bin/reinstall_msedge_dev_linux.sh +48 -0
  15. package/bin/reinstall_msedge_dev_mac.sh +11 -0
  16. package/bin/reinstall_msedge_dev_win.ps1 +23 -0
  17. package/bin/reinstall_msedge_stable_linux.sh +48 -0
  18. package/bin/reinstall_msedge_stable_mac.sh +11 -0
  19. package/bin/reinstall_msedge_stable_win.ps1 +24 -0
  20. package/browsers.json +79 -0
  21. package/cli.js +18 -0
  22. package/index.d.ts +17 -0
  23. package/index.js +32 -0
  24. package/index.mjs +28 -0
  25. package/lib/androidServerImpl.js +65 -0
  26. package/lib/browserServerImpl.js +120 -0
  27. package/lib/cli/driver.js +97 -0
  28. package/lib/cli/program.js +603 -0
  29. package/lib/cli/programWithTestStub.js +74 -0
  30. package/lib/client/android.js +361 -0
  31. package/lib/client/api.js +137 -0
  32. package/lib/client/artifact.js +79 -0
  33. package/lib/client/browser.js +161 -0
  34. package/lib/client/browserContext.js +582 -0
  35. package/lib/client/browserType.js +185 -0
  36. package/lib/client/cdpSession.js +51 -0
  37. package/lib/client/channelOwner.js +194 -0
  38. package/lib/client/clientHelper.js +64 -0
  39. package/lib/client/clientInstrumentation.js +55 -0
  40. package/lib/client/clientStackTrace.js +69 -0
  41. package/lib/client/clock.js +68 -0
  42. package/lib/client/connection.js +318 -0
  43. package/lib/client/consoleMessage.js +58 -0
  44. package/lib/client/coverage.js +44 -0
  45. package/lib/client/dialog.js +56 -0
  46. package/lib/client/download.js +62 -0
  47. package/lib/client/electron.js +138 -0
  48. package/lib/client/elementHandle.js +284 -0
  49. package/lib/client/errors.js +77 -0
  50. package/lib/client/eventEmitter.js +314 -0
  51. package/lib/client/events.js +103 -0
  52. package/lib/client/fetch.js +368 -0
  53. package/lib/client/fileChooser.js +46 -0
  54. package/lib/client/fileUtils.js +34 -0
  55. package/lib/client/frame.js +409 -0
  56. package/lib/client/harRouter.js +87 -0
  57. package/lib/client/input.js +84 -0
  58. package/lib/client/jsHandle.js +109 -0
  59. package/lib/client/jsonPipe.js +39 -0
  60. package/lib/client/localUtils.js +60 -0
  61. package/lib/client/locator.js +369 -0
  62. package/lib/client/network.js +747 -0
  63. package/lib/client/page.js +745 -0
  64. package/lib/client/pageAgent.js +64 -0
  65. package/lib/client/platform.js +77 -0
  66. package/lib/client/playwright.js +71 -0
  67. package/lib/client/selectors.js +55 -0
  68. package/lib/client/stream.js +39 -0
  69. package/lib/client/timeoutSettings.js +79 -0
  70. package/lib/client/tracing.js +119 -0
  71. package/lib/client/types.js +28 -0
  72. package/lib/client/video.js +59 -0
  73. package/lib/client/waiter.js +142 -0
  74. package/lib/client/webError.js +39 -0
  75. package/lib/client/webSocket.js +93 -0
  76. package/lib/client/worker.js +85 -0
  77. package/lib/client/writableStream.js +39 -0
  78. package/lib/generated/bindingsControllerSource.js +28 -0
  79. package/lib/generated/clockSource.js +28 -0
  80. package/lib/generated/injectedScriptSource.js +28 -0
  81. package/lib/generated/pollingRecorderSource.js +28 -0
  82. package/lib/generated/storageScriptSource.js +28 -0
  83. package/lib/generated/utilityScriptSource.js +28 -0
  84. package/lib/generated/webSocketMockSource.js +336 -0
  85. package/lib/inProcessFactory.js +60 -0
  86. package/lib/inprocess.js +3 -0
  87. package/lib/mcpBundle.js +84 -0
  88. package/lib/mcpBundleImpl/index.js +147 -0
  89. package/lib/outofprocess.js +76 -0
  90. package/lib/protocol/serializers.js +197 -0
  91. package/lib/protocol/validator.js +2969 -0
  92. package/lib/protocol/validatorPrimitives.js +193 -0
  93. package/lib/remote/playwrightConnection.js +129 -0
  94. package/lib/remote/playwrightServer.js +334 -0
  95. package/lib/server/agent/actionRunner.js +335 -0
  96. package/lib/server/agent/actions.js +128 -0
  97. package/lib/server/agent/codegen.js +111 -0
  98. package/lib/server/agent/context.js +150 -0
  99. package/lib/server/agent/expectTools.js +156 -0
  100. package/lib/server/agent/pageAgent.js +204 -0
  101. package/lib/server/agent/performTools.js +262 -0
  102. package/lib/server/agent/tool.js +109 -0
  103. package/lib/server/android/android.js +465 -0
  104. package/lib/server/android/backendAdb.js +177 -0
  105. package/lib/server/artifact.js +127 -0
  106. package/lib/server/bidi/bidiBrowser.js +549 -0
  107. package/lib/server/bidi/bidiChromium.js +148 -0
  108. package/lib/server/bidi/bidiConnection.js +213 -0
  109. package/lib/server/bidi/bidiDeserializer.js +116 -0
  110. package/lib/server/bidi/bidiExecutionContext.js +267 -0
  111. package/lib/server/bidi/bidiFirefox.js +128 -0
  112. package/lib/server/bidi/bidiInput.js +146 -0
  113. package/lib/server/bidi/bidiNetworkManager.js +383 -0
  114. package/lib/server/bidi/bidiOverCdp.js +102 -0
  115. package/lib/server/bidi/bidiPage.js +583 -0
  116. package/lib/server/bidi/bidiPdf.js +106 -0
  117. package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  118. package/lib/server/bidi/third_party/bidiKeyboard.js +256 -0
  119. package/lib/server/bidi/third_party/bidiProtocol.js +24 -0
  120. package/lib/server/bidi/third_party/bidiProtocolCore.js +180 -0
  121. package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
  122. package/lib/server/bidi/third_party/bidiSerializer.js +148 -0
  123. package/lib/server/bidi/third_party/firefoxPrefs.js +259 -0
  124. package/lib/server/browser.js +149 -0
  125. package/lib/server/browserContext.js +702 -0
  126. package/lib/server/browserType.js +336 -0
  127. package/lib/server/callLog.js +82 -0
  128. package/lib/server/chromium/appIcon.png +0 -0
  129. package/lib/server/chromium/chromium.js +395 -0
  130. package/lib/server/chromium/chromiumSwitches.js +104 -0
  131. package/lib/server/chromium/crBrowser.js +511 -0
  132. package/lib/server/chromium/crConnection.js +197 -0
  133. package/lib/server/chromium/crCoverage.js +235 -0
  134. package/lib/server/chromium/crDevTools.js +111 -0
  135. package/lib/server/chromium/crDragDrop.js +131 -0
  136. package/lib/server/chromium/crExecutionContext.js +146 -0
  137. package/lib/server/chromium/crInput.js +187 -0
  138. package/lib/server/chromium/crNetworkManager.js +707 -0
  139. package/lib/server/chromium/crPage.js +1001 -0
  140. package/lib/server/chromium/crPdf.js +121 -0
  141. package/lib/server/chromium/crProtocolHelper.js +145 -0
  142. package/lib/server/chromium/crServiceWorker.js +136 -0
  143. package/lib/server/chromium/defaultFontFamilies.js +162 -0
  144. package/lib/server/chromium/protocol.d.js +16 -0
  145. package/lib/server/clock.js +149 -0
  146. package/lib/server/codegen/csharp.js +327 -0
  147. package/lib/server/codegen/java.js +274 -0
  148. package/lib/server/codegen/javascript.js +247 -0
  149. package/lib/server/codegen/jsonl.js +52 -0
  150. package/lib/server/codegen/language.js +132 -0
  151. package/lib/server/codegen/languages.js +68 -0
  152. package/lib/server/codegen/python.js +279 -0
  153. package/lib/server/codegen/types.js +16 -0
  154. package/lib/server/console.js +57 -0
  155. package/lib/server/cookieStore.js +206 -0
  156. package/lib/server/debugController.js +191 -0
  157. package/lib/server/debugger.js +119 -0
  158. package/lib/server/deviceDescriptors.js +39 -0
  159. package/lib/server/deviceDescriptorsSource.json +1779 -0
  160. package/lib/server/dialog.js +116 -0
  161. package/lib/server/dispatchers/androidDispatcher.js +325 -0
  162. package/lib/server/dispatchers/artifactDispatcher.js +118 -0
  163. package/lib/server/dispatchers/browserContextDispatcher.js +384 -0
  164. package/lib/server/dispatchers/browserDispatcher.js +118 -0
  165. package/lib/server/dispatchers/browserTypeDispatcher.js +64 -0
  166. package/lib/server/dispatchers/cdpSessionDispatcher.js +44 -0
  167. package/lib/server/dispatchers/debugControllerDispatcher.js +78 -0
  168. package/lib/server/dispatchers/dialogDispatcher.js +47 -0
  169. package/lib/server/dispatchers/dispatcher.js +364 -0
  170. package/lib/server/dispatchers/electronDispatcher.js +89 -0
  171. package/lib/server/dispatchers/elementHandlerDispatcher.js +181 -0
  172. package/lib/server/dispatchers/frameDispatcher.js +227 -0
  173. package/lib/server/dispatchers/jsHandleDispatcher.js +85 -0
  174. package/lib/server/dispatchers/jsonPipeDispatcher.js +58 -0
  175. package/lib/server/dispatchers/localUtilsDispatcher.js +149 -0
  176. package/lib/server/dispatchers/networkDispatchers.js +213 -0
  177. package/lib/server/dispatchers/pageAgentDispatcher.js +96 -0
  178. package/lib/server/dispatchers/pageDispatcher.js +393 -0
  179. package/lib/server/dispatchers/playwrightDispatcher.js +108 -0
  180. package/lib/server/dispatchers/streamDispatcher.js +67 -0
  181. package/lib/server/dispatchers/tracingDispatcher.js +68 -0
  182. package/lib/server/dispatchers/webSocketRouteDispatcher.js +165 -0
  183. package/lib/server/dispatchers/writableStreamDispatcher.js +79 -0
  184. package/lib/server/dom.js +815 -0
  185. package/lib/server/download.js +70 -0
  186. package/lib/server/electron/electron.js +273 -0
  187. package/lib/server/electron/loader.js +29 -0
  188. package/lib/server/errors.js +69 -0
  189. package/lib/server/fetch.js +621 -0
  190. package/lib/server/fileChooser.js +43 -0
  191. package/lib/server/fileUploadUtils.js +84 -0
  192. package/lib/server/firefox/ffBrowser.js +418 -0
  193. package/lib/server/firefox/ffConnection.js +142 -0
  194. package/lib/server/firefox/ffExecutionContext.js +150 -0
  195. package/lib/server/firefox/ffInput.js +159 -0
  196. package/lib/server/firefox/ffNetworkManager.js +256 -0
  197. package/lib/server/firefox/ffPage.js +497 -0
  198. package/lib/server/firefox/firefox.js +114 -0
  199. package/lib/server/firefox/protocol.d.js +16 -0
  200. package/lib/server/formData.js +147 -0
  201. package/lib/server/frameSelectors.js +160 -0
  202. package/lib/server/frames.js +1471 -0
  203. package/lib/server/har/harRecorder.js +147 -0
  204. package/lib/server/har/harTracer.js +607 -0
  205. package/lib/server/harBackend.js +157 -0
  206. package/lib/server/helper.js +96 -0
  207. package/lib/server/index.js +58 -0
  208. package/lib/server/input.js +277 -0
  209. package/lib/server/instrumentation.js +72 -0
  210. package/lib/server/javascript.js +291 -0
  211. package/lib/server/launchApp.js +128 -0
  212. package/lib/server/localUtils.js +214 -0
  213. package/lib/server/macEditingCommands.js +143 -0
  214. package/lib/server/network.js +667 -0
  215. package/lib/server/page.js +830 -0
  216. package/lib/server/pipeTransport.js +89 -0
  217. package/lib/server/playwright.js +69 -0
  218. package/lib/server/progress.js +132 -0
  219. package/lib/server/protocolError.js +52 -0
  220. package/lib/server/recorder/chat.js +161 -0
  221. package/lib/server/recorder/recorderApp.js +366 -0
  222. package/lib/server/recorder/recorderRunner.js +138 -0
  223. package/lib/server/recorder/recorderSignalProcessor.js +83 -0
  224. package/lib/server/recorder/recorderUtils.js +157 -0
  225. package/lib/server/recorder/throttledFile.js +57 -0
  226. package/lib/server/recorder.js +499 -0
  227. package/lib/server/registry/browserFetcher.js +177 -0
  228. package/lib/server/registry/dependencies.js +371 -0
  229. package/lib/server/registry/index.js +1422 -0
  230. package/lib/server/registry/nativeDeps.js +1280 -0
  231. package/lib/server/registry/oopDownloadBrowserMain.js +127 -0
  232. package/lib/server/screencast.js +190 -0
  233. package/lib/server/screenshotter.js +333 -0
  234. package/lib/server/selectors.js +112 -0
  235. package/lib/server/socksClientCertificatesInterceptor.js +383 -0
  236. package/lib/server/socksInterceptor.js +95 -0
  237. package/lib/server/trace/recorder/snapshotter.js +147 -0
  238. package/lib/server/trace/recorder/snapshotterInjected.js +561 -0
  239. package/lib/server/trace/recorder/tracing.js +604 -0
  240. package/lib/server/trace/viewer/traceExporter.js +679 -0
  241. package/lib/server/trace/viewer/traceParser.js +72 -0
  242. package/lib/server/trace/viewer/traceViewer.js +245 -0
  243. package/lib/server/transport.js +181 -0
  244. package/lib/server/types.js +28 -0
  245. package/lib/server/usKeyboardLayout.js +145 -0
  246. package/lib/server/utils/ascii.js +44 -0
  247. package/lib/server/utils/comparators.js +139 -0
  248. package/lib/server/utils/crypto.js +216 -0
  249. package/lib/server/utils/debug.js +42 -0
  250. package/lib/server/utils/debugLogger.js +122 -0
  251. package/lib/server/utils/env.js +73 -0
  252. package/lib/server/utils/eventsHelper.js +39 -0
  253. package/lib/server/utils/expectUtils.js +123 -0
  254. package/lib/server/utils/fileUtils.js +191 -0
  255. package/lib/server/utils/happyEyeballs.js +207 -0
  256. package/lib/server/utils/hostPlatform.js +123 -0
  257. package/lib/server/utils/httpServer.js +203 -0
  258. package/lib/server/utils/imageUtils.js +141 -0
  259. package/lib/server/utils/image_tools/colorUtils.js +89 -0
  260. package/lib/server/utils/image_tools/compare.js +109 -0
  261. package/lib/server/utils/image_tools/imageChannel.js +78 -0
  262. package/lib/server/utils/image_tools/stats.js +102 -0
  263. package/lib/server/utils/linuxUtils.js +71 -0
  264. package/lib/server/utils/network.js +242 -0
  265. package/lib/server/utils/nodePlatform.js +154 -0
  266. package/lib/server/utils/pipeTransport.js +84 -0
  267. package/lib/server/utils/processLauncher.js +241 -0
  268. package/lib/server/utils/profiler.js +65 -0
  269. package/lib/server/utils/socksProxy.js +511 -0
  270. package/lib/server/utils/spawnAsync.js +41 -0
  271. package/lib/server/utils/task.js +51 -0
  272. package/lib/server/utils/userAgent.js +98 -0
  273. package/lib/server/utils/wsServer.js +121 -0
  274. package/lib/server/utils/zipFile.js +74 -0
  275. package/lib/server/utils/zones.js +57 -0
  276. package/lib/server/videoRecorder.js +124 -0
  277. package/lib/server/webkit/protocol.d.js +16 -0
  278. package/lib/server/webkit/webkit.js +108 -0
  279. package/lib/server/webkit/wkBrowser.js +335 -0
  280. package/lib/server/webkit/wkConnection.js +144 -0
  281. package/lib/server/webkit/wkExecutionContext.js +154 -0
  282. package/lib/server/webkit/wkInput.js +181 -0
  283. package/lib/server/webkit/wkInterceptableRequest.js +197 -0
  284. package/lib/server/webkit/wkPage.js +1158 -0
  285. package/lib/server/webkit/wkProvisionalPage.js +83 -0
  286. package/lib/server/webkit/wkWorkers.js +105 -0
  287. package/lib/third_party/pixelmatch.js +255 -0
  288. package/lib/utils/isomorphic/ariaSnapshot.js +455 -0
  289. package/lib/utils/isomorphic/assert.js +31 -0
  290. package/lib/utils/isomorphic/colors.js +72 -0
  291. package/lib/utils/isomorphic/cssParser.js +245 -0
  292. package/lib/utils/isomorphic/cssTokenizer.js +1051 -0
  293. package/lib/utils/isomorphic/headers.js +53 -0
  294. package/lib/utils/isomorphic/locatorGenerators.js +689 -0
  295. package/lib/utils/isomorphic/locatorParser.js +176 -0
  296. package/lib/utils/isomorphic/locatorUtils.js +81 -0
  297. package/lib/utils/isomorphic/lruCache.js +51 -0
  298. package/lib/utils/isomorphic/manualPromise.js +114 -0
  299. package/lib/utils/isomorphic/mimeType.js +459 -0
  300. package/lib/utils/isomorphic/multimap.js +80 -0
  301. package/lib/utils/isomorphic/protocolFormatter.js +81 -0
  302. package/lib/utils/isomorphic/protocolMetainfo.js +330 -0
  303. package/lib/utils/isomorphic/rtti.js +43 -0
  304. package/lib/utils/isomorphic/selectorParser.js +386 -0
  305. package/lib/utils/isomorphic/semaphore.js +54 -0
  306. package/lib/utils/isomorphic/stackTrace.js +158 -0
  307. package/lib/utils/isomorphic/stringUtils.js +204 -0
  308. package/lib/utils/isomorphic/time.js +49 -0
  309. package/lib/utils/isomorphic/timeoutRunner.js +66 -0
  310. package/lib/utils/isomorphic/trace/entries.js +16 -0
  311. package/lib/utils/isomorphic/trace/snapshotRenderer.js +499 -0
  312. package/lib/utils/isomorphic/trace/snapshotServer.js +120 -0
  313. package/lib/utils/isomorphic/trace/snapshotStorage.js +89 -0
  314. package/lib/utils/isomorphic/trace/traceLoader.js +131 -0
  315. package/lib/utils/isomorphic/trace/traceModel.js +365 -0
  316. package/lib/utils/isomorphic/trace/traceModernizer.js +400 -0
  317. package/lib/utils/isomorphic/trace/versions/traceV3.js +16 -0
  318. package/lib/utils/isomorphic/trace/versions/traceV4.js +16 -0
  319. package/lib/utils/isomorphic/trace/versions/traceV5.js +16 -0
  320. package/lib/utils/isomorphic/trace/versions/traceV6.js +16 -0
  321. package/lib/utils/isomorphic/trace/versions/traceV7.js +16 -0
  322. package/lib/utils/isomorphic/trace/versions/traceV8.js +16 -0
  323. package/lib/utils/isomorphic/traceUtils.js +58 -0
  324. package/lib/utils/isomorphic/types.js +16 -0
  325. package/lib/utils/isomorphic/urlMatch.js +190 -0
  326. package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
  327. package/lib/utils/isomorphic/yaml.js +84 -0
  328. package/lib/utils.js +111 -0
  329. package/lib/utilsBundle.js +109 -0
  330. package/lib/utilsBundleImpl/index.js +218 -0
  331. package/lib/utilsBundleImpl/xdg-open +1066 -0
  332. package/lib/vite/htmlReport/index.html +84 -0
  333. package/lib/vite/recorder/assets/codeMirrorModule-DYBRYzYX.css +1 -0
  334. package/lib/vite/recorder/assets/codeMirrorModule-DadYNm1I.js +32 -0
  335. package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
  336. package/lib/vite/recorder/assets/index-BSjZa4pk.css +1 -0
  337. package/lib/vite/recorder/assets/index-BhTWtUlo.js +193 -0
  338. package/lib/vite/recorder/index.html +29 -0
  339. package/lib/vite/recorder/playwright-logo.svg +9 -0
  340. package/lib/vite/traceViewer/assets/codeMirrorModule-DwzBH9eL.js +32 -0
  341. package/lib/vite/traceViewer/assets/codeMirrorModule-a5XoALAZ.js +32 -0
  342. package/lib/vite/traceViewer/assets/defaultSettingsView-CJSZINFr.js +266 -0
  343. package/lib/vite/traceViewer/assets/defaultSettingsView-CdCX8877.js +266 -0
  344. package/lib/vite/traceViewer/assets/xtermModule-CsJ4vdCR.js +9 -0
  345. package/lib/vite/traceViewer/codeMirrorModule.DYBRYzYX.css +1 -0
  346. package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
  347. package/lib/vite/traceViewer/defaultSettingsView.7ch9cixO.css +1 -0
  348. package/lib/vite/traceViewer/index.BVu7tZDe.css +1 -0
  349. package/lib/vite/traceViewer/index.Dd9jebqr.js +2 -0
  350. package/lib/vite/traceViewer/index.f4OcrOqs.js +2 -0
  351. package/lib/vite/traceViewer/index.html +43 -0
  352. package/lib/vite/traceViewer/manifest.webmanifest +16 -0
  353. package/lib/vite/traceViewer/playwright-logo.svg +9 -0
  354. package/lib/vite/traceViewer/snapshot.html +21 -0
  355. package/lib/vite/traceViewer/sw.bundle.js +5 -0
  356. package/lib/vite/traceViewer/uiMode.Btcz36p_.css +1 -0
  357. package/lib/vite/traceViewer/uiMode.CQJ9SCIQ.js +5 -0
  358. package/lib/vite/traceViewer/uiMode.html +17 -0
  359. package/lib/vite/traceViewer/uiMode.qcahlSup.js +5 -0
  360. package/lib/vite/traceViewer/xtermModule.DYP7pi_n.css +32 -0
  361. package/lib/zipBundle.js +34 -0
  362. package/lib/zipBundleImpl.js +5 -0
  363. package/package.json +43 -0
  364. package/types/protocol.d.ts +23824 -0
  365. package/types/structs.d.ts +45 -0
  366. package/types/types.d.ts +22843 -0
@@ -0,0 +1,78 @@
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 debugControllerDispatcher_exports = {};
20
+ __export(debugControllerDispatcher_exports, {
21
+ DebugControllerDispatcher: () => DebugControllerDispatcher
22
+ });
23
+ module.exports = __toCommonJS(debugControllerDispatcher_exports);
24
+ var import_utils = require("../../utils");
25
+ var import_debugController = require("../debugController");
26
+ var import_dispatcher = require("./dispatcher");
27
+ class DebugControllerDispatcher extends import_dispatcher.Dispatcher {
28
+ constructor(connection, debugController) {
29
+ super(connection, debugController, "DebugController", {});
30
+ this._type_DebugController = true;
31
+ this._listeners = [
32
+ import_utils.eventsHelper.addEventListener(this._object, import_debugController.DebugController.Events.StateChanged, (params) => {
33
+ this._dispatchEvent("stateChanged", params);
34
+ }),
35
+ import_utils.eventsHelper.addEventListener(this._object, import_debugController.DebugController.Events.InspectRequested, ({ selector, locator, ariaSnapshot }) => {
36
+ this._dispatchEvent("inspectRequested", { selector, locator, ariaSnapshot });
37
+ }),
38
+ import_utils.eventsHelper.addEventListener(this._object, import_debugController.DebugController.Events.SourceChanged, ({ text, header, footer, actions }) => {
39
+ this._dispatchEvent("sourceChanged", { text, header, footer, actions });
40
+ }),
41
+ import_utils.eventsHelper.addEventListener(this._object, import_debugController.DebugController.Events.Paused, ({ paused }) => {
42
+ this._dispatchEvent("paused", { paused });
43
+ }),
44
+ import_utils.eventsHelper.addEventListener(this._object, import_debugController.DebugController.Events.SetModeRequested, ({ mode }) => {
45
+ this._dispatchEvent("setModeRequested", { mode });
46
+ })
47
+ ];
48
+ }
49
+ async initialize(params, progress) {
50
+ this._object.initialize(params.codegenId, params.sdkLanguage);
51
+ }
52
+ async setReportStateChanged(params, progress) {
53
+ this._object.setReportStateChanged(params.enabled);
54
+ }
55
+ async setRecorderMode(params, progress) {
56
+ await this._object.setRecorderMode(progress, params);
57
+ }
58
+ async highlight(params, progress) {
59
+ await this._object.highlight(progress, params);
60
+ }
61
+ async hideHighlight(params, progress) {
62
+ await this._object.hideHighlight(progress);
63
+ }
64
+ async resume(params, progress) {
65
+ await this._object.resume(progress);
66
+ }
67
+ async kill(params, progress) {
68
+ this._object.kill();
69
+ }
70
+ _onDispose() {
71
+ import_utils.eventsHelper.removeEventListeners(this._listeners);
72
+ this._object.dispose();
73
+ }
74
+ }
75
+ // Annotate the CommonJS export names for ESM import in node:
76
+ 0 && (module.exports = {
77
+ DebugControllerDispatcher
78
+ });
@@ -0,0 +1,47 @@
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 dialogDispatcher_exports = {};
20
+ __export(dialogDispatcher_exports, {
21
+ DialogDispatcher: () => DialogDispatcher
22
+ });
23
+ module.exports = __toCommonJS(dialogDispatcher_exports);
24
+ var import_dispatcher = require("./dispatcher");
25
+ var import_pageDispatcher = require("./pageDispatcher");
26
+ class DialogDispatcher extends import_dispatcher.Dispatcher {
27
+ constructor(scope, dialog) {
28
+ const page = import_pageDispatcher.PageDispatcher.fromNullable(scope, dialog.page().initializedOrUndefined());
29
+ super(page || scope, dialog, "Dialog", {
30
+ page,
31
+ type: dialog.type(),
32
+ message: dialog.message(),
33
+ defaultValue: dialog.defaultValue()
34
+ });
35
+ this._type_Dialog = true;
36
+ }
37
+ async accept(params, progress) {
38
+ await progress.race(this._object.accept(params.promptText));
39
+ }
40
+ async dismiss(params, progress) {
41
+ await progress.race(this._object.dismiss());
42
+ }
43
+ }
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ DialogDispatcher
47
+ });
@@ -0,0 +1,364 @@
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 dispatcher_exports = {};
20
+ __export(dispatcher_exports, {
21
+ Dispatcher: () => Dispatcher,
22
+ DispatcherConnection: () => DispatcherConnection,
23
+ RootDispatcher: () => RootDispatcher,
24
+ setMaxDispatchersForTest: () => setMaxDispatchersForTest
25
+ });
26
+ module.exports = __toCommonJS(dispatcher_exports);
27
+ var import_events = require("events");
28
+ var import_eventsHelper = require("../utils/eventsHelper");
29
+ var import_validator = require("../../protocol/validator");
30
+ var import_utils = require("../../utils");
31
+ var import_debug = require("../utils/debug");
32
+ var import_errors = require("../errors");
33
+ var import_instrumentation = require("../instrumentation");
34
+ var import_protocolError = require("../protocolError");
35
+ var import_callLog = require("../callLog");
36
+ var import_protocolMetainfo = require("../../utils/isomorphic/protocolMetainfo");
37
+ var import_progress = require("../progress");
38
+ const metadataValidator = (0, import_validator.createMetadataValidator)();
39
+ let maxDispatchersOverride;
40
+ function setMaxDispatchersForTest(value) {
41
+ maxDispatchersOverride = value;
42
+ }
43
+ function maxDispatchersForBucket(gcBucket) {
44
+ return maxDispatchersOverride ?? {
45
+ "JSHandle": 1e5,
46
+ "ElementHandle": 1e5
47
+ }[gcBucket] ?? 1e4;
48
+ }
49
+ class Dispatcher extends import_events.EventEmitter {
50
+ constructor(parent, object, type, initializer, gcBucket) {
51
+ super();
52
+ this._dispatchers = /* @__PURE__ */ new Map();
53
+ this._disposed = false;
54
+ this._eventListeners = [];
55
+ this._activeProgressControllers = /* @__PURE__ */ new Set();
56
+ this.connection = parent instanceof DispatcherConnection ? parent : parent.connection;
57
+ this._parent = parent instanceof DispatcherConnection ? void 0 : parent;
58
+ const guid = object.guid;
59
+ this._guid = guid;
60
+ this._type = type;
61
+ this._object = object;
62
+ this._gcBucket = gcBucket ?? type;
63
+ this.connection.registerDispatcher(this);
64
+ if (this._parent) {
65
+ (0, import_utils.assert)(!this._parent._dispatchers.has(guid));
66
+ this._parent._dispatchers.set(guid, this);
67
+ }
68
+ if (this._parent)
69
+ this.connection.sendCreate(this._parent, type, guid, initializer);
70
+ this.connection.maybeDisposeStaleDispatchers(this._gcBucket);
71
+ }
72
+ parentScope() {
73
+ return this._parent;
74
+ }
75
+ addObjectListener(eventName, handler) {
76
+ this._eventListeners.push(import_eventsHelper.eventsHelper.addEventListener(this._object, eventName, handler));
77
+ }
78
+ adopt(child) {
79
+ if (child._parent === this)
80
+ return;
81
+ const oldParent = child._parent;
82
+ oldParent._dispatchers.delete(child._guid);
83
+ this._dispatchers.set(child._guid, child);
84
+ child._parent = this;
85
+ this.connection.sendAdopt(this, child);
86
+ }
87
+ async _runCommand(callMetadata, method, validParams) {
88
+ const controller = import_progress.ProgressController.createForSdkObject(this._object, callMetadata);
89
+ this._activeProgressControllers.add(controller);
90
+ try {
91
+ return await controller.run((progress) => this[method](validParams, progress), validParams?.timeout);
92
+ } finally {
93
+ this._activeProgressControllers.delete(controller);
94
+ }
95
+ }
96
+ _dispatchEvent(method, params) {
97
+ if (this._disposed) {
98
+ if ((0, import_debug.isUnderTest)())
99
+ throw new Error(`${this._guid} is sending "${String(method)}" event after being disposed`);
100
+ return;
101
+ }
102
+ this.connection.sendEvent(this, method, params);
103
+ }
104
+ _dispose(reason) {
105
+ this._disposeRecursively(new import_errors.TargetClosedError(this._object.closeReason()));
106
+ this.connection.sendDispose(this, reason);
107
+ }
108
+ _onDispose() {
109
+ }
110
+ async stopPendingOperations(error) {
111
+ const controllers = [];
112
+ const collect = (dispatcher) => {
113
+ controllers.push(...dispatcher._activeProgressControllers);
114
+ for (const child of [...dispatcher._dispatchers.values()])
115
+ collect(child);
116
+ };
117
+ collect(this);
118
+ await Promise.all(controllers.map((controller) => controller.abort(error)));
119
+ }
120
+ _disposeRecursively(error) {
121
+ (0, import_utils.assert)(!this._disposed, `${this._guid} is disposed more than once`);
122
+ for (const controller of this._activeProgressControllers) {
123
+ if (!controller.metadata.potentiallyClosesScope)
124
+ controller.abort(error).catch(() => {
125
+ });
126
+ }
127
+ this._onDispose();
128
+ this._disposed = true;
129
+ import_eventsHelper.eventsHelper.removeEventListeners(this._eventListeners);
130
+ this._parent?._dispatchers.delete(this._guid);
131
+ const list = this.connection._dispatchersByBucket.get(this._gcBucket);
132
+ list?.delete(this._guid);
133
+ this.connection._dispatcherByGuid.delete(this._guid);
134
+ this.connection._dispatcherByObject.delete(this._object);
135
+ for (const dispatcher of [...this._dispatchers.values()])
136
+ dispatcher._disposeRecursively(error);
137
+ this._dispatchers.clear();
138
+ }
139
+ _debugScopeState() {
140
+ return {
141
+ _guid: this._guid,
142
+ objects: Array.from(this._dispatchers.values()).map((o) => o._debugScopeState())
143
+ };
144
+ }
145
+ async waitForEventInfo() {
146
+ }
147
+ }
148
+ class RootDispatcher extends Dispatcher {
149
+ constructor(connection, createPlaywright) {
150
+ super(connection, (0, import_instrumentation.createRootSdkObject)(), "Root", {});
151
+ this.createPlaywright = createPlaywright;
152
+ this._initialized = false;
153
+ }
154
+ async initialize(params, progress) {
155
+ (0, import_utils.assert)(this.createPlaywright);
156
+ (0, import_utils.assert)(!this._initialized);
157
+ this._initialized = true;
158
+ return {
159
+ playwright: await this.createPlaywright(this, params)
160
+ };
161
+ }
162
+ }
163
+ class DispatcherConnection {
164
+ constructor(isLocal) {
165
+ this._dispatcherByGuid = /* @__PURE__ */ new Map();
166
+ this._dispatcherByObject = /* @__PURE__ */ new Map();
167
+ this._dispatchersByBucket = /* @__PURE__ */ new Map();
168
+ this.onmessage = (message) => {
169
+ };
170
+ this._waitOperations = /* @__PURE__ */ new Map();
171
+ this._isLocal = !!isLocal;
172
+ }
173
+ sendEvent(dispatcher, event, params) {
174
+ const validator = (0, import_validator.findValidator)(dispatcher._type, event, "Event");
175
+ params = validator(params, "", this._validatorToWireContext());
176
+ this.onmessage({ guid: dispatcher._guid, method: event, params });
177
+ }
178
+ sendCreate(parent, type, guid, initializer) {
179
+ const validator = (0, import_validator.findValidator)(type, "", "Initializer");
180
+ initializer = validator(initializer, "", this._validatorToWireContext());
181
+ this.onmessage({ guid: parent._guid, method: "__create__", params: { type, initializer, guid } });
182
+ }
183
+ sendAdopt(parent, dispatcher) {
184
+ this.onmessage({ guid: parent._guid, method: "__adopt__", params: { guid: dispatcher._guid } });
185
+ }
186
+ sendDispose(dispatcher, reason) {
187
+ this.onmessage({ guid: dispatcher._guid, method: "__dispose__", params: { reason } });
188
+ }
189
+ _validatorToWireContext() {
190
+ return {
191
+ tChannelImpl: this._tChannelImplToWire.bind(this),
192
+ binary: this._isLocal ? "buffer" : "toBase64",
193
+ isUnderTest: import_debug.isUnderTest
194
+ };
195
+ }
196
+ _validatorFromWireContext() {
197
+ return {
198
+ tChannelImpl: this._tChannelImplFromWire.bind(this),
199
+ binary: this._isLocal ? "buffer" : "fromBase64",
200
+ isUnderTest: import_debug.isUnderTest
201
+ };
202
+ }
203
+ _tChannelImplFromWire(names, arg, path, context) {
204
+ if (arg && typeof arg === "object" && typeof arg.guid === "string") {
205
+ const guid = arg.guid;
206
+ const dispatcher = this._dispatcherByGuid.get(guid);
207
+ if (!dispatcher)
208
+ throw new import_validator.ValidationError(`${path}: no object with guid ${guid}`);
209
+ if (names !== "*" && !names.includes(dispatcher._type))
210
+ throw new import_validator.ValidationError(`${path}: object with guid ${guid} has type ${dispatcher._type}, expected ${names.toString()}`);
211
+ return dispatcher;
212
+ }
213
+ throw new import_validator.ValidationError(`${path}: expected guid for ${names.toString()}`);
214
+ }
215
+ _tChannelImplToWire(names, arg, path, context) {
216
+ if (arg instanceof Dispatcher) {
217
+ if (names !== "*" && !names.includes(arg._type))
218
+ throw new import_validator.ValidationError(`${path}: dispatcher with guid ${arg._guid} has type ${arg._type}, expected ${names.toString()}`);
219
+ return { guid: arg._guid };
220
+ }
221
+ throw new import_validator.ValidationError(`${path}: expected dispatcher ${names.toString()}`);
222
+ }
223
+ existingDispatcher(object) {
224
+ return this._dispatcherByObject.get(object);
225
+ }
226
+ registerDispatcher(dispatcher) {
227
+ (0, import_utils.assert)(!this._dispatcherByGuid.has(dispatcher._guid));
228
+ this._dispatcherByGuid.set(dispatcher._guid, dispatcher);
229
+ this._dispatcherByObject.set(dispatcher._object, dispatcher);
230
+ let list = this._dispatchersByBucket.get(dispatcher._gcBucket);
231
+ if (!list) {
232
+ list = /* @__PURE__ */ new Set();
233
+ this._dispatchersByBucket.set(dispatcher._gcBucket, list);
234
+ }
235
+ list.add(dispatcher._guid);
236
+ }
237
+ maybeDisposeStaleDispatchers(gcBucket) {
238
+ const maxDispatchers = maxDispatchersForBucket(gcBucket);
239
+ const list = this._dispatchersByBucket.get(gcBucket);
240
+ if (!list || list.size <= maxDispatchers)
241
+ return;
242
+ const dispatchersArray = [...list];
243
+ const disposeCount = maxDispatchers / 10 | 0;
244
+ this._dispatchersByBucket.set(gcBucket, new Set(dispatchersArray.slice(disposeCount)));
245
+ for (let i = 0; i < disposeCount; ++i) {
246
+ const d = this._dispatcherByGuid.get(dispatchersArray[i]);
247
+ if (!d)
248
+ continue;
249
+ d._dispose("gc");
250
+ }
251
+ }
252
+ async dispatch(message) {
253
+ const { id, guid, method, params, metadata } = message;
254
+ const dispatcher = this._dispatcherByGuid.get(guid);
255
+ if (!dispatcher) {
256
+ this.onmessage({ id, error: (0, import_errors.serializeError)(new import_errors.TargetClosedError(void 0)) });
257
+ return;
258
+ }
259
+ let validParams;
260
+ let validMetadata;
261
+ try {
262
+ const validator = (0, import_validator.findValidator)(dispatcher._type, method, "Params");
263
+ const validatorContext = this._validatorFromWireContext();
264
+ validParams = validator(params, "", validatorContext);
265
+ validMetadata = metadataValidator(metadata, "", validatorContext);
266
+ if (typeof dispatcher[method] !== "function")
267
+ throw new Error(`Mismatching dispatcher: "${dispatcher._type}" does not implement "${method}"`);
268
+ } catch (e) {
269
+ this.onmessage({ id, error: (0, import_errors.serializeError)(e) });
270
+ return;
271
+ }
272
+ const metainfo = import_protocolMetainfo.methodMetainfo.get(dispatcher._type + "." + method);
273
+ if (metainfo?.internal) {
274
+ validMetadata.internal = true;
275
+ }
276
+ const sdkObject = dispatcher._object;
277
+ const callMetadata = {
278
+ id: `call@${id}`,
279
+ location: validMetadata.location,
280
+ title: validMetadata.title,
281
+ internal: validMetadata.internal,
282
+ stepId: validMetadata.stepId,
283
+ objectId: sdkObject.guid,
284
+ pageId: sdkObject.attribution?.page?.guid,
285
+ frameId: sdkObject.attribution?.frame?.guid,
286
+ startTime: (0, import_utils.monotonicTime)(),
287
+ endTime: 0,
288
+ type: dispatcher._type,
289
+ method,
290
+ params: params || {},
291
+ log: []
292
+ };
293
+ if (params?.info?.waitId) {
294
+ const info = params.info;
295
+ switch (info.phase) {
296
+ case "before": {
297
+ this._waitOperations.set(info.waitId, callMetadata);
298
+ await sdkObject.instrumentation.onBeforeCall(sdkObject, callMetadata);
299
+ this.onmessage({ id });
300
+ return;
301
+ }
302
+ case "log": {
303
+ const originalMetadata = this._waitOperations.get(info.waitId);
304
+ originalMetadata.log.push(info.message);
305
+ sdkObject.instrumentation.onCallLog(sdkObject, originalMetadata, "api", info.message);
306
+ this.onmessage({ id });
307
+ return;
308
+ }
309
+ case "after": {
310
+ const originalMetadata = this._waitOperations.get(info.waitId);
311
+ originalMetadata.endTime = (0, import_utils.monotonicTime)();
312
+ originalMetadata.error = info.error ? { error: { name: "Error", message: info.error } } : void 0;
313
+ this._waitOperations.delete(info.waitId);
314
+ await sdkObject.instrumentation.onAfterCall(sdkObject, originalMetadata);
315
+ this.onmessage({ id });
316
+ return;
317
+ }
318
+ }
319
+ }
320
+ await sdkObject.instrumentation.onBeforeCall(sdkObject, callMetadata);
321
+ const response = { id };
322
+ try {
323
+ if (this._dispatcherByGuid.get(guid) !== dispatcher)
324
+ throw new import_errors.TargetClosedError(sdkObject.closeReason());
325
+ const result = await dispatcher._runCommand(callMetadata, method, validParams);
326
+ const validator = (0, import_validator.findValidator)(dispatcher._type, method, "Result");
327
+ response.result = validator(result, "", this._validatorToWireContext());
328
+ callMetadata.result = result;
329
+ } catch (e) {
330
+ if ((0, import_errors.isTargetClosedError)(e)) {
331
+ const reason = sdkObject.closeReason();
332
+ if (reason)
333
+ (0, import_utils.rewriteErrorMessage)(e, reason);
334
+ } else if ((0, import_protocolError.isProtocolError)(e)) {
335
+ if (e.type === "closed")
336
+ e = new import_errors.TargetClosedError(sdkObject.closeReason(), e.browserLogMessage());
337
+ else if (e.type === "crashed")
338
+ (0, import_utils.rewriteErrorMessage)(e, "Target crashed " + e.browserLogMessage());
339
+ }
340
+ response.error = (0, import_errors.serializeError)(e);
341
+ callMetadata.error = response.error;
342
+ } finally {
343
+ callMetadata.endTime = (0, import_utils.monotonicTime)();
344
+ await sdkObject.instrumentation.onAfterCall(sdkObject, callMetadata);
345
+ if (metainfo?.slowMo)
346
+ await this._doSlowMo(sdkObject);
347
+ }
348
+ if (response.error)
349
+ response.log = (0, import_callLog.compressCallLog)(callMetadata.log);
350
+ this.onmessage(response);
351
+ }
352
+ async _doSlowMo(sdkObject) {
353
+ const slowMo = sdkObject.attribution.browser?.options.slowMo;
354
+ if (slowMo)
355
+ await new Promise((f) => setTimeout(f, slowMo));
356
+ }
357
+ }
358
+ // Annotate the CommonJS export names for ESM import in node:
359
+ 0 && (module.exports = {
360
+ Dispatcher,
361
+ DispatcherConnection,
362
+ RootDispatcher,
363
+ setMaxDispatchersForTest
364
+ });
@@ -0,0 +1,89 @@
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 electronDispatcher_exports = {};
20
+ __export(electronDispatcher_exports, {
21
+ ElectronApplicationDispatcher: () => ElectronApplicationDispatcher,
22
+ ElectronDispatcher: () => ElectronDispatcher
23
+ });
24
+ module.exports = __toCommonJS(electronDispatcher_exports);
25
+ var import_browserContextDispatcher = require("./browserContextDispatcher");
26
+ var import_dispatcher = require("./dispatcher");
27
+ var import_jsHandleDispatcher = require("./jsHandleDispatcher");
28
+ var import_electron = require("../electron/electron");
29
+ class ElectronDispatcher extends import_dispatcher.Dispatcher {
30
+ constructor(scope, electron, denyLaunch) {
31
+ super(scope, electron, "Electron", {});
32
+ this._type_Electron = true;
33
+ this._denyLaunch = denyLaunch;
34
+ }
35
+ async launch(params, progress) {
36
+ if (this._denyLaunch)
37
+ throw new Error(`Launching more browsers is not allowed.`);
38
+ const electronApplication = await this._object.launch(progress, params);
39
+ return { electronApplication: new ElectronApplicationDispatcher(this, electronApplication) };
40
+ }
41
+ }
42
+ class ElectronApplicationDispatcher extends import_dispatcher.Dispatcher {
43
+ constructor(scope, electronApplication) {
44
+ super(scope, electronApplication, "ElectronApplication", {
45
+ context: import_browserContextDispatcher.BrowserContextDispatcher.from(scope, electronApplication.context())
46
+ });
47
+ this._type_EventTarget = true;
48
+ this._type_ElectronApplication = true;
49
+ this._subscriptions = /* @__PURE__ */ new Set();
50
+ this.addObjectListener(import_electron.ElectronApplication.Events.Close, () => {
51
+ this._dispatchEvent("close");
52
+ this._dispose();
53
+ });
54
+ this.addObjectListener(import_electron.ElectronApplication.Events.Console, (message) => {
55
+ if (!this._subscriptions.has("console"))
56
+ return;
57
+ this._dispatchEvent("console", {
58
+ type: message.type(),
59
+ text: message.text(),
60
+ args: message.args().map((a) => import_jsHandleDispatcher.JSHandleDispatcher.fromJSHandle(this, a)),
61
+ location: message.location()
62
+ });
63
+ });
64
+ }
65
+ async browserWindow(params, progress) {
66
+ const handle = await progress.race(this._object.browserWindow(params.page.page()));
67
+ return { handle: import_jsHandleDispatcher.JSHandleDispatcher.fromJSHandle(this, handle) };
68
+ }
69
+ async evaluateExpression(params, progress) {
70
+ const handle = await progress.race(this._object._nodeElectronHandlePromise);
71
+ return { value: (0, import_jsHandleDispatcher.serializeResult)(await progress.race(handle.evaluateExpression(params.expression, { isFunction: params.isFunction }, (0, import_jsHandleDispatcher.parseArgument)(params.arg)))) };
72
+ }
73
+ async evaluateExpressionHandle(params, progress) {
74
+ const handle = await progress.race(this._object._nodeElectronHandlePromise);
75
+ const result = await progress.race(handle.evaluateExpressionHandle(params.expression, { isFunction: params.isFunction }, (0, import_jsHandleDispatcher.parseArgument)(params.arg)));
76
+ return { handle: import_jsHandleDispatcher.JSHandleDispatcher.fromJSHandle(this, result) };
77
+ }
78
+ async updateSubscription(params, progress) {
79
+ if (params.enabled)
80
+ this._subscriptions.add(params.event);
81
+ else
82
+ this._subscriptions.delete(params.event);
83
+ }
84
+ }
85
+ // Annotate the CommonJS export names for ESM import in node:
86
+ 0 && (module.exports = {
87
+ ElectronApplicationDispatcher,
88
+ ElectronDispatcher
89
+ });