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,160 +1,138 @@
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 browserType_exports = {};
20
+ __export(browserType_exports, {
21
+ BrowserType: () => BrowserType
5
22
  });
6
- exports.BrowserType = void 0;
7
- var _browser3 = require("./browser");
8
- var _browserContext = require("./browserContext");
9
- var _channelOwner = require("./channelOwner");
10
- var _clientHelper = require("./clientHelper");
11
- var _events = require("./events");
12
- var _assert = require("../utils/isomorphic/assert");
13
- var _headers = require("../utils/isomorphic/headers");
14
- var _time = require("../utils/isomorphic/time");
15
- var _timeoutRunner = require("../utils/isomorphic/timeoutRunner");
16
- var _webSocket = require("./webSocket");
17
- /**
18
- * Copyright (c) Microsoft Corporation.
19
- *
20
- * Licensed under the Apache License, Version 2.0 (the "License");
21
- * you may not use this file except in compliance with the License.
22
- * You may obtain a copy of the License at
23
- *
24
- * http://www.apache.org/licenses/LICENSE-2.0
25
- *
26
- * Unless required by applicable law or agreed to in writing, software
27
- * distributed under the License is distributed on an "AS IS" BASIS,
28
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
29
- * See the License for the specific language governing permissions and
30
- * limitations under the License.
31
- */
32
-
33
- // This is here just for api generation and checking.
34
-
35
- class BrowserType extends _channelOwner.ChannelOwner {
36
- constructor(...args) {
37
- super(...args);
38
- this._serverLauncher = void 0;
39
- this._contexts = new Set();
40
- this._playwright = void 0;
23
+ module.exports = __toCommonJS(browserType_exports);
24
+ var import_browser = require("./browser");
25
+ var import_browserContext = require("./browserContext");
26
+ var import_channelOwner = require("./channelOwner");
27
+ var import_clientHelper = require("./clientHelper");
28
+ var import_events = require("./events");
29
+ var import_assert = require("../utils/isomorphic/assert");
30
+ var import_headers = require("../utils/isomorphic/headers");
31
+ var import_time = require("../utils/isomorphic/time");
32
+ var import_timeoutRunner = require("../utils/isomorphic/timeoutRunner");
33
+ var import_webSocket = require("./webSocket");
34
+ class BrowserType extends import_channelOwner.ChannelOwner {
35
+ constructor() {
36
+ super(...arguments);
37
+ this._contexts = /* @__PURE__ */ new Set();
41
38
  }
42
39
  static from(browserType) {
43
40
  return browserType._object;
44
41
  }
45
42
  executablePath() {
46
- if (!this._initializer.executablePath) throw new Error('Browser is not supported on current platform');
43
+ if (!this._initializer.executablePath)
44
+ throw new Error("Browser is not supported on current platform");
47
45
  return this._initializer.executablePath;
48
46
  }
49
47
  name() {
50
48
  return this._initializer.name;
51
49
  }
52
50
  async launch(options = {}) {
53
- var _this$_playwright$_de;
54
- (0, _assert.assert)(!options.userDataDir, 'userDataDir option is not supported in `browserType.launch`. Use `browserType.launchPersistentContext` instead');
55
- (0, _assert.assert)(!options.port, 'Cannot specify a port without launching as a server.');
56
- const logger = options.logger || ((_this$_playwright$_de = this._playwright._defaultLaunchOptions) === null || _this$_playwright$_de === void 0 ? void 0 : _this$_playwright$_de.logger);
57
- options = {
58
- ...this._playwright._defaultLaunchOptions,
59
- ...options
60
- };
51
+ (0, import_assert.assert)(!options.userDataDir, "userDataDir option is not supported in `browserType.launch`. Use `browserType.launchPersistentContext` instead");
52
+ (0, import_assert.assert)(!options.port, "Cannot specify a port without launching as a server.");
53
+ const logger = options.logger || this._playwright._defaultLaunchOptions?.logger;
54
+ options = { ...this._playwright._defaultLaunchOptions, ...options };
61
55
  const launchOptions = {
62
56
  ...options,
63
- ignoreDefaultArgs: Array.isArray(options.ignoreDefaultArgs) ? options.ignoreDefaultArgs : undefined,
57
+ ignoreDefaultArgs: Array.isArray(options.ignoreDefaultArgs) ? options.ignoreDefaultArgs : void 0,
64
58
  ignoreAllDefaultArgs: !!options.ignoreDefaultArgs && !Array.isArray(options.ignoreDefaultArgs),
65
- env: options.env ? (0, _clientHelper.envObjectToArray)(options.env) : undefined
59
+ env: options.env ? (0, import_clientHelper.envObjectToArray)(options.env) : void 0
66
60
  };
67
61
  return await this._wrapApiCall(async () => {
68
- const browser = _browser3.Browser.from((await this._channel.launch(launchOptions)).browser);
62
+ const browser = import_browser.Browser.from((await this._channel.launch(launchOptions)).browser);
69
63
  this._didLaunchBrowser(browser, options, logger);
70
64
  return browser;
71
65
  });
72
66
  }
73
67
  async launchServer(options = {}) {
74
- if (!this._serverLauncher) throw new Error('Launching server is not supported');
75
- options = {
76
- ...this._playwright._defaultLaunchOptions,
77
- ...options
78
- };
68
+ if (!this._serverLauncher)
69
+ throw new Error("Launching server is not supported");
70
+ options = { ...this._playwright._defaultLaunchOptions, ...options };
79
71
  return await this._serverLauncher.launchServer(options);
80
72
  }
81
73
  async launchPersistentContext(userDataDir, options = {}) {
82
- var _this$_playwright$_de2;
83
- const logger = options.logger || ((_this$_playwright$_de2 = this._playwright._defaultLaunchOptions) === null || _this$_playwright$_de2 === void 0 ? void 0 : _this$_playwright$_de2.logger);
84
- (0, _assert.assert)(!options.port, 'Cannot specify a port without launching as a server.');
85
- options = {
86
- ...this._playwright._defaultLaunchOptions,
87
- ...this._playwright._defaultContextOptions,
88
- ...options
89
- };
90
- const contextParams = await (0, _browserContext.prepareBrowserContextParams)(this._platform, options);
74
+ const logger = options.logger || this._playwright._defaultLaunchOptions?.logger;
75
+ (0, import_assert.assert)(!options.port, "Cannot specify a port without launching as a server.");
76
+ options = { ...this._playwright._defaultLaunchOptions, ...this._playwright._defaultContextOptions, ...options };
77
+ const contextParams = await (0, import_browserContext.prepareBrowserContextParams)(this._platform, options);
91
78
  const persistentParams = {
92
79
  ...contextParams,
93
- ignoreDefaultArgs: Array.isArray(options.ignoreDefaultArgs) ? options.ignoreDefaultArgs : undefined,
80
+ ignoreDefaultArgs: Array.isArray(options.ignoreDefaultArgs) ? options.ignoreDefaultArgs : void 0,
94
81
  ignoreAllDefaultArgs: !!options.ignoreDefaultArgs && !Array.isArray(options.ignoreDefaultArgs),
95
- env: options.env ? (0, _clientHelper.envObjectToArray)(options.env) : undefined,
82
+ env: options.env ? (0, import_clientHelper.envObjectToArray)(options.env) : void 0,
96
83
  channel: options.channel,
97
84
  userDataDir: this._platform.path().isAbsolute(userDataDir) || !userDataDir ? userDataDir : this._platform.path().resolve(userDataDir)
98
85
  };
99
86
  return await this._wrapApiCall(async () => {
100
87
  const result = await this._channel.launchPersistentContext(persistentParams);
101
- const context = _browserContext.BrowserContext.from(result.context);
88
+ const context = import_browserContext.BrowserContext.from(result.context);
102
89
  await this._didCreateContext(context, contextParams, options, logger);
103
90
  return context;
104
91
  });
105
92
  }
106
93
  async connect(optionsOrWsEndpoint, options) {
107
- if (typeof optionsOrWsEndpoint === 'string') return await this._connect({
108
- ...options,
109
- wsEndpoint: optionsOrWsEndpoint
110
- });
111
- (0, _assert.assert)(optionsOrWsEndpoint.wsEndpoint, 'options.wsEndpoint is required');
94
+ if (typeof optionsOrWsEndpoint === "string")
95
+ return await this._connect({ ...options, wsEndpoint: optionsOrWsEndpoint });
96
+ (0, import_assert.assert)(optionsOrWsEndpoint.wsEndpoint, "options.wsEndpoint is required");
112
97
  return await this._connect(optionsOrWsEndpoint);
113
98
  }
114
99
  async _connect(params) {
115
100
  const logger = params.logger;
116
101
  return await this._wrapApiCall(async () => {
117
- var _params$exposeNetwork;
118
- const deadline = params.timeout ? (0, _time.monotonicTime)() + params.timeout : 0;
119
- const headers = {
120
- 'x-playwright-browser': this.name(),
121
- ...params.headers
122
- };
102
+ const deadline = params.timeout ? (0, import_time.monotonicTime)() + params.timeout : 0;
103
+ const headers = { "x-playwright-browser": this.name(), ...params.headers };
123
104
  const connectParams = {
124
105
  wsEndpoint: params.wsEndpoint,
125
106
  headers,
126
- exposeNetwork: (_params$exposeNetwork = params.exposeNetwork) !== null && _params$exposeNetwork !== void 0 ? _params$exposeNetwork : params._exposeNetwork,
107
+ exposeNetwork: params.exposeNetwork ?? params._exposeNetwork,
127
108
  slowMo: params.slowMo,
128
109
  timeout: params.timeout
129
110
  };
130
- if (params.__testHookRedirectPortForwarding) connectParams.socksProxyRedirectPortForTest = params.__testHookRedirectPortForwarding;
131
- const connection = await (0, _webSocket.connectOverWebSocket)(this._connection, connectParams);
111
+ if (params.__testHookRedirectPortForwarding)
112
+ connectParams.socksProxyRedirectPortForTest = params.__testHookRedirectPortForwarding;
113
+ const connection = await (0, import_webSocket.connectOverWebSocket)(this._connection, connectParams);
132
114
  let browser;
133
- connection.on('close', () => {
134
- // Emulate all pages, contexts and the browser closing upon disconnect.
135
- for (const context of ((_browser = browser) === null || _browser === void 0 ? void 0 : _browser.contexts()) || []) {
136
- var _browser;
137
- for (const page of context.pages()) page._onClose();
115
+ connection.on("close", () => {
116
+ for (const context of browser?.contexts() || []) {
117
+ for (const page of context.pages())
118
+ page._onClose();
138
119
  context._onClose();
139
120
  }
140
- setTimeout(() => {
141
- var _browser2;
142
- return (_browser2 = browser) === null || _browser2 === void 0 ? void 0 : _browser2._didClose();
143
- }, 0);
121
+ setTimeout(() => browser?._didClose(), 0);
144
122
  });
145
- const result = await (0, _timeoutRunner.raceAgainstDeadline)(async () => {
146
- // For tests.
147
- if (params.__testHookBeforeCreateBrowser) await params.__testHookBeforeCreateBrowser();
123
+ const result = await (0, import_timeoutRunner.raceAgainstDeadline)(async () => {
124
+ if (params.__testHookBeforeCreateBrowser)
125
+ await params.__testHookBeforeCreateBrowser();
148
126
  const playwright = await connection.initializePlaywright();
149
127
  if (!playwright._initializer.preLaunchedBrowser) {
150
128
  connection.close();
151
- throw new Error('Malformed endpoint. Did you use BrowserType.launchServer method?');
129
+ throw new Error("Malformed endpoint. Did you use BrowserType.launchServer method?");
152
130
  }
153
131
  playwright._setSelectors(this._playwright.selectors);
154
- browser = _browser3.Browser.from(playwright._initializer.preLaunchedBrowser);
132
+ browser = import_browser.Browser.from(playwright._initializer.preLaunchedBrowser);
155
133
  this._didLaunchBrowser(browser, {}, logger);
156
134
  browser._shouldCloseConnectionOnClose = true;
157
- browser.on(_events.Events.Browser.Disconnected, () => connection.close());
135
+ browser.on(import_events.Events.Browser.Disconnected, () => connection.close());
158
136
  return browser;
159
137
  }, deadline);
160
138
  if (!result.timedOut) {
@@ -166,23 +144,26 @@ class BrowserType extends _channelOwner.ChannelOwner {
166
144
  });
167
145
  }
168
146
  async connectOverCDP(endpointURLOrOptions, options) {
169
- if (typeof endpointURLOrOptions === 'string') return await this._connectOverCDP(endpointURLOrOptions, options);
170
- const endpointURL = 'endpointURL' in endpointURLOrOptions ? endpointURLOrOptions.endpointURL : endpointURLOrOptions.wsEndpoint;
171
- (0, _assert.assert)(endpointURL, 'Cannot connect over CDP without wsEndpoint.');
147
+ if (typeof endpointURLOrOptions === "string")
148
+ return await this._connectOverCDP(endpointURLOrOptions, options);
149
+ const endpointURL = "endpointURL" in endpointURLOrOptions ? endpointURLOrOptions.endpointURL : endpointURLOrOptions.wsEndpoint;
150
+ (0, import_assert.assert)(endpointURL, "Cannot connect over CDP without wsEndpoint.");
172
151
  return await this.connectOverCDP(endpointURL, endpointURLOrOptions);
173
152
  }
174
153
  async _connectOverCDP(endpointURL, params = {}) {
175
- if (this.name() !== 'chromium') throw new Error('Connecting over CDP is only supported in Chromium.');
176
- const headers = params.headers ? (0, _headers.headersObjectToArray)(params.headers) : undefined;
154
+ if (this.name() !== "chromium")
155
+ throw new Error("Connecting over CDP is only supported in Chromium.");
156
+ const headers = params.headers ? (0, import_headers.headersObjectToArray)(params.headers) : void 0;
177
157
  const result = await this._channel.connectOverCDP({
178
158
  endpointURL,
179
159
  headers,
180
160
  slowMo: params.slowMo,
181
161
  timeout: params.timeout
182
162
  });
183
- const browser = _browser3.Browser.from(result.browser);
163
+ const browser = import_browser.Browser.from(result.browser);
184
164
  this._didLaunchBrowser(browser, {}, params.logger);
185
- if (result.defaultContext) await this._didCreateContext(_browserContext.BrowserContext.from(result.defaultContext), {}, {}, params.logger);
165
+ if (result.defaultContext)
166
+ await this._didCreateContext(import_browserContext.BrowserContext.from(result.defaultContext), {}, {}, params.logger);
186
167
  return browser;
187
168
  }
188
169
  _didLaunchBrowser(browser, browserOptions, logger) {
@@ -195,8 +176,10 @@ class BrowserType extends _channelOwner.ChannelOwner {
195
176
  context._browserType = this;
196
177
  this._contexts.add(context);
197
178
  context._setOptions(contextOptions, browserOptions);
198
- if (this._playwright._defaultContextTimeout !== undefined) context.setDefaultTimeout(this._playwright._defaultContextTimeout);
199
- if (this._playwright._defaultContextNavigationTimeout !== undefined) context.setDefaultNavigationTimeout(this._playwright._defaultContextNavigationTimeout);
179
+ if (this._playwright._defaultContextTimeout !== void 0)
180
+ context.setDefaultTimeout(this._playwright._defaultContextTimeout);
181
+ if (this._playwright._defaultContextNavigationTimeout !== void 0)
182
+ context.setDefaultNavigationTimeout(this._playwright._defaultContextNavigationTimeout);
200
183
  await this._instrumentation.runAfterCreateBrowserContext(context);
201
184
  }
202
185
  async _willCloseContext(context) {
@@ -204,4 +187,7 @@ class BrowserType extends _channelOwner.ChannelOwner {
204
187
  await this._instrumentation.runBeforeCloseBrowserContext(context);
205
188
  }
206
189
  }
207
- exports.BrowserType = BrowserType;
190
+ // Annotate the CommonJS export names for ESM import in node:
191
+ 0 && (module.exports = {
192
+ BrowserType
193
+ });
@@ -1,36 +1,34 @@
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 cdpSession_exports = {};
20
+ __export(cdpSession_exports, {
21
+ CDPSession: () => CDPSession
5
22
  });
6
- exports.CDPSession = void 0;
7
- var _channelOwner = require("./channelOwner");
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
-
24
- class CDPSession extends _channelOwner.ChannelOwner {
23
+ module.exports = __toCommonJS(cdpSession_exports);
24
+ var import_channelOwner = require("./channelOwner");
25
+ class CDPSession extends import_channelOwner.ChannelOwner {
25
26
  static from(cdpSession) {
26
27
  return cdpSession._object;
27
28
  }
28
29
  constructor(parent, type, guid, initializer) {
29
30
  super(parent, type, guid, initializer);
30
- this._channel.on('event', ({
31
- method,
32
- params
33
- }) => {
31
+ this._channel.on("event", ({ method, params }) => {
34
32
  this.emit(method, params);
35
33
  });
36
34
  this.on = super.on;
@@ -40,14 +38,14 @@ class CDPSession extends _channelOwner.ChannelOwner {
40
38
  this.once = super.once;
41
39
  }
42
40
  async send(method, params) {
43
- const result = await this._channel.send({
44
- method,
45
- params
46
- });
41
+ const result = await this._channel.send({ method, params });
47
42
  return result.result;
48
43
  }
49
44
  async detach() {
50
45
  return await this._channel.detach();
51
46
  }
52
47
  }
53
- exports.CDPSession = CDPSession;
48
+ // Annotate the CommonJS export names for ESM import in node:
49
+ 0 && (module.exports = {
50
+ CDPSession
51
+ });