rebrowser-playwright-core 1.49.0 → 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.
- package/ThirdPartyNotices.txt +381 -55
- package/bin/reinstall_msedge_beta_linux.sh +6 -0
- package/bin/reinstall_msedge_dev_linux.sh +6 -0
- package/bin/reinstall_msedge_stable_linux.sh +6 -0
- package/browsers.json +28 -13
- package/index.js +0 -1
- package/lib/androidServerImpl.js +42 -48
- package/lib/browserServerImpl.js +60 -64
- package/lib/cli/driver.js +71 -69
- package/lib/cli/program.js +314 -354
- package/lib/cli/programWithTestStub.js +51 -44
- package/lib/client/accessibility.js +31 -32
- package/lib/client/android.js +146 -254
- package/lib/client/api.js +135 -283
- package/lib/client/artifact.js +39 -39
- package/lib/client/browser.js +59 -68
- package/lib/client/browserContext.js +302 -322
- package/lib/client/browserType.js +95 -143
- package/lib/client/cdpSession.js +29 -31
- package/lib/client/channelOwner.js +109 -139
- package/lib/client/clientHelper.js +49 -42
- package/lib/client/clientInstrumentation.js +40 -35
- package/lib/client/clientStackTrace.js +69 -0
- package/lib/client/clock.js +36 -36
- package/lib/client/connection.js +203 -218
- package/lib/client/consoleMessage.js +33 -33
- package/lib/client/coverage.js +25 -22
- package/lib/client/dialog.js +30 -31
- package/lib/client/download.js +25 -25
- package/lib/client/electron.js +74 -76
- package/lib/client/elementHandle.js +126 -163
- package/lib/client/errors.js +53 -53
- package/lib/client/eventEmitter.js +127 -127
- package/lib/client/events.js +72 -68
- package/lib/client/fetch.js +154 -178
- package/lib/client/fileChooser.js +25 -24
- package/lib/client/fileUtils.js +34 -0
- package/lib/client/frame.js +189 -307
- package/lib/client/harRouter.js +44 -56
- package/lib/client/input.js +40 -69
- package/lib/client/jsHandle.js +55 -71
- package/lib/client/jsonPipe.js +27 -23
- package/lib/client/localUtils.js +53 -28
- package/lib/client/locator.js +144 -230
- package/lib/client/network.js +285 -301
- package/lib/client/page.js +273 -312
- package/lib/client/platform.js +74 -0
- package/lib/client/playwright.js +62 -57
- package/lib/client/selectors.js +51 -43
- package/lib/client/stream.js +30 -45
- package/lib/client/timeoutSettings.js +75 -0
- package/lib/client/tracing.js +49 -82
- package/lib/client/types.js +26 -22
- package/lib/client/video.js +35 -27
- package/lib/client/waiter.js +71 -91
- package/lib/client/webError.js +25 -23
- package/lib/client/webSocket.js +111 -0
- package/lib/client/worker.js +48 -56
- package/lib/client/writableStream.js +28 -43
- package/lib/generated/clockSource.js +26 -5
- package/lib/generated/consoleApiSource.js +26 -5
- package/lib/generated/injectedScriptSource.js +26 -5
- package/lib/generated/pollingRecorderSource.js +26 -5
- package/lib/generated/utilityScriptSource.js +26 -5
- package/lib/generated/webSocketMockSource.js +375 -4
- package/lib/inProcessFactory.js +53 -48
- package/lib/inprocess.js +2 -19
- package/lib/outofprocess.js +53 -42
- package/lib/protocol/debug.js +209 -25
- package/lib/protocol/serializers.js +153 -134
- package/lib/protocol/validator.js +2712 -2667
- package/lib/protocol/validatorPrimitives.js +115 -75
- package/lib/remote/playwrightConnection.js +144 -152
- package/lib/remote/playwrightServer.js +106 -77
- package/lib/server/accessibility.js +44 -37
- package/lib/server/android/android.js +216 -206
- package/lib/server/android/backendAdb.js +89 -82
- package/lib/server/artifact.js +78 -55
- package/lib/server/bidi/bidiBrowser.js +227 -158
- package/lib/server/bidi/bidiChromium.js +106 -78
- package/lib/server/bidi/bidiConnection.js +66 -83
- package/lib/server/bidi/bidiExecutionContext.js +161 -97
- package/lib/server/bidi/bidiFirefox.js +76 -68
- package/lib/server/bidi/bidiInput.js +90 -102
- package/lib/server/bidi/bidiNetworkManager.js +141 -159
- package/lib/server/bidi/bidiOverCdp.js +57 -58
- package/lib/server/bidi/bidiPage.js +262 -261
- package/lib/server/bidi/bidiPdf.js +52 -86
- package/lib/server/bidi/third_party/bidiCommands.d.js +22 -0
- package/lib/server/bidi/third_party/bidiDeserializer.js +55 -50
- package/lib/server/bidi/third_party/bidiKeyboard.js +241 -223
- package/lib/server/bidi/third_party/bidiProtocol.js +144 -131
- package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
- package/lib/server/bidi/third_party/firefoxPrefs.js +149 -111
- package/lib/server/browser.js +76 -84
- package/lib/server/browserContext.js +343 -360
- package/lib/server/browserType.js +169 -181
- package/lib/server/callLog.js +82 -0
- package/lib/server/chromium/chromium.js +212 -190
- package/lib/server/chromium/chromiumSwitches.js +99 -44
- package/lib/server/chromium/crAccessibility.js +157 -131
- package/lib/server/chromium/crBrowser.js +262 -280
- package/lib/server/chromium/crConnection.js +121 -178
- package/lib/server/chromium/crCoverage.js +113 -127
- package/lib/server/chromium/crDevTools.js +64 -55
- package/lib/server/chromium/crDragDrop.js +62 -79
- package/lib/server/chromium/crExecutionContext.js +100 -91
- package/lib/server/chromium/crInput.js +101 -88
- package/lib/server/chromium/crNetworkManager.js +269 -370
- package/lib/server/chromium/crPage.js +509 -595
- package/lib/server/chromium/crPdf.js +54 -86
- package/lib/server/chromium/crProtocolHelper.js +92 -80
- package/lib/server/chromium/crServiceWorker.js +85 -69
- package/lib/server/chromium/defaultFontFamilies.js +152 -135
- package/lib/server/chromium/protocol.d.js +16 -0
- package/lib/server/chromium/videoRecorder.js +65 -99
- package/lib/server/clock.js +58 -46
- package/lib/server/codegen/csharp.js +191 -156
- package/lib/server/codegen/java.js +163 -125
- package/lib/server/codegen/javascript.js +166 -143
- package/lib/server/codegen/jsonl.js +33 -29
- package/lib/server/codegen/language.js +75 -52
- package/lib/server/codegen/languages.js +65 -27
- package/lib/server/codegen/python.js +141 -125
- package/lib/server/codegen/types.js +15 -4
- package/lib/server/console.js +28 -32
- package/lib/server/cookieStore.js +105 -86
- package/lib/server/debugController.js +102 -154
- package/lib/server/debugger.js +82 -78
- package/lib/server/deviceDescriptors.js +37 -24
- package/lib/server/deviceDescriptorsSource.json +131 -131
- package/lib/server/dialog.js +36 -35
- package/lib/server/dispatchers/androidDispatcher.js +196 -107
- package/lib/server/dispatchers/artifactDispatcher.js +62 -62
- package/lib/server/dispatchers/browserContextDispatcher.js +177 -217
- package/lib/server/dispatchers/browserDispatcher.js +78 -97
- package/lib/server/dispatchers/browserTypeDispatcher.js +35 -35
- package/lib/server/dispatchers/cdpSessionDispatcher.js +32 -36
- package/lib/server/dispatchers/debugControllerDispatcher.js +48 -64
- package/lib/server/dispatchers/dialogDispatcher.js +30 -27
- package/lib/server/dispatchers/dispatcher.js +180 -229
- package/lib/server/dispatchers/electronDispatcher.js +54 -57
- package/lib/server/dispatchers/elementHandlerDispatcher.js +79 -116
- package/lib/server/dispatchers/frameDispatcher.js +93 -162
- package/lib/server/dispatchers/jsHandleDispatcher.js +49 -66
- package/lib/server/dispatchers/jsonPipeDispatcher.js +35 -36
- package/lib/server/dispatchers/localUtilsDispatcher.js +107 -365
- package/lib/server/dispatchers/networkDispatchers.js +92 -109
- package/lib/server/dispatchers/pageDispatcher.js +130 -169
- package/lib/server/dispatchers/playwrightDispatcher.js +69 -76
- package/lib/server/dispatchers/selectorsDispatcher.js +28 -24
- package/lib/server/dispatchers/streamDispatcher.js +42 -44
- package/lib/server/dispatchers/tracingDispatcher.js +36 -41
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +100 -135
- package/lib/server/dispatchers/writableStreamDispatcher.js +54 -39
- package/lib/server/dom.js +424 -443
- package/lib/server/download.js +45 -35
- package/lib/server/electron/electron.js +156 -175
- package/lib/server/electron/loader.js +8 -36
- package/lib/server/errors.js +47 -46
- package/lib/server/fetch.js +302 -331
- package/lib/server/fileChooser.js +25 -24
- package/lib/server/fileUploadUtils.js +66 -57
- package/lib/server/firefox/ffAccessibility.js +153 -131
- package/lib/server/firefox/ffBrowser.js +218 -274
- package/lib/server/firefox/ffConnection.js +63 -84
- package/lib/server/firefox/ffExecutionContext.js +103 -77
- package/lib/server/firefox/ffInput.js +72 -63
- package/lib/server/firefox/ffNetworkManager.js +131 -110
- package/lib/server/firefox/ffPage.js +244 -302
- package/lib/server/firefox/firefox.js +76 -69
- package/lib/server/firefox/protocol.d.js +16 -0
- package/lib/server/formData.js +107 -35
- package/lib/server/frameSelectors.js +77 -111
- package/lib/server/frames.js +719 -855
- package/lib/server/har/harRecorder.js +85 -77
- package/lib/server/har/harTracer.js +288 -224
- package/lib/server/harBackend.js +157 -0
- package/lib/server/helper.js +56 -59
- package/lib/server/index.js +59 -106
- package/lib/server/input.js +136 -166
- package/lib/server/instrumentation.js +49 -44
- package/lib/server/javascript.js +157 -151
- package/lib/server/launchApp.js +92 -73
- package/lib/server/localUtils.js +211 -0
- package/lib/server/macEditingCommands.js +141 -137
- package/lib/server/network.js +263 -297
- package/lib/server/page.js +353 -432
- package/lib/server/pageBinding.js +88 -0
- package/lib/server/pipeTransport.js +49 -45
- package/lib/server/playwright.js +60 -67
- package/lib/server/progress.js +56 -51
- package/lib/server/protocolError.js +34 -31
- package/lib/server/recorder/chat.js +161 -0
- package/lib/server/recorder/contextRecorder.js +135 -148
- package/lib/server/recorder/recorderApp.js +129 -132
- package/lib/server/recorder/recorderCollection.js +57 -57
- package/lib/server/recorder/recorderFrontend.js +15 -4
- package/lib/server/recorder/recorderRunner.js +80 -100
- package/lib/server/recorder/recorderUtils.js +59 -72
- package/lib/server/recorder/throttledFile.js +42 -31
- package/lib/server/recorder.js +186 -190
- package/lib/server/registry/browserFetcher.js +107 -100
- package/lib/server/registry/dependencies.js +247 -198
- package/lib/server/registry/index.js +928 -709
- package/lib/server/registry/nativeDeps.js +1073 -461
- package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
- package/lib/server/screenshotter.js +166 -182
- package/lib/server/selectors.js +85 -46
- package/lib/server/socksClientCertificatesInterceptor.js +166 -185
- package/lib/server/socksInterceptor.js +62 -67
- package/lib/server/storageScript.js +154 -0
- package/lib/server/timeoutSettings.js +89 -0
- package/lib/server/trace/recorder/snapshotter.js +70 -88
- package/lib/server/trace/recorder/snapshotterInjected.js +246 -218
- package/lib/server/trace/recorder/tracing.js +324 -327
- package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
- package/lib/server/trace/viewer/traceViewer.js +172 -137
- package/lib/server/transport.js +125 -133
- package/lib/server/types.js +26 -22
- package/lib/server/usKeyboardLayout.js +135 -545
- package/lib/server/utils/ascii.js +44 -0
- package/lib/server/utils/comparators.js +161 -0
- package/lib/server/utils/crypto.js +216 -0
- package/lib/server/utils/debug.js +47 -0
- package/lib/server/utils/debugLogger.js +114 -0
- package/lib/server/utils/env.js +68 -0
- package/lib/server/utils/eventsHelper.js +39 -0
- package/lib/server/utils/expectUtils.js +38 -0
- package/lib/server/utils/fileUtils.js +191 -0
- package/lib/server/utils/happyEyeballs.js +207 -0
- package/lib/server/utils/hostPlatform.js +109 -0
- package/lib/server/utils/httpServer.js +218 -0
- package/lib/server/utils/image_tools/colorUtils.js +89 -0
- package/lib/{image_tools → server/utils/image_tools}/compare.js +44 -43
- package/lib/server/utils/image_tools/imageChannel.js +78 -0
- package/lib/{image_tools → server/utils/image_tools}/stats.js +40 -40
- package/lib/server/utils/linuxUtils.js +71 -0
- package/lib/server/utils/network.js +217 -0
- package/lib/server/utils/nodePlatform.js +148 -0
- package/lib/server/utils/pipeTransport.js +84 -0
- package/lib/server/utils/processLauncher.js +238 -0
- package/lib/server/utils/profiler.js +65 -0
- package/lib/server/utils/socksProxy.js +511 -0
- package/lib/server/utils/spawnAsync.js +41 -0
- package/lib/server/utils/task.js +51 -0
- package/lib/server/utils/userAgent.js +98 -0
- package/lib/server/utils/wsServer.js +132 -0
- package/lib/server/utils/zipFile.js +74 -0
- package/lib/server/utils/zones.js +57 -0
- package/lib/server/webkit/protocol.d.js +16 -0
- package/lib/server/webkit/webkit.js +76 -63
- package/lib/server/webkit/wkAccessibility.js +161 -118
- package/lib/server/webkit/wkBrowser.js +163 -180
- package/lib/server/webkit/wkConnection.js +59 -83
- package/lib/server/webkit/wkExecutionContext.js +96 -73
- package/lib/server/webkit/wkInput.js +87 -75
- package/lib/server/webkit/wkInterceptableRequest.js +102 -95
- package/lib/server/webkit/wkPage.js +536 -645
- package/lib/server/webkit/wkProvisionalPage.js +45 -56
- package/lib/server/webkit/wkWorkers.js +77 -77
- package/lib/utils/isomorphic/ariaSnapshot.js +245 -128
- package/lib/utils/isomorphic/assert.js +31 -0
- package/lib/utils/isomorphic/builtins.js +90 -0
- package/lib/utils/isomorphic/colors.js +72 -0
- package/lib/utils/isomorphic/cssParser.js +123 -127
- package/lib/utils/isomorphic/cssTokenizer.js +436 -364
- package/lib/utils/isomorphic/headers.js +53 -0
- package/lib/utils/isomorphic/locatorGenerators.js +344 -349
- package/lib/utils/isomorphic/locatorParser.js +103 -106
- package/lib/utils/isomorphic/locatorUtils.js +63 -44
- package/lib/utils/isomorphic/manualPromise.js +115 -0
- package/lib/utils/isomorphic/mimeType.js +453 -22
- package/lib/utils/isomorphic/multimap.js +81 -0
- package/lib/utils/isomorphic/rtti.js +43 -0
- package/lib/utils/isomorphic/selectorParser.js +183 -193
- package/lib/utils/isomorphic/semaphore.js +54 -0
- package/lib/utils/isomorphic/stackTrace.js +158 -0
- package/lib/utils/isomorphic/stringUtils.js +113 -106
- package/lib/utils/isomorphic/time.js +44 -0
- package/lib/utils/isomorphic/timeoutRunner.js +67 -0
- package/lib/utils/isomorphic/traceUtils.js +52 -32
- package/lib/utils/isomorphic/types.js +16 -0
- package/lib/utils/isomorphic/urlMatch.js +114 -71
- package/lib/utils/isomorphic/utilityScriptSerializers.js +248 -0
- package/lib/utils.js +101 -0
- package/lib/utilsBundle.js +101 -76
- package/lib/utilsBundleImpl/index.js +114 -116
- package/lib/vite/htmlReport/index.html +26 -20
- package/lib/vite/recorder/assets/codeMirrorModule-DVQi6prl.js +24 -0
- package/lib/vite/recorder/assets/index-97EUAAbk.js +184 -0
- package/lib/vite/recorder/assets/{index-iA1aAGZg.css → index-eHBmevrY.css} +1 -1
- package/lib/vite/recorder/index.html +2 -2
- package/lib/vite/traceViewer/assets/codeMirrorModule-DwAiTpyC.js +24 -0
- package/lib/vite/traceViewer/assets/defaultSettingsView-DkkRvn5X.js +265 -0
- package/lib/vite/traceViewer/assets/{xtermModule-BeNbaIVa.js → xtermModule-BoAIEibi.js} +7 -7
- package/lib/vite/traceViewer/defaultSettingsView.QdHITyLI.css +1 -0
- package/lib/vite/traceViewer/index.DvtSwn6E.js +2 -0
- package/lib/vite/traceViewer/index.html +4 -7
- package/lib/vite/traceViewer/sw.bundle.js +3 -3
- package/lib/vite/traceViewer/{uiMode.voC1ZiOQ.css → uiMode.BatfzHMG.css} +1 -1
- package/lib/vite/traceViewer/uiMode.Sdytl9wc.js +5 -0
- package/lib/vite/traceViewer/uiMode.html +4 -7
- package/lib/zipBundle.js +32 -23
- package/lib/zipBundleImpl.js +4 -4
- package/package.json +7 -7
- package/types/protocol.d.ts +819 -127
- package/types/types.d.ts +196 -75
- package/bin/PrintDeps.exe +0 -0
- package/bin/README.md +0 -2
- package/lib/common/socksProxy.js +0 -569
- package/lib/common/timeoutSettings.js +0 -73
- package/lib/common/types.js +0 -5
- package/lib/image_tools/colorUtils.js +0 -98
- package/lib/image_tools/imageChannel.js +0 -70
- package/lib/protocol/transport.js +0 -82
- package/lib/server/ariaSnapshot.js +0 -33
- package/lib/server/isomorphic/utilityScriptSerializers.js +0 -226
- package/lib/server/recorder/recorderInTraceViewer.js +0 -144
- package/lib/utils/ascii.js +0 -31
- package/lib/utils/comparators.js +0 -153
- package/lib/utils/crypto.js +0 -171
- package/lib/utils/debug.js +0 -46
- package/lib/utils/debugLogger.js +0 -91
- package/lib/utils/env.js +0 -49
- package/lib/utils/eventsHelper.js +0 -38
- package/lib/utils/expectUtils.js +0 -33
- package/lib/utils/fileUtils.js +0 -205
- package/lib/utils/happy-eyeballs.js +0 -194
- package/lib/utils/headers.js +0 -52
- package/lib/utils/hostPlatform.js +0 -139
- package/lib/utils/httpServer.js +0 -237
- package/lib/utils/index.js +0 -368
- package/lib/utils/isomorphic/recorderUtils.js +0 -227
- package/lib/utils/linuxUtils.js +0 -78
- package/lib/utils/manualPromise.js +0 -109
- package/lib/utils/multimap.js +0 -75
- package/lib/utils/network.js +0 -160
- package/lib/utils/processLauncher.js +0 -248
- package/lib/utils/profiler.js +0 -53
- package/lib/utils/rtti.js +0 -44
- package/lib/utils/semaphore.js +0 -51
- package/lib/utils/sequence.js +0 -64
- package/lib/utils/spawnAsync.js +0 -45
- package/lib/utils/stackTrace.js +0 -134
- package/lib/utils/task.js +0 -58
- package/lib/utils/time.js +0 -37
- package/lib/utils/timeoutRunner.js +0 -66
- package/lib/utils/traceUtils.js +0 -44
- package/lib/utils/userAgent.js +0 -105
- package/lib/utils/wsServer.js +0 -127
- package/lib/utils/zipFile.js +0 -75
- package/lib/utils/zones.js +0 -71
- package/lib/vite/recorder/assets/codeMirrorModule-AFvV6hAs.js +0 -24
- package/lib/vite/recorder/assets/index-_cTWgVuJ.js +0 -184
- package/lib/vite/traceViewer/assets/codeMirrorModule-KatbITLF.js +0 -24
- package/lib/vite/traceViewer/assets/inspectorTab-DdpLd2bb.js +0 -68
- package/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +0 -1
- package/lib/vite/traceViewer/assets/workbench-CdYbzWFD.js +0 -9
- package/lib/vite/traceViewer/embedded.6m3UZh7r.js +0 -2
- package/lib/vite/traceViewer/embedded.html +0 -18
- package/lib/vite/traceViewer/embedded.w7WN2u1R.css +0 -1
- package/lib/vite/traceViewer/index.WUV-8boJ.js +0 -2
- package/lib/vite/traceViewer/inspectorTab.DEOUW62d.css +0 -1
- package/lib/vite/traceViewer/recorder.B_SY1GJM.css +0 -0
- package/lib/vite/traceViewer/recorder.OT2tVHgn.js +0 -2
- package/lib/vite/traceViewer/recorder.html +0 -17
- package/lib/vite/traceViewer/uiMode.BZBTyvGn.js +0 -5
- package/lib/vite/traceViewer/workbench.C-zR9ysA.css +0 -1
- /package/lib/vite/recorder/assets/{codeMirrorModule-ez37Vkbh.css → codeMirrorModule-C3UTv-Ge.css} +0 -0
- /package/lib/vite/traceViewer/{codeMirrorModule.ez37Vkbh.css → codeMirrorModule.C3UTv-Ge.css} +0 -0
- /package/lib/vite/traceViewer/{index.CrbWWHbf.css → index.CFOW-Ezb.css} +0 -0
- /package/lib/vite/traceViewer/{xtermModule.DSXBckUd.css → xtermModule.Beg8tuEN.css} +0 -0
|
@@ -1,237 +1,185 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
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 debugController_exports = {};
|
|
20
|
+
__export(debugController_exports, {
|
|
21
|
+
DebugController: () => DebugController
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
* you may not use this file except in compliance with the License.
|
|
18
|
-
* You may obtain a copy of the License at
|
|
19
|
-
*
|
|
20
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
21
|
-
*
|
|
22
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
23
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
24
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
25
|
-
* See the License for the specific language governing permissions and
|
|
26
|
-
* limitations under the License.
|
|
27
|
-
*/
|
|
28
|
-
|
|
29
|
-
const internalMetadata = (0, _instrumentation.serverSideCallMetadata)();
|
|
30
|
-
class DebugController extends _instrumentation.SdkObject {
|
|
23
|
+
module.exports = __toCommonJS(debugController_exports);
|
|
24
|
+
var import_instrumentation = require("./instrumentation");
|
|
25
|
+
var import_processLauncher = require("./utils/processLauncher");
|
|
26
|
+
var import_recorder = require("./recorder");
|
|
27
|
+
var import_utils = require("../utils");
|
|
28
|
+
var import_ariaSnapshot = require("../utils/isomorphic/ariaSnapshot");
|
|
29
|
+
var import_utilsBundle = require("../utilsBundle");
|
|
30
|
+
var import_recorderApp = require("./recorder/recorderApp");
|
|
31
|
+
var import_locatorParser = require("../utils/isomorphic/locatorParser");
|
|
32
|
+
const internalMetadata = (0, import_instrumentation.serverSideCallMetadata)();
|
|
33
|
+
class DebugController extends import_instrumentation.SdkObject {
|
|
31
34
|
constructor(playwright) {
|
|
32
|
-
super({
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
},
|
|
36
|
-
instrumentation: (0, _instrumentation.createInstrumentation)()
|
|
37
|
-
}, undefined, 'DebugController');
|
|
38
|
-
this._autoCloseTimer = void 0;
|
|
39
|
-
// TODO: remove in 1.27
|
|
40
|
-
this._autoCloseAllowed = false;
|
|
41
|
-
this._trackHierarchyListener = void 0;
|
|
42
|
-
this._playwright = void 0;
|
|
43
|
-
this._sdkLanguage = 'javascript';
|
|
44
|
-
this._codegenId = 'playwright-test';
|
|
35
|
+
super({ attribution: { isInternalPlaywright: true }, instrumentation: (0, import_instrumentation.createInstrumentation)() }, void 0, "DebugController");
|
|
36
|
+
this._sdkLanguage = "javascript";
|
|
37
|
+
this._codegenId = "playwright-test";
|
|
45
38
|
this._playwright = playwright;
|
|
46
39
|
}
|
|
40
|
+
static {
|
|
41
|
+
this.Events = {
|
|
42
|
+
StateChanged: "stateChanged",
|
|
43
|
+
InspectRequested: "inspectRequested",
|
|
44
|
+
SourceChanged: "sourceChanged",
|
|
45
|
+
Paused: "paused",
|
|
46
|
+
SetModeRequested: "setModeRequested"
|
|
47
|
+
};
|
|
48
|
+
}
|
|
47
49
|
initialize(codegenId, sdkLanguage) {
|
|
48
50
|
this._codegenId = codegenId;
|
|
49
51
|
this._sdkLanguage = sdkLanguage;
|
|
50
52
|
}
|
|
51
|
-
setAutoCloseAllowed(allowed) {
|
|
52
|
-
this._autoCloseAllowed = allowed;
|
|
53
|
-
}
|
|
54
53
|
dispose() {
|
|
55
54
|
this.setReportStateChanged(false);
|
|
56
|
-
this.setAutoCloseAllowed(false);
|
|
57
55
|
}
|
|
58
56
|
setReportStateChanged(enabled) {
|
|
59
57
|
if (enabled && !this._trackHierarchyListener) {
|
|
60
58
|
this._trackHierarchyListener = {
|
|
61
|
-
onPageOpen: () => this._emitSnapshot(),
|
|
62
|
-
onPageClose: () => this._emitSnapshot()
|
|
59
|
+
onPageOpen: () => this._emitSnapshot(false),
|
|
60
|
+
onPageClose: () => this._emitSnapshot(false)
|
|
63
61
|
};
|
|
64
62
|
this._playwright.instrumentation.addListener(this._trackHierarchyListener, null);
|
|
63
|
+
this._emitSnapshot(true);
|
|
65
64
|
} else if (!enabled && this._trackHierarchyListener) {
|
|
66
65
|
this._playwright.instrumentation.removeListener(this._trackHierarchyListener);
|
|
67
|
-
this._trackHierarchyListener =
|
|
66
|
+
this._trackHierarchyListener = void 0;
|
|
68
67
|
}
|
|
69
68
|
}
|
|
70
69
|
async resetForReuse() {
|
|
71
|
-
const contexts = new Set();
|
|
72
|
-
for (const page of this._playwright.allPages())
|
|
73
|
-
|
|
70
|
+
const contexts = /* @__PURE__ */ new Set();
|
|
71
|
+
for (const page of this._playwright.allPages())
|
|
72
|
+
contexts.add(page.context());
|
|
73
|
+
for (const context of contexts)
|
|
74
|
+
await context.resetForReuse(internalMetadata, null);
|
|
74
75
|
}
|
|
75
76
|
async navigate(url) {
|
|
76
|
-
for (const p of this._playwright.allPages())
|
|
77
|
+
for (const p of this._playwright.allPages())
|
|
78
|
+
await p.mainFrame().goto(internalMetadata, url);
|
|
77
79
|
}
|
|
78
80
|
async setRecorderMode(params) {
|
|
79
|
-
// TODO: |file| is only used in the legacy mode.
|
|
80
81
|
await this._closeBrowsersWithoutPages();
|
|
81
|
-
if (params.mode ===
|
|
82
|
+
if (params.mode === "none") {
|
|
82
83
|
for (const recorder of await this._allRecorders()) {
|
|
83
84
|
recorder.hideHighlightedSelector();
|
|
84
|
-
recorder.setMode(
|
|
85
|
+
recorder.setMode("none");
|
|
85
86
|
}
|
|
86
|
-
this.setAutoCloseEnabled(true);
|
|
87
87
|
return;
|
|
88
88
|
}
|
|
89
|
-
if (!this._playwright.allBrowsers().length)
|
|
90
|
-
headless: !!process.env.PW_DEBUG_CONTROLLER_HEADLESS
|
|
91
|
-
});
|
|
92
|
-
// Create page if none.
|
|
89
|
+
if (!this._playwright.allBrowsers().length)
|
|
90
|
+
await this._playwright.chromium.launch(internalMetadata, { headless: !!process.env.PW_DEBUG_CONTROLLER_HEADLESS });
|
|
93
91
|
const pages = this._playwright.allPages();
|
|
94
92
|
if (!pages.length) {
|
|
95
93
|
const [browser] = this._playwright.allBrowsers();
|
|
96
|
-
const {
|
|
97
|
-
context
|
|
98
|
-
} = await browser.newContextForReuse({}, internalMetadata);
|
|
94
|
+
const { context } = await browser.newContextForReuse({}, internalMetadata);
|
|
99
95
|
await context.newPage(internalMetadata);
|
|
100
96
|
}
|
|
101
|
-
// Update test id attribute.
|
|
102
97
|
if (params.testIdAttributeName) {
|
|
103
|
-
for (const page of this._playwright.allPages())
|
|
98
|
+
for (const page of this._playwright.allPages())
|
|
99
|
+
page.context().selectors().setTestIdAttributeName(params.testIdAttributeName);
|
|
104
100
|
}
|
|
105
|
-
// Toggle the mode.
|
|
106
101
|
for (const recorder of await this._allRecorders()) {
|
|
107
102
|
recorder.hideHighlightedSelector();
|
|
108
|
-
if (params.mode !==
|
|
103
|
+
if (params.mode !== "inspecting")
|
|
104
|
+
recorder.setOutput(this._codegenId, params.file);
|
|
109
105
|
recorder.setMode(params.mode);
|
|
110
106
|
}
|
|
111
|
-
this.setAutoCloseEnabled(true);
|
|
112
|
-
}
|
|
113
|
-
async setAutoCloseEnabled(enabled) {
|
|
114
|
-
if (!this._autoCloseAllowed) return;
|
|
115
|
-
if (this._autoCloseTimer) clearTimeout(this._autoCloseTimer);
|
|
116
|
-
if (!enabled) return;
|
|
117
|
-
const heartBeat = () => {
|
|
118
|
-
if (!this._playwright.allPages().length) (0, _processLauncher.gracefullyProcessExitDoNotHang)(0);else this._autoCloseTimer = setTimeout(heartBeat, 5000);
|
|
119
|
-
};
|
|
120
|
-
this._autoCloseTimer = setTimeout(heartBeat, 30000);
|
|
121
107
|
}
|
|
122
108
|
async highlight(params) {
|
|
109
|
+
if (params.selector)
|
|
110
|
+
(0, import_locatorParser.unsafeLocatorOrSelectorAsSelector)(this._sdkLanguage, params.selector, "data-testid");
|
|
111
|
+
const ariaTemplate = params.ariaTemplate ? (0, import_ariaSnapshot.parseAriaSnapshotUnsafe)(import_utilsBundle.yaml, params.ariaTemplate) : void 0;
|
|
123
112
|
for (const recorder of await this._allRecorders()) {
|
|
124
|
-
if (
|
|
113
|
+
if (ariaTemplate)
|
|
114
|
+
recorder.setHighlightedAriaTemplate(ariaTemplate);
|
|
115
|
+
else if (params.selector)
|
|
116
|
+
recorder.setHighlightedSelector(this._sdkLanguage, params.selector);
|
|
125
117
|
}
|
|
126
118
|
}
|
|
127
119
|
async hideHighlight() {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
// Hide all locator.highlight highlights.
|
|
120
|
+
for (const recorder of await this._allRecorders())
|
|
121
|
+
recorder.hideHighlightedSelector();
|
|
131
122
|
await this._playwright.hideHighlight();
|
|
132
123
|
}
|
|
133
124
|
allBrowsers() {
|
|
134
125
|
return [...this._playwright.allBrowsers()];
|
|
135
126
|
}
|
|
136
127
|
async resume() {
|
|
137
|
-
for (const recorder of await this._allRecorders())
|
|
128
|
+
for (const recorder of await this._allRecorders())
|
|
129
|
+
recorder.resume();
|
|
138
130
|
}
|
|
139
131
|
async kill() {
|
|
140
|
-
(0,
|
|
132
|
+
(0, import_processLauncher.gracefullyProcessExitDoNotHang)(0);
|
|
141
133
|
}
|
|
142
134
|
async closeAllBrowsers() {
|
|
143
|
-
await Promise.all(this.allBrowsers().map(browser => browser.close({
|
|
144
|
-
reason: 'Close all browsers requested'
|
|
145
|
-
})));
|
|
135
|
+
await Promise.all(this.allBrowsers().map((browser) => browser.close({ reason: "Close all browsers requested" })));
|
|
146
136
|
}
|
|
147
|
-
_emitSnapshot() {
|
|
148
|
-
const
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
contexts: []
|
|
153
|
-
};
|
|
154
|
-
browsers.push(b);
|
|
155
|
-
for (const context of browser.contexts()) {
|
|
156
|
-
const c = {
|
|
157
|
-
pages: []
|
|
158
|
-
};
|
|
159
|
-
b.contexts.push(c);
|
|
160
|
-
for (const page of context.pages()) c.pages.push(page.mainFrame().url());
|
|
161
|
-
pageCount += context.pages().length;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
this.emit(DebugController.Events.StateChanged, {
|
|
165
|
-
pageCount
|
|
166
|
-
});
|
|
137
|
+
_emitSnapshot(initial) {
|
|
138
|
+
const pageCount = this._playwright.allPages().length;
|
|
139
|
+
if (initial && !pageCount)
|
|
140
|
+
return;
|
|
141
|
+
this.emit(DebugController.Events.StateChanged, { pageCount });
|
|
167
142
|
}
|
|
168
143
|
async _allRecorders() {
|
|
169
|
-
const contexts = new Set();
|
|
170
|
-
for (const page of this._playwright.allPages())
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
}, () => Promise.resolve(new InspectingRecorderApp(this)))));
|
|
144
|
+
const contexts = /* @__PURE__ */ new Set();
|
|
145
|
+
for (const page of this._playwright.allPages())
|
|
146
|
+
contexts.add(page.context());
|
|
147
|
+
const result = await Promise.all([...contexts].map((c) => import_recorder.Recorder.showInspector(c, { omitCallTracking: true }, () => Promise.resolve(new InspectingRecorderApp(this)))));
|
|
174
148
|
return result.filter(Boolean);
|
|
175
149
|
}
|
|
176
150
|
async _closeBrowsersWithoutPages() {
|
|
177
151
|
for (const browser of this._playwright.allBrowsers()) {
|
|
178
152
|
for (const context of browser.contexts()) {
|
|
179
|
-
if (!context.pages().length)
|
|
180
|
-
reason:
|
|
181
|
-
});
|
|
153
|
+
if (!context.pages().length)
|
|
154
|
+
await context.close({ reason: "Browser collected" });
|
|
182
155
|
}
|
|
183
|
-
if (!browser.contexts())
|
|
184
|
-
reason:
|
|
185
|
-
});
|
|
156
|
+
if (!browser.contexts())
|
|
157
|
+
await browser.close({ reason: "Browser collected" });
|
|
186
158
|
}
|
|
187
159
|
}
|
|
188
160
|
}
|
|
189
|
-
|
|
190
|
-
DebugController.Events = {
|
|
191
|
-
StateChanged: 'stateChanged',
|
|
192
|
-
InspectRequested: 'inspectRequested',
|
|
193
|
-
SourceChanged: 'sourceChanged',
|
|
194
|
-
Paused: 'paused',
|
|
195
|
-
SetModeRequested: 'setModeRequested'
|
|
196
|
-
};
|
|
197
|
-
class InspectingRecorderApp extends _recorderApp.EmptyRecorderApp {
|
|
161
|
+
class InspectingRecorderApp extends import_recorderApp.EmptyRecorderApp {
|
|
198
162
|
constructor(debugController) {
|
|
199
163
|
super();
|
|
200
|
-
this._debugController = void 0;
|
|
201
164
|
this._debugController = debugController;
|
|
202
165
|
}
|
|
203
166
|
async elementPicked(elementInfo) {
|
|
204
|
-
const locator = (0,
|
|
205
|
-
this._debugController.emit(DebugController.Events.InspectRequested, {
|
|
206
|
-
selector: elementInfo.selector,
|
|
207
|
-
locator
|
|
208
|
-
});
|
|
167
|
+
const locator = (0, import_utils.asLocator)(this._debugController._sdkLanguage, elementInfo.selector);
|
|
168
|
+
this._debugController.emit(DebugController.Events.InspectRequested, { selector: elementInfo.selector, locator, ariaSnapshot: elementInfo.ariaSnapshot });
|
|
209
169
|
}
|
|
210
170
|
async setSources(sources) {
|
|
211
|
-
const source = sources.find(s => s.id === this._debugController._codegenId);
|
|
212
|
-
const {
|
|
213
|
-
|
|
214
|
-
header,
|
|
215
|
-
footer,
|
|
216
|
-
actions
|
|
217
|
-
} = source || {
|
|
218
|
-
text: ''
|
|
219
|
-
};
|
|
220
|
-
this._debugController.emit(DebugController.Events.SourceChanged, {
|
|
221
|
-
text,
|
|
222
|
-
header,
|
|
223
|
-
footer,
|
|
224
|
-
actions
|
|
225
|
-
});
|
|
171
|
+
const source = sources.find((s) => s.id === this._debugController._codegenId);
|
|
172
|
+
const { text, header, footer, actions } = source || { text: "" };
|
|
173
|
+
this._debugController.emit(DebugController.Events.SourceChanged, { text, header, footer, actions });
|
|
226
174
|
}
|
|
227
175
|
async setPaused(paused) {
|
|
228
|
-
this._debugController.emit(DebugController.Events.Paused, {
|
|
229
|
-
paused
|
|
230
|
-
});
|
|
176
|
+
this._debugController.emit(DebugController.Events.Paused, { paused });
|
|
231
177
|
}
|
|
232
178
|
async setMode(mode) {
|
|
233
|
-
this._debugController.emit(DebugController.Events.SetModeRequested, {
|
|
234
|
-
mode
|
|
235
|
-
});
|
|
179
|
+
this._debugController.emit(DebugController.Events.SetModeRequested, { mode });
|
|
236
180
|
}
|
|
237
|
-
}
|
|
181
|
+
}
|
|
182
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
183
|
+
0 && (module.exports = {
|
|
184
|
+
DebugController
|
|
185
|
+
});
|
package/lib/server/debugger.js
CHANGED
|
@@ -1,87 +1,93 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
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 debugger_exports = {};
|
|
20
|
+
__export(debugger_exports, {
|
|
21
|
+
Debugger: () => Debugger,
|
|
22
|
+
shouldSlowMo: () => shouldSlowMo
|
|
5
23
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
* Copyright (c) Microsoft Corporation.
|
|
14
|
-
*
|
|
15
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
16
|
-
* you may not use this file except in compliance with the License.
|
|
17
|
-
* You may obtain a copy of the License at
|
|
18
|
-
*
|
|
19
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
20
|
-
*
|
|
21
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
22
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
23
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
24
|
-
* See the License for the specific language governing permissions and
|
|
25
|
-
* limitations under the License.
|
|
26
|
-
*/
|
|
27
|
-
|
|
28
|
-
const symbol = Symbol('Debugger');
|
|
29
|
-
class Debugger extends _events.EventEmitter {
|
|
24
|
+
module.exports = __toCommonJS(debugger_exports);
|
|
25
|
+
var import_events = require("events");
|
|
26
|
+
var import_utils = require("../utils");
|
|
27
|
+
var import_browserContext = require("./browserContext");
|
|
28
|
+
var import_debug = require("../protocol/debug");
|
|
29
|
+
const symbol = Symbol("Debugger");
|
|
30
|
+
class Debugger extends import_events.EventEmitter {
|
|
30
31
|
constructor(context) {
|
|
31
32
|
super();
|
|
32
33
|
this._pauseOnNextStatement = false;
|
|
33
|
-
this._pausedCallsMetadata = new Map();
|
|
34
|
-
this._enabled = void 0;
|
|
35
|
-
this._context = void 0;
|
|
34
|
+
this._pausedCallsMetadata = /* @__PURE__ */ new Map();
|
|
36
35
|
this._muted = false;
|
|
37
|
-
this._slowMo = void 0;
|
|
38
36
|
this._context = context;
|
|
39
37
|
this._context[symbol] = this;
|
|
40
|
-
this._enabled = (0,
|
|
41
|
-
if (this._enabled)
|
|
38
|
+
this._enabled = (0, import_utils.debugMode)() === "inspector";
|
|
39
|
+
if (this._enabled)
|
|
40
|
+
this.pauseOnNextStatement();
|
|
42
41
|
context.instrumentation.addListener(this, context);
|
|
43
|
-
this._context.once(
|
|
42
|
+
this._context.once(import_browserContext.BrowserContext.Events.Close, () => {
|
|
44
43
|
this._context.instrumentation.removeListener(this);
|
|
45
44
|
});
|
|
46
45
|
this._slowMo = this._context._browser.options.slowMo;
|
|
47
46
|
}
|
|
47
|
+
static {
|
|
48
|
+
this.Events = {
|
|
49
|
+
PausedStateChanged: "pausedstatechanged"
|
|
50
|
+
};
|
|
51
|
+
}
|
|
48
52
|
async setMuted(muted) {
|
|
49
53
|
this._muted = muted;
|
|
50
54
|
}
|
|
51
55
|
async onBeforeCall(sdkObject, metadata) {
|
|
52
|
-
if (this._muted)
|
|
53
|
-
|
|
56
|
+
if (this._muted)
|
|
57
|
+
return;
|
|
58
|
+
if (shouldPauseOnCall(sdkObject, metadata) || this._pauseOnNextStatement && shouldPauseBeforeStep(metadata))
|
|
59
|
+
await this.pause(sdkObject, metadata);
|
|
54
60
|
}
|
|
55
61
|
async _doSlowMo() {
|
|
56
|
-
await new Promise(f => setTimeout(f, this._slowMo));
|
|
62
|
+
await new Promise((f) => setTimeout(f, this._slowMo));
|
|
57
63
|
}
|
|
58
64
|
async onAfterCall(sdkObject, metadata) {
|
|
59
|
-
if (this._slowMo && shouldSlowMo(metadata))
|
|
65
|
+
if (this._slowMo && shouldSlowMo(metadata))
|
|
66
|
+
await this._doSlowMo();
|
|
60
67
|
}
|
|
61
68
|
async onBeforeInputAction(sdkObject, metadata) {
|
|
62
|
-
if (this._muted)
|
|
63
|
-
|
|
69
|
+
if (this._muted)
|
|
70
|
+
return;
|
|
71
|
+
if (this._enabled && this._pauseOnNextStatement)
|
|
72
|
+
await this.pause(sdkObject, metadata);
|
|
64
73
|
}
|
|
65
74
|
async pause(sdkObject, metadata) {
|
|
66
|
-
if (this._muted)
|
|
75
|
+
if (this._muted)
|
|
76
|
+
return;
|
|
67
77
|
this._enabled = true;
|
|
68
|
-
metadata.pauseStartTime = (0,
|
|
69
|
-
const result = new Promise(resolve => {
|
|
70
|
-
this._pausedCallsMetadata.set(metadata, {
|
|
71
|
-
resolve,
|
|
72
|
-
sdkObject
|
|
73
|
-
});
|
|
78
|
+
metadata.pauseStartTime = (0, import_utils.monotonicTime)();
|
|
79
|
+
const result = new Promise((resolve) => {
|
|
80
|
+
this._pausedCallsMetadata.set(metadata, { resolve, sdkObject });
|
|
74
81
|
});
|
|
75
82
|
this.emit(Debugger.Events.PausedStateChanged);
|
|
76
83
|
return result;
|
|
77
84
|
}
|
|
78
85
|
resume(step) {
|
|
79
|
-
if (!this.isPaused())
|
|
86
|
+
if (!this.isPaused())
|
|
87
|
+
return;
|
|
80
88
|
this._pauseOnNextStatement = step;
|
|
81
|
-
const endTime = (0,
|
|
82
|
-
for (const [metadata, {
|
|
83
|
-
resolve
|
|
84
|
-
}] of this._pausedCallsMetadata) {
|
|
89
|
+
const endTime = (0, import_utils.monotonicTime)();
|
|
90
|
+
for (const [metadata, { resolve }] of this._pausedCallsMetadata) {
|
|
85
91
|
metadata.pauseEndTime = endTime;
|
|
86
92
|
resolve();
|
|
87
93
|
}
|
|
@@ -92,41 +98,39 @@ class Debugger extends _events.EventEmitter {
|
|
|
92
98
|
this._pauseOnNextStatement = true;
|
|
93
99
|
}
|
|
94
100
|
isPaused(metadata) {
|
|
95
|
-
if (metadata)
|
|
101
|
+
if (metadata)
|
|
102
|
+
return this._pausedCallsMetadata.has(metadata);
|
|
96
103
|
return !!this._pausedCallsMetadata.size;
|
|
97
104
|
}
|
|
98
105
|
pausedDetails() {
|
|
99
106
|
const result = [];
|
|
100
|
-
for (const [metadata, {
|
|
101
|
-
sdkObject
|
|
102
|
-
}] of this._pausedCallsMetadata) result.push({
|
|
103
|
-
metadata,
|
|
104
|
-
sdkObject
|
|
105
|
-
});
|
|
107
|
+
for (const [metadata, { sdkObject }] of this._pausedCallsMetadata)
|
|
108
|
+
result.push({ metadata, sdkObject });
|
|
106
109
|
return result;
|
|
107
110
|
}
|
|
108
111
|
}
|
|
109
|
-
exports.Debugger = Debugger;
|
|
110
|
-
Debugger.Events = {
|
|
111
|
-
PausedStateChanged: 'pausedstatechanged'
|
|
112
|
-
};
|
|
113
112
|
function shouldPauseOnCall(sdkObject, metadata) {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
if (!
|
|
117
|
-
|
|
113
|
+
if (sdkObject.attribution.playwright.options.isServer)
|
|
114
|
+
return false;
|
|
115
|
+
if (!sdkObject.attribution.browser?.options.headful && !(0, import_utils.isUnderTest)())
|
|
116
|
+
return false;
|
|
117
|
+
return metadata.method === "pause";
|
|
118
118
|
}
|
|
119
119
|
function shouldPauseBeforeStep(metadata) {
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
if (metadata.method ===
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
return _debug.commandsWithTracingSnapshots.has(step) && !_debug.pausesBeforeInputActions.has(metadata.type + '.' + metadata.method);
|
|
120
|
+
if (!metadata.apiName)
|
|
121
|
+
return false;
|
|
122
|
+
if (metadata.method === "close")
|
|
123
|
+
return true;
|
|
124
|
+
if (metadata.method === "waitForSelector" || metadata.method === "waitForEventInfo" || metadata.method === "querySelector" || metadata.method === "querySelectorAll")
|
|
125
|
+
return false;
|
|
126
|
+
const step = metadata.type + "." + metadata.method;
|
|
127
|
+
return import_debug.commandsWithTracingSnapshots.has(step) && !import_debug.pausesBeforeInputActions.has(metadata.type + "." + metadata.method);
|
|
129
128
|
}
|
|
130
129
|
function shouldSlowMo(metadata) {
|
|
131
|
-
return
|
|
132
|
-
}
|
|
130
|
+
return import_debug.slowMoActions.has(metadata.type + "." + metadata.method);
|
|
131
|
+
}
|
|
132
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
133
|
+
0 && (module.exports = {
|
|
134
|
+
Debugger,
|
|
135
|
+
shouldSlowMo
|
|
136
|
+
});
|
|
@@ -1,26 +1,39 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty
|
|
4
|
-
|
|
2
|
+
var __create = Object.create;
|
|
3
|
+
var __defProp = Object.defineProperty;
|
|
4
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
5
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
7
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
8
|
+
var __export = (target, all) => {
|
|
9
|
+
for (var name in all)
|
|
10
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
11
|
+
};
|
|
12
|
+
var __copyProps = (to, from, except, desc) => {
|
|
13
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
14
|
+
for (let key of __getOwnPropNames(from))
|
|
15
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
16
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
17
|
+
}
|
|
18
|
+
return to;
|
|
19
|
+
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
28
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
29
|
+
var deviceDescriptors_exports = {};
|
|
30
|
+
__export(deviceDescriptors_exports, {
|
|
31
|
+
deviceDescriptors: () => deviceDescriptors
|
|
32
|
+
});
|
|
33
|
+
module.exports = __toCommonJS(deviceDescriptors_exports);
|
|
34
|
+
var import_deviceDescriptorsSource = __toESM(require("./deviceDescriptorsSource.json"));
|
|
35
|
+
const deviceDescriptors = import_deviceDescriptorsSource.default;
|
|
36
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
37
|
+
0 && (module.exports = {
|
|
38
|
+
deviceDescriptors
|
|
5
39
|
});
|
|
6
|
-
exports.deviceDescriptors = void 0;
|
|
7
|
-
var _deviceDescriptorsSource = _interopRequireDefault(require("./deviceDescriptorsSource.json"));
|
|
8
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
|
-
/**
|
|
10
|
-
* Copyright 2017 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
|
-
|
|
26
|
-
const deviceDescriptors = exports.deviceDescriptors = _deviceDescriptorsSource.default;
|