@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,400 @@
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 traceModernizer_exports = {};
20
+ __export(traceModernizer_exports, {
21
+ TraceModernizer: () => TraceModernizer,
22
+ TraceVersionError: () => TraceVersionError
23
+ });
24
+ module.exports = __toCommonJS(traceModernizer_exports);
25
+ class TraceVersionError extends Error {
26
+ constructor(message) {
27
+ super(message);
28
+ this.name = "TraceVersionError";
29
+ }
30
+ }
31
+ const latestVersion = 8;
32
+ class TraceModernizer {
33
+ constructor(contextEntry, snapshotStorage) {
34
+ this._actionMap = /* @__PURE__ */ new Map();
35
+ this._pageEntries = /* @__PURE__ */ new Map();
36
+ this._jsHandles = /* @__PURE__ */ new Map();
37
+ this._consoleObjects = /* @__PURE__ */ new Map();
38
+ this._contextEntry = contextEntry;
39
+ this._snapshotStorage = snapshotStorage;
40
+ }
41
+ appendTrace(trace) {
42
+ for (const line of trace.split("\n"))
43
+ this._appendEvent(line);
44
+ }
45
+ actions() {
46
+ return [...this._actionMap.values()];
47
+ }
48
+ _pageEntry(pageId) {
49
+ let pageEntry = this._pageEntries.get(pageId);
50
+ if (!pageEntry) {
51
+ pageEntry = {
52
+ pageId,
53
+ screencastFrames: []
54
+ };
55
+ this._pageEntries.set(pageId, pageEntry);
56
+ this._contextEntry.pages.push(pageEntry);
57
+ }
58
+ return pageEntry;
59
+ }
60
+ _appendEvent(line) {
61
+ if (!line)
62
+ return;
63
+ const events = this._modernize(JSON.parse(line));
64
+ for (const event of events)
65
+ this._innerAppendEvent(event);
66
+ }
67
+ _innerAppendEvent(event) {
68
+ const contextEntry = this._contextEntry;
69
+ switch (event.type) {
70
+ case "context-options": {
71
+ if (event.version > latestVersion)
72
+ throw new TraceVersionError("The trace was created by a newer version of Playwright and is not supported by this version of the viewer. Please use latest Playwright to open the trace.");
73
+ this._version = event.version;
74
+ contextEntry.origin = event.origin;
75
+ contextEntry.browserName = event.browserName;
76
+ contextEntry.channel = event.channel;
77
+ contextEntry.title = event.title;
78
+ contextEntry.platform = event.platform;
79
+ contextEntry.playwrightVersion = event.playwrightVersion;
80
+ contextEntry.wallTime = event.wallTime;
81
+ contextEntry.startTime = event.monotonicTime;
82
+ contextEntry.sdkLanguage = event.sdkLanguage;
83
+ contextEntry.options = event.options;
84
+ contextEntry.testIdAttributeName = event.testIdAttributeName;
85
+ contextEntry.contextId = event.contextId ?? "";
86
+ break;
87
+ }
88
+ case "screencast-frame": {
89
+ this._pageEntry(event.pageId).screencastFrames.push(event);
90
+ break;
91
+ }
92
+ case "before": {
93
+ this._actionMap.set(event.callId, { ...event, type: "action", endTime: 0, log: [] });
94
+ break;
95
+ }
96
+ case "input": {
97
+ const existing = this._actionMap.get(event.callId);
98
+ existing.inputSnapshot = event.inputSnapshot;
99
+ existing.point = event.point;
100
+ break;
101
+ }
102
+ case "log": {
103
+ const existing = this._actionMap.get(event.callId);
104
+ if (!existing)
105
+ return;
106
+ existing.log.push({
107
+ time: event.time,
108
+ message: event.message
109
+ });
110
+ break;
111
+ }
112
+ case "after": {
113
+ const existing = this._actionMap.get(event.callId);
114
+ existing.afterSnapshot = event.afterSnapshot;
115
+ existing.endTime = event.endTime;
116
+ existing.result = event.result;
117
+ existing.error = event.error;
118
+ existing.attachments = event.attachments;
119
+ existing.annotations = event.annotations;
120
+ if (event.point)
121
+ existing.point = event.point;
122
+ break;
123
+ }
124
+ case "action": {
125
+ this._actionMap.set(event.callId, { ...event, log: [] });
126
+ break;
127
+ }
128
+ case "event": {
129
+ contextEntry.events.push(event);
130
+ break;
131
+ }
132
+ case "stdout": {
133
+ contextEntry.stdio.push(event);
134
+ break;
135
+ }
136
+ case "stderr": {
137
+ contextEntry.stdio.push(event);
138
+ break;
139
+ }
140
+ case "error": {
141
+ contextEntry.errors.push(event);
142
+ break;
143
+ }
144
+ case "console": {
145
+ contextEntry.events.push(event);
146
+ break;
147
+ }
148
+ case "resource-snapshot":
149
+ this._snapshotStorage.addResource(this._contextEntry.contextId, event.snapshot);
150
+ contextEntry.resources.push(event.snapshot);
151
+ break;
152
+ case "frame-snapshot":
153
+ this._snapshotStorage.addFrameSnapshot(this._contextEntry.contextId, event.snapshot, this._pageEntry(event.snapshot.pageId).screencastFrames);
154
+ break;
155
+ }
156
+ if ("pageId" in event && event.pageId)
157
+ this._pageEntry(event.pageId);
158
+ if (event.type === "action" || event.type === "before")
159
+ contextEntry.startTime = Math.min(contextEntry.startTime, event.startTime);
160
+ if (event.type === "action" || event.type === "after")
161
+ contextEntry.endTime = Math.max(contextEntry.endTime, event.endTime);
162
+ if (event.type === "event") {
163
+ contextEntry.startTime = Math.min(contextEntry.startTime, event.time);
164
+ contextEntry.endTime = Math.max(contextEntry.endTime, event.time);
165
+ }
166
+ if (event.type === "screencast-frame") {
167
+ contextEntry.startTime = Math.min(contextEntry.startTime, event.timestamp);
168
+ contextEntry.endTime = Math.max(contextEntry.endTime, event.timestamp);
169
+ }
170
+ }
171
+ _processedContextCreatedEvent() {
172
+ return this._version !== void 0;
173
+ }
174
+ _modernize(event) {
175
+ let version = this._version ?? event.version ?? 6;
176
+ let events = [event];
177
+ for (; version < latestVersion; ++version)
178
+ events = this[`_modernize_${version}_to_${version + 1}`].call(this, events);
179
+ return events;
180
+ }
181
+ _modernize_0_to_1(events) {
182
+ for (const event of events) {
183
+ if (event.type !== "action")
184
+ continue;
185
+ if (typeof event.metadata.error === "string")
186
+ event.metadata.error = { error: { name: "Error", message: event.metadata.error } };
187
+ }
188
+ return events;
189
+ }
190
+ _modernize_1_to_2(events) {
191
+ for (const event of events) {
192
+ if (event.type !== "frame-snapshot" || !event.snapshot.isMainFrame)
193
+ continue;
194
+ event.snapshot.viewport = this._contextEntry.options?.viewport || { width: 1280, height: 720 };
195
+ }
196
+ return events;
197
+ }
198
+ _modernize_2_to_3(events) {
199
+ for (const event of events) {
200
+ if (event.type !== "resource-snapshot" || event.snapshot.request)
201
+ continue;
202
+ const resource = event.snapshot;
203
+ event.snapshot = {
204
+ _frameref: resource.frameId,
205
+ request: {
206
+ url: resource.url,
207
+ method: resource.method,
208
+ headers: resource.requestHeaders,
209
+ postData: resource.requestSha1 ? { _sha1: resource.requestSha1 } : void 0
210
+ },
211
+ response: {
212
+ status: resource.status,
213
+ headers: resource.responseHeaders,
214
+ content: {
215
+ mimeType: resource.contentType,
216
+ _sha1: resource.responseSha1
217
+ }
218
+ },
219
+ _monotonicTime: resource.timestamp
220
+ };
221
+ }
222
+ return events;
223
+ }
224
+ _modernize_3_to_4(events) {
225
+ const result = [];
226
+ for (const event of events) {
227
+ const e = this._modernize_event_3_to_4(event);
228
+ if (e)
229
+ result.push(e);
230
+ }
231
+ return result;
232
+ }
233
+ _modernize_event_3_to_4(event) {
234
+ if (event.type !== "action" && event.type !== "event") {
235
+ return event;
236
+ }
237
+ const metadata = event.metadata;
238
+ if (metadata.internal || metadata.method.startsWith("tracing"))
239
+ return null;
240
+ if (event.type === "event") {
241
+ if (metadata.method === "__create__" && metadata.type === "ConsoleMessage") {
242
+ return {
243
+ type: "object",
244
+ class: metadata.type,
245
+ guid: metadata.params.guid,
246
+ initializer: metadata.params.initializer
247
+ };
248
+ }
249
+ return {
250
+ type: "event",
251
+ time: metadata.startTime,
252
+ class: metadata.type,
253
+ method: metadata.method,
254
+ params: metadata.params,
255
+ pageId: metadata.pageId
256
+ };
257
+ }
258
+ return {
259
+ type: "action",
260
+ callId: metadata.id,
261
+ startTime: metadata.startTime,
262
+ endTime: metadata.endTime,
263
+ apiName: metadata.apiName || metadata.type + "." + metadata.method,
264
+ class: metadata.type,
265
+ method: metadata.method,
266
+ params: metadata.params,
267
+ // eslint-disable-next-line no-restricted-globals
268
+ wallTime: metadata.wallTime || Date.now(),
269
+ log: metadata.log,
270
+ beforeSnapshot: metadata.snapshots.find((s) => s.title === "before")?.snapshotName,
271
+ inputSnapshot: metadata.snapshots.find((s) => s.title === "input")?.snapshotName,
272
+ afterSnapshot: metadata.snapshots.find((s) => s.title === "after")?.snapshotName,
273
+ error: metadata.error?.error,
274
+ result: metadata.result,
275
+ point: metadata.point,
276
+ pageId: metadata.pageId
277
+ };
278
+ }
279
+ _modernize_4_to_5(events) {
280
+ const result = [];
281
+ for (const event of events) {
282
+ const e = this._modernize_event_4_to_5(event);
283
+ if (e)
284
+ result.push(e);
285
+ }
286
+ return result;
287
+ }
288
+ _modernize_event_4_to_5(event) {
289
+ if (event.type === "event" && event.method === "__create__" && event.class === "JSHandle")
290
+ this._jsHandles.set(event.params.guid, event.params.initializer);
291
+ if (event.type === "object") {
292
+ if (event.class !== "ConsoleMessage")
293
+ return null;
294
+ const args = event.initializer.args?.map((arg) => {
295
+ if (arg.guid) {
296
+ const handle = this._jsHandles.get(arg.guid);
297
+ return { preview: handle?.preview || "", value: "" };
298
+ }
299
+ return { preview: arg.preview || "", value: arg.value || "" };
300
+ });
301
+ this._consoleObjects.set(event.guid, {
302
+ type: event.initializer.type,
303
+ text: event.initializer.text,
304
+ location: event.initializer.location,
305
+ args
306
+ });
307
+ return null;
308
+ }
309
+ if (event.type === "event" && event.method === "console") {
310
+ const consoleMessage = this._consoleObjects.get(event.params.message?.guid || "");
311
+ if (!consoleMessage)
312
+ return null;
313
+ return {
314
+ type: "console",
315
+ time: event.time,
316
+ pageId: event.pageId,
317
+ messageType: consoleMessage.type,
318
+ text: consoleMessage.text,
319
+ args: consoleMessage.args,
320
+ location: consoleMessage.location
321
+ };
322
+ }
323
+ return event;
324
+ }
325
+ _modernize_5_to_6(events) {
326
+ const result = [];
327
+ for (const event of events) {
328
+ result.push(event);
329
+ if (event.type !== "after" || !event.log.length)
330
+ continue;
331
+ for (const log of event.log) {
332
+ result.push({
333
+ type: "log",
334
+ callId: event.callId,
335
+ message: log,
336
+ time: -1
337
+ });
338
+ }
339
+ }
340
+ return result;
341
+ }
342
+ _modernize_6_to_7(events) {
343
+ const result = [];
344
+ if (!this._processedContextCreatedEvent() && events[0].type !== "context-options") {
345
+ const event = {
346
+ type: "context-options",
347
+ origin: "testRunner",
348
+ version: 6,
349
+ browserName: "",
350
+ options: {},
351
+ platform: "unknown",
352
+ wallTime: 0,
353
+ monotonicTime: 0,
354
+ sdkLanguage: "javascript",
355
+ contextId: ""
356
+ };
357
+ result.push(event);
358
+ }
359
+ for (const event of events) {
360
+ if (event.type === "context-options") {
361
+ result.push({ ...event, monotonicTime: 0, origin: "library", contextId: "" });
362
+ continue;
363
+ }
364
+ if (event.type === "before" || event.type === "action") {
365
+ if (!this._contextEntry.wallTime)
366
+ this._contextEntry.wallTime = event.wallTime;
367
+ const eventAsV6 = event;
368
+ const eventAsV7 = event;
369
+ eventAsV7.stepId = `${eventAsV6.apiName}@${eventAsV6.wallTime}`;
370
+ result.push(eventAsV7);
371
+ } else {
372
+ result.push(event);
373
+ }
374
+ }
375
+ return result;
376
+ }
377
+ _modernize_7_to_8(events) {
378
+ const result = [];
379
+ for (const event of events) {
380
+ if (event.type === "before" || event.type === "action") {
381
+ const eventAsV7 = event;
382
+ const eventAsV8 = event;
383
+ if (eventAsV7.apiName) {
384
+ eventAsV8.title = eventAsV7.apiName;
385
+ delete eventAsV8.apiName;
386
+ }
387
+ eventAsV8.stepId = eventAsV7.stepId ?? eventAsV7.callId;
388
+ result.push(eventAsV8);
389
+ } else {
390
+ result.push(event);
391
+ }
392
+ }
393
+ return result;
394
+ }
395
+ }
396
+ // Annotate the CommonJS export names for ESM import in node:
397
+ 0 && (module.exports = {
398
+ TraceModernizer,
399
+ TraceVersionError
400
+ });
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var traceV3_exports = {};
16
+ module.exports = __toCommonJS(traceV3_exports);
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var traceV4_exports = {};
16
+ module.exports = __toCommonJS(traceV4_exports);
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var traceV5_exports = {};
16
+ module.exports = __toCommonJS(traceV5_exports);
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var traceV6_exports = {};
16
+ module.exports = __toCommonJS(traceV6_exports);
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var traceV7_exports = {};
16
+ module.exports = __toCommonJS(traceV7_exports);
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var traceV8_exports = {};
16
+ module.exports = __toCommonJS(traceV8_exports);
@@ -0,0 +1,58 @@
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 traceUtils_exports = {};
20
+ __export(traceUtils_exports, {
21
+ parseClientSideCallMetadata: () => parseClientSideCallMetadata,
22
+ serializeClientSideCallMetadata: () => serializeClientSideCallMetadata
23
+ });
24
+ module.exports = __toCommonJS(traceUtils_exports);
25
+ function parseClientSideCallMetadata(data) {
26
+ const result = /* @__PURE__ */ new Map();
27
+ const { files, stacks } = data;
28
+ for (const s of stacks) {
29
+ const [id, ff] = s;
30
+ result.set(`call@${id}`, ff.map((f) => ({ file: files[f[0]], line: f[1], column: f[2], function: f[3] })));
31
+ }
32
+ return result;
33
+ }
34
+ function serializeClientSideCallMetadata(metadatas) {
35
+ const fileNames = /* @__PURE__ */ new Map();
36
+ const stacks = [];
37
+ for (const m of metadatas) {
38
+ if (!m.stack || !m.stack.length)
39
+ continue;
40
+ const stack = [];
41
+ for (const frame of m.stack) {
42
+ let ordinal = fileNames.get(frame.file);
43
+ if (typeof ordinal !== "number") {
44
+ ordinal = fileNames.size;
45
+ fileNames.set(frame.file, ordinal);
46
+ }
47
+ const stackFrame = [ordinal, frame.line || 0, frame.column || 0, frame.function || ""];
48
+ stack.push(stackFrame);
49
+ }
50
+ stacks.push([m.id, stack]);
51
+ }
52
+ return { files: [...fileNames.keys()], stacks };
53
+ }
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ parseClientSideCallMetadata,
57
+ serializeClientSideCallMetadata
58
+ });
@@ -0,0 +1,16 @@
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 __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var types_exports = {};
16
+ module.exports = __toCommonJS(types_exports);