rebrowser-playwright-core 1.49.0 → 1.52.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 (373) hide show
  1. package/ThirdPartyNotices.txt +381 -55
  2. package/bin/reinstall_msedge_beta_linux.sh +6 -0
  3. package/bin/reinstall_msedge_dev_linux.sh +6 -0
  4. package/bin/reinstall_msedge_stable_linux.sh +6 -0
  5. package/browsers.json +28 -13
  6. package/index.js +0 -1
  7. package/lib/androidServerImpl.js +42 -48
  8. package/lib/browserServerImpl.js +60 -64
  9. package/lib/cli/driver.js +71 -69
  10. package/lib/cli/program.js +314 -354
  11. package/lib/cli/programWithTestStub.js +51 -44
  12. package/lib/client/accessibility.js +31 -32
  13. package/lib/client/android.js +146 -254
  14. package/lib/client/api.js +135 -283
  15. package/lib/client/artifact.js +39 -39
  16. package/lib/client/browser.js +59 -68
  17. package/lib/client/browserContext.js +302 -322
  18. package/lib/client/browserType.js +95 -143
  19. package/lib/client/cdpSession.js +29 -31
  20. package/lib/client/channelOwner.js +109 -139
  21. package/lib/client/clientHelper.js +49 -42
  22. package/lib/client/clientInstrumentation.js +40 -35
  23. package/lib/client/clientStackTrace.js +69 -0
  24. package/lib/client/clock.js +36 -36
  25. package/lib/client/connection.js +203 -218
  26. package/lib/client/consoleMessage.js +33 -33
  27. package/lib/client/coverage.js +25 -22
  28. package/lib/client/dialog.js +30 -31
  29. package/lib/client/download.js +25 -25
  30. package/lib/client/electron.js +74 -76
  31. package/lib/client/elementHandle.js +126 -163
  32. package/lib/client/errors.js +53 -53
  33. package/lib/client/eventEmitter.js +127 -127
  34. package/lib/client/events.js +72 -68
  35. package/lib/client/fetch.js +154 -178
  36. package/lib/client/fileChooser.js +25 -24
  37. package/lib/client/fileUtils.js +34 -0
  38. package/lib/client/frame.js +189 -307
  39. package/lib/client/harRouter.js +44 -56
  40. package/lib/client/input.js +40 -69
  41. package/lib/client/jsHandle.js +55 -71
  42. package/lib/client/jsonPipe.js +27 -23
  43. package/lib/client/localUtils.js +53 -28
  44. package/lib/client/locator.js +144 -230
  45. package/lib/client/network.js +285 -301
  46. package/lib/client/page.js +273 -312
  47. package/lib/client/platform.js +74 -0
  48. package/lib/client/playwright.js +62 -57
  49. package/lib/client/selectors.js +51 -43
  50. package/lib/client/stream.js +30 -45
  51. package/lib/client/timeoutSettings.js +75 -0
  52. package/lib/client/tracing.js +49 -82
  53. package/lib/client/types.js +26 -22
  54. package/lib/client/video.js +35 -27
  55. package/lib/client/waiter.js +71 -91
  56. package/lib/client/webError.js +25 -23
  57. package/lib/client/webSocket.js +111 -0
  58. package/lib/client/worker.js +48 -56
  59. package/lib/client/writableStream.js +28 -43
  60. package/lib/generated/clockSource.js +26 -5
  61. package/lib/generated/consoleApiSource.js +26 -5
  62. package/lib/generated/injectedScriptSource.js +26 -5
  63. package/lib/generated/pollingRecorderSource.js +26 -5
  64. package/lib/generated/utilityScriptSource.js +26 -5
  65. package/lib/generated/webSocketMockSource.js +375 -4
  66. package/lib/inProcessFactory.js +53 -48
  67. package/lib/inprocess.js +2 -19
  68. package/lib/outofprocess.js +53 -42
  69. package/lib/protocol/debug.js +209 -25
  70. package/lib/protocol/serializers.js +153 -134
  71. package/lib/protocol/validator.js +2712 -2667
  72. package/lib/protocol/validatorPrimitives.js +115 -75
  73. package/lib/remote/playwrightConnection.js +144 -152
  74. package/lib/remote/playwrightServer.js +106 -77
  75. package/lib/server/accessibility.js +44 -37
  76. package/lib/server/android/android.js +216 -206
  77. package/lib/server/android/backendAdb.js +89 -82
  78. package/lib/server/artifact.js +78 -55
  79. package/lib/server/bidi/bidiBrowser.js +227 -158
  80. package/lib/server/bidi/bidiChromium.js +106 -78
  81. package/lib/server/bidi/bidiConnection.js +66 -83
  82. package/lib/server/bidi/bidiExecutionContext.js +161 -97
  83. package/lib/server/bidi/bidiFirefox.js +76 -68
  84. package/lib/server/bidi/bidiInput.js +90 -102
  85. package/lib/server/bidi/bidiNetworkManager.js +141 -159
  86. package/lib/server/bidi/bidiOverCdp.js +57 -58
  87. package/lib/server/bidi/bidiPage.js +262 -261
  88. package/lib/server/bidi/bidiPdf.js +52 -86
  89. package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  90. package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
  91. package/lib/server/bidi/third_party/bidiKeyboard.js +241 -223
  92. package/lib/server/bidi/third_party/bidiProtocol.js +144 -131
  93. package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
  94. package/lib/server/bidi/third_party/firefoxPrefs.js +149 -111
  95. package/lib/server/browser.js +76 -84
  96. package/lib/server/browserContext.js +343 -360
  97. package/lib/server/browserType.js +169 -181
  98. package/lib/server/callLog.js +82 -0
  99. package/lib/server/chromium/chromium.js +212 -190
  100. package/lib/server/chromium/chromiumSwitches.js +99 -44
  101. package/lib/server/chromium/crAccessibility.js +157 -131
  102. package/lib/server/chromium/crBrowser.js +262 -280
  103. package/lib/server/chromium/crConnection.js +121 -178
  104. package/lib/server/chromium/crCoverage.js +113 -127
  105. package/lib/server/chromium/crDevTools.js +64 -55
  106. package/lib/server/chromium/crDragDrop.js +62 -79
  107. package/lib/server/chromium/crExecutionContext.js +100 -91
  108. package/lib/server/chromium/crInput.js +101 -88
  109. package/lib/server/chromium/crNetworkManager.js +269 -370
  110. package/lib/server/chromium/crPage.js +509 -595
  111. package/lib/server/chromium/crPdf.js +54 -86
  112. package/lib/server/chromium/crProtocolHelper.js +92 -80
  113. package/lib/server/chromium/crServiceWorker.js +85 -69
  114. package/lib/server/chromium/defaultFontFamilies.js +152 -135
  115. package/lib/server/chromium/protocol.d.js +16 -0
  116. package/lib/server/chromium/videoRecorder.js +65 -99
  117. package/lib/server/clock.js +58 -46
  118. package/lib/server/codegen/csharp.js +191 -156
  119. package/lib/server/codegen/java.js +163 -125
  120. package/lib/server/codegen/javascript.js +166 -143
  121. package/lib/server/codegen/jsonl.js +33 -29
  122. package/lib/server/codegen/language.js +75 -52
  123. package/lib/server/codegen/languages.js +65 -27
  124. package/lib/server/codegen/python.js +141 -125
  125. package/lib/server/codegen/types.js +15 -4
  126. package/lib/server/console.js +28 -32
  127. package/lib/server/cookieStore.js +105 -86
  128. package/lib/server/debugController.js +102 -154
  129. package/lib/server/debugger.js +82 -78
  130. package/lib/server/deviceDescriptors.js +37 -24
  131. package/lib/server/deviceDescriptorsSource.json +131 -131
  132. package/lib/server/dialog.js +36 -35
  133. package/lib/server/dispatchers/androidDispatcher.js +196 -107
  134. package/lib/server/dispatchers/artifactDispatcher.js +62 -62
  135. package/lib/server/dispatchers/browserContextDispatcher.js +177 -217
  136. package/lib/server/dispatchers/browserDispatcher.js +78 -97
  137. package/lib/server/dispatchers/browserTypeDispatcher.js +35 -35
  138. package/lib/server/dispatchers/cdpSessionDispatcher.js +32 -36
  139. package/lib/server/dispatchers/debugControllerDispatcher.js +48 -64
  140. package/lib/server/dispatchers/dialogDispatcher.js +30 -27
  141. package/lib/server/dispatchers/dispatcher.js +180 -229
  142. package/lib/server/dispatchers/electronDispatcher.js +54 -57
  143. package/lib/server/dispatchers/elementHandlerDispatcher.js +79 -116
  144. package/lib/server/dispatchers/frameDispatcher.js +93 -162
  145. package/lib/server/dispatchers/jsHandleDispatcher.js +49 -66
  146. package/lib/server/dispatchers/jsonPipeDispatcher.js +35 -36
  147. package/lib/server/dispatchers/localUtilsDispatcher.js +107 -365
  148. package/lib/server/dispatchers/networkDispatchers.js +92 -109
  149. package/lib/server/dispatchers/pageDispatcher.js +130 -169
  150. package/lib/server/dispatchers/playwrightDispatcher.js +69 -76
  151. package/lib/server/dispatchers/selectorsDispatcher.js +28 -24
  152. package/lib/server/dispatchers/streamDispatcher.js +42 -44
  153. package/lib/server/dispatchers/tracingDispatcher.js +36 -41
  154. package/lib/server/dispatchers/webSocketRouteDispatcher.js +100 -135
  155. package/lib/server/dispatchers/writableStreamDispatcher.js +54 -39
  156. package/lib/server/dom.js +424 -443
  157. package/lib/server/download.js +45 -35
  158. package/lib/server/electron/electron.js +156 -175
  159. package/lib/server/electron/loader.js +8 -36
  160. package/lib/server/errors.js +47 -46
  161. package/lib/server/fetch.js +302 -331
  162. package/lib/server/fileChooser.js +25 -24
  163. package/lib/server/fileUploadUtils.js +66 -57
  164. package/lib/server/firefox/ffAccessibility.js +153 -131
  165. package/lib/server/firefox/ffBrowser.js +218 -274
  166. package/lib/server/firefox/ffConnection.js +63 -84
  167. package/lib/server/firefox/ffExecutionContext.js +103 -77
  168. package/lib/server/firefox/ffInput.js +72 -63
  169. package/lib/server/firefox/ffNetworkManager.js +131 -110
  170. package/lib/server/firefox/ffPage.js +244 -302
  171. package/lib/server/firefox/firefox.js +76 -69
  172. package/lib/server/firefox/protocol.d.js +16 -0
  173. package/lib/server/formData.js +107 -35
  174. package/lib/server/frameSelectors.js +77 -111
  175. package/lib/server/frames.js +719 -855
  176. package/lib/server/har/harRecorder.js +85 -77
  177. package/lib/server/har/harTracer.js +288 -224
  178. package/lib/server/harBackend.js +157 -0
  179. package/lib/server/helper.js +56 -59
  180. package/lib/server/index.js +59 -106
  181. package/lib/server/input.js +136 -166
  182. package/lib/server/instrumentation.js +49 -44
  183. package/lib/server/javascript.js +157 -151
  184. package/lib/server/launchApp.js +92 -73
  185. package/lib/server/localUtils.js +211 -0
  186. package/lib/server/macEditingCommands.js +141 -137
  187. package/lib/server/network.js +263 -297
  188. package/lib/server/page.js +353 -432
  189. package/lib/server/pageBinding.js +88 -0
  190. package/lib/server/pipeTransport.js +49 -45
  191. package/lib/server/playwright.js +60 -67
  192. package/lib/server/progress.js +56 -51
  193. package/lib/server/protocolError.js +34 -31
  194. package/lib/server/recorder/chat.js +161 -0
  195. package/lib/server/recorder/contextRecorder.js +135 -148
  196. package/lib/server/recorder/recorderApp.js +129 -132
  197. package/lib/server/recorder/recorderCollection.js +57 -57
  198. package/lib/server/recorder/recorderFrontend.js +15 -4
  199. package/lib/server/recorder/recorderRunner.js +80 -100
  200. package/lib/server/recorder/recorderUtils.js +59 -72
  201. package/lib/server/recorder/throttledFile.js +42 -31
  202. package/lib/server/recorder.js +186 -190
  203. package/lib/server/registry/browserFetcher.js +107 -100
  204. package/lib/server/registry/dependencies.js +247 -198
  205. package/lib/server/registry/index.js +928 -709
  206. package/lib/server/registry/nativeDeps.js +1073 -461
  207. package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
  208. package/lib/server/screenshotter.js +166 -182
  209. package/lib/server/selectors.js +85 -46
  210. package/lib/server/socksClientCertificatesInterceptor.js +166 -185
  211. package/lib/server/socksInterceptor.js +62 -67
  212. package/lib/server/storageScript.js +154 -0
  213. package/lib/server/timeoutSettings.js +89 -0
  214. package/lib/server/trace/recorder/snapshotter.js +70 -88
  215. package/lib/server/trace/recorder/snapshotterInjected.js +246 -218
  216. package/lib/server/trace/recorder/tracing.js +324 -327
  217. package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
  218. package/lib/server/trace/viewer/traceViewer.js +172 -137
  219. package/lib/server/transport.js +125 -133
  220. package/lib/server/types.js +26 -22
  221. package/lib/server/usKeyboardLayout.js +135 -545
  222. package/lib/server/utils/ascii.js +44 -0
  223. package/lib/server/utils/comparators.js +161 -0
  224. package/lib/server/utils/crypto.js +216 -0
  225. package/lib/server/utils/debug.js +47 -0
  226. package/lib/server/utils/debugLogger.js +114 -0
  227. package/lib/server/utils/env.js +68 -0
  228. package/lib/server/utils/eventsHelper.js +39 -0
  229. package/lib/server/utils/expectUtils.js +38 -0
  230. package/lib/server/utils/fileUtils.js +191 -0
  231. package/lib/server/utils/happyEyeballs.js +207 -0
  232. package/lib/server/utils/hostPlatform.js +109 -0
  233. package/lib/server/utils/httpServer.js +218 -0
  234. package/lib/server/utils/image_tools/colorUtils.js +89 -0
  235. package/lib/{image_tools → server/utils/image_tools}/compare.js +44 -43
  236. package/lib/server/utils/image_tools/imageChannel.js +78 -0
  237. package/lib/{image_tools → server/utils/image_tools}/stats.js +40 -40
  238. package/lib/server/utils/linuxUtils.js +71 -0
  239. package/lib/server/utils/network.js +217 -0
  240. package/lib/server/utils/nodePlatform.js +148 -0
  241. package/lib/server/utils/pipeTransport.js +84 -0
  242. package/lib/server/utils/processLauncher.js +238 -0
  243. package/lib/server/utils/profiler.js +65 -0
  244. package/lib/server/utils/socksProxy.js +511 -0
  245. package/lib/server/utils/spawnAsync.js +41 -0
  246. package/lib/server/utils/task.js +51 -0
  247. package/lib/server/utils/userAgent.js +98 -0
  248. package/lib/server/utils/wsServer.js +132 -0
  249. package/lib/server/utils/zipFile.js +74 -0
  250. package/lib/server/utils/zones.js +57 -0
  251. package/lib/server/webkit/protocol.d.js +16 -0
  252. package/lib/server/webkit/webkit.js +76 -63
  253. package/lib/server/webkit/wkAccessibility.js +161 -118
  254. package/lib/server/webkit/wkBrowser.js +163 -180
  255. package/lib/server/webkit/wkConnection.js +59 -83
  256. package/lib/server/webkit/wkExecutionContext.js +96 -73
  257. package/lib/server/webkit/wkInput.js +87 -75
  258. package/lib/server/webkit/wkInterceptableRequest.js +102 -95
  259. package/lib/server/webkit/wkPage.js +536 -645
  260. package/lib/server/webkit/wkProvisionalPage.js +45 -56
  261. package/lib/server/webkit/wkWorkers.js +77 -77
  262. package/lib/utils/isomorphic/ariaSnapshot.js +245 -128
  263. package/lib/utils/isomorphic/assert.js +31 -0
  264. package/lib/utils/isomorphic/builtins.js +90 -0
  265. package/lib/utils/isomorphic/colors.js +72 -0
  266. package/lib/utils/isomorphic/cssParser.js +123 -127
  267. package/lib/utils/isomorphic/cssTokenizer.js +436 -364
  268. package/lib/utils/isomorphic/headers.js +53 -0
  269. package/lib/utils/isomorphic/locatorGenerators.js +344 -349
  270. package/lib/utils/isomorphic/locatorParser.js +103 -106
  271. package/lib/utils/isomorphic/locatorUtils.js +63 -44
  272. package/lib/utils/isomorphic/manualPromise.js +115 -0
  273. package/lib/utils/isomorphic/mimeType.js +453 -22
  274. package/lib/utils/isomorphic/multimap.js +81 -0
  275. package/lib/utils/isomorphic/rtti.js +43 -0
  276. package/lib/utils/isomorphic/selectorParser.js +183 -193
  277. package/lib/utils/isomorphic/semaphore.js +54 -0
  278. package/lib/utils/isomorphic/stackTrace.js +158 -0
  279. package/lib/utils/isomorphic/stringUtils.js +113 -106
  280. package/lib/utils/isomorphic/time.js +44 -0
  281. package/lib/utils/isomorphic/timeoutRunner.js +67 -0
  282. package/lib/utils/isomorphic/traceUtils.js +52 -32
  283. package/lib/utils/isomorphic/types.js +16 -0
  284. package/lib/utils/isomorphic/urlMatch.js +114 -71
  285. package/lib/utils/isomorphic/utilityScriptSerializers.js +248 -0
  286. package/lib/utils.js +101 -0
  287. package/lib/utilsBundle.js +101 -76
  288. package/lib/utilsBundleImpl/index.js +114 -116
  289. package/lib/vite/htmlReport/index.html +26 -20
  290. package/lib/vite/recorder/assets/codeMirrorModule-DVQi6prl.js +24 -0
  291. package/lib/vite/recorder/assets/index-97EUAAbk.js +184 -0
  292. package/lib/vite/recorder/assets/{index-iA1aAGZg.css → index-eHBmevrY.css} +1 -1
  293. package/lib/vite/recorder/index.html +2 -2
  294. package/lib/vite/traceViewer/assets/codeMirrorModule-DwAiTpyC.js +24 -0
  295. package/lib/vite/traceViewer/assets/defaultSettingsView-DkkRvn5X.js +265 -0
  296. package/lib/vite/traceViewer/assets/{xtermModule-BeNbaIVa.js → xtermModule-BoAIEibi.js} +7 -7
  297. package/lib/vite/traceViewer/defaultSettingsView.QdHITyLI.css +1 -0
  298. package/lib/vite/traceViewer/index.DvtSwn6E.js +2 -0
  299. package/lib/vite/traceViewer/index.html +4 -7
  300. package/lib/vite/traceViewer/sw.bundle.js +3 -3
  301. package/lib/vite/traceViewer/{uiMode.voC1ZiOQ.css → uiMode.BatfzHMG.css} +1 -1
  302. package/lib/vite/traceViewer/uiMode.Sdytl9wc.js +5 -0
  303. package/lib/vite/traceViewer/uiMode.html +4 -7
  304. package/lib/zipBundle.js +32 -23
  305. package/lib/zipBundleImpl.js +4 -4
  306. package/package.json +7 -7
  307. package/types/protocol.d.ts +819 -127
  308. package/types/types.d.ts +196 -75
  309. package/bin/PrintDeps.exe +0 -0
  310. package/bin/README.md +0 -2
  311. package/lib/common/socksProxy.js +0 -569
  312. package/lib/common/timeoutSettings.js +0 -73
  313. package/lib/common/types.js +0 -5
  314. package/lib/image_tools/colorUtils.js +0 -98
  315. package/lib/image_tools/imageChannel.js +0 -70
  316. package/lib/protocol/transport.js +0 -82
  317. package/lib/server/ariaSnapshot.js +0 -33
  318. package/lib/server/isomorphic/utilityScriptSerializers.js +0 -226
  319. package/lib/server/recorder/recorderInTraceViewer.js +0 -144
  320. package/lib/utils/ascii.js +0 -31
  321. package/lib/utils/comparators.js +0 -153
  322. package/lib/utils/crypto.js +0 -171
  323. package/lib/utils/debug.js +0 -46
  324. package/lib/utils/debugLogger.js +0 -91
  325. package/lib/utils/env.js +0 -49
  326. package/lib/utils/eventsHelper.js +0 -38
  327. package/lib/utils/expectUtils.js +0 -33
  328. package/lib/utils/fileUtils.js +0 -205
  329. package/lib/utils/happy-eyeballs.js +0 -194
  330. package/lib/utils/headers.js +0 -52
  331. package/lib/utils/hostPlatform.js +0 -139
  332. package/lib/utils/httpServer.js +0 -237
  333. package/lib/utils/index.js +0 -368
  334. package/lib/utils/isomorphic/recorderUtils.js +0 -227
  335. package/lib/utils/linuxUtils.js +0 -78
  336. package/lib/utils/manualPromise.js +0 -109
  337. package/lib/utils/multimap.js +0 -75
  338. package/lib/utils/network.js +0 -160
  339. package/lib/utils/processLauncher.js +0 -248
  340. package/lib/utils/profiler.js +0 -53
  341. package/lib/utils/rtti.js +0 -44
  342. package/lib/utils/semaphore.js +0 -51
  343. package/lib/utils/sequence.js +0 -64
  344. package/lib/utils/spawnAsync.js +0 -45
  345. package/lib/utils/stackTrace.js +0 -134
  346. package/lib/utils/task.js +0 -58
  347. package/lib/utils/time.js +0 -37
  348. package/lib/utils/timeoutRunner.js +0 -66
  349. package/lib/utils/traceUtils.js +0 -44
  350. package/lib/utils/userAgent.js +0 -105
  351. package/lib/utils/wsServer.js +0 -127
  352. package/lib/utils/zipFile.js +0 -75
  353. package/lib/utils/zones.js +0 -71
  354. package/lib/vite/recorder/assets/codeMirrorModule-AFvV6hAs.js +0 -24
  355. package/lib/vite/recorder/assets/index-_cTWgVuJ.js +0 -184
  356. package/lib/vite/traceViewer/assets/codeMirrorModule-KatbITLF.js +0 -24
  357. package/lib/vite/traceViewer/assets/inspectorTab-DdpLd2bb.js +0 -68
  358. package/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +0 -1
  359. package/lib/vite/traceViewer/assets/workbench-CdYbzWFD.js +0 -9
  360. package/lib/vite/traceViewer/embedded.6m3UZh7r.js +0 -2
  361. package/lib/vite/traceViewer/embedded.html +0 -18
  362. package/lib/vite/traceViewer/embedded.w7WN2u1R.css +0 -1
  363. package/lib/vite/traceViewer/index.WUV-8boJ.js +0 -2
  364. package/lib/vite/traceViewer/inspectorTab.DEOUW62d.css +0 -1
  365. package/lib/vite/traceViewer/recorder.B_SY1GJM.css +0 -0
  366. package/lib/vite/traceViewer/recorder.OT2tVHgn.js +0 -2
  367. package/lib/vite/traceViewer/recorder.html +0 -17
  368. package/lib/vite/traceViewer/uiMode.BZBTyvGn.js +0 -5
  369. package/lib/vite/traceViewer/workbench.C-zR9ysA.css +0 -1
  370. /package/lib/vite/recorder/assets/{codeMirrorModule-ez37Vkbh.css → codeMirrorModule-C3UTv-Ge.css} +0 -0
  371. /package/lib/vite/traceViewer/{codeMirrorModule.ez37Vkbh.css → codeMirrorModule.C3UTv-Ge.css} +0 -0
  372. /package/lib/vite/traceViewer/{index.CrbWWHbf.css → index.CFOW-Ezb.css} +0 -0
  373. /package/lib/vite/traceViewer/{xtermModule.DSXBckUd.css → xtermModule.Beg8tuEN.css} +0 -0
@@ -1,130 +1,131 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var recorderApp_exports = {};
30
+ __export(recorderApp_exports, {
31
+ EmptyRecorderApp: () => EmptyRecorderApp,
32
+ RecorderApp: () => RecorderApp
5
33
  });
6
- exports.RecorderApp = exports.EmptyRecorderApp = void 0;
7
- var _fs = _interopRequireDefault(require("fs"));
8
- var _path = _interopRequireDefault(require("path"));
9
- var _progress = require("../progress");
10
- var _events = require("events");
11
- var _instrumentation = require("../instrumentation");
12
- var _utils = require("../../utils");
13
- var _utilsBundle = require("../../utilsBundle");
14
- var _launchApp = require("../launchApp");
15
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
- /**
17
- * Copyright (c) Microsoft Corporation.
18
- *
19
- * Licensed under the Apache License, Version 2.0 (the "License");
20
- * you may not use this file except in compliance with the License.
21
- * You may obtain a copy of the License at
22
- *
23
- * http://www.apache.org/licenses/LICENSE-2.0
24
- *
25
- * Unless required by applicable law or agreed to in writing, software
26
- * distributed under the License is distributed on an "AS IS" BASIS,
27
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
28
- * See the License for the specific language governing permissions and
29
- * limitations under the License.
30
- */
31
-
32
- class EmptyRecorderApp extends _events.EventEmitter {
33
- constructor(...args) {
34
- super(...args);
35
- this.wsEndpointForTest = void 0;
36
- }
37
- async close() {}
38
- async setPaused(paused) {}
39
- async setMode(mode) {}
40
- async setRunningFile(file) {}
41
- async elementPicked(elementInfo, userGesture) {}
42
- async updateCallLogs(callLogs) {}
43
- async setSources(sources) {}
44
- async setActions(actions, sources) {}
34
+ module.exports = __toCommonJS(recorderApp_exports);
35
+ var import_events = require("events");
36
+ var import_fs = __toESM(require("fs"));
37
+ var import_path = __toESM(require("path"));
38
+ var import_debug = require("../utils/debug");
39
+ var import_utilsBundle = require("../../utilsBundle");
40
+ var import_instrumentation = require("../instrumentation");
41
+ var import_launchApp = require("../launchApp");
42
+ var import_launchApp2 = require("../launchApp");
43
+ var import_progress = require("../progress");
44
+ class EmptyRecorderApp extends import_events.EventEmitter {
45
+ async close() {
46
+ }
47
+ async setPaused(paused) {
48
+ }
49
+ async setMode(mode) {
50
+ }
51
+ async setRunningFile(file) {
52
+ }
53
+ async elementPicked(elementInfo, userGesture) {
54
+ }
55
+ async updateCallLogs(callLogs) {
56
+ }
57
+ async setSources(sources, primaryPageURL) {
58
+ }
59
+ async setActions(actions, sources) {
60
+ }
45
61
  }
46
- exports.EmptyRecorderApp = EmptyRecorderApp;
47
- class RecorderApp extends _events.EventEmitter {
62
+ class RecorderApp extends import_events.EventEmitter {
48
63
  constructor(recorder, page, wsEndpoint) {
49
64
  super();
50
- this._page = void 0;
51
- this.wsEndpointForTest = void 0;
52
- this._recorder = void 0;
53
65
  this.setMaxListeners(0);
54
66
  this._recorder = recorder;
55
67
  this._page = page;
56
68
  this.wsEndpointForTest = wsEndpoint;
57
69
  }
58
70
  async close() {
59
- await this._page.context().close({
60
- reason: 'Recorder window closed'
61
- });
71
+ await this._page.context().close({ reason: "Recorder window closed" });
62
72
  }
63
73
  async _init() {
64
- await (0, _launchApp.syncLocalStorageWithSettings)(this._page, 'recorder');
65
- await this._page._setServerRequestInterceptor(route => {
66
- if (!route.request().url().startsWith('https://playwright/')) return false;
67
- const uri = route.request().url().substring('https://playwright/'.length);
68
- const file = require.resolve('../../vite/recorder/' + uri);
69
- _fs.default.promises.readFile(file).then(buffer => {
74
+ await (0, import_launchApp.syncLocalStorageWithSettings)(this._page, "recorder");
75
+ await this._page._setServerRequestInterceptor((route) => {
76
+ if (!route.request().url().startsWith("https://playwright/"))
77
+ return false;
78
+ const uri = route.request().url().substring("https://playwright/".length);
79
+ const file = require.resolve("../../vite/recorder/" + uri);
80
+ import_fs.default.promises.readFile(file).then((buffer) => {
70
81
  route.fulfill({
71
82
  status: 200,
72
- headers: [{
73
- name: 'Content-Type',
74
- value: _utilsBundle.mime.getType(_path.default.extname(file)) || 'application/octet-stream'
75
- }],
76
- body: buffer.toString('base64'),
83
+ headers: [
84
+ { name: "Content-Type", value: import_utilsBundle.mime.getType(import_path.default.extname(file)) || "application/octet-stream" }
85
+ ],
86
+ body: buffer.toString("base64"),
77
87
  isBase64: true
78
- }).catch(() => {});
88
+ }).catch(() => {
89
+ });
79
90
  });
80
91
  return true;
81
92
  });
82
- await this._page.exposeBinding('dispatch', false, (_, data) => this.emit('event', data));
83
- this._page.once('close', () => {
84
- this.emit('close');
85
- this._page.context().close({
86
- reason: 'Recorder window closed'
87
- }).catch(() => {});
93
+ await this._page.exposeBinding("dispatch", false, (_, data) => this.emit("event", data));
94
+ this._page.once("close", () => {
95
+ this.emit("close");
96
+ this._page.context().close({ reason: "Recorder window closed" }).catch(() => {
97
+ });
88
98
  });
89
99
  const mainFrame = this._page.mainFrame();
90
- await mainFrame.goto((0, _instrumentation.serverSideCallMetadata)(), 'https://playwright/index.html');
100
+ await mainFrame.goto((0, import_instrumentation.serverSideCallMetadata)(), process.env.PW_HMR ? "http://localhost:44225" : "https://playwright/index.html");
91
101
  }
92
102
  static factory(context) {
93
- return async recorder => {
94
- if (process.env.PW_CODEGEN_NO_INSPECTOR) return new EmptyRecorderApp();
103
+ return async (recorder) => {
104
+ if (process.env.PW_CODEGEN_NO_INSPECTOR)
105
+ return new EmptyRecorderApp();
95
106
  return await RecorderApp._open(recorder, context);
96
107
  };
97
108
  }
98
109
  static async _open(recorder, inspectedContext) {
99
110
  const sdkLanguage = inspectedContext.attribution.playwright.options.sdkLanguage;
100
111
  const headed = !!inspectedContext._browser.options.headful;
101
- const recorderPlaywright = require('../playwright').createPlaywright({
102
- sdkLanguage: 'javascript',
103
- isInternalPlaywright: true
104
- });
105
- const {
106
- context,
107
- page
108
- } = await (0, _launchApp.launchApp)(recorderPlaywright.chromium, {
112
+ const recorderPlaywright = require("../playwright").createPlaywright({ sdkLanguage: "javascript", isInternalPlaywright: true });
113
+ const { context, page } = await (0, import_launchApp2.launchApp)(recorderPlaywright.chromium, {
109
114
  sdkLanguage,
110
- windowSize: {
111
- width: 600,
112
- height: 600
113
- },
114
- windowPosition: {
115
- x: 1020,
116
- y: 10
117
- },
115
+ windowSize: { width: 600, height: 600 },
116
+ windowPosition: { x: 1020, y: 10 },
118
117
  persistentContextOptions: {
119
118
  noDefaultViewport: true,
120
- headless: !!process.env.PWTEST_CLI_HEADLESS || (0, _utils.isUnderTest)() && !headed,
121
- useWebSocket: (0, _utils.isUnderTest)(),
119
+ headless: !!process.env.PWTEST_CLI_HEADLESS || (0, import_debug.isUnderTest)() && !headed,
120
+ useWebSocket: (0, import_debug.isUnderTest)(),
122
121
  handleSIGINT: recorder.handleSIGINT,
123
- executablePath: inspectedContext._browser.options.isChromium ? inspectedContext._browser.options.customExecutablePath : undefined
122
+ executablePath: inspectedContext._browser.options.isChromium ? inspectedContext._browser.options.customExecutablePath : void 0,
123
+ // Use the same channel as the inspected context to guarantee that the browser is installed.
124
+ channel: inspectedContext._browser.options.isChromium ? inspectedContext._browser.options.channel : void 0
124
125
  }
125
126
  });
126
- const controller = new _progress.ProgressController((0, _instrumentation.serverSideCallMetadata)(), context._browser);
127
- await controller.run(async progress => {
127
+ const controller = new import_progress.ProgressController((0, import_instrumentation.serverSideCallMetadata)(), context._browser);
128
+ await controller.run(async (progress) => {
128
129
  await context._browser._defaultContext._loadDefaultContextAsIs(progress);
129
130
  });
130
131
  const result = new RecorderApp(recorder, page, context._browser.options.wsEndpoint);
@@ -132,56 +133,52 @@ class RecorderApp extends _events.EventEmitter {
132
133
  return result;
133
134
  }
134
135
  async setMode(mode) {
135
- await this._page.mainFrame().evaluateExpression((mode => {
136
- window.playwrightSetMode(mode);
137
- }).toString(), {
138
- isFunction: true
139
- }, mode).catch(() => {});
136
+ await this._page.mainFrame().evaluateExpression(((mode2) => {
137
+ window.playwrightSetMode(mode2);
138
+ }).toString(), { isFunction: true }, mode).catch(() => {
139
+ });
140
140
  }
141
141
  async setRunningFile(file) {
142
- await this._page.mainFrame().evaluateExpression((file => {
143
- window.playwrightSetRunningFile(file);
144
- }).toString(), {
145
- isFunction: true
146
- }, file).catch(() => {});
142
+ await this._page.mainFrame().evaluateExpression(((file2) => {
143
+ window.playwrightSetRunningFile(file2);
144
+ }).toString(), { isFunction: true }, file).catch(() => {
145
+ });
147
146
  }
148
147
  async setPaused(paused) {
149
- await this._page.mainFrame().evaluateExpression((paused => {
150
- window.playwrightSetPaused(paused);
151
- }).toString(), {
152
- isFunction: true
153
- }, paused).catch(() => {});
154
- }
155
- async setSources(sources) {
156
- await this._page.mainFrame().evaluateExpression((sources => {
157
- window.playwrightSetSources(sources);
158
- }).toString(), {
159
- isFunction: true
160
- }, sources).catch(() => {});
161
-
162
- // Testing harness for runCLI mode.
148
+ await this._page.mainFrame().evaluateExpression(((paused2) => {
149
+ window.playwrightSetPaused(paused2);
150
+ }).toString(), { isFunction: true }, paused).catch(() => {
151
+ });
152
+ }
153
+ async setSources(sources, primaryPageURL) {
154
+ await this._page.mainFrame().evaluateExpression((({ sources: sources2, primaryPageURL: primaryPageURL2 }) => {
155
+ window.playwrightSetSources(sources2, primaryPageURL2);
156
+ }).toString(), { isFunction: true }, { sources, primaryPageURL }).catch(() => {
157
+ });
163
158
  if (process.env.PWTEST_CLI_IS_UNDER_TEST && sources.length) {
164
- if (process._didSetSourcesForTest(sources[0].text)) this.close();
159
+ if (process._didSetSourcesForTest(sources[0].text))
160
+ this.close();
165
161
  }
166
162
  }
167
- async setActions(actions, sources) {}
163
+ async setActions(actions, sources) {
164
+ }
168
165
  async elementPicked(elementInfo, userGesture) {
169
- if (userGesture) this._page.bringToFront();
170
- await this._page.mainFrame().evaluateExpression((param => {
166
+ if (userGesture)
167
+ this._page.bringToFront();
168
+ await this._page.mainFrame().evaluateExpression(((param) => {
171
169
  window.playwrightElementPicked(param.elementInfo, param.userGesture);
172
- }).toString(), {
173
- isFunction: true
174
- }, {
175
- elementInfo,
176
- userGesture
177
- }).catch(() => {});
170
+ }).toString(), { isFunction: true }, { elementInfo, userGesture }).catch(() => {
171
+ });
178
172
  }
179
173
  async updateCallLogs(callLogs) {
180
- await this._page.mainFrame().evaluateExpression((callLogs => {
181
- window.playwrightUpdateLogs(callLogs);
182
- }).toString(), {
183
- isFunction: true
184
- }, callLogs).catch(() => {});
174
+ await this._page.mainFrame().evaluateExpression(((callLogs2) => {
175
+ window.playwrightUpdateLogs(callLogs2);
176
+ }).toString(), { isFunction: true }, callLogs).catch(() => {
177
+ });
185
178
  }
186
179
  }
187
- exports.RecorderApp = RecorderApp;
180
+ // Annotate the CommonJS export names for ESM import in node:
181
+ 0 && (module.exports = {
182
+ EmptyRecorderApp,
183
+ RecorderApp
184
+ });
@@ -1,90 +1,86 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
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 recorderCollection_exports = {};
20
+ __export(recorderCollection_exports, {
21
+ RecorderCollection: () => RecorderCollection
5
22
  });
6
- exports.RecorderCollection = void 0;
7
- var _events = require("events");
8
- var _time = require("../../utils/time");
9
- var _recorderUtils = require("./recorderUtils");
10
- var _errors = require("../errors");
11
- var _recorderRunner = require("./recorderRunner");
12
- var _debug = require("../../utils/debug");
13
- /**
14
- * Copyright (c) Microsoft Corporation.
15
- *
16
- * Licensed under the Apache License, Version 2.0 (the "License");
17
- * you may not use this file except in compliance with the License.
18
- * You may obtain a copy of the License at
19
- *
20
- * http://www.apache.org/licenses/LICENSE-2.0
21
- *
22
- * Unless required by applicable law or agreed to in writing, software
23
- * distributed under the License is distributed on an "AS IS" BASIS,
24
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
25
- * See the License for the specific language governing permissions and
26
- * limitations under the License.
27
- */
28
-
29
- class RecorderCollection extends _events.EventEmitter {
23
+ module.exports = __toCommonJS(recorderCollection_exports);
24
+ var import_events = require("events");
25
+ var import_recorderRunner = require("./recorderRunner");
26
+ var import_recorderUtils = require("./recorderUtils");
27
+ var import_debug = require("../utils/debug");
28
+ var import_time = require("../../utils/isomorphic/time");
29
+ class RecorderCollection extends import_events.EventEmitter {
30
30
  constructor(pageAliases) {
31
31
  super();
32
32
  this._actions = [];
33
33
  this._enabled = false;
34
- this._pageAliases = void 0;
35
34
  this._pageAliases = pageAliases;
36
35
  }
37
36
  restart() {
38
37
  this._actions = [];
39
- this._fireChange();
38
+ this.emit("change", []);
40
39
  }
41
40
  setEnabled(enabled) {
42
41
  this._enabled = enabled;
43
42
  }
44
43
  async performAction(actionInContext) {
45
- await this._addAction(actionInContext, async callMetadata => {
46
- await (0, _recorderRunner.performAction)(callMetadata, this._pageAliases, actionInContext);
44
+ await this._addAction(actionInContext, async () => {
45
+ await (0, import_recorderRunner.performAction)(this._pageAliases, actionInContext);
47
46
  });
48
47
  }
49
48
  addRecordedAction(actionInContext) {
50
- if (['openPage', 'closePage'].includes(actionInContext.action.name)) {
49
+ if (["openPage", "closePage"].includes(actionInContext.action.name)) {
51
50
  this._actions.push(actionInContext);
52
51
  this._fireChange();
53
52
  return;
54
53
  }
55
- this._addAction(actionInContext).catch(() => {});
54
+ this._addAction(actionInContext).catch(() => {
55
+ });
56
56
  }
57
57
  async _addAction(actionInContext, callback) {
58
- if (!this._enabled) return;
59
- if (actionInContext.action.name === 'openPage' || actionInContext.action.name === 'closePage') {
58
+ if (!this._enabled)
59
+ return;
60
+ if (actionInContext.action.name === "openPage" || actionInContext.action.name === "closePage") {
60
61
  this._actions.push(actionInContext);
61
62
  this._fireChange();
62
63
  return;
63
64
  }
64
- const {
65
- callMetadata,
66
- mainFrame
67
- } = (0, _recorderUtils.callMetadataForAction)(this._pageAliases, actionInContext);
68
- await mainFrame.instrumentation.onBeforeCall(mainFrame, callMetadata);
69
65
  this._actions.push(actionInContext);
70
66
  this._fireChange();
71
- const error = await (callback === null || callback === void 0 ? void 0 : callback(callMetadata).catch(e => e));
72
- callMetadata.endTime = (0, _time.monotonicTime)();
73
- actionInContext.endTime = callMetadata.endTime;
74
- callMetadata.error = error ? (0, _errors.serializeError)(error) : undefined;
75
- // Do not wait for onAfterCall so that performAction returned immediately after the action.
76
- mainFrame.instrumentation.onAfterCall(mainFrame, callMetadata).then(() => {
77
- this._fireChange();
78
- }).catch(() => {});
67
+ await callback?.().catch();
68
+ actionInContext.endTime = (0, import_time.monotonicTime)();
79
69
  }
80
70
  signal(pageAlias, frame, signal) {
81
- if (!this._enabled) return;
82
- if (signal.name === 'navigation' && frame._page.mainFrame() === frame) {
83
- const timestamp = (0, _time.monotonicTime)();
71
+ if (!this._enabled)
72
+ return;
73
+ if (signal.name === "navigation" && frame._page.mainFrame() === frame) {
74
+ const timestamp = (0, import_time.monotonicTime)();
84
75
  const lastAction = this._actions[this._actions.length - 1];
85
- const signalThreshold = (0, _debug.isUnderTest)() ? 500 : 5000;
76
+ const signalThreshold = (0, import_debug.isUnderTest)() ? 500 : 5e3;
86
77
  let generateGoto = false;
87
- if (!lastAction) generateGoto = true;else if (lastAction.action.name !== 'click' && lastAction.action.name !== 'press') generateGoto = true;else if (timestamp - lastAction.startTime > signalThreshold) generateGoto = true;
78
+ if (!lastAction)
79
+ generateGoto = true;
80
+ else if (lastAction.action.name !== "click" && lastAction.action.name !== "press" && lastAction.action.name !== "fill")
81
+ generateGoto = true;
82
+ else if (timestamp - lastAction.startTime > signalThreshold)
83
+ generateGoto = true;
88
84
  if (generateGoto) {
89
85
  this.addRecordedAction({
90
86
  frame: {
@@ -92,7 +88,7 @@ class RecorderCollection extends _events.EventEmitter {
92
88
  framePath: []
93
89
  },
94
90
  action: {
95
- name: 'navigate',
91
+ name: "navigate",
96
92
  url: frame.url(),
97
93
  signals: []
98
94
  },
@@ -109,8 +105,12 @@ class RecorderCollection extends _events.EventEmitter {
109
105
  }
110
106
  }
111
107
  _fireChange() {
112
- if (!this._enabled) return;
113
- this.emit('change', (0, _recorderUtils.collapseActions)(this._actions));
108
+ if (!this._enabled)
109
+ return;
110
+ this.emit("change", (0, import_recorderUtils.collapseActions)(this._actions));
114
111
  }
115
112
  }
116
- exports.RecorderCollection = RecorderCollection;
113
+ // Annotate the CommonJS export names for ESM import in node:
114
+ 0 && (module.exports = {
115
+ RecorderCollection
116
+ });
@@ -1,5 +1,16 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
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 recorderFrontend_exports = {};
16
+ module.exports = __toCommonJS(recorderFrontend_exports);