patchright-core 1.52.5 → 1.55.1

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 (218) hide show
  1. package/ThirdPartyNotices.txt +65 -123
  2. package/bin/reinstall_chrome_beta_mac.sh +1 -1
  3. package/bin/reinstall_chrome_stable_mac.sh +1 -1
  4. package/bin/reinstall_msedge_beta_mac.sh +1 -1
  5. package/bin/reinstall_msedge_dev_mac.sh +1 -1
  6. package/bin/reinstall_msedge_stable_mac.sh +1 -1
  7. package/browsers.json +14 -14
  8. package/index.js +1 -1
  9. package/lib/androidServerImpl.js +4 -2
  10. package/lib/browserServerImpl.js +47 -12
  11. package/lib/cli/program.js +116 -50
  12. package/lib/cli/programWithTestStub.js +1 -1
  13. package/lib/client/android.js +30 -34
  14. package/lib/client/browser.js +54 -17
  15. package/lib/client/browserContext.js +67 -71
  16. package/lib/client/browserType.js +25 -34
  17. package/lib/client/channelOwner.js +20 -24
  18. package/lib/client/connection.js +6 -10
  19. package/lib/client/electron.js +8 -3
  20. package/lib/client/elementHandle.js +18 -21
  21. package/lib/client/fetch.js +5 -3
  22. package/lib/client/frame.js +54 -32
  23. package/lib/client/input.js +3 -1
  24. package/lib/client/jsHandle.js +4 -0
  25. package/lib/client/localUtils.js +0 -1
  26. package/lib/client/locator.js +30 -26
  27. package/lib/client/network.js +5 -12
  28. package/lib/client/page.js +32 -32
  29. package/lib/client/playwright.js +6 -16
  30. package/lib/client/selectors.js +18 -38
  31. package/lib/client/timeoutSettings.js +12 -8
  32. package/lib/client/tracing.js +24 -20
  33. package/lib/client/waiter.js +2 -2
  34. package/lib/client/webSocket.js +4 -22
  35. package/lib/generated/bindingsControllerSource.js +28 -0
  36. package/lib/generated/clockSource.js +1 -1
  37. package/lib/generated/injectedScriptSource.js +1 -1
  38. package/lib/generated/pollingRecorderSource.js +1 -1
  39. package/lib/generated/storageScriptSource.js +28 -0
  40. package/lib/generated/utilityScriptSource.js +1 -1
  41. package/lib/generated/webSocketMockSource.js +12 -50
  42. package/lib/inProcessFactory.js +9 -6
  43. package/lib/outofprocess.js +0 -2
  44. package/lib/protocol/validator.js +421 -345
  45. package/lib/protocol/validatorPrimitives.js +18 -4
  46. package/lib/remote/playwrightConnection.js +29 -166
  47. package/lib/remote/playwrightServer.js +233 -35
  48. package/lib/server/android/android.js +97 -83
  49. package/lib/server/android/backendAdb.js +0 -2
  50. package/lib/server/bidi/bidiBrowser.js +139 -73
  51. package/lib/server/bidi/bidiChromium.js +23 -22
  52. package/lib/server/bidi/bidiExecutionContext.js +2 -1
  53. package/lib/server/bidi/bidiFirefox.js +17 -14
  54. package/lib/server/bidi/bidiInput.js +22 -22
  55. package/lib/server/bidi/bidiNetworkManager.js +8 -11
  56. package/lib/server/bidi/bidiPage.js +42 -86
  57. package/lib/server/bidi/third_party/bidiProtocol.js +5 -133
  58. package/lib/server/bidi/third_party/bidiProtocolCore.js +179 -0
  59. package/lib/server/{dispatchers/selectorsDispatcher.js → bidi/third_party/bidiProtocolPermissions.js} +20 -18
  60. package/lib/server/browser.js +30 -21
  61. package/lib/server/browserContext.js +203 -165
  62. package/lib/server/browserType.js +109 -107
  63. package/lib/server/chromium/chromium.js +84 -69
  64. package/lib/server/chromium/chromiumSwitches.js +13 -20
  65. package/lib/server/chromium/crBrowser.js +74 -40
  66. package/lib/server/chromium/crConnection.js +8 -9
  67. package/lib/server/chromium/crCoverage.js +11 -8
  68. package/lib/server/chromium/crDragDrop.js +25 -20
  69. package/lib/server/chromium/crExecutionContext.js +2 -1
  70. package/lib/server/chromium/crInput.js +32 -29
  71. package/lib/server/chromium/crNetworkManager.js +43 -31
  72. package/lib/server/chromium/crPage.js +98 -72
  73. package/lib/server/chromium/crServiceWorker.js +13 -18
  74. package/lib/server/chromium/videoRecorder.js +10 -18
  75. package/lib/server/clock.js +51 -39
  76. package/lib/server/codegen/csharp.js +10 -5
  77. package/lib/server/codegen/java.js +1 -1
  78. package/lib/server/codegen/javascript.js +1 -1
  79. package/lib/server/codegen/jsonl.js +2 -1
  80. package/lib/server/codegen/language.js +22 -1
  81. package/lib/server/codegen/languages.js +4 -4
  82. package/lib/server/codegen/python.js +1 -1
  83. package/lib/server/cookieStore.js +3 -1
  84. package/lib/server/debugController.js +105 -71
  85. package/lib/server/debugger.js +6 -23
  86. package/lib/server/deviceDescriptorsSource.json +237 -127
  87. package/lib/server/dialog.js +50 -6
  88. package/lib/server/dispatchers/androidDispatcher.js +77 -62
  89. package/lib/server/dispatchers/artifactDispatcher.js +18 -18
  90. package/lib/server/dispatchers/browserContextDispatcher.js +141 -91
  91. package/lib/server/dispatchers/browserDispatcher.js +55 -88
  92. package/lib/server/dispatchers/browserTypeDispatcher.js +18 -9
  93. package/lib/server/dispatchers/cdpSessionDispatcher.js +4 -4
  94. package/lib/server/dispatchers/debugControllerDispatcher.js +12 -21
  95. package/lib/server/dispatchers/dialogDispatcher.js +4 -4
  96. package/lib/server/dispatchers/dispatcher.js +78 -53
  97. package/lib/server/dispatchers/electronDispatcher.js +19 -20
  98. package/lib/server/dispatchers/elementHandlerDispatcher.js +83 -93
  99. package/lib/server/dispatchers/frameDispatcher.js +98 -101
  100. package/lib/server/dispatchers/jsHandleDispatcher.js +21 -16
  101. package/lib/server/dispatchers/jsonPipeDispatcher.js +4 -4
  102. package/lib/server/dispatchers/localUtilsDispatcher.js +53 -59
  103. package/lib/server/dispatchers/networkDispatchers.js +41 -35
  104. package/lib/server/dispatchers/pageDispatcher.js +156 -107
  105. package/lib/server/dispatchers/playwrightDispatcher.js +37 -25
  106. package/lib/server/dispatchers/streamDispatcher.js +15 -8
  107. package/lib/server/dispatchers/tracingDispatcher.js +22 -13
  108. package/lib/server/dispatchers/webSocketRouteDispatcher.js +46 -35
  109. package/lib/server/dispatchers/writableStreamDispatcher.js +16 -10
  110. package/lib/server/dom.js +198 -266
  111. package/lib/server/download.js +3 -3
  112. package/lib/server/electron/electron.js +96 -103
  113. package/lib/server/electron/loader.js +1 -1
  114. package/lib/server/fetch.js +22 -41
  115. package/lib/server/fileUploadUtils.js +1 -1
  116. package/lib/server/firefox/ffBrowser.js +79 -55
  117. package/lib/server/firefox/ffExecutionContext.js +2 -1
  118. package/lib/server/firefox/ffInput.js +23 -23
  119. package/lib/server/firefox/ffNetworkManager.js +8 -6
  120. package/lib/server/firefox/ffPage.js +39 -36
  121. package/lib/server/firefox/firefox.js +9 -10
  122. package/lib/server/frameSelectors.js +63 -20
  123. package/lib/server/frames.js +495 -555
  124. package/lib/server/har/harRecorder.js +1 -1
  125. package/lib/server/har/harTracer.js +4 -2
  126. package/lib/server/helper.js +3 -7
  127. package/lib/server/index.js +0 -3
  128. package/lib/server/input.js +47 -54
  129. package/lib/server/instrumentation.js +8 -14
  130. package/lib/server/javascript.js +8 -16
  131. package/lib/server/launchApp.js +48 -30
  132. package/lib/server/localUtils.js +45 -38
  133. package/lib/server/network.js +44 -10
  134. package/lib/server/page.js +232 -177
  135. package/lib/server/pageBinding.js +6 -7
  136. package/lib/server/playwright.js +4 -14
  137. package/lib/server/progress.js +57 -49
  138. package/lib/server/recorder/recorderApp.js +298 -95
  139. package/lib/server/recorder/recorderRunner.js +23 -24
  140. package/lib/server/recorder/recorderSignalProcessor.js +83 -0
  141. package/lib/server/recorder/recorderUtils.js +67 -10
  142. package/lib/server/recorder.js +284 -146
  143. package/lib/server/registry/index.js +83 -48
  144. package/lib/server/registry/nativeDeps.js +175 -0
  145. package/lib/server/registry/oopDownloadBrowserMain.js +1 -1
  146. package/lib/server/screenshotter.js +84 -83
  147. package/lib/server/selectors.js +12 -12
  148. package/lib/server/socksClientCertificatesInterceptor.js +198 -136
  149. package/lib/server/trace/recorder/snapshotter.js +12 -19
  150. package/lib/server/trace/recorder/tracing.js +36 -27
  151. package/lib/server/trace/viewer/traceViewer.js +11 -20
  152. package/lib/server/transport.js +20 -22
  153. package/lib/server/utils/comparators.js +2 -2
  154. package/lib/server/utils/debug.js +3 -8
  155. package/lib/server/utils/debugLogger.js +8 -0
  156. package/lib/server/utils/hostPlatform.js +3 -1
  157. package/lib/server/utils/network.js +35 -25
  158. package/lib/server/utils/nodePlatform.js +1 -1
  159. package/lib/server/utils/processLauncher.js +4 -1
  160. package/lib/server/utils/wsServer.js +11 -17
  161. package/lib/server/webkit/webkit.js +5 -2
  162. package/lib/server/webkit/wkBrowser.js +51 -28
  163. package/lib/server/webkit/wkExecutionContext.js +2 -1
  164. package/lib/server/webkit/wkInput.js +25 -25
  165. package/lib/server/webkit/wkInterceptableRequest.js +1 -1
  166. package/lib/server/webkit/wkPage.js +80 -59
  167. package/lib/server/webkit/wkProvisionalPage.js +1 -1
  168. package/lib/server/webkit/wkWorkers.js +7 -7
  169. package/lib/utils/isomorphic/ariaSnapshot.js +13 -7
  170. package/lib/utils/isomorphic/cssParser.js +1 -2
  171. package/lib/utils/isomorphic/locatorGenerators.js +18 -0
  172. package/lib/utils/isomorphic/manualPromise.js +1 -2
  173. package/lib/utils/isomorphic/mimeType.js +1 -2
  174. package/lib/utils/isomorphic/multimap.js +1 -2
  175. package/lib/utils/isomorphic/oldUtilityScriptSerializers.js +248 -0
  176. package/lib/utils/isomorphic/protocolFormatter.js +78 -0
  177. package/lib/utils/isomorphic/protocolMetainfo.js +318 -0
  178. package/lib/utils/isomorphic/selectorParser.js +3 -4
  179. package/lib/utils/isomorphic/stringUtils.js +3 -24
  180. package/lib/utils/isomorphic/time.js +9 -4
  181. package/lib/utils/isomorphic/timeoutRunner.js +3 -4
  182. package/lib/utils/isomorphic/traceUtils.js +2 -3
  183. package/lib/utils/isomorphic/urlMatch.js +21 -7
  184. package/lib/utils/isomorphic/utilityScriptSerializers.js +208 -205
  185. package/lib/utils.js +8 -2
  186. package/lib/utilsBundleImpl/index.js +160 -150
  187. package/lib/vite/htmlReport/index.html +17 -17
  188. package/lib/vite/recorder/assets/{codeMirrorModule-CXVeovup.js → codeMirrorModule-DzQ0k89p.js} +1 -1
  189. package/lib/vite/recorder/assets/{index-eHBmevrY.css → index-CI4HQ-Zb.css} +1 -1
  190. package/lib/vite/recorder/assets/index-D7C7daHH.js +184 -0
  191. package/lib/vite/recorder/index.html +3 -3
  192. package/lib/vite/traceViewer/assets/{codeMirrorModule-_GLjJL-7.js → codeMirrorModule-Di48jgWx.js} +1 -1
  193. package/lib/vite/traceViewer/assets/defaultSettingsView-szBn8781.js +256 -0
  194. package/lib/vite/traceViewer/defaultSettingsView.DVJHpiGt.css +1 -0
  195. package/lib/vite/traceViewer/index.BFsek2M6.css +1 -0
  196. package/lib/vite/traceViewer/index.DQvXoPLL.js +2 -0
  197. package/lib/vite/traceViewer/index.html +6 -6
  198. package/lib/vite/traceViewer/sw.bundle.js +3 -3
  199. package/lib/vite/traceViewer/uiMode.dBV3oN9h.js +5 -0
  200. package/lib/vite/traceViewer/uiMode.html +4 -4
  201. package/lib/zipBundleImpl.js +4 -4
  202. package/package.json +1 -1
  203. package/types/protocol.d.ts +712 -107
  204. package/types/types.d.ts +128 -17
  205. package/lib/generated/consoleApiSource.js +0 -28
  206. package/lib/protocol/debug.js +0 -211
  207. package/lib/server/recorder/contextRecorder.js +0 -286
  208. package/lib/server/recorder/recorderCollection.js +0 -116
  209. package/lib/server/recorder/recorderFrontend.js +0 -16
  210. package/lib/server/storageScript.js +0 -154
  211. package/lib/server/timeoutSettings.js +0 -89
  212. package/lib/utils/isomorphic/builtins.js +0 -86
  213. package/lib/vite/recorder/assets/index-BsWQsSGl.js +0 -184
  214. package/lib/vite/traceViewer/assets/defaultSettingsView-DtCQiGHe.js +0 -265
  215. package/lib/vite/traceViewer/defaultSettingsView.QdHITyLI.css +0 -1
  216. package/lib/vite/traceViewer/index.CFOW-Ezb.css +0 -1
  217. package/lib/vite/traceViewer/index.cFZzK9RN.js +0 -2
  218. package/lib/vite/traceViewer/uiMode.XVPIqBeS.js +0 -5
@@ -0,0 +1,318 @@
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 protocolMetainfo_exports = {};
20
+ __export(protocolMetainfo_exports, {
21
+ methodMetainfo: () => methodMetainfo
22
+ });
23
+ module.exports = __toCommonJS(protocolMetainfo_exports);
24
+ const methodMetainfo = /* @__PURE__ */ new Map([
25
+ ["APIRequestContext.fetch", { title: '{method} "{url}"' }],
26
+ ["APIRequestContext.fetchResponseBody", { title: "Get response body", group: "getter" }],
27
+ ["APIRequestContext.fetchLog", { internal: true }],
28
+ ["APIRequestContext.storageState", { title: "Get storage state" }],
29
+ ["APIRequestContext.disposeAPIResponse", { internal: true }],
30
+ ["APIRequestContext.dispose", { internal: true }],
31
+ ["LocalUtils.zip", { internal: true }],
32
+ ["LocalUtils.harOpen", { internal: true }],
33
+ ["LocalUtils.harLookup", { internal: true }],
34
+ ["LocalUtils.harClose", { internal: true }],
35
+ ["LocalUtils.harUnzip", { internal: true }],
36
+ ["LocalUtils.connect", { internal: true }],
37
+ ["LocalUtils.tracingStarted", { internal: true }],
38
+ ["LocalUtils.addStackToTracingNoReply", { internal: true }],
39
+ ["LocalUtils.traceDiscarded", { internal: true }],
40
+ ["LocalUtils.globToRegex", { internal: true }],
41
+ ["Root.initialize", { internal: true }],
42
+ ["Playwright.newRequest", { title: "Create request context" }],
43
+ ["DebugController.initialize", { internal: true }],
44
+ ["DebugController.setReportStateChanged", { internal: true }],
45
+ ["DebugController.setRecorderMode", { internal: true }],
46
+ ["DebugController.highlight", { internal: true }],
47
+ ["DebugController.hideHighlight", { internal: true }],
48
+ ["DebugController.resume", { internal: true }],
49
+ ["DebugController.kill", { internal: true }],
50
+ ["SocksSupport.socksConnected", { internal: true }],
51
+ ["SocksSupport.socksFailed", { internal: true }],
52
+ ["SocksSupport.socksData", { internal: true }],
53
+ ["SocksSupport.socksError", { internal: true }],
54
+ ["SocksSupport.socksEnd", { internal: true }],
55
+ ["BrowserType.launch", { title: "Launch browser" }],
56
+ ["BrowserType.launchPersistentContext", { title: "Launch persistent context" }],
57
+ ["BrowserType.connectOverCDP", { title: "Connect over CDP" }],
58
+ ["Browser.close", { title: "Close browser", pausesBeforeAction: true }],
59
+ ["Browser.killForTests", { internal: true }],
60
+ ["Browser.defaultUserAgentForTest", { internal: true }],
61
+ ["Browser.newContext", { title: "Create context" }],
62
+ ["Browser.newContextForReuse", { internal: true }],
63
+ ["Browser.disconnectFromReusedContext", { internal: true }],
64
+ ["Browser.newBrowserCDPSession", { title: "Create CDP session", group: "configuration" }],
65
+ ["Browser.startTracing", { title: "Start browser tracing", group: "configuration" }],
66
+ ["Browser.stopTracing", { title: "Stop browser tracing", group: "configuration" }],
67
+ ["EventTarget.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
68
+ ["BrowserContext.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
69
+ ["Page.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
70
+ ["WebSocket.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
71
+ ["ElectronApplication.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
72
+ ["AndroidDevice.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
73
+ ["BrowserContext.addCookies", { title: "Add cookies", group: "configuration" }],
74
+ ["BrowserContext.addInitScript", { title: "Add init script", group: "configuration" }],
75
+ ["BrowserContext.clearCookies", { title: "Clear cookies", group: "configuration" }],
76
+ ["BrowserContext.clearPermissions", { title: "Clear permissions", group: "configuration" }],
77
+ ["BrowserContext.close", { title: "Close context", pausesBeforeAction: true }],
78
+ ["BrowserContext.cookies", { title: "Get cookies", group: "getter" }],
79
+ ["BrowserContext.exposeBinding", { title: "Expose binding", group: "configuration" }],
80
+ ["BrowserContext.grantPermissions", { title: "Grant permissions", group: "configuration" }],
81
+ ["BrowserContext.newPage", { title: "Create page" }],
82
+ ["BrowserContext.registerSelectorEngine", { internal: true }],
83
+ ["BrowserContext.setTestIdAttributeName", { internal: true }],
84
+ ["BrowserContext.setExtraHTTPHeaders", { title: "Set extra HTTP headers", group: "configuration" }],
85
+ ["BrowserContext.setGeolocation", { title: "Set geolocation", group: "configuration" }],
86
+ ["BrowserContext.setHTTPCredentials", { title: "Set HTTP credentials", group: "configuration" }],
87
+ ["BrowserContext.setNetworkInterceptionPatterns", { title: "Route requests", group: "route" }],
88
+ ["BrowserContext.setWebSocketInterceptionPatterns", { title: "Route WebSockets", group: "route" }],
89
+ ["BrowserContext.setOffline", { title: "Set offline mode" }],
90
+ ["BrowserContext.storageState", { title: "Get storage state" }],
91
+ ["BrowserContext.pause", { title: "Pause" }],
92
+ ["BrowserContext.enableRecorder", { internal: true }],
93
+ ["BrowserContext.disableRecorder", { internal: true }],
94
+ ["BrowserContext.newCDPSession", { title: "Create CDP session", group: "configuration" }],
95
+ ["BrowserContext.harStart", { internal: true }],
96
+ ["BrowserContext.harExport", { internal: true }],
97
+ ["BrowserContext.createTempFiles", { internal: true }],
98
+ ["BrowserContext.updateSubscription", { internal: true }],
99
+ ["BrowserContext.clockFastForward", { title: 'Fast forward clock "{ticksNumber|ticksString}"' }],
100
+ ["BrowserContext.clockInstall", { title: 'Install clock "{timeNumber|timeString}"' }],
101
+ ["BrowserContext.clockPauseAt", { title: 'Pause clock "{timeNumber|timeString}"' }],
102
+ ["BrowserContext.clockResume", { title: "Resume clock" }],
103
+ ["BrowserContext.clockRunFor", { title: 'Run clock "{ticksNumber|ticksString}"' }],
104
+ ["BrowserContext.clockSetFixedTime", { title: 'Set fixed time "{timeNumber|timeString}"' }],
105
+ ["BrowserContext.clockSetSystemTime", { title: 'Set system time "{timeNumber|timeString}"' }],
106
+ ["Page.addInitScript", { title: "Add init script", group: "configuration" }],
107
+ ["Page.close", { title: "Close page", pausesBeforeAction: true }],
108
+ ["Page.emulateMedia", { title: "Emulate media", snapshot: true, pausesBeforeAction: true }],
109
+ ["Page.exposeBinding", { title: "Expose binding", group: "configuration" }],
110
+ ["Page.goBack", { title: "Go back", slowMo: true, snapshot: true, pausesBeforeAction: true }],
111
+ ["Page.goForward", { title: "Go forward", slowMo: true, snapshot: true, pausesBeforeAction: true }],
112
+ ["Page.requestGC", { title: "Request garbage collection", group: "configuration" }],
113
+ ["Page.registerLocatorHandler", { title: "Register locator handler" }],
114
+ ["Page.resolveLocatorHandlerNoReply", { internal: true }],
115
+ ["Page.unregisterLocatorHandler", { title: "Unregister locator handler" }],
116
+ ["Page.reload", { title: "Reload", slowMo: true, snapshot: true, pausesBeforeAction: true }],
117
+ ["Page.expectScreenshot", { title: "Expect screenshot", snapshot: true, pausesBeforeAction: true }],
118
+ ["Page.screenshot", { title: "Screenshot", snapshot: true, pausesBeforeAction: true }],
119
+ ["Page.setExtraHTTPHeaders", { title: "Set extra HTTP headers", group: "configuration" }],
120
+ ["Page.setNetworkInterceptionPatterns", { title: "Route requests", group: "route" }],
121
+ ["Page.setWebSocketInterceptionPatterns", { title: "Route WebSockets", group: "route" }],
122
+ ["Page.setViewportSize", { title: "Set viewport size", snapshot: true, pausesBeforeAction: true }],
123
+ ["Page.keyboardDown", { title: 'Key down "{key}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
124
+ ["Page.keyboardUp", { title: 'Key up "{key}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
125
+ ["Page.keyboardInsertText", { title: 'Insert "{text}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
126
+ ["Page.keyboardType", { title: 'Type "{text}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
127
+ ["Page.keyboardPress", { title: 'Press "{key}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
128
+ ["Page.mouseMove", { title: "Mouse move", slowMo: true, snapshot: true, pausesBeforeAction: true }],
129
+ ["Page.mouseDown", { title: "Mouse down", slowMo: true, snapshot: true, pausesBeforeAction: true }],
130
+ ["Page.mouseUp", { title: "Mouse up", slowMo: true, snapshot: true, pausesBeforeAction: true }],
131
+ ["Page.mouseClick", { title: "Click", slowMo: true, snapshot: true, pausesBeforeAction: true }],
132
+ ["Page.mouseWheel", { title: "Mouse wheel", slowMo: true, snapshot: true, pausesBeforeAction: true }],
133
+ ["Page.touchscreenTap", { title: "Tap", slowMo: true, snapshot: true, pausesBeforeAction: true }],
134
+ ["Page.accessibilitySnapshot", { title: "Accessibility snapshot", group: "getter" }],
135
+ ["Page.pdf", { title: "PDF" }],
136
+ ["Page.snapshotForAI", { internal: true }],
137
+ ["Page.startJSCoverage", { title: "Start JS coverage", group: "configuration" }],
138
+ ["Page.stopJSCoverage", { title: "Stop JS coverage", group: "configuration" }],
139
+ ["Page.startCSSCoverage", { title: "Start CSS coverage", group: "configuration" }],
140
+ ["Page.stopCSSCoverage", { title: "Stop CSS coverage", group: "configuration" }],
141
+ ["Page.bringToFront", { title: "Bring to front" }],
142
+ ["Page.updateSubscription", { internal: true }],
143
+ ["Frame.evalOnSelector", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
144
+ ["Frame.evalOnSelectorAll", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
145
+ ["Frame.addScriptTag", { title: "Add script tag", snapshot: true, pausesBeforeAction: true }],
146
+ ["Frame.addStyleTag", { title: "Add style tag", snapshot: true, pausesBeforeAction: true }],
147
+ ["Frame.ariaSnapshot", { title: "Aria snapshot", snapshot: true, pausesBeforeAction: true }],
148
+ ["Frame.blur", { title: "Blur", slowMo: true, snapshot: true, pausesBeforeAction: true }],
149
+ ["Frame.check", { title: "Check", slowMo: true, snapshot: true, pausesBeforeInput: true }],
150
+ ["Frame.click", { title: "Click", slowMo: true, snapshot: true, pausesBeforeInput: true }],
151
+ ["Frame.content", { title: "Get content", snapshot: true, pausesBeforeAction: true }],
152
+ ["Frame.dragAndDrop", { title: "Drag and drop", slowMo: true, snapshot: true, pausesBeforeInput: true }],
153
+ ["Frame.dblclick", { title: "Double click", slowMo: true, snapshot: true, pausesBeforeInput: true }],
154
+ ["Frame.dispatchEvent", { title: 'Dispatch "{type}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
155
+ ["Frame.evaluateExpression", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
156
+ ["Frame.evaluateExpressionHandle", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
157
+ ["Frame.fill", { title: 'Fill "{value}"', slowMo: true, snapshot: true, pausesBeforeInput: true }],
158
+ ["Frame.focus", { title: "Focus", slowMo: true, snapshot: true, pausesBeforeAction: true }],
159
+ ["Frame.frameElement", { title: "Get frame element", group: "getter" }],
160
+ ["Frame.resolveSelector", { internal: true }],
161
+ ["Frame.highlight", { title: "Highlight element", group: "configuration" }],
162
+ ["Frame.getAttribute", { title: 'Get attribute "{name}"', snapshot: true, pausesBeforeAction: true, group: "getter" }],
163
+ ["Frame.goto", { title: 'Navigate to "{url}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
164
+ ["Frame.hover", { title: "Hover", slowMo: true, snapshot: true, pausesBeforeInput: true }],
165
+ ["Frame.innerHTML", { title: "Get HTML", snapshot: true, pausesBeforeAction: true, group: "getter" }],
166
+ ["Frame.innerText", { title: "Get inner text", snapshot: true, pausesBeforeAction: true, group: "getter" }],
167
+ ["Frame.inputValue", { title: "Get input value", snapshot: true, pausesBeforeAction: true, group: "getter" }],
168
+ ["Frame.isChecked", { title: "Is checked", snapshot: true, pausesBeforeAction: true, group: "getter" }],
169
+ ["Frame.isDisabled", { title: "Is disabled", snapshot: true, pausesBeforeAction: true, group: "getter" }],
170
+ ["Frame.isEnabled", { title: "Is enabled", snapshot: true, pausesBeforeAction: true, group: "getter" }],
171
+ ["Frame.isHidden", { title: "Is hidden", snapshot: true, pausesBeforeAction: true, group: "getter" }],
172
+ ["Frame.isVisible", { title: "Is visible", snapshot: true, pausesBeforeAction: true, group: "getter" }],
173
+ ["Frame.isEditable", { title: "Is editable", snapshot: true, pausesBeforeAction: true, group: "getter" }],
174
+ ["Frame.press", { title: 'Press "{key}"', slowMo: true, snapshot: true, pausesBeforeInput: true }],
175
+ ["Frame.querySelector", { title: "Query selector", snapshot: true }],
176
+ ["Frame.querySelectorAll", { title: "Query selector all", snapshot: true }],
177
+ ["Frame.queryCount", { title: "Query count", snapshot: true, pausesBeforeAction: true }],
178
+ ["Frame.selectOption", { title: "Select option", slowMo: true, snapshot: true, pausesBeforeInput: true }],
179
+ ["Frame.setContent", { title: "Set content", snapshot: true, pausesBeforeAction: true }],
180
+ ["Frame.setInputFiles", { title: "Set input files", slowMo: true, snapshot: true, pausesBeforeInput: true }],
181
+ ["Frame.tap", { title: "Tap", slowMo: true, snapshot: true, pausesBeforeInput: true }],
182
+ ["Frame.textContent", { title: "Get text content", snapshot: true, pausesBeforeAction: true, group: "getter" }],
183
+ ["Frame.title", { title: "Get page title", group: "getter" }],
184
+ ["Frame.type", { title: 'Type "{text}"', slowMo: true, snapshot: true, pausesBeforeInput: true }],
185
+ ["Frame.uncheck", { title: "Uncheck", slowMo: true, snapshot: true, pausesBeforeInput: true }],
186
+ ["Frame.waitForTimeout", { title: "Wait for timeout", snapshot: true }],
187
+ ["Frame.waitForFunction", { title: "Wait for function", snapshot: true, pausesBeforeAction: true }],
188
+ ["Frame.waitForSelector", { title: "Wait for selector", snapshot: true }],
189
+ ["Frame.expect", { title: 'Expect "{expression}"', snapshot: true, pausesBeforeAction: true }],
190
+ ["Worker.evaluateExpression", { title: "Evaluate" }],
191
+ ["Worker.evaluateExpressionHandle", { title: "Evaluate" }],
192
+ ["JSHandle.dispose", { internal: true }],
193
+ ["ElementHandle.dispose", { internal: true }],
194
+ ["JSHandle.evaluateExpression", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
195
+ ["ElementHandle.evaluateExpression", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
196
+ ["JSHandle.evaluateExpressionHandle", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
197
+ ["ElementHandle.evaluateExpressionHandle", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
198
+ ["JSHandle.getPropertyList", { title: "Get property list", group: "getter" }],
199
+ ["ElementHandle.getPropertyList", { title: "Get property list", group: "getter" }],
200
+ ["JSHandle.getProperty", { title: "Get JS property", group: "getter" }],
201
+ ["ElementHandle.getProperty", { title: "Get JS property", group: "getter" }],
202
+ ["JSHandle.jsonValue", { title: "Get JSON value", group: "getter" }],
203
+ ["ElementHandle.jsonValue", { title: "Get JSON value", group: "getter" }],
204
+ ["ElementHandle.evalOnSelector", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
205
+ ["ElementHandle.evalOnSelectorAll", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
206
+ ["ElementHandle.boundingBox", { title: "Get bounding box", snapshot: true, pausesBeforeAction: true }],
207
+ ["ElementHandle.check", { title: "Check", slowMo: true, snapshot: true, pausesBeforeInput: true }],
208
+ ["ElementHandle.click", { title: "Click", slowMo: true, snapshot: true, pausesBeforeInput: true }],
209
+ ["ElementHandle.contentFrame", { title: "Get content frame", group: "getter" }],
210
+ ["ElementHandle.dblclick", { title: "Double click", slowMo: true, snapshot: true, pausesBeforeInput: true }],
211
+ ["ElementHandle.dispatchEvent", { title: "Dispatch event", slowMo: true, snapshot: true, pausesBeforeAction: true }],
212
+ ["ElementHandle.fill", { title: 'Fill "{value}"', slowMo: true, snapshot: true, pausesBeforeInput: true }],
213
+ ["ElementHandle.focus", { title: "Focus", slowMo: true, snapshot: true, pausesBeforeAction: true }],
214
+ ["ElementHandle.getAttribute", { title: "Get attribute", snapshot: true, pausesBeforeAction: true, group: "getter" }],
215
+ ["ElementHandle.hover", { title: "Hover", slowMo: true, snapshot: true, pausesBeforeInput: true }],
216
+ ["ElementHandle.innerHTML", { title: "Get HTML", snapshot: true, pausesBeforeAction: true, group: "getter" }],
217
+ ["ElementHandle.innerText", { title: "Get inner text", snapshot: true, pausesBeforeAction: true, group: "getter" }],
218
+ ["ElementHandle.inputValue", { title: "Get input value", snapshot: true, pausesBeforeAction: true, group: "getter" }],
219
+ ["ElementHandle.isChecked", { title: "Is checked", snapshot: true, pausesBeforeAction: true, group: "getter" }],
220
+ ["ElementHandle.isDisabled", { title: "Is disabled", snapshot: true, pausesBeforeAction: true, group: "getter" }],
221
+ ["ElementHandle.isEditable", { title: "Is editable", snapshot: true, pausesBeforeAction: true, group: "getter" }],
222
+ ["ElementHandle.isEnabled", { title: "Is enabled", snapshot: true, pausesBeforeAction: true, group: "getter" }],
223
+ ["ElementHandle.isHidden", { title: "Is hidden", snapshot: true, pausesBeforeAction: true, group: "getter" }],
224
+ ["ElementHandle.isVisible", { title: "Is visible", snapshot: true, pausesBeforeAction: true, group: "getter" }],
225
+ ["ElementHandle.ownerFrame", { title: "Get owner frame", group: "getter" }],
226
+ ["ElementHandle.press", { title: 'Press "{key}"', slowMo: true, snapshot: true, pausesBeforeInput: true }],
227
+ ["ElementHandle.querySelector", { title: "Query selector", snapshot: true }],
228
+ ["ElementHandle.querySelectorAll", { title: "Query selector all", snapshot: true }],
229
+ ["ElementHandle.screenshot", { title: "Screenshot", snapshot: true, pausesBeforeAction: true }],
230
+ ["ElementHandle.scrollIntoViewIfNeeded", { title: "Scroll into view", slowMo: true, snapshot: true, pausesBeforeAction: true }],
231
+ ["ElementHandle.selectOption", { title: "Select option", slowMo: true, snapshot: true, pausesBeforeInput: true }],
232
+ ["ElementHandle.selectText", { title: "Select text", slowMo: true, snapshot: true, pausesBeforeAction: true }],
233
+ ["ElementHandle.setInputFiles", { title: "Set input files", slowMo: true, snapshot: true, pausesBeforeInput: true }],
234
+ ["ElementHandle.tap", { title: "Tap", slowMo: true, snapshot: true, pausesBeforeInput: true }],
235
+ ["ElementHandle.textContent", { title: "Get text content", snapshot: true, pausesBeforeAction: true, group: "getter" }],
236
+ ["ElementHandle.type", { title: "Type", slowMo: true, snapshot: true, pausesBeforeInput: true }],
237
+ ["ElementHandle.uncheck", { title: "Uncheck", slowMo: true, snapshot: true, pausesBeforeInput: true }],
238
+ ["ElementHandle.waitForElementState", { title: "Wait for state", snapshot: true, pausesBeforeAction: true }],
239
+ ["ElementHandle.waitForSelector", { title: "Wait for selector", snapshot: true }],
240
+ ["Request.response", { internal: true }],
241
+ ["Request.rawRequestHeaders", { internal: true }],
242
+ ["Route.redirectNavigationRequest", { internal: true }],
243
+ ["Route.abort", { title: "Abort request", group: "route" }],
244
+ ["Route.continue", { title: "Continue request", group: "route" }],
245
+ ["Route.fulfill", { title: "Fulfill request", group: "route" }],
246
+ ["WebSocketRoute.connect", { title: "Connect WebSocket to server", group: "route" }],
247
+ ["WebSocketRoute.ensureOpened", { internal: true }],
248
+ ["WebSocketRoute.sendToPage", { title: "Send WebSocket message", group: "route" }],
249
+ ["WebSocketRoute.sendToServer", { title: "Send WebSocket message", group: "route" }],
250
+ ["WebSocketRoute.closePage", { internal: true }],
251
+ ["WebSocketRoute.closeServer", { internal: true }],
252
+ ["Response.body", { title: "Get response body", group: "getter" }],
253
+ ["Response.securityDetails", { internal: true }],
254
+ ["Response.serverAddr", { internal: true }],
255
+ ["Response.rawResponseHeaders", { internal: true }],
256
+ ["Response.sizes", { internal: true }],
257
+ ["BindingCall.reject", { internal: true }],
258
+ ["BindingCall.resolve", { internal: true }],
259
+ ["Dialog.accept", { title: "Accept dialog" }],
260
+ ["Dialog.dismiss", { title: "Dismiss dialog" }],
261
+ ["Tracing.tracingStart", { title: "Start tracing", group: "configuration" }],
262
+ ["Tracing.tracingStartChunk", { title: "Start tracing", group: "configuration" }],
263
+ ["Tracing.tracingGroup", { title: 'Trace "{name}"' }],
264
+ ["Tracing.tracingGroupEnd", { title: "Group end" }],
265
+ ["Tracing.tracingStopChunk", { title: "Stop tracing", group: "configuration" }],
266
+ ["Tracing.tracingStop", { title: "Stop tracing", group: "configuration" }],
267
+ ["Artifact.pathAfterFinished", { internal: true }],
268
+ ["Artifact.saveAs", { internal: true }],
269
+ ["Artifact.saveAsStream", { internal: true }],
270
+ ["Artifact.failure", { internal: true }],
271
+ ["Artifact.stream", { internal: true }],
272
+ ["Artifact.cancel", { internal: true }],
273
+ ["Artifact.delete", { internal: true }],
274
+ ["Stream.read", { internal: true }],
275
+ ["Stream.close", { internal: true }],
276
+ ["WritableStream.write", { internal: true }],
277
+ ["WritableStream.close", { internal: true }],
278
+ ["CDPSession.send", { title: "Send CDP command", group: "configuration" }],
279
+ ["CDPSession.detach", { title: "Detach CDP session", group: "configuration" }],
280
+ ["Electron.launch", { title: "Launch electron" }],
281
+ ["ElectronApplication.browserWindow", { internal: true }],
282
+ ["ElectronApplication.evaluateExpression", { title: "Evaluate" }],
283
+ ["ElectronApplication.evaluateExpressionHandle", { title: "Evaluate" }],
284
+ ["ElectronApplication.updateSubscription", { internal: true }],
285
+ ["Android.devices", { internal: true }],
286
+ ["AndroidSocket.write", { internal: true }],
287
+ ["AndroidSocket.close", { internal: true }],
288
+ ["AndroidDevice.wait", { title: "Wait" }],
289
+ ["AndroidDevice.fill", { title: 'Fill "{text}"' }],
290
+ ["AndroidDevice.tap", { title: "Tap" }],
291
+ ["AndroidDevice.drag", { title: "Drag" }],
292
+ ["AndroidDevice.fling", { title: "Fling" }],
293
+ ["AndroidDevice.longTap", { title: "Long tap" }],
294
+ ["AndroidDevice.pinchClose", { title: "Pinch close" }],
295
+ ["AndroidDevice.pinchOpen", { title: "Pinch open" }],
296
+ ["AndroidDevice.scroll", { title: "Scroll" }],
297
+ ["AndroidDevice.swipe", { title: "Swipe" }],
298
+ ["AndroidDevice.info", { internal: true }],
299
+ ["AndroidDevice.screenshot", { title: "Screenshot" }],
300
+ ["AndroidDevice.inputType", { title: "Type" }],
301
+ ["AndroidDevice.inputPress", { title: "Press" }],
302
+ ["AndroidDevice.inputTap", { title: "Tap" }],
303
+ ["AndroidDevice.inputSwipe", { title: "Swipe" }],
304
+ ["AndroidDevice.inputDrag", { title: "Drag" }],
305
+ ["AndroidDevice.launchBrowser", { title: "Launch browser" }],
306
+ ["AndroidDevice.open", { title: "Open app" }],
307
+ ["AndroidDevice.shell", { title: "Execute shell command", group: "configuration" }],
308
+ ["AndroidDevice.installApk", { title: "Install apk" }],
309
+ ["AndroidDevice.push", { title: "Push" }],
310
+ ["AndroidDevice.connectToWebView", { title: "Connect to Web View" }],
311
+ ["AndroidDevice.close", { internal: true }],
312
+ ["JsonPipe.send", { internal: true }],
313
+ ["JsonPipe.close", { internal: true }]
314
+ ]);
315
+ // Annotate the CommonJS export names for ESM import in node:
316
+ 0 && (module.exports = {
317
+ methodMetainfo
318
+ });
@@ -28,12 +28,11 @@ __export(selectorParser_exports, {
28
28
  visitAllSelectorParts: () => visitAllSelectorParts
29
29
  });
30
30
  module.exports = __toCommonJS(selectorParser_exports);
31
- var import_builtins = require("./builtins");
32
31
  var import_cssParser = require("./cssParser");
33
32
  var import_cssParser2 = require("./cssParser");
34
- const kNestedSelectorNames = new import_builtins.Set(["internal:has", "internal:has-not", "internal:and", "internal:or", "internal:chain", "left-of", "right-of", "above", "below", "near"]);
35
- const kNestedSelectorNamesWithDistance = new import_builtins.Set(["left-of", "right-of", "above", "below", "near"]);
36
- const customCSSNames = new import_builtins.Set(["not", "is", "where", "has", "scope", "light", "visible", "text", "text-matches", "text-is", "has-text", "above", "below", "right-of", "left-of", "near", "nth-match"]);
33
+ const kNestedSelectorNames = /* @__PURE__ */ new Set(["internal:has", "internal:has-not", "internal:and", "internal:or", "internal:chain", "left-of", "right-of", "above", "below", "near"]);
34
+ const kNestedSelectorNamesWithDistance = /* @__PURE__ */ new Set(["left-of", "right-of", "above", "below", "near"]);
35
+ const customCSSNames = /* @__PURE__ */ new Set(["not", "is", "where", "has", "scope", "light", "visible", "text", "text-matches", "text-is", "has-text", "above", "below", "right-of", "left-of", "near", "nth-match"]);
37
36
  function parseSelector(selector) {
38
37
  const parsedStrings = parseSelectorString(selector);
39
38
  const parts = [];
@@ -19,7 +19,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var stringUtils_exports = {};
20
20
  __export(stringUtils_exports, {
21
21
  cacheNormalizedWhitespaces: () => cacheNormalizedWhitespaces,
22
- cssEscape: () => cssEscape,
23
22
  escapeForAttributeSelector: () => escapeForAttributeSelector,
24
23
  escapeForTextSelector: () => escapeForTextSelector,
25
24
  escapeHTML: () => escapeHTML,
@@ -38,7 +37,6 @@ __export(stringUtils_exports, {
38
37
  trimStringWithEllipsis: () => trimStringWithEllipsis
39
38
  });
40
39
  module.exports = __toCommonJS(stringUtils_exports);
41
- var import_builtins = require("./builtins");
42
40
  function escapeWithQuotes(text, char = "'") {
43
41
  const stringified = JSON.stringify(text);
44
42
  const escapedText = stringified.substring(1, stringified.length - 1).replace(/\\"/g, '"');
@@ -47,7 +45,7 @@ function escapeWithQuotes(text, char = "'") {
47
45
  if (char === '"')
48
46
  return char + escapedText.replace(/["]/g, '\\"') + char;
49
47
  if (char === "`")
50
- return char + escapedText.replace(/[`]/g, "`") + char;
48
+ return char + escapedText.replace(/[`]/g, "\\`") + char;
51
49
  throw new Error("Invalid escape char");
52
50
  }
53
51
  function escapeTemplateString(text) {
@@ -62,30 +60,12 @@ function toTitleCase(name) {
62
60
  function toSnakeCase(name) {
63
61
  return name.replace(/([a-z0-9])([A-Z])/g, "$1_$2").replace(/([A-Z])([A-Z][a-z])/g, "$1_$2").toLowerCase();
64
62
  }
65
- function cssEscape(s) {
66
- let result = "";
67
- for (let i = 0; i < s.length; i++)
68
- result += cssEscapeOne(s, i);
69
- return result;
70
- }
71
63
  function quoteCSSAttributeValue(text) {
72
- return `"${cssEscape(text).replace(/\\ /g, " ")}"`;
73
- }
74
- function cssEscapeOne(s, i) {
75
- const c = s.charCodeAt(i);
76
- if (c === 0)
77
- return "\uFFFD";
78
- if (c >= 1 && c <= 31 || c >= 48 && c <= 57 && (i === 0 || i === 1 && s.charCodeAt(0) === 45))
79
- return "\\" + c.toString(16) + " ";
80
- if (i === 0 && c === 45 && s.length === 1)
81
- return "\\" + s.charAt(i);
82
- if (c >= 128 || c === 45 || c === 95 || c >= 48 && c <= 57 || c >= 65 && c <= 90 || c >= 97 && c <= 122)
83
- return s.charAt(i);
84
- return "\\" + s.charAt(i);
64
+ return `"${text.replace(/["\\]/g, (char) => "\\" + char)}"`;
85
65
  }
86
66
  let normalizedWhitespaceCache;
87
67
  function cacheNormalizedWhitespaces() {
88
- normalizedWhitespaceCache = new import_builtins.Map();
68
+ normalizedWhitespaceCache = /* @__PURE__ */ new Map();
89
69
  }
90
70
  function normalizeWhiteSpace(text) {
91
71
  let result = normalizedWhitespaceCache?.get(text);
@@ -156,7 +136,6 @@ function longestCommonSubstring(s1, s2) {
156
136
  // Annotate the CommonJS export names for ESM import in node:
157
137
  0 && (module.exports = {
158
138
  cacheNormalizedWhitespaces,
159
- cssEscape,
160
139
  escapeForAttributeSelector,
161
140
  escapeForTextSelector,
162
141
  escapeHTML,
@@ -18,26 +18,31 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var time_exports = {};
20
20
  __export(time_exports, {
21
+ DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT: () => DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT,
22
+ DEFAULT_PLAYWRIGHT_TIMEOUT: () => DEFAULT_PLAYWRIGHT_TIMEOUT,
21
23
  monotonicTime: () => monotonicTime,
22
24
  setTimeOrigin: () => setTimeOrigin,
23
25
  timeOrigin: () => timeOrigin
24
26
  });
25
27
  module.exports = __toCommonJS(time_exports);
26
- var import_builtins = require("./builtins");
27
- let _timeOrigin = import_builtins.performance.timeOrigin;
28
+ let _timeOrigin = performance.timeOrigin;
28
29
  let _timeShift = 0;
29
30
  function setTimeOrigin(origin) {
30
31
  _timeOrigin = origin;
31
- _timeShift = import_builtins.performance.timeOrigin - origin;
32
+ _timeShift = performance.timeOrigin - origin;
32
33
  }
33
34
  function timeOrigin() {
34
35
  return _timeOrigin;
35
36
  }
36
37
  function monotonicTime() {
37
- return Math.floor((import_builtins.performance.now() + _timeShift) * 1e3) / 1e3;
38
+ return Math.floor((performance.now() + _timeShift) * 1e3) / 1e3;
38
39
  }
40
+ const DEFAULT_PLAYWRIGHT_TIMEOUT = 3e4;
41
+ const DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT = 3 * 60 * 1e3;
39
42
  // Annotate the CommonJS export names for ESM import in node:
40
43
  0 && (module.exports = {
44
+ DEFAULT_PLAYWRIGHT_LAUNCH_TIMEOUT,
45
+ DEFAULT_PLAYWRIGHT_TIMEOUT,
41
46
  monotonicTime,
42
47
  setTimeOrigin,
43
48
  timeOrigin
@@ -22,7 +22,6 @@ __export(timeoutRunner_exports, {
22
22
  raceAgainstDeadline: () => raceAgainstDeadline
23
23
  });
24
24
  module.exports = __toCommonJS(timeoutRunner_exports);
25
- var import_builtins = require("./builtins");
26
25
  var import_time = require("./time");
27
26
  async function raceAgainstDeadline(cb, deadline) {
28
27
  let timer;
@@ -33,10 +32,10 @@ async function raceAgainstDeadline(cb, deadline) {
33
32
  new Promise((resolve) => {
34
33
  const kMaxDeadline = 2147483647;
35
34
  const timeout = (deadline || kMaxDeadline) - (0, import_time.monotonicTime)();
36
- timer = (0, import_builtins.setTimeout)(() => resolve({ timedOut: true }), timeout);
35
+ timer = setTimeout(() => resolve({ timedOut: true }), timeout);
37
36
  })
38
37
  ]).finally(() => {
39
- (0, import_builtins.clearTimeout)(timer);
38
+ clearTimeout(timer);
40
39
  });
41
40
  }
42
41
  async function pollAgainstDeadline(callback, deadline, pollIntervals = [100, 250, 500, 1e3]) {
@@ -56,7 +55,7 @@ async function pollAgainstDeadline(callback, deadline, pollIntervals = [100, 250
56
55
  const interval = pollIntervals.shift() ?? lastPollInterval;
57
56
  if (deadline && deadline <= (0, import_time.monotonicTime)() + interval)
58
57
  break;
59
- await new Promise((x) => (0, import_builtins.setTimeout)(x, interval));
58
+ await new Promise((x) => setTimeout(x, interval));
60
59
  }
61
60
  return { timedOut: true, result: lastResult };
62
61
  }
@@ -22,9 +22,8 @@ __export(traceUtils_exports, {
22
22
  serializeClientSideCallMetadata: () => serializeClientSideCallMetadata
23
23
  });
24
24
  module.exports = __toCommonJS(traceUtils_exports);
25
- var import_builtins = require("./builtins");
26
25
  function parseClientSideCallMetadata(data) {
27
- const result = new import_builtins.Map();
26
+ const result = /* @__PURE__ */ new Map();
28
27
  const { files, stacks } = data;
29
28
  for (const s of stacks) {
30
29
  const [id, ff] = s;
@@ -33,7 +32,7 @@ function parseClientSideCallMetadata(data) {
33
32
  return result;
34
33
  }
35
34
  function serializeClientSideCallMetadata(metadatas) {
36
- const fileNames = new import_builtins.Map();
35
+ const fileNames = /* @__PURE__ */ new Map();
37
36
  const stacks = [];
38
37
  for (const m of metadatas) {
39
38
  if (!m.stack || !m.stack.length)
@@ -25,9 +25,8 @@ __export(urlMatch_exports, {
25
25
  urlMatchesEqual: () => urlMatchesEqual
26
26
  });
27
27
  module.exports = __toCommonJS(urlMatch_exports);
28
- var import_builtins = require("./builtins");
29
28
  var import_stringUtils = require("./stringUtils");
30
- const escapedChars = new import_builtins.Set(["$", "^", "+", ".", "*", "(", ")", "|", "\\", "?", "{", "}", "[", "]"]);
29
+ const escapedChars = /* @__PURE__ */ new Set(["$", "^", "+", ".", "*", "(", ")", "|", "\\", "?", "{", "}", "[", "]"]);
31
30
  function globToRegexPattern(glob) {
32
31
  const tokens = ["^"];
33
32
  let inGroup = false;
@@ -122,8 +121,10 @@ function resolveGlobBase(baseURL, match) {
122
121
  return replacement;
123
122
  };
124
123
  var mapToken = mapToken2;
125
- const tokenMap = new import_builtins.Map();
124
+ const tokenMap = /* @__PURE__ */ new Map();
126
125
  match = match.replaceAll(/\\\\\?/g, "?");
126
+ if (match.startsWith("about:") || match.startsWith("data:") || match.startsWith("chrome:") || match.startsWith("edge:") || match.startsWith("file:"))
127
+ return match;
127
128
  const relativePath = match.split("/").map((token, index) => {
128
129
  if (token === "." || token === ".." || token === "")
129
130
  return token;
@@ -136,9 +137,12 @@ function resolveGlobBase(baseURL, match) {
136
137
  const newSuffix = mapToken2(token.substring(questionIndex), `?$_${index}_$`);
137
138
  return newPrefix + newSuffix;
138
139
  }).join("/");
139
- let resolved = constructURLBasedOnBaseURL(baseURL, relativePath);
140
- for (const [token, original] of tokenMap)
141
- resolved = resolved.replace(token, original);
140
+ const result = resolveBaseURL(baseURL, relativePath);
141
+ let resolved = result.resolved;
142
+ for (const [token, original] of tokenMap) {
143
+ const normalize = result.caseInsensitivePart?.includes(token);
144
+ resolved = resolved.replace(token, normalize ? original.toLowerCase() : original);
145
+ }
142
146
  match = resolved;
143
147
  }
144
148
  return match;
@@ -152,11 +156,21 @@ function parseURL(url) {
152
156
  }
153
157
  function constructURLBasedOnBaseURL(baseURL, givenURL) {
154
158
  try {
155
- return new URL(givenURL, baseURL).toString();
159
+ return resolveBaseURL(baseURL, givenURL).resolved;
156
160
  } catch (e) {
157
161
  return givenURL;
158
162
  }
159
163
  }
164
+ function resolveBaseURL(baseURL, givenURL) {
165
+ try {
166
+ const url = new URL(givenURL, baseURL);
167
+ const resolved = url.toString();
168
+ const caseInsensitivePrefix = url.origin;
169
+ return { resolved, caseInsensitivePart: caseInsensitivePrefix };
170
+ } catch (e) {
171
+ return { resolved: givenURL };
172
+ }
173
+ }
160
174
  // Annotate the CommonJS export names for ESM import in node:
161
175
  0 && (module.exports = {
162
176
  constructURLBasedOnBaseURL,