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,83 +1,82 @@
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 eventEmitter_exports = {};
20
+ __export(eventEmitter_exports, {
21
+ EventEmitter: () => EventEmitter
5
22
  });
6
- exports.EventEmitter = void 0;
7
- /**
8
- * Copyright Joyent, Inc. and other Node contributors.
9
- * Modifications copyright (c) Microsoft Corporation.
10
- *
11
- * Permission is hereby granted, free of charge, to any person obtaining a
12
- * copy of this software and associated documentation files (the
13
- * "Software"), to deal in the Software without restriction, including
14
- * without limitation the rights to use, copy, modify, merge, publish,
15
- * distribute, sublicense, and/or sell copies of the Software, and to permit
16
- * persons to whom the Software is furnished to do so, subject to the
17
- * following conditions:
18
- *
19
- * The above copyright notice and this permission notice shall be included
20
- * in all copies or substantial portions of the Software.
21
- *
22
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
24
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
25
- * NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
26
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
27
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
28
- * USE OR OTHER DEALINGS IN THE SOFTWARE.
29
- */
30
-
23
+ module.exports = __toCommonJS(eventEmitter_exports);
31
24
  class EventEmitter {
32
25
  constructor(platform) {
33
- this._events = undefined;
26
+ this._events = void 0;
34
27
  this._eventsCount = 0;
35
- this._maxListeners = undefined;
36
- this._pendingHandlers = new Map();
37
- this._rejectionHandler = void 0;
38
- this._platform = void 0;
28
+ this._maxListeners = void 0;
29
+ this._pendingHandlers = /* @__PURE__ */ new Map();
39
30
  this._platform = platform;
40
- if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) {
41
- this._events = Object.create(null);
31
+ if (this._events === void 0 || this._events === Object.getPrototypeOf(this)._events) {
32
+ this._events = /* @__PURE__ */ Object.create(null);
42
33
  this._eventsCount = 0;
43
34
  }
44
- this._maxListeners = this._maxListeners || undefined;
35
+ this._maxListeners = this._maxListeners || void 0;
45
36
  this.on = this.addListener;
46
37
  this.off = this.removeListener;
47
38
  }
48
39
  setMaxListeners(n) {
49
- if (typeof n !== 'number' || n < 0 || Number.isNaN(n)) throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + '.');
40
+ if (typeof n !== "number" || n < 0 || Number.isNaN(n))
41
+ throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received ' + n + ".");
50
42
  this._maxListeners = n;
51
43
  return this;
52
44
  }
53
45
  getMaxListeners() {
54
- return this._maxListeners === undefined ? this._platform.defaultMaxListeners() : this._maxListeners;
46
+ return this._maxListeners === void 0 ? this._platform.defaultMaxListeners() : this._maxListeners;
55
47
  }
56
48
  emit(type, ...args) {
57
49
  const events = this._events;
58
- if (events === undefined) return false;
59
- const handler = events === null || events === void 0 ? void 0 : events[type];
60
- if (handler === undefined) return false;
61
- if (typeof handler === 'function') {
50
+ if (events === void 0)
51
+ return false;
52
+ const handler = events?.[type];
53
+ if (handler === void 0)
54
+ return false;
55
+ if (typeof handler === "function") {
62
56
  this._callHandler(type, handler, args);
63
57
  } else {
64
58
  const len = handler.length;
65
59
  const listeners = handler.slice();
66
- for (let i = 0; i < len; ++i) this._callHandler(type, listeners[i], args);
60
+ for (let i = 0; i < len; ++i)
61
+ this._callHandler(type, listeners[i], args);
67
62
  }
68
63
  return true;
69
64
  }
70
65
  _callHandler(type, handler, args) {
71
66
  const promise = Reflect.apply(handler, this, args);
72
- if (!(promise instanceof Promise)) return;
67
+ if (!(promise instanceof Promise))
68
+ return;
73
69
  let set = this._pendingHandlers.get(type);
74
70
  if (!set) {
75
- set = new Set();
71
+ set = /* @__PURE__ */ new Set();
76
72
  this._pendingHandlers.set(type, set);
77
73
  }
78
74
  set.add(promise);
79
- promise.catch(e => {
80
- if (this._rejectionHandler) this._rejectionHandler(e);else throw e;
75
+ promise.catch((e) => {
76
+ if (this._rejectionHandler)
77
+ this._rejectionHandler(e);
78
+ else
79
+ throw e;
81
80
  }).finally(() => set.delete(promise));
82
81
  }
83
82
  addListener(type, listener) {
@@ -90,48 +89,36 @@ class EventEmitter {
90
89
  checkListener(listener);
91
90
  let events = this._events;
92
91
  let existing;
93
- if (events === undefined) {
94
- events = this._events = Object.create(null);
92
+ if (events === void 0) {
93
+ events = this._events = /* @__PURE__ */ Object.create(null);
95
94
  this._eventsCount = 0;
96
95
  } else {
97
- // To avoid recursion in the case that type === "newListener"! Before
98
- // adding it to the listeners, first emit "newListener".
99
- if (events.newListener !== undefined) {
100
- this.emit('newListener', type, unwrapListener(listener));
101
-
102
- // Re-assign `events` because a newListener handler could have caused the
103
- // this._events to be assigned to a new object
96
+ if (events.newListener !== void 0) {
97
+ this.emit("newListener", type, unwrapListener(listener));
104
98
  events = this._events;
105
99
  }
106
100
  existing = events[type];
107
101
  }
108
- if (existing === undefined) {
109
- // Optimize the case of one listener. Don't need the extra array object.
102
+ if (existing === void 0) {
110
103
  existing = events[type] = listener;
111
104
  ++this._eventsCount;
112
105
  } else {
113
- if (typeof existing === 'function') {
114
- // Adding the second element, need to change to array.
106
+ if (typeof existing === "function") {
115
107
  existing = events[type] = prepend ? [listener, existing] : [existing, listener];
116
- // If we've already got an array, just append.
117
108
  } else if (prepend) {
118
109
  existing.unshift(listener);
119
110
  } else {
120
111
  existing.push(listener);
121
112
  }
122
-
123
- // Check for listener leak
124
113
  const m = this.getMaxListeners();
125
114
  if (m > 0 && existing.length > m && !existing.warned) {
126
115
  existing.warned = true;
127
- // No error code for this since it is a Warning
128
- const w = new Error('Possible EventEmitter memory leak detected. ' + existing.length + ' ' + String(type) + ' listeners ' + 'added. Use emitter.setMaxListeners() to ' + 'increase limit');
129
- w.name = 'MaxListenersExceededWarning';
116
+ const w = new Error("Possible EventEmitter memory leak detected. " + existing.length + " " + String(type) + " listeners added. Use emitter.setMaxListeners() to increase limit");
117
+ w.name = "MaxListenersExceededWarning";
130
118
  w.emitter = this;
131
119
  w.type = type;
132
120
  w.count = existing.length;
133
121
  if (!this._platform.isUnderTest()) {
134
- // eslint-disable-next-line no-console
135
122
  console.warn(w);
136
123
  }
137
124
  }
@@ -154,18 +141,20 @@ class EventEmitter {
154
141
  removeListener(type, listener) {
155
142
  checkListener(listener);
156
143
  const events = this._events;
157
- if (events === undefined) return this;
144
+ if (events === void 0)
145
+ return this;
158
146
  const list = events[type];
159
- if (list === undefined) return this;
147
+ if (list === void 0)
148
+ return this;
160
149
  if (list === listener || list.listener === listener) {
161
150
  if (--this._eventsCount === 0) {
162
- this._events = Object.create(null);
151
+ this._events = /* @__PURE__ */ Object.create(null);
163
152
  } else {
164
- var _listener;
165
153
  delete events[type];
166
- if (events.removeListener) this.emit('removeListener', type, (_listener = list.listener) !== null && _listener !== void 0 ? _listener : listener);
154
+ if (events.removeListener)
155
+ this.emit("removeListener", type, list.listener ?? listener);
167
156
  }
168
- } else if (typeof list !== 'function') {
157
+ } else if (typeof list !== "function") {
169
158
  let position = -1;
170
159
  let originalListener;
171
160
  for (let i = list.length - 1; i >= 0; i--) {
@@ -175,10 +164,16 @@ class EventEmitter {
175
164
  break;
176
165
  }
177
166
  }
178
- if (position < 0) return this;
179
- if (position === 0) list.shift();else list.splice(position, 1);
180
- if (list.length === 1) events[type] = list[0];
181
- if (events.removeListener !== undefined) this.emit('removeListener', type, originalListener || listener);
167
+ if (position < 0)
168
+ return this;
169
+ if (position === 0)
170
+ list.shift();
171
+ else
172
+ list.splice(position, 1);
173
+ if (list.length === 1)
174
+ events[type] = list[0];
175
+ if (events.removeListener !== void 0)
176
+ this.emit("removeListener", type, originalListener || listener);
182
177
  }
183
178
  return this;
184
179
  }
@@ -187,52 +182,57 @@ class EventEmitter {
187
182
  }
188
183
  removeAllListeners(type, options) {
189
184
  this._removeAllListeners(type);
190
- if (!options) return this;
191
- if (options.behavior === 'wait') {
185
+ if (!options)
186
+ return this;
187
+ if (options.behavior === "wait") {
192
188
  const errors = [];
193
- this._rejectionHandler = error => errors.push(error);
189
+ this._rejectionHandler = (error) => errors.push(error);
194
190
  return this._waitFor(type).then(() => {
195
- if (errors.length) throw errors[0];
191
+ if (errors.length)
192
+ throw errors[0];
196
193
  });
197
194
  }
198
- if (options.behavior === 'ignoreErrors') this._rejectionHandler = () => {};
195
+ if (options.behavior === "ignoreErrors")
196
+ this._rejectionHandler = () => {
197
+ };
199
198
  return Promise.resolve();
200
199
  }
201
200
  _removeAllListeners(type) {
202
201
  const events = this._events;
203
- if (!events) return;
204
-
205
- // not listening for removeListener, no need to emit
202
+ if (!events)
203
+ return;
206
204
  if (!events.removeListener) {
207
- if (type === undefined) {
208
- this._events = Object.create(null);
205
+ if (type === void 0) {
206
+ this._events = /* @__PURE__ */ Object.create(null);
209
207
  this._eventsCount = 0;
210
- } else if (events[type] !== undefined) {
211
- if (--this._eventsCount === 0) this._events = Object.create(null);else delete events[type];
208
+ } else if (events[type] !== void 0) {
209
+ if (--this._eventsCount === 0)
210
+ this._events = /* @__PURE__ */ Object.create(null);
211
+ else
212
+ delete events[type];
212
213
  }
213
214
  return;
214
215
  }
215
-
216
- // emit removeListener for all listeners on all events
217
- if (type === undefined) {
216
+ if (type === void 0) {
218
217
  const keys = Object.keys(events);
219
218
  let key;
220
219
  for (let i = 0; i < keys.length; ++i) {
221
220
  key = keys[i];
222
- if (key === 'removeListener') continue;
221
+ if (key === "removeListener")
222
+ continue;
223
223
  this._removeAllListeners(key);
224
224
  }
225
- this._removeAllListeners('removeListener');
226
- this._events = Object.create(null);
225
+ this._removeAllListeners("removeListener");
226
+ this._events = /* @__PURE__ */ Object.create(null);
227
227
  this._eventsCount = 0;
228
228
  return;
229
229
  }
230
230
  const listeners = events[type];
231
- if (typeof listeners === 'function') {
231
+ if (typeof listeners === "function") {
232
232
  this.removeListener(type, listeners);
233
- } else if (listeners !== undefined) {
234
- // LIFO order
235
- for (let i = listeners.length - 1; i >= 0; i--) this.removeListener(type, listeners[i]);
233
+ } else if (listeners !== void 0) {
234
+ for (let i = listeners.length - 1; i >= 0; i--)
235
+ this.removeListener(type, listeners[i]);
236
236
  }
237
237
  }
238
238
  listeners(type) {
@@ -243,10 +243,12 @@ class EventEmitter {
243
243
  }
244
244
  listenerCount(type) {
245
245
  const events = this._events;
246
- if (events !== undefined) {
246
+ if (events !== void 0) {
247
247
  const listener = events[type];
248
- if (typeof listener === 'function') return 1;
249
- if (listener !== undefined) return listener.length;
248
+ if (typeof listener === "function")
249
+ return 1;
250
+ if (listener !== void 0)
251
+ return listener.length;
250
252
  }
251
253
  return 0;
252
254
  }
@@ -256,33 +258,33 @@ class EventEmitter {
256
258
  async _waitFor(type) {
257
259
  let promises = [];
258
260
  if (type) {
259
- promises = [...(this._pendingHandlers.get(type) || [])];
261
+ promises = [...this._pendingHandlers.get(type) || []];
260
262
  } else {
261
263
  promises = [];
262
- for (const [, pending] of this._pendingHandlers) promises.push(...pending);
264
+ for (const [, pending] of this._pendingHandlers)
265
+ promises.push(...pending);
263
266
  }
264
267
  await Promise.all(promises);
265
268
  }
266
269
  _listeners(target, type, unwrap) {
267
270
  const events = target._events;
268
- if (events === undefined) return [];
271
+ if (events === void 0)
272
+ return [];
269
273
  const listener = events[type];
270
- if (listener === undefined) return [];
271
- if (typeof listener === 'function') return unwrap ? [unwrapListener(listener)] : [listener];
274
+ if (listener === void 0)
275
+ return [];
276
+ if (typeof listener === "function")
277
+ return unwrap ? [unwrapListener(listener)] : [listener];
272
278
  return unwrap ? unwrapListeners(listener) : listener.slice();
273
279
  }
274
280
  }
275
- exports.EventEmitter = EventEmitter;
276
281
  function checkListener(listener) {
277
- if (typeof listener !== 'function') throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
282
+ if (typeof listener !== "function")
283
+ throw new TypeError('The "listener" argument must be of type Function. Received type ' + typeof listener);
278
284
  }
279
285
  class OnceWrapper {
280
286
  constructor(eventEmitter, eventType, listener) {
281
287
  this._fired = false;
282
- this.wrapperFunction = void 0;
283
- this._listener = void 0;
284
- this._eventEmitter = void 0;
285
- this._eventType = void 0;
286
288
  this._eventEmitter = eventEmitter;
287
289
  this._eventType = eventType;
288
290
  this._listener = listener;
@@ -290,22 +292,23 @@ class OnceWrapper {
290
292
  this.wrapperFunction.listener = listener;
291
293
  }
292
294
  _handle(...args) {
293
- if (this._fired) return;
295
+ if (this._fired)
296
+ return;
294
297
  this._fired = true;
295
298
  this._eventEmitter.removeListener(this._eventType, this.wrapperFunction);
296
299
  return this._listener.apply(this._eventEmitter, args);
297
300
  }
298
301
  }
299
302
  function unwrapListener(l) {
300
- var _wrappedListener;
301
- return (_wrappedListener = wrappedListener(l)) !== null && _wrappedListener !== void 0 ? _wrappedListener : l;
303
+ return wrappedListener(l) ?? l;
302
304
  }
303
305
  function unwrapListeners(arr) {
304
- return arr.map(l => {
305
- var _wrappedListener2;
306
- return (_wrappedListener2 = wrappedListener(l)) !== null && _wrappedListener2 !== void 0 ? _wrappedListener2 : l;
307
- });
306
+ return arr.map((l) => wrappedListener(l) ?? l);
308
307
  }
309
308
  function wrappedListener(l) {
310
309
  return l.listener;
311
- }
310
+ }
311
+ // Annotate the CommonJS export names for ESM import in node:
312
+ 0 && (module.exports = {
313
+ EventEmitter
314
+ });
@@ -1,94 +1,98 @@
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 events_exports = {};
20
+ __export(events_exports, {
21
+ Events: () => Events
5
22
  });
6
- exports.Events = void 0;
7
- /**
8
- * Copyright 2019 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 Events = exports.Events = {
23
+ module.exports = __toCommonJS(events_exports);
24
+ const Events = {
25
25
  AndroidDevice: {
26
- WebView: 'webview',
27
- Close: 'close'
26
+ WebView: "webview",
27
+ Close: "close"
28
28
  },
29
29
  AndroidSocket: {
30
- Data: 'data',
31
- Close: 'close'
30
+ Data: "data",
31
+ Close: "close"
32
32
  },
33
33
  AndroidWebView: {
34
- Close: 'close'
34
+ Close: "close"
35
35
  },
36
36
  Browser: {
37
- Disconnected: 'disconnected'
37
+ Disconnected: "disconnected"
38
38
  },
39
39
  BrowserContext: {
40
- Console: 'console',
41
- Close: 'close',
42
- Dialog: 'dialog',
43
- Page: 'page',
40
+ Console: "console",
41
+ Close: "close",
42
+ Dialog: "dialog",
43
+ Page: "page",
44
44
  // Can't use just 'error' due to node.js special treatment of error events.
45
45
  // @see https://nodejs.org/api/events.html#events_error_events
46
- WebError: 'weberror',
47
- BackgroundPage: 'backgroundpage',
48
- ServiceWorker: 'serviceworker',
49
- Request: 'request',
50
- Response: 'response',
51
- RequestFailed: 'requestfailed',
52
- RequestFinished: 'requestfinished'
46
+ WebError: "weberror",
47
+ BackgroundPage: "backgroundpage",
48
+ ServiceWorker: "serviceworker",
49
+ Request: "request",
50
+ Response: "response",
51
+ RequestFailed: "requestfailed",
52
+ RequestFinished: "requestfinished"
53
53
  },
54
54
  BrowserServer: {
55
- Close: 'close'
55
+ Close: "close"
56
56
  },
57
57
  Page: {
58
- Close: 'close',
59
- Crash: 'crash',
60
- Console: 'console',
61
- Dialog: 'dialog',
62
- Download: 'download',
63
- FileChooser: 'filechooser',
64
- DOMContentLoaded: 'domcontentloaded',
58
+ Close: "close",
59
+ Crash: "crash",
60
+ Console: "console",
61
+ Dialog: "dialog",
62
+ Download: "download",
63
+ FileChooser: "filechooser",
64
+ DOMContentLoaded: "domcontentloaded",
65
65
  // Can't use just 'error' due to node.js special treatment of error events.
66
66
  // @see https://nodejs.org/api/events.html#events_error_events
67
- PageError: 'pageerror',
68
- Request: 'request',
69
- Response: 'response',
70
- RequestFailed: 'requestfailed',
71
- RequestFinished: 'requestfinished',
72
- FrameAttached: 'frameattached',
73
- FrameDetached: 'framedetached',
74
- FrameNavigated: 'framenavigated',
75
- Load: 'load',
76
- Popup: 'popup',
77
- WebSocket: 'websocket',
78
- Worker: 'worker'
67
+ PageError: "pageerror",
68
+ Request: "request",
69
+ Response: "response",
70
+ RequestFailed: "requestfailed",
71
+ RequestFinished: "requestfinished",
72
+ FrameAttached: "frameattached",
73
+ FrameDetached: "framedetached",
74
+ FrameNavigated: "framenavigated",
75
+ Load: "load",
76
+ Popup: "popup",
77
+ WebSocket: "websocket",
78
+ Worker: "worker"
79
79
  },
80
80
  WebSocket: {
81
- Close: 'close',
82
- Error: 'socketerror',
83
- FrameReceived: 'framereceived',
84
- FrameSent: 'framesent'
81
+ Close: "close",
82
+ Error: "socketerror",
83
+ FrameReceived: "framereceived",
84
+ FrameSent: "framesent"
85
85
  },
86
86
  Worker: {
87
- Close: 'close'
87
+ Close: "close"
88
88
  },
89
89
  ElectronApplication: {
90
- Close: 'close',
91
- Console: 'console',
92
- Window: 'window'
90
+ Close: "close",
91
+ Console: "console",
92
+ Window: "window"
93
93
  }
94
- };
94
+ };
95
+ // Annotate the CommonJS export names for ESM import in node:
96
+ 0 && (module.exports = {
97
+ Events
98
+ });