patchright-core 1.51.2 → 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 (303) hide show
  1. package/browsers.json +15 -13
  2. package/lib/androidServerImpl.js +42 -48
  3. package/lib/browserServerImpl.js +54 -67
  4. package/lib/cli/driver.js +71 -69
  5. package/lib/cli/program.js +312 -328
  6. package/lib/cli/programWithTestStub.js +51 -45
  7. package/lib/client/accessibility.js +31 -32
  8. package/lib/client/android.js +141 -228
  9. package/lib/client/api.js +135 -283
  10. package/lib/client/artifact.js +39 -36
  11. package/lib/client/browser.js +57 -61
  12. package/lib/client/browserContext.js +297 -326
  13. package/lib/client/browserType.js +92 -106
  14. package/lib/client/cdpSession.js +29 -31
  15. package/lib/client/channelOwner.js +82 -95
  16. package/lib/client/clientHelper.js +46 -38
  17. package/lib/client/clientInstrumentation.js +40 -37
  18. package/lib/client/clientStackTrace.js +41 -37
  19. package/lib/client/clock.js +36 -36
  20. package/lib/client/connection.js +190 -212
  21. package/lib/client/consoleMessage.js +31 -28
  22. package/lib/client/coverage.js +25 -22
  23. package/lib/client/dialog.js +30 -31
  24. package/lib/client/download.js +25 -25
  25. package/lib/client/electron.js +73 -75
  26. package/lib/client/elementHandle.js +111 -147
  27. package/lib/client/errors.js +53 -53
  28. package/lib/client/eventEmitter.js +124 -121
  29. package/lib/client/events.js +72 -68
  30. package/lib/client/fetch.js +135 -158
  31. package/lib/client/fileChooser.js +25 -24
  32. package/lib/client/fileUtils.js +31 -28
  33. package/lib/client/frame.js +187 -306
  34. package/lib/client/harRouter.js +42 -52
  35. package/lib/client/input.js +40 -69
  36. package/lib/client/jsHandle.js +54 -69
  37. package/lib/client/jsonPipe.js +27 -23
  38. package/lib/client/localUtils.js +29 -28
  39. package/lib/client/locator.js +161 -245
  40. package/lib/client/network.js +277 -295
  41. package/lib/client/page.js +270 -318
  42. package/lib/client/platform.js +46 -43
  43. package/lib/client/playwright.js +51 -66
  44. package/lib/client/selectors.js +48 -46
  45. package/lib/client/stream.js +29 -25
  46. package/lib/client/timeoutSettings.js +49 -39
  47. package/lib/client/tracing.js +48 -84
  48. package/lib/client/types.js +26 -22
  49. package/lib/client/video.js +35 -27
  50. package/lib/client/waiter.js +69 -88
  51. package/lib/client/webError.js +25 -23
  52. package/lib/client/webSocket.js +61 -56
  53. package/lib/client/worker.js +48 -58
  54. package/lib/client/writableStream.js +27 -23
  55. package/lib/generated/clockSource.js +26 -5
  56. package/lib/generated/consoleApiSource.js +26 -5
  57. package/lib/generated/injectedScriptSource.js +26 -5
  58. package/lib/generated/pollingRecorderSource.js +26 -5
  59. package/lib/generated/utilityScriptSource.js +26 -5
  60. package/lib/generated/webSocketMockSource.js +375 -4
  61. package/lib/inProcessFactory.js +53 -53
  62. package/lib/inprocess.js +2 -19
  63. package/lib/outofprocess.js +53 -46
  64. package/lib/protocol/debug.js +209 -25
  65. package/lib/protocol/serializers.js +153 -134
  66. package/lib/protocol/validator.js +2714 -2714
  67. package/lib/protocol/validatorPrimitives.js +114 -73
  68. package/lib/remote/playwrightConnection.js +140 -157
  69. package/lib/remote/playwrightServer.js +99 -84
  70. package/lib/server/accessibility.js +44 -37
  71. package/lib/server/android/android.js +216 -209
  72. package/lib/server/android/backendAdb.js +89 -82
  73. package/lib/server/artifact.js +78 -55
  74. package/lib/server/bidi/bidiBrowser.js +221 -155
  75. package/lib/server/bidi/bidiChromium.js +106 -79
  76. package/lib/server/bidi/bidiConnection.js +66 -83
  77. package/lib/server/bidi/bidiExecutionContext.js +128 -113
  78. package/lib/server/bidi/bidiFirefox.js +76 -69
  79. package/lib/server/bidi/bidiInput.js +86 -97
  80. package/lib/server/bidi/bidiNetworkManager.js +137 -154
  81. package/lib/server/bidi/bidiOverCdp.js +57 -58
  82. package/lib/server/bidi/bidiPage.js +247 -219
  83. package/lib/server/bidi/bidiPdf.js +52 -86
  84. package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
  85. package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
  86. package/lib/server/bidi/third_party/bidiKeyboard.js +236 -220
  87. package/lib/server/bidi/third_party/bidiProtocol.js +144 -131
  88. package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
  89. package/lib/server/bidi/third_party/firefoxPrefs.js +141 -119
  90. package/lib/server/browser.js +76 -84
  91. package/lib/server/browserContext.js +321 -346
  92. package/lib/server/browserType.js +169 -182
  93. package/lib/server/callLog.js +47 -44
  94. package/lib/server/chromium/chromium.js +212 -190
  95. package/lib/server/chromium/chromiumSwitches.js +86 -64
  96. package/lib/server/chromium/crAccessibility.js +157 -131
  97. package/lib/server/chromium/crBrowser.js +253 -273
  98. package/lib/server/chromium/crConnection.js +91 -116
  99. package/lib/server/chromium/crCoverage.js +113 -127
  100. package/lib/server/chromium/crDevTools.js +59 -51
  101. package/lib/server/chromium/crDragDrop.js +62 -79
  102. package/lib/server/chromium/crExecutionContext.js +88 -83
  103. package/lib/server/chromium/crInput.js +97 -95
  104. package/lib/server/chromium/crNetworkManager.js +288 -403
  105. package/lib/server/chromium/crPage.js +522 -608
  106. package/lib/server/chromium/crPdf.js +54 -86
  107. package/lib/server/chromium/crProtocolHelper.js +92 -80
  108. package/lib/server/chromium/crServiceWorker.js +82 -67
  109. package/lib/server/chromium/defaultFontFamilies.js +152 -135
  110. package/lib/server/chromium/protocol.d.js +16 -0
  111. package/lib/server/chromium/videoRecorder.js +65 -99
  112. package/lib/server/clock.js +62 -50
  113. package/lib/server/codegen/csharp.js +185 -160
  114. package/lib/server/codegen/java.js +155 -128
  115. package/lib/server/codegen/javascript.js +163 -148
  116. package/lib/server/codegen/jsonl.js +32 -28
  117. package/lib/server/codegen/language.js +75 -52
  118. package/lib/server/codegen/languages.js +65 -27
  119. package/lib/server/codegen/python.js +140 -125
  120. package/lib/server/codegen/types.js +15 -4
  121. package/lib/server/console.js +28 -32
  122. package/lib/server/cookieStore.js +105 -86
  123. package/lib/server/debugController.js +97 -124
  124. package/lib/server/debugger.js +82 -78
  125. package/lib/server/deviceDescriptors.js +37 -24
  126. package/lib/server/deviceDescriptorsSource.json +50 -50
  127. package/lib/server/dialog.js +36 -35
  128. package/lib/server/dispatchers/androidDispatcher.js +196 -107
  129. package/lib/server/dispatchers/artifactDispatcher.js +62 -62
  130. package/lib/server/dispatchers/browserContextDispatcher.js +176 -205
  131. package/lib/server/dispatchers/browserDispatcher.js +78 -97
  132. package/lib/server/dispatchers/browserTypeDispatcher.js +35 -35
  133. package/lib/server/dispatchers/cdpSessionDispatcher.js +32 -36
  134. package/lib/server/dispatchers/debugControllerDispatcher.js +48 -66
  135. package/lib/server/dispatchers/dialogDispatcher.js +30 -27
  136. package/lib/server/dispatchers/dispatcher.js +169 -220
  137. package/lib/server/dispatchers/electronDispatcher.js +54 -57
  138. package/lib/server/dispatchers/elementHandlerDispatcher.js +77 -119
  139. package/lib/server/dispatchers/frameDispatcher.js +99 -163
  140. package/lib/server/dispatchers/jsHandleDispatcher.js +49 -66
  141. package/lib/server/dispatchers/jsonPipeDispatcher.js +35 -36
  142. package/lib/server/dispatchers/localUtilsDispatcher.js +95 -80
  143. package/lib/server/dispatchers/networkDispatchers.js +90 -107
  144. package/lib/server/dispatchers/pageDispatcher.js +128 -169
  145. package/lib/server/dispatchers/playwrightDispatcher.js +69 -76
  146. package/lib/server/dispatchers/selectorsDispatcher.js +28 -24
  147. package/lib/server/dispatchers/streamDispatcher.js +42 -45
  148. package/lib/server/dispatchers/tracingDispatcher.js +36 -41
  149. package/lib/server/dispatchers/webSocketRouteDispatcher.js +96 -131
  150. package/lib/server/dispatchers/writableStreamDispatcher.js +54 -38
  151. package/lib/server/dom.js +413 -443
  152. package/lib/server/download.js +45 -35
  153. package/lib/server/electron/electron.js +156 -176
  154. package/lib/server/electron/loader.js +8 -36
  155. package/lib/server/errors.js +47 -46
  156. package/lib/server/fetch.js +289 -323
  157. package/lib/server/fileChooser.js +25 -24
  158. package/lib/server/fileUploadUtils.js +65 -59
  159. package/lib/server/firefox/ffAccessibility.js +153 -131
  160. package/lib/server/firefox/ffBrowser.js +213 -277
  161. package/lib/server/firefox/ffConnection.js +63 -84
  162. package/lib/server/firefox/ffExecutionContext.js +91 -73
  163. package/lib/server/firefox/ffInput.js +67 -69
  164. package/lib/server/firefox/ffNetworkManager.js +131 -110
  165. package/lib/server/firefox/ffPage.js +236 -273
  166. package/lib/server/firefox/firefox.js +76 -67
  167. package/lib/server/firefox/protocol.d.js +16 -0
  168. package/lib/server/formData.js +107 -35
  169. package/lib/server/frameSelectors.js +77 -111
  170. package/lib/server/frames.js +741 -891
  171. package/lib/server/har/harRecorder.js +85 -77
  172. package/lib/server/har/harTracer.js +287 -222
  173. package/lib/server/harBackend.js +80 -80
  174. package/lib/server/helper.js +56 -59
  175. package/lib/server/index.js +59 -99
  176. package/lib/server/input.js +134 -163
  177. package/lib/server/instrumentation.js +49 -44
  178. package/lib/server/javascript.js +143 -134
  179. package/lib/server/launchApp.js +92 -73
  180. package/lib/server/localUtils.js +130 -122
  181. package/lib/server/macEditingCommands.js +141 -137
  182. package/lib/server/network.js +262 -296
  183. package/lib/server/page.js +329 -426
  184. package/lib/server/pageBinding.js +88 -0
  185. package/lib/server/pipeTransport.js +49 -45
  186. package/lib/server/playwright.js +60 -67
  187. package/lib/server/progress.js +56 -51
  188. package/lib/server/protocolError.js +34 -31
  189. package/lib/server/recorder/chat.js +70 -86
  190. package/lib/server/recorder/contextRecorder.js +134 -138
  191. package/lib/server/recorder/recorderApp.js +127 -136
  192. package/lib/server/recorder/recorderCollection.js +56 -44
  193. package/lib/server/recorder/recorderFrontend.js +15 -4
  194. package/lib/server/recorder/recorderRunner.js +79 -103
  195. package/lib/server/recorder/recorderUtils.js +56 -45
  196. package/lib/server/recorder/throttledFile.js +42 -30
  197. package/lib/server/recorder.js +177 -186
  198. package/lib/server/registry/browserFetcher.js +106 -101
  199. package/lib/server/registry/dependencies.js +245 -196
  200. package/lib/server/registry/index.js +904 -792
  201. package/lib/server/registry/nativeDeps.js +1073 -464
  202. package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
  203. package/lib/server/screenshotter.js +166 -182
  204. package/lib/server/selectors.js +85 -46
  205. package/lib/server/socksClientCertificatesInterceptor.js +166 -185
  206. package/lib/server/socksInterceptor.js +62 -70
  207. package/lib/server/storageScript.js +94 -100
  208. package/lib/server/timeoutSettings.js +58 -43
  209. package/lib/server/trace/recorder/snapshotter.js +70 -89
  210. package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
  211. package/lib/server/trace/recorder/tracing.js +321 -333
  212. package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
  213. package/lib/server/trace/viewer/traceViewer.js +168 -146
  214. package/lib/server/transport.js +124 -133
  215. package/lib/server/types.js +26 -22
  216. package/lib/server/usKeyboardLayout.js +135 -545
  217. package/lib/server/utils/ascii.js +39 -26
  218. package/lib/server/utils/comparators.js +105 -103
  219. package/lib/server/utils/crypto.js +157 -112
  220. package/lib/server/utils/debug.js +37 -28
  221. package/lib/server/utils/debugLogger.js +69 -48
  222. package/lib/server/utils/env.js +52 -37
  223. package/lib/server/utils/eventsHelper.js +29 -28
  224. package/lib/server/utils/expectUtils.js +31 -26
  225. package/lib/server/utils/fileUtils.js +123 -136
  226. package/lib/server/utils/happyEyeballs.js +138 -123
  227. package/lib/server/utils/hostPlatform.js +84 -120
  228. package/lib/server/utils/httpServer.js +106 -121
  229. package/lib/server/utils/image_tools/colorUtils.js +42 -51
  230. package/lib/server/utils/image_tools/compare.js +44 -43
  231. package/lib/server/utils/image_tools/imageChannel.js +38 -30
  232. package/lib/server/utils/image_tools/stats.js +40 -40
  233. package/lib/server/utils/linuxUtils.js +50 -37
  234. package/lib/server/utils/network.js +143 -86
  235. package/lib/server/utils/nodePlatform.js +87 -79
  236. package/lib/server/utils/pipeTransport.js +44 -42
  237. package/lib/server/utils/processLauncher.js +111 -121
  238. package/lib/server/utils/profiler.js +52 -39
  239. package/lib/server/utils/socksProxy.js +280 -339
  240. package/lib/server/utils/spawnAsync.js +37 -41
  241. package/lib/server/utils/task.js +31 -38
  242. package/lib/server/utils/userAgent.js +73 -66
  243. package/lib/server/utils/wsServer.js +73 -69
  244. package/lib/server/utils/zipFile.js +36 -37
  245. package/lib/server/utils/zones.js +37 -34
  246. package/lib/server/webkit/protocol.d.js +16 -0
  247. package/lib/server/webkit/webkit.js +76 -63
  248. package/lib/server/webkit/wkAccessibility.js +161 -118
  249. package/lib/server/webkit/wkBrowser.js +159 -176
  250. package/lib/server/webkit/wkConnection.js +59 -83
  251. package/lib/server/webkit/wkExecutionContext.js +84 -70
  252. package/lib/server/webkit/wkInput.js +82 -80
  253. package/lib/server/webkit/wkInterceptableRequest.js +102 -95
  254. package/lib/server/webkit/wkPage.js +525 -619
  255. package/lib/server/webkit/wkProvisionalPage.js +45 -56
  256. package/lib/server/webkit/wkWorkers.js +77 -77
  257. package/lib/utils/isomorphic/ariaSnapshot.js +144 -152
  258. package/lib/utils/isomorphic/assert.js +28 -22
  259. package/lib/utils/isomorphic/builtins.js +90 -0
  260. package/lib/utils/isomorphic/colors.js +66 -59
  261. package/lib/utils/isomorphic/cssParser.js +121 -125
  262. package/lib/utils/isomorphic/cssTokenizer.js +436 -364
  263. package/lib/utils/isomorphic/headers.js +38 -37
  264. package/lib/utils/isomorphic/locatorGenerators.js +340 -357
  265. package/lib/utils/isomorphic/locatorParser.js +96 -105
  266. package/lib/utils/isomorphic/locatorUtils.js +63 -44
  267. package/lib/utils/isomorphic/manualPromise.js +47 -39
  268. package/lib/utils/isomorphic/mimeType.js +448 -25
  269. package/lib/utils/isomorphic/multimap.js +35 -27
  270. package/lib/utils/isomorphic/rtti.js +35 -33
  271. package/lib/utils/isomorphic/selectorParser.js +183 -193
  272. package/lib/utils/isomorphic/semaphore.js +27 -24
  273. package/lib/utils/isomorphic/stackTrace.js +87 -98
  274. package/lib/utils/isomorphic/stringUtils.js +113 -106
  275. package/lib/utils/isomorphic/time.js +41 -22
  276. package/lib/utils/isomorphic/timeoutRunner.js +55 -54
  277. package/lib/utils/isomorphic/traceUtils.js +38 -41
  278. package/lib/utils/isomorphic/types.js +15 -4
  279. package/lib/utils/isomorphic/urlMatch.js +112 -67
  280. package/lib/utils/isomorphic/utilityScriptSerializers.js +248 -0
  281. package/lib/utils.js +97 -443
  282. package/lib/utilsBundle.js +101 -52
  283. package/lib/vite/htmlReport/index.html +21 -15
  284. package/lib/vite/recorder/assets/{codeMirrorModule-B9YMkrwa.js → codeMirrorModule-DVQi6prl.js} +1 -1
  285. package/lib/vite/recorder/assets/index-97EUAAbk.js +184 -0
  286. package/lib/vite/recorder/index.html +1 -1
  287. package/lib/vite/traceViewer/assets/{codeMirrorModule-DpJ-EmBQ.js → codeMirrorModule-dvXVzLxY.js} +1 -1
  288. package/lib/vite/traceViewer/assets/defaultSettingsView-BjymbO6M.js +265 -0
  289. package/lib/vite/traceViewer/{defaultSettingsView.5fN5lw10.css → defaultSettingsView.QdHITyLI.css} +1 -1
  290. package/lib/vite/traceViewer/index.ChIUCJnj.js +2 -0
  291. package/lib/vite/traceViewer/index.html +3 -3
  292. package/lib/vite/traceViewer/sw.bundle.js +3 -3
  293. package/lib/vite/traceViewer/uiMode.html +3 -3
  294. package/lib/vite/traceViewer/uiMode.jUCiCtdp.js +5 -0
  295. package/lib/zipBundle.js +32 -23
  296. package/package.json +1 -1
  297. package/types/protocol.d.ts +436 -17
  298. package/types/types.d.ts +35 -16
  299. package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
  300. package/lib/vite/recorder/assets/index-ELPgmkwA.js +0 -184
  301. package/lib/vite/traceViewer/assets/defaultSettingsView-DTenqiGw.js +0 -259
  302. package/lib/vite/traceViewer/index.CUq7VgrV.js +0 -2
  303. package/lib/vite/traceViewer/uiMode.CHJSAD7F.js +0 -5
@@ -1,39 +1,38 @@
1
1
  "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Tracing = void 0;
7
- var _artifact = require("./artifact");
8
- var _channelOwner = require("./channelOwner");
9
- /**
10
- * Copyright (c) Microsoft Corporation.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
-
25
- class Tracing extends _channelOwner.ChannelOwner {
26
- static from(channel) {
27
- return channel._object;
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 });
28
15
  }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var tracing_exports = {};
20
+ __export(tracing_exports, {
21
+ Tracing: () => Tracing
22
+ });
23
+ module.exports = __toCommonJS(tracing_exports);
24
+ var import_artifact = require("./artifact");
25
+ var import_channelOwner = require("./channelOwner");
26
+ class Tracing extends import_channelOwner.ChannelOwner {
29
27
  constructor(parent, type, guid, initializer) {
30
28
  super(parent, type, guid, initializer);
31
29
  this._includeSources = false;
32
- this._tracesDir = void 0;
33
- this._stacksId = void 0;
34
30
  this._isTracing = false;
35
31
  this.markAsInternalType();
36
32
  }
33
+ static from(channel) {
34
+ return channel._object;
35
+ }
37
36
  async start(options = {}) {
38
37
  this._includeSources = !!options.sources;
39
38
  await this._channel.tracingStart({
@@ -42,26 +41,16 @@ class Tracing extends _channelOwner.ChannelOwner {
42
41
  screenshots: options.screenshots,
43
42
  live: options._live
44
43
  });
45
- const {
46
- traceName
47
- } = await this._channel.tracingStartChunk({
48
- name: options.name,
49
- title: options.title
50
- });
44
+ const { traceName } = await this._channel.tracingStartChunk({ name: options.name, title: options.title });
51
45
  await this._startCollectingStacks(traceName);
52
46
  }
53
47
  async startChunk(options = {}) {
54
- const {
55
- traceName
56
- } = await this._channel.tracingStartChunk(options);
48
+ const { traceName } = await this._channel.tracingStartChunk(options);
57
49
  await this._startCollectingStacks(traceName);
58
50
  }
59
51
  async group(name, options = {}) {
60
52
  await this._wrapApiCall(async () => {
61
- await this._channel.tracingGroup({
62
- name,
63
- location: options.location
64
- });
53
+ await this._channel.tracingGroup({ name, location: options.location });
65
54
  }, false);
66
55
  }
67
56
  async groupEnd() {
@@ -70,16 +59,12 @@ class Tracing extends _channelOwner.ChannelOwner {
70
59
  }, false);
71
60
  }
72
61
  async _startCollectingStacks(traceName) {
73
- var _this$_connection$loc;
74
62
  if (!this._isTracing) {
75
63
  this._isTracing = true;
76
64
  this._connection.setIsTracing(true);
77
65
  }
78
- const result = await ((_this$_connection$loc = this._connection.localUtils()) === null || _this$_connection$loc === void 0 ? void 0 : _this$_connection$loc.tracingStarted({
79
- tracesDir: this._tracesDir,
80
- traceName
81
- }));
82
- this._stacksId = result === null || result === void 0 ? void 0 : result.stacksId;
66
+ const result = await this._connection.localUtils()?.tracingStarted({ tracesDir: this._tracesDir, traceName });
67
+ this._stacksId = result?.stacksId;
83
68
  }
84
69
  async stopChunk(options = {}) {
85
70
  await this._doStopChunk(options.path);
@@ -91,54 +76,30 @@ class Tracing extends _channelOwner.ChannelOwner {
91
76
  async _doStopChunk(filePath) {
92
77
  this._resetStackCounter();
93
78
  if (!filePath) {
94
- // Not interested in artifacts.
95
- await this._channel.tracingStopChunk({
96
- mode: 'discard'
97
- });
98
- if (this._stacksId) await this._connection.localUtils().traceDiscarded({
99
- stacksId: this._stacksId
100
- });
79
+ await this._channel.tracingStopChunk({ mode: "discard" });
80
+ if (this._stacksId)
81
+ await this._connection.localUtils().traceDiscarded({ stacksId: this._stacksId });
101
82
  return;
102
83
  }
103
84
  const localUtils = this._connection.localUtils();
104
- if (!localUtils) throw new Error('Cannot save trace in thin clients');
85
+ if (!localUtils)
86
+ throw new Error("Cannot save trace in thin clients");
105
87
  const isLocal = !this._connection.isRemote();
106
88
  if (isLocal) {
107
- const result = await this._channel.tracingStopChunk({
108
- mode: 'entries'
109
- });
110
- await localUtils.zip({
111
- zipFile: filePath,
112
- entries: result.entries,
113
- mode: 'write',
114
- stacksId: this._stacksId,
115
- includeSources: this._includeSources
116
- });
89
+ const result2 = await this._channel.tracingStopChunk({ mode: "entries" });
90
+ await localUtils.zip({ zipFile: filePath, entries: result2.entries, mode: "write", stacksId: this._stacksId, includeSources: this._includeSources });
117
91
  return;
118
92
  }
119
- const result = await this._channel.tracingStopChunk({
120
- mode: 'archive'
121
- });
122
-
123
- // The artifact may be missing if the browser closed while stopping tracing.
93
+ const result = await this._channel.tracingStopChunk({ mode: "archive" });
124
94
  if (!result.artifact) {
125
- if (this._stacksId) await localUtils.traceDiscarded({
126
- stacksId: this._stacksId
127
- });
95
+ if (this._stacksId)
96
+ await localUtils.traceDiscarded({ stacksId: this._stacksId });
128
97
  return;
129
98
  }
130
-
131
- // Save trace to the final local file.
132
- const artifact = _artifact.Artifact.from(result.artifact);
99
+ const artifact = import_artifact.Artifact.from(result.artifact);
133
100
  await artifact.saveAs(filePath);
134
101
  await artifact.delete();
135
- await localUtils.zip({
136
- zipFile: filePath,
137
- entries: [],
138
- mode: 'append',
139
- stacksId: this._stacksId,
140
- includeSources: this._includeSources
141
- });
102
+ await localUtils.zip({ zipFile: filePath, entries: [], mode: "append", stacksId: this._stacksId, includeSources: this._includeSources });
142
103
  }
143
104
  _resetStackCounter() {
144
105
  if (this._isTracing) {
@@ -147,4 +108,7 @@ class Tracing extends _channelOwner.ChannelOwner {
147
108
  }
148
109
  }
149
110
  }
150
- exports.Tracing = Tracing;
111
+ // Annotate the CommonJS export names for ESM import in node:
112
+ 0 && (module.exports = {
113
+ Tracing
114
+ });
@@ -1,24 +1,28 @@
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 types_exports = {};
20
+ __export(types_exports, {
21
+ kLifecycleEvents: () => kLifecycleEvents
22
+ });
23
+ module.exports = __toCommonJS(types_exports);
24
+ const kLifecycleEvents = /* @__PURE__ */ new Set(["load", "domcontentloaded", "networkidle", "commit"]);
25
+ // Annotate the CommonJS export names for ESM import in node:
26
+ 0 && (module.exports = {
27
+ kLifecycleEvents
5
28
  });
6
- exports.kLifecycleEvents = void 0;
7
- /**
8
- * Copyright 2018 Google Inc. All rights reserved.
9
- * Modifications copyright (c) Microsoft Corporation.
10
- *
11
- * Licensed under the Apache License, Version 2.0 (the "License");
12
- * you may not use this file except in compliance with the License.
13
- * You may obtain a copy of the License at
14
- *
15
- * http://www.apache.org/licenses/LICENSE-2.0
16
- *
17
- * Unless required by applicable law or agreed to in writing, software
18
- * distributed under the License is distributed on an "AS IS" BASIS,
19
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
- * See the License for the specific language governing permissions and
21
- * limitations under the License.
22
- */
23
-
24
- const kLifecycleEvents = exports.kLifecycleEvents = new Set(['load', 'domcontentloaded', 'networkidle', 'commit']);
@@ -1,30 +1,31 @@
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 video_exports = {};
20
+ __export(video_exports, {
21
+ Video: () => Video
5
22
  });
6
- exports.Video = void 0;
7
- var _manualPromise = require("../utils/isomorphic/manualPromise");
8
- /**
9
- * Copyright (c) Microsoft Corporation.
10
- *
11
- * Licensed under the Apache License, Version 2.0 (the "License");
12
- * you may not use this file except in compliance with the License.
13
- * You may obtain a copy of the License at
14
- *
15
- * http://www.apache.org/licenses/LICENSE-2.0
16
- *
17
- * Unless required by applicable law or agreed to in writing, software
18
- * distributed under the License is distributed on an "AS IS" BASIS,
19
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
20
- * See the License for the specific language governing permissions and
21
- * limitations under the License.
22
- */
23
-
23
+ module.exports = __toCommonJS(video_exports);
24
+ var import_manualPromise = require("../utils/isomorphic/manualPromise");
24
25
  class Video {
25
26
  constructor(page, connection) {
26
27
  this._artifact = null;
27
- this._artifactReadyPromise = new _manualPromise.ManualPromise();
28
+ this._artifactReadyPromise = new import_manualPromise.ManualPromise();
28
29
  this._isRemote = false;
29
30
  this._isRemote = connection.isRemote();
30
31
  this._artifact = page._closedOrCrashedScope.safeRace(this._artifactReadyPromise);
@@ -33,19 +34,26 @@ class Video {
33
34
  this._artifactReadyPromise.resolve(artifact);
34
35
  }
35
36
  async path() {
36
- if (this._isRemote) throw new Error(`Path is not available when connecting remotely. Use saveAs() to save a local copy.`);
37
+ if (this._isRemote)
38
+ throw new Error(`Path is not available when connecting remotely. Use saveAs() to save a local copy.`);
37
39
  const artifact = await this._artifact;
38
- if (!artifact) throw new Error('Page did not produce any video frames');
40
+ if (!artifact)
41
+ throw new Error("Page did not produce any video frames");
39
42
  return artifact._initializer.absolutePath;
40
43
  }
41
44
  async saveAs(path) {
42
45
  const artifact = await this._artifact;
43
- if (!artifact) throw new Error('Page did not produce any video frames');
46
+ if (!artifact)
47
+ throw new Error("Page did not produce any video frames");
44
48
  return await artifact.saveAs(path);
45
49
  }
46
50
  async delete() {
47
51
  const artifact = await this._artifact;
48
- if (artifact) await artifact.delete();
52
+ if (artifact)
53
+ await artifact.delete();
49
54
  }
50
55
  }
51
- exports.Video = Video;
56
+ // Annotate the CommonJS export names for ESM import in node:
57
+ 0 && (module.exports = {
58
+ Video
59
+ });
@@ -1,131 +1,110 @@
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 waiter_exports = {};
20
+ __export(waiter_exports, {
21
+ Waiter: () => Waiter
5
22
  });
6
- exports.Waiter = void 0;
7
- var _errors = require("./errors");
8
- var _stackTrace = require("../utils/isomorphic/stackTrace");
9
- /**
10
- * Copyright (c) Microsoft Corporation.
11
- *
12
- * Licensed under the Apache License, Version 2.0 (the "License");
13
- * you may not use this file except in compliance with the License.
14
- * You may obtain a copy of the License at
15
- *
16
- * http://www.apache.org/licenses/LICENSE-2.0
17
- *
18
- * Unless required by applicable law or agreed to in writing, software
19
- * distributed under the License is distributed on an "AS IS" BASIS,
20
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
21
- * See the License for the specific language governing permissions and
22
- * limitations under the License.
23
- */
24
-
23
+ module.exports = __toCommonJS(waiter_exports);
24
+ var import_errors = require("./errors");
25
+ var import_stackTrace = require("../utils/isomorphic/stackTrace");
25
26
  class Waiter {
26
27
  constructor(channelOwner, event) {
27
- this._dispose = void 0;
28
28
  this._failures = [];
29
- this._immediateError = void 0;
30
29
  this._logs = [];
31
- this._channelOwner = void 0;
32
- this._waitId = void 0;
33
- this._error = void 0;
34
- this._savedZone = void 0;
35
30
  this._waitId = channelOwner._platform.createGuid();
36
31
  this._channelOwner = channelOwner;
37
32
  this._savedZone = channelOwner._platform.zones.current().pop();
38
- this._channelOwner._channel.waitForEventInfo({
39
- info: {
40
- waitId: this._waitId,
41
- phase: 'before',
42
- event
43
- }
44
- }).catch(() => {});
45
- this._dispose = [() => this._channelOwner._wrapApiCall(async () => {
46
- await this._channelOwner._channel.waitForEventInfo({
47
- info: {
48
- waitId: this._waitId,
49
- phase: 'after',
50
- error: this._error
51
- }
52
- });
53
- }, true).catch(() => {})];
33
+ this._channelOwner._channel.waitForEventInfo({ info: { waitId: this._waitId, phase: "before", event } }).catch(() => {
34
+ });
35
+ this._dispose = [
36
+ () => this._channelOwner._wrapApiCall(async () => {
37
+ await this._channelOwner._channel.waitForEventInfo({ info: { waitId: this._waitId, phase: "after", error: this._error } });
38
+ }, true).catch(() => {
39
+ })
40
+ ];
54
41
  }
55
42
  static createForEvent(channelOwner, event) {
56
43
  return new Waiter(channelOwner, event);
57
44
  }
58
45
  async waitForEvent(emitter, event, predicate) {
59
- const {
60
- promise,
61
- dispose
62
- } = waitForEvent(emitter, event, this._savedZone, predicate);
46
+ const { promise, dispose } = waitForEvent(emitter, event, this._savedZone, predicate);
63
47
  return await this.waitForPromise(promise, dispose);
64
48
  }
65
49
  rejectOnEvent(emitter, event, error, predicate) {
66
- const {
67
- promise,
68
- dispose
69
- } = waitForEvent(emitter, event, this._savedZone, predicate);
50
+ const { promise, dispose } = waitForEvent(emitter, event, this._savedZone, predicate);
70
51
  this._rejectOn(promise.then(() => {
71
- throw typeof error === 'function' ? error() : error;
52
+ throw typeof error === "function" ? error() : error;
72
53
  }), dispose);
73
54
  }
74
55
  rejectOnTimeout(timeout, message) {
75
- if (!timeout) return;
76
- const {
77
- promise,
78
- dispose
79
- } = waitForTimeout(timeout);
56
+ if (!timeout)
57
+ return;
58
+ const { promise, dispose } = waitForTimeout(timeout);
80
59
  this._rejectOn(promise.then(() => {
81
- throw new _errors.TimeoutError(message);
60
+ throw new import_errors.TimeoutError(message);
82
61
  }), dispose);
83
62
  }
84
63
  rejectImmediately(error) {
85
64
  this._immediateError = error;
86
65
  }
87
66
  dispose() {
88
- for (const dispose of this._dispose) dispose();
67
+ for (const dispose of this._dispose)
68
+ dispose();
89
69
  }
90
70
  async waitForPromise(promise, dispose) {
91
71
  try {
92
- if (this._immediateError) throw this._immediateError;
72
+ if (this._immediateError)
73
+ throw this._immediateError;
93
74
  const result = await Promise.race([promise, ...this._failures]);
94
- if (dispose) dispose();
75
+ if (dispose)
76
+ dispose();
95
77
  return result;
96
78
  } catch (e) {
97
- if (dispose) dispose();
79
+ if (dispose)
80
+ dispose();
98
81
  this._error = e.message;
99
82
  this.dispose();
100
- (0, _stackTrace.rewriteErrorMessage)(e, e.message + formatLogRecording(this._logs));
83
+ (0, import_stackTrace.rewriteErrorMessage)(e, e.message + formatLogRecording(this._logs));
101
84
  throw e;
102
85
  }
103
86
  }
104
87
  log(s) {
105
88
  this._logs.push(s);
106
89
  this._channelOwner._wrapApiCall(async () => {
107
- await this._channelOwner._channel.waitForEventInfo({
108
- info: {
109
- waitId: this._waitId,
110
- phase: 'log',
111
- message: s
112
- }
113
- });
114
- }, true).catch(() => {});
90
+ await this._channelOwner._channel.waitForEventInfo({ info: { waitId: this._waitId, phase: "log", message: s } });
91
+ }, true).catch(() => {
92
+ });
115
93
  }
116
94
  _rejectOn(promise, dispose) {
117
95
  this._failures.push(promise);
118
- if (dispose) this._dispose.push(dispose);
96
+ if (dispose)
97
+ this._dispose.push(dispose);
119
98
  }
120
99
  }
121
- exports.Waiter = Waiter;
122
100
  function waitForEvent(emitter, event, savedZone, predicate) {
123
101
  let listener;
124
102
  const promise = new Promise((resolve, reject) => {
125
- listener = async eventArg => {
103
+ listener = async (eventArg) => {
126
104
  await savedZone.run(async () => {
127
105
  try {
128
- if (predicate && !(await predicate(eventArg))) return;
106
+ if (predicate && !await predicate(eventArg))
107
+ return;
129
108
  emitter.removeListener(event, listener);
130
109
  resolve(eventArg);
131
110
  } catch (e) {
@@ -137,25 +116,27 @@ function waitForEvent(emitter, event, savedZone, predicate) {
137
116
  emitter.addListener(event, listener);
138
117
  });
139
118
  const dispose = () => emitter.removeListener(event, listener);
140
- return {
141
- promise,
142
- dispose
143
- };
119
+ return { promise, dispose };
144
120
  }
145
121
  function waitForTimeout(timeout) {
146
122
  let timeoutId;
147
- const promise = new Promise(resolve => timeoutId = setTimeout(resolve, timeout));
123
+ const promise = new Promise((resolve) => timeoutId = setTimeout(resolve, timeout));
148
124
  const dispose = () => clearTimeout(timeoutId);
149
- return {
150
- promise,
151
- dispose
152
- };
125
+ return { promise, dispose };
153
126
  }
154
127
  function formatLogRecording(log) {
155
- if (!log.length) return '';
128
+ if (!log.length)
129
+ return "";
156
130
  const header = ` logs `;
157
131
  const headerLength = 60;
158
132
  const leftLength = (headerLength - header.length) / 2;
159
133
  const rightLength = headerLength - header.length - leftLength;
160
- return `\n${'='.repeat(leftLength)}${header}${'='.repeat(rightLength)}\n${log.join('\n')}\n${'='.repeat(headerLength)}`;
161
- }
134
+ return `
135
+ ${"=".repeat(leftLength)}${header}${"=".repeat(rightLength)}
136
+ ${log.join("\n")}
137
+ ${"=".repeat(headerLength)}`;
138
+ }
139
+ // Annotate the CommonJS export names for ESM import in node:
140
+ 0 && (module.exports = {
141
+ Waiter
142
+ });
@@ -1,29 +1,28 @@
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 webError_exports = {};
20
+ __export(webError_exports, {
21
+ WebError: () => WebError
5
22
  });
6
- exports.WebError = void 0;
7
- /**
8
- * Copyright (c) Microsoft Corporation.
9
- *
10
- * Licensed under the Apache License, Version 2.0 (the "License");
11
- * you may not use this file except in compliance with the License.
12
- * You may obtain a copy of the License at
13
- *
14
- * http://www.apache.org/licenses/LICENSE-2.0
15
- *
16
- * Unless required by applicable law or agreed to in writing, software
17
- * distributed under the License is distributed on an "AS IS" BASIS,
18
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19
- * See the License for the specific language governing permissions and
20
- * limitations under the License.
21
- */
22
-
23
+ module.exports = __toCommonJS(webError_exports);
23
24
  class WebError {
24
25
  constructor(page, error) {
25
- this._page = void 0;
26
- this._error = void 0;
27
26
  this._page = page;
28
27
  this._error = error;
29
28
  }
@@ -34,4 +33,7 @@ class WebError {
34
33
  return this._error;
35
34
  }
36
35
  }
37
- exports.WebError = WebError;
36
+ // Annotate the CommonJS export names for ESM import in node:
37
+ 0 && (module.exports = {
38
+ WebError
39
+ });