patchright-core 1.51.3 → 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 +284 -404
  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 +730 -894
  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-1DiydmYA.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-l0TyP_G8.js +0 -259
  302. package/lib/vite/traceViewer/index.BqUZLSro.js +0 -2
  303. package/lib/vite/traceViewer/uiMode.C1d2m5sF.js +0 -5
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var pageBinding_exports = {};
20
+ __export(pageBinding_exports, {
21
+ createPageBindingScript: () => createPageBindingScript,
22
+ deliverBindingResult: () => deliverBindingResult,
23
+ takeBindingHandle: () => takeBindingHandle
24
+ });
25
+ module.exports = __toCommonJS(pageBinding_exports);
26
+ var import_builtins = require("../utils/isomorphic/builtins");
27
+ var import_utilityScriptSerializers = require("../utils/isomorphic/utilityScriptSerializers");
28
+ function addPageBinding(bindingName, needsHandle, utilityScriptSerializersFactory, builtins2) {
29
+ const { serializeAsCallArgument } = utilityScriptSerializersFactory(builtins2);
30
+ const binding = globalThis[bindingName];
31
+ if (binding && binding.toString().startsWith("(...args) => {")) return;
32
+ globalThis[bindingName] = (...args) => {
33
+ const me = globalThis[bindingName];
34
+ if (needsHandle && args.slice(1).some((arg) => arg !== void 0))
35
+ throw new Error(`exposeBindingHandle supports a single argument, ${args.length} received`);
36
+ let callbacks = me["callbacks"];
37
+ if (!callbacks) {
38
+ callbacks = new builtins2.Map();
39
+ me["callbacks"] = callbacks;
40
+ }
41
+ const seq = (me["lastSeq"] || 0) + 1;
42
+ me["lastSeq"] = seq;
43
+ let handles = me["handles"];
44
+ if (!handles) {
45
+ handles = new builtins2.Map();
46
+ me["handles"] = handles;
47
+ }
48
+ const promise = new Promise((resolve, reject) => callbacks.set(seq, { resolve, reject }));
49
+ let payload;
50
+ if (needsHandle) {
51
+ handles.set(seq, args[0]);
52
+ payload = { name: bindingName, seq };
53
+ } else {
54
+ const serializedArgs = [];
55
+ for (let i = 0; i < args.length; i++) {
56
+ serializedArgs[i] = serializeAsCallArgument(args[i], (v) => {
57
+ return { fallThrough: v };
58
+ });
59
+ }
60
+ payload = { name: bindingName, seq, serializedArgs };
61
+ }
62
+ binding(JSON.stringify(payload));
63
+ return promise;
64
+ };
65
+ }
66
+ function takeBindingHandle(arg) {
67
+ const handles = globalThis[arg.name]["handles"];
68
+ const handle = handles.get(arg.seq);
69
+ handles.delete(arg.seq);
70
+ return handle;
71
+ }
72
+ function deliverBindingResult(arg) {
73
+ const callbacks = globalThis[arg.name]["callbacks"];
74
+ if ("error" in arg)
75
+ callbacks.get(arg.seq).reject(arg.error);
76
+ else
77
+ callbacks.get(arg.seq).resolve(arg.result);
78
+ callbacks.delete(arg.seq);
79
+ }
80
+ function createPageBindingScript(playwrightBinding, name, needsHandle) {
81
+ return `(${addPageBinding.toString()})(${JSON.stringify(playwrightBinding)}, ${JSON.stringify(name)}, ${needsHandle}, (${import_utilityScriptSerializers.source}), (${import_builtins.builtins})())`;
82
+ }
83
+ // Annotate the CommonJS export names for ESM import in node:
84
+ 0 && (module.exports = {
85
+ createPageBindingScript,
86
+ deliverBindingResult,
87
+ takeBindingHandle
88
+ });
@@ -1,65 +1,64 @@
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 pipeTransport_exports = {};
20
+ __export(pipeTransport_exports, {
21
+ PipeTransport: () => PipeTransport
5
22
  });
6
- exports.PipeTransport = void 0;
7
- var _utils = require("../utils");
8
- var _debugLogger = require("./utils/debugLogger");
9
- /**
10
- * Copyright 2018 Google Inc. All rights reserved.
11
- * Modifications copyright (c) Microsoft Corporation.
12
- *
13
- * Licensed under the Apache License, Version 2.0 (the "License");
14
- * you may not use this file except in compliance with the License.
15
- * You may obtain a copy of the License at
16
- *
17
- * http://www.apache.org/licenses/LICENSE-2.0
18
- *
19
- * Unless required by applicable law or agreed to in writing, software
20
- * distributed under the License is distributed on an "AS IS" BASIS,
21
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22
- * See the License for the specific language governing permissions and
23
- * limitations under the License.
24
- */
25
-
23
+ module.exports = __toCommonJS(pipeTransport_exports);
24
+ var import_utils = require("../utils");
25
+ var import_debugLogger = require("./utils/debugLogger");
26
26
  class PipeTransport {
27
27
  constructor(pipeWrite, pipeRead) {
28
- this._pipeRead = void 0;
29
- this._pipeWrite = void 0;
30
28
  this._pendingBuffers = [];
31
- this._waitForNextTask = (0, _utils.makeWaitForNextTask)();
29
+ this._waitForNextTask = (0, import_utils.makeWaitForNextTask)();
32
30
  this._closed = false;
33
- this._onclose = void 0;
34
- this.onmessage = void 0;
35
31
  this._pipeRead = pipeRead;
36
32
  this._pipeWrite = pipeWrite;
37
- pipeRead.on('data', buffer => this._dispatch(buffer));
38
- pipeRead.on('close', () => {
33
+ pipeRead.on("data", (buffer) => this._dispatch(buffer));
34
+ pipeRead.on("close", () => {
39
35
  this._closed = true;
40
- if (this._onclose) this._onclose.call(null);
36
+ if (this._onclose)
37
+ this._onclose.call(null);
41
38
  });
42
- pipeRead.on('error', e => _debugLogger.debugLogger.log('error', e));
43
- pipeWrite.on('error', e => _debugLogger.debugLogger.log('error', e));
44
- this.onmessage = undefined;
39
+ pipeRead.on("error", (e) => import_debugLogger.debugLogger.log("error", e));
40
+ pipeWrite.on("error", (e) => import_debugLogger.debugLogger.log("error", e));
41
+ this.onmessage = void 0;
45
42
  }
46
43
  get onclose() {
47
44
  return this._onclose;
48
45
  }
49
46
  set onclose(onclose) {
50
47
  this._onclose = onclose;
51
- if (onclose && !this._pipeRead.readable) onclose();
48
+ if (onclose && !this._pipeRead.readable)
49
+ onclose();
52
50
  }
53
51
  send(message) {
54
- if (this._closed) throw new Error('Pipe has been closed');
52
+ if (this._closed)
53
+ throw new Error("Pipe has been closed");
55
54
  this._pipeWrite.write(JSON.stringify(message));
56
- this._pipeWrite.write('\0');
55
+ this._pipeWrite.write("\0");
57
56
  }
58
57
  close() {
59
- throw new Error('unimplemented');
58
+ throw new Error("unimplemented");
60
59
  }
61
60
  _dispatch(buffer) {
62
- let end = buffer.indexOf('\0');
61
+ let end = buffer.indexOf("\0");
63
62
  if (end === -1) {
64
63
  this._pendingBuffers.push(buffer);
65
64
  return;
@@ -67,19 +66,24 @@ class PipeTransport {
67
66
  this._pendingBuffers.push(buffer.slice(0, end));
68
67
  const message = Buffer.concat(this._pendingBuffers).toString();
69
68
  this._waitForNextTask(() => {
70
- if (this.onmessage) this.onmessage.call(null, JSON.parse(message));
69
+ if (this.onmessage)
70
+ this.onmessage.call(null, JSON.parse(message));
71
71
  });
72
72
  let start = end + 1;
73
- end = buffer.indexOf('\0', start);
73
+ end = buffer.indexOf("\0", start);
74
74
  while (end !== -1) {
75
- const message = buffer.toString(undefined, start, end);
75
+ const message2 = buffer.toString(void 0, start, end);
76
76
  this._waitForNextTask(() => {
77
- if (this.onmessage) this.onmessage.call(null, JSON.parse(message));
77
+ if (this.onmessage)
78
+ this.onmessage.call(null, JSON.parse(message2));
78
79
  });
79
80
  start = end + 1;
80
- end = buffer.indexOf('\0', start);
81
+ end = buffer.indexOf("\0", start);
81
82
  }
82
83
  this._pendingBuffers = [buffer.slice(start)];
83
84
  }
84
85
  }
85
- exports.PipeTransport = PipeTransport;
86
+ // Annotate the CommonJS export names for ESM import in node:
87
+ 0 && (module.exports = {
88
+ PipeTransport
89
+ });
@@ -1,79 +1,68 @@
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 playwright_exports = {};
20
+ __export(playwright_exports, {
21
+ Playwright: () => Playwright,
22
+ createPlaywright: () => createPlaywright
5
23
  });
6
- exports.Playwright = void 0;
7
- exports.createPlaywright = createPlaywright;
8
- var _utils = require("../utils");
9
- var _android = require("./android/android");
10
- var _backendAdb = require("./android/backendAdb");
11
- var _bidiChromium = require("./bidi/bidiChromium");
12
- var _bidiFirefox = require("./bidi/bidiFirefox");
13
- var _chromium = require("./chromium/chromium");
14
- var _debugController = require("./debugController");
15
- var _electron = require("./electron/electron");
16
- var _firefox = require("./firefox/firefox");
17
- var _instrumentation = require("./instrumentation");
18
- var _selectors = require("./selectors");
19
- var _webkit = require("./webkit/webkit");
20
- /**
21
- * Copyright (c) Microsoft Corporation.
22
- *
23
- * Licensed under the Apache License, Version 2.0 (the "License");
24
- * you may not use this file except in compliance with the License.
25
- * You may obtain a copy of the License at
26
- *
27
- * http://www.apache.org/licenses/LICENSE-2.0
28
- *
29
- * Unless required by applicable law or agreed to in writing, software
30
- * distributed under the License is distributed on an "AS IS" BASIS,
31
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
32
- * See the License for the specific language governing permissions and
33
- * limitations under the License.
34
- */
35
-
36
- class Playwright extends _instrumentation.SdkObject {
24
+ module.exports = __toCommonJS(playwright_exports);
25
+ var import_utils = require("../utils");
26
+ var import_android = require("./android/android");
27
+ var import_backendAdb = require("./android/backendAdb");
28
+ var import_bidiChromium = require("./bidi/bidiChromium");
29
+ var import_bidiFirefox = require("./bidi/bidiFirefox");
30
+ var import_chromium = require("./chromium/chromium");
31
+ var import_debugController = require("./debugController");
32
+ var import_electron = require("./electron/electron");
33
+ var import_firefox = require("./firefox/firefox");
34
+ var import_instrumentation = require("./instrumentation");
35
+ var import_selectors = require("./selectors");
36
+ var import_webkit = require("./webkit/webkit");
37
+ class Playwright extends import_instrumentation.SdkObject {
37
38
  constructor(options) {
38
- super({
39
- attribution: {},
40
- instrumentation: (0, _instrumentation.createInstrumentation)()
41
- }, undefined, 'Playwright');
42
- this.selectors = void 0;
43
- this.chromium = void 0;
44
- this.android = void 0;
45
- this.electron = void 0;
46
- this.firefox = void 0;
47
- this.webkit = void 0;
48
- this.bidiChromium = void 0;
49
- this.bidiFirefox = void 0;
50
- this.options = void 0;
51
- this.debugController = void 0;
52
- this._allPages = new Set();
53
- this._allBrowsers = new Set();
39
+ super({ attribution: {}, instrumentation: (0, import_instrumentation.createInstrumentation)() }, void 0, "Playwright");
40
+ this._allPages = /* @__PURE__ */ new Set();
41
+ this._allBrowsers = /* @__PURE__ */ new Set();
54
42
  this.options = options;
55
43
  this.attribution.playwright = this;
56
44
  this.instrumentation.addListener({
57
- onBrowserOpen: browser => this._allBrowsers.add(browser),
58
- onBrowserClose: browser => this._allBrowsers.delete(browser),
59
- onPageOpen: page => this._allPages.add(page),
60
- onPageClose: page => this._allPages.delete(page),
45
+ onBrowserOpen: (browser) => this._allBrowsers.add(browser),
46
+ onBrowserClose: (browser) => this._allBrowsers.delete(browser),
47
+ onPageOpen: (page) => this._allPages.add(page),
48
+ onPageClose: (page) => this._allPages.delete(page),
61
49
  onCallLog: (sdkObject, metadata, logName, message) => {
62
- _utils.debugLogger.log(logName, message);
50
+ import_utils.debugLogger.log(logName, message);
63
51
  }
64
52
  }, null);
65
- this.chromium = new _chromium.Chromium(this);
66
- this.bidiChromium = new _bidiChromium.BidiChromium(this);
67
- this.bidiFirefox = new _bidiFirefox.BidiFirefox(this);
68
- this.firefox = new _firefox.Firefox(this);
69
- this.webkit = new _webkit.WebKit(this);
70
- this.electron = new _electron.Electron(this);
71
- this.android = new _android.Android(this, new _backendAdb.AdbBackend());
72
- this.selectors = new _selectors.Selectors();
73
- this.debugController = new _debugController.DebugController(this);
53
+ this.chromium = new import_chromium.Chromium(this);
54
+ this.bidiChromium = new import_bidiChromium.BidiChromium(this);
55
+ this.bidiFirefox = new import_bidiFirefox.BidiFirefox(this);
56
+ this.firefox = new import_firefox.Firefox(this);
57
+ this.webkit = new import_webkit.WebKit(this);
58
+ this.electron = new import_electron.Electron(this);
59
+ this.android = new import_android.Android(this, new import_backendAdb.AdbBackend());
60
+ this.selectors = new import_selectors.Selectors();
61
+ this.debugController = new import_debugController.DebugController(this);
74
62
  }
75
63
  async hideHighlight() {
76
- await Promise.all([...this._allPages].map(p => p.hideHighlight().catch(() => {})));
64
+ await Promise.all([...this._allPages].map((p) => p.hideHighlight().catch(() => {
65
+ })));
77
66
  }
78
67
  allBrowsers() {
79
68
  return [...this._allBrowsers];
@@ -82,7 +71,11 @@ class Playwright extends _instrumentation.SdkObject {
82
71
  return [...this._allPages];
83
72
  }
84
73
  }
85
- exports.Playwright = Playwright;
86
74
  function createPlaywright(options) {
87
75
  return new Playwright(options);
88
- }
76
+ }
77
+ // Annotate the CommonJS export names for ESM import in node:
78
+ 0 && (module.exports = {
79
+ Playwright,
80
+ createPlaywright
81
+ });
@@ -1,44 +1,42 @@
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 progress_exports = {};
20
+ __export(progress_exports, {
21
+ ProgressController: () => ProgressController
5
22
  });
6
- exports.ProgressController = void 0;
7
- var _errors = require("./errors");
8
- var _utils = require("../utils");
9
- var _manualPromise = require("../utils/isomorphic/manualPromise");
10
- /**
11
- * Copyright (c) Microsoft Corporation.
12
- *
13
- * Licensed under the Apache License, Version 2.0 (the "License");
14
- * you may not use this file except in compliance with the License.
15
- * You may obtain a copy of the License at
16
- *
17
- * http://www.apache.org/licenses/LICENSE-2.0
18
- *
19
- * Unless required by applicable law or agreed to in writing, software
20
- * distributed under the License is distributed on an "AS IS" BASIS,
21
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22
- * See the License for the specific language governing permissions and
23
- * limitations under the License.
24
- */
25
-
23
+ module.exports = __toCommonJS(progress_exports);
24
+ var import_errors = require("./errors");
25
+ var import_utils = require("../utils");
26
+ var import_manualPromise = require("../utils/isomorphic/manualPromise");
26
27
  class ProgressController {
27
28
  constructor(metadata, sdkObject) {
28
- this._forceAbortPromise = new _manualPromise.ManualPromise();
29
+ this._forceAbortPromise = new import_manualPromise.ManualPromise();
29
30
  // Cleanups to be run only in the case of abort.
30
31
  this._cleanups = [];
31
- this._logName = 'api';
32
- this._state = 'before';
32
+ this._logName = "api";
33
+ this._state = "before";
33
34
  this._deadline = 0;
34
35
  this._timeout = 0;
35
- this.metadata = void 0;
36
- this.instrumentation = void 0;
37
- this.sdkObject = void 0;
38
36
  this.metadata = metadata;
39
37
  this.sdkObject = sdkObject;
40
38
  this.instrumentation = sdkObject.instrumentation;
41
- this._forceAbortPromise.catch(e => null); // Prevent unhandled promise rejection.
39
+ this._forceAbortPromise.catch((e) => null);
42
40
  }
43
41
  setLogName(logName) {
44
42
  this._logName = logName;
@@ -47,53 +45,60 @@ class ProgressController {
47
45
  this._forceAbortPromise.reject(error);
48
46
  }
49
47
  async run(task, timeout) {
50
- var _this$sdkObject$attri;
51
48
  if (timeout) {
52
49
  this._timeout = timeout;
53
- this._deadline = timeout ? (0, _utils.monotonicTime)() + timeout : 0;
50
+ this._deadline = timeout ? (0, import_utils.monotonicTime)() + timeout : 0;
54
51
  }
55
- (0, _utils.assert)(this._state === 'before');
56
- this._state = 'running';
57
- (_this$sdkObject$attri = this.sdkObject.attribution.context) === null || _this$sdkObject$attri === void 0 || _this$sdkObject$attri._activeProgressControllers.add(this);
52
+ (0, import_utils.assert)(this._state === "before");
53
+ this._state = "running";
54
+ this.sdkObject.attribution.context?._activeProgressControllers.add(this);
58
55
  const progress = {
59
- log: message => {
60
- if (this._state === 'running') this.metadata.log.push(message);
61
- // Note: we might be sending logs after progress has finished, for example browser logs.
56
+ log: (message) => {
57
+ if (this._state === "running")
58
+ this.metadata.log.push(message);
62
59
  this.instrumentation.onCallLog(this.sdkObject, this.metadata, this._logName, message);
63
60
  },
64
- timeUntilDeadline: () => this._deadline ? this._deadline - (0, _utils.monotonicTime)() : 2147483647,
61
+ timeUntilDeadline: () => this._deadline ? this._deadline - (0, import_utils.monotonicTime)() : 2147483647,
65
62
  // 2^31-1 safe setTimeout in Node.
66
- isRunning: () => this._state === 'running',
67
- cleanupWhenAborted: cleanup => {
68
- if (this._state === 'running') this._cleanups.push(cleanup);else runCleanup(cleanup);
63
+ isRunning: () => this._state === "running",
64
+ cleanupWhenAborted: (cleanup) => {
65
+ if (this._state === "running")
66
+ this._cleanups.push(cleanup);
67
+ else
68
+ runCleanup(cleanup);
69
69
  },
70
70
  throwIfAborted: () => {
71
- if (this._state === 'aborted') throw new AbortedError();
71
+ if (this._state === "aborted")
72
+ throw new AbortedError();
72
73
  },
73
74
  metadata: this.metadata
74
75
  };
75
- const timeoutError = new _errors.TimeoutError(`Timeout ${this._timeout}ms exceeded.`);
76
+ const timeoutError = new import_errors.TimeoutError(`Timeout ${this._timeout}ms exceeded.`);
76
77
  const timer = setTimeout(() => this._forceAbortPromise.reject(timeoutError), progress.timeUntilDeadline());
77
78
  try {
78
79
  const promise = task(progress);
79
80
  const result = await Promise.race([promise, this._forceAbortPromise]);
80
- this._state = 'finished';
81
+ this._state = "finished";
81
82
  return result;
82
83
  } catch (e) {
83
- this._state = 'aborted';
84
+ this._state = "aborted";
84
85
  await Promise.all(this._cleanups.splice(0).map(runCleanup));
85
86
  throw e;
86
87
  } finally {
87
- var _this$sdkObject$attri2;
88
- (_this$sdkObject$attri2 = this.sdkObject.attribution.context) === null || _this$sdkObject$attri2 === void 0 || _this$sdkObject$attri2._activeProgressControllers.delete(this);
88
+ this.sdkObject.attribution.context?._activeProgressControllers.delete(this);
89
89
  clearTimeout(timer);
90
90
  }
91
91
  }
92
92
  }
93
- exports.ProgressController = ProgressController;
94
93
  async function runCleanup(cleanup) {
95
94
  try {
96
95
  await cleanup();
97
- } catch (e) {}
96
+ } catch (e) {
97
+ }
98
98
  }
99
- class AbortedError extends Error {}
99
+ class AbortedError extends Error {
100
+ }
101
+ // Annotate the CommonJS export names for ESM import in node:
102
+ 0 && (module.exports = {
103
+ ProgressController
104
+ });
@@ -1,49 +1,52 @@
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 protocolError_exports = {};
20
+ __export(protocolError_exports, {
21
+ ProtocolError: () => ProtocolError,
22
+ isProtocolError: () => isProtocolError,
23
+ isSessionClosedError: () => isSessionClosedError
5
24
  });
6
- exports.ProtocolError = void 0;
7
- exports.isProtocolError = isProtocolError;
8
- exports.isSessionClosedError = isSessionClosedError;
9
- var _stackTrace = require("../utils/isomorphic/stackTrace");
10
- /**
11
- * Copyright (c) Microsoft Corporation.
12
- *
13
- * Licensed under the Apache License, Version 2.0 (the "License");
14
- * you may not use this file except in compliance with the License.
15
- * You may obtain a copy of the License at
16
- *
17
- * http://www.apache.org/licenses/LICENSE-2.0
18
- *
19
- * Unless required by applicable law or agreed to in writing, software
20
- * distributed under the License is distributed on an "AS IS" BASIS,
21
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
22
- * See the License for the specific language governing permissions and
23
- * limitations under the License.
24
- */
25
-
25
+ module.exports = __toCommonJS(protocolError_exports);
26
+ var import_stackTrace = require("../utils/isomorphic/stackTrace");
26
27
  class ProtocolError extends Error {
27
28
  constructor(type, method, logs) {
28
29
  super();
29
- this.type = void 0;
30
- this.method = void 0;
31
- this.logs = void 0;
32
30
  this.type = type;
33
31
  this.method = method;
34
32
  this.logs = logs;
35
33
  }
36
34
  setMessage(message) {
37
- (0, _stackTrace.rewriteErrorMessage)(this, `Protocol error (${this.method}): ${message}`);
35
+ (0, import_stackTrace.rewriteErrorMessage)(this, `Protocol error (${this.method}): ${message}`);
38
36
  }
39
37
  browserLogMessage() {
40
- return this.logs ? '\nBrowser logs:\n' + this.logs : '';
38
+ return this.logs ? "\nBrowser logs:\n" + this.logs : "";
41
39
  }
42
40
  }
43
- exports.ProtocolError = ProtocolError;
44
41
  function isProtocolError(e) {
45
42
  return e instanceof ProtocolError;
46
43
  }
47
44
  function isSessionClosedError(e) {
48
- return e instanceof ProtocolError && (e.type === 'closed' || e.type === 'crashed');
49
- }
45
+ return e instanceof ProtocolError && (e.type === "closed" || e.type === "crashed");
46
+ }
47
+ // Annotate the CommonJS export names for ESM import in node:
48
+ 0 && (module.exports = {
49
+ ProtocolError,
50
+ isProtocolError,
51
+ isSessionClosedError
52
+ });