@checkly/playwright-core 1.51.17-beta.2 → 1.54.2-beta.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.
- package/ThirdPartyNotices.txt +65 -123
- package/browsers.json +16 -14
- package/index.js +1 -1
- package/lib/androidServerImpl.js +47 -50
- package/lib/browserServerImpl.js +89 -69
- package/lib/checkly/escapeRegExp.js +23 -27
- package/lib/checkly/fetch.js +64 -46
- package/lib/checkly/secretsFilter.js +49 -35
- package/lib/cli/driver.js +71 -69
- package/lib/cli/program.js +400 -359
- package/lib/cli/programWithTestStub.js +51 -45
- package/lib/client/accessibility.js +31 -32
- package/lib/client/android.js +151 -242
- package/lib/client/api.js +135 -283
- package/lib/client/artifact.js +39 -36
- package/lib/client/browser.js +96 -71
- package/lib/client/browserContext.js +314 -345
- package/lib/client/browserType.js +103 -127
- package/lib/client/cdpSession.js +29 -31
- package/lib/client/channelOwner.js +89 -112
- package/lib/client/clientHelper.js +48 -39
- package/lib/client/clientInstrumentation.js +40 -37
- package/lib/client/clientStackTrace.js +41 -37
- package/lib/client/clock.js +36 -36
- package/lib/client/connection.js +188 -214
- package/lib/client/consoleMessage.js +31 -28
- 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 +80 -77
- package/lib/client/elementHandle.js +120 -159
- package/lib/client/errors.js +53 -53
- package/lib/client/eventEmitter.js +124 -121
- package/lib/client/events.js +72 -68
- package/lib/client/fetch.js +166 -190
- package/lib/client/fileChooser.js +25 -24
- package/lib/client/fileUtils.js +31 -28
- package/lib/client/frame.js +207 -306
- package/lib/client/harRouter.js +42 -52
- package/lib/client/input.js +42 -69
- package/lib/client/jsHandle.js +54 -69
- package/lib/client/jsonPipe.js +27 -23
- package/lib/client/localUtils.js +29 -29
- package/lib/client/locator.js +145 -237
- package/lib/client/network.js +282 -307
- package/lib/client/page.js +269 -318
- package/lib/client/platform.js +46 -43
- package/lib/client/playwright.js +51 -76
- package/lib/client/selectors.js +45 -63
- package/lib/client/stream.js +29 -25
- package/lib/client/timeoutSettings.js +55 -41
- package/lib/client/tracing.js +49 -96
- package/lib/client/types.js +26 -22
- package/lib/client/video.js +35 -27
- package/lib/client/waiter.js +69 -88
- package/lib/client/webError.js +25 -23
- package/lib/client/webSocket.js +43 -56
- package/lib/client/worker.js +48 -56
- package/lib/client/writableStream.js +27 -23
- package/lib/generated/bindingsControllerSource.js +28 -0
- package/lib/generated/clockSource.js +26 -6
- package/lib/generated/consoleApiSource.js +26 -6
- package/lib/generated/injectedScriptSource.js +26 -6
- package/lib/generated/pollingRecorderSource.js +26 -6
- package/lib/generated/storageScriptSource.js +28 -0
- package/lib/generated/utilityScriptSource.js +26 -6
- package/lib/generated/webSocketMockSource.js +333 -5
- package/lib/inProcessFactory.js +51 -53
- package/lib/inprocess.js +2 -19
- package/lib/outofprocess.js +51 -46
- package/lib/protocol/serializers.js +153 -134
- package/lib/protocol/validator.js +2807 -2739
- package/lib/protocol/validatorPrimitives.js +114 -73
- package/lib/remote/playwrightConnection.js +88 -242
- package/lib/remote/playwrightServer.js +305 -92
- package/lib/server/accessibility.js +44 -37
- package/lib/server/android/android.js +251 -241
- package/lib/server/android/backendAdb.js +87 -82
- package/lib/server/artifact.js +78 -55
- package/lib/server/bidi/bidiBrowser.js +297 -158
- package/lib/server/bidi/bidiChromium.js +119 -89
- package/lib/server/bidi/bidiConnection.js +66 -83
- package/lib/server/bidi/bidiExecutionContext.js +129 -113
- package/lib/server/bidi/bidiFirefox.js +86 -76
- package/lib/server/bidi/bidiInput.js +106 -117
- package/lib/server/bidi/bidiNetworkManager.js +142 -159
- package/lib/server/bidi/bidiOverCdp.js +57 -58
- package/lib/server/bidi/bidiPage.js +260 -260
- 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 +236 -220
- package/lib/server/bidi/third_party/bidiProtocol.js +22 -137
- package/lib/server/bidi/third_party/bidiProtocolCore.js +152 -0
- package/lib/server/bidi/third_party/bidiProtocolPermissions.js +42 -0
- package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
- package/lib/server/bidi/third_party/firefoxPrefs.js +141 -119
- package/lib/server/browser.js +93 -95
- package/lib/server/browserContext.js +419 -429
- package/lib/server/browserType.js +186 -216
- package/lib/server/callLog.js +47 -44
- package/lib/server/chromium/chromium.js +235 -203
- package/lib/server/chromium/chromiumSwitches.js +100 -67
- package/lib/server/chromium/crAccessibility.js +157 -131
- package/lib/server/chromium/crBrowser.js +310 -292
- package/lib/server/chromium/crConnection.js +95 -121
- package/lib/server/chromium/crCoverage.js +121 -131
- package/lib/server/chromium/crDevTools.js +60 -51
- package/lib/server/chromium/crDragDrop.js +68 -84
- package/lib/server/chromium/crExecutionContext.js +89 -83
- package/lib/server/chromium/crInput.js +118 -113
- package/lib/server/chromium/crNetworkManager.js +274 -375
- package/lib/server/chromium/crPage.js +536 -593
- package/lib/server/chromium/crPdf.js +54 -86
- package/lib/server/chromium/crProtocolHelper.js +92 -80
- package/lib/server/chromium/crServiceWorker.js +84 -73
- package/lib/server/chromium/defaultFontFamilies.js +152 -135
- package/lib/server/chromium/protocol.d.js +16 -0
- package/lib/server/chromium/videoRecorder.js +66 -99
- package/lib/server/clock.js +107 -83
- package/lib/server/codegen/csharp.js +192 -162
- package/lib/server/codegen/java.js +156 -129
- package/lib/server/codegen/javascript.js +163 -148
- package/lib/server/codegen/jsonl.js +32 -28
- package/lib/server/codegen/language.js +75 -52
- package/lib/server/codegen/languages.js +65 -27
- package/lib/server/codegen/python.js +141 -126
- package/lib/server/codegen/types.js +15 -4
- package/lib/server/console.js +28 -32
- package/lib/server/cookieStore.js +108 -86
- package/lib/server/debugController.js +147 -151
- package/lib/server/debugger.js +86 -78
- package/lib/server/deviceDescriptors.js +37 -24
- package/lib/server/deviceDescriptorsSource.json +238 -128
- package/lib/server/dialog.js +84 -39
- package/lib/server/dispatchers/androidDispatcher.js +257 -148
- package/lib/server/dispatchers/artifactDispatcher.js +79 -79
- package/lib/server/dispatchers/browserContextDispatcher.js +289 -259
- package/lib/server/dispatchers/browserDispatcher.js +96 -148
- package/lib/server/dispatchers/browserTypeDispatcher.js +50 -41
- package/lib/server/dispatchers/cdpSessionDispatcher.js +35 -39
- package/lib/server/dispatchers/debugControllerDispatcher.js +65 -83
- package/lib/server/dispatchers/dialogDispatcher.js +34 -31
- package/lib/server/dispatchers/dispatcher.js +208 -248
- package/lib/server/dispatchers/electronDispatcher.js +66 -70
- package/lib/server/dispatchers/elementHandlerDispatcher.js +164 -216
- package/lib/server/dispatchers/frameDispatcher.js +211 -272
- package/lib/server/dispatchers/jsHandleDispatcher.js +63 -75
- package/lib/server/dispatchers/jsonPipeDispatcher.js +37 -38
- package/lib/server/dispatchers/localUtilsDispatcher.js +121 -119
- package/lib/server/dispatchers/networkDispatchers.js +117 -128
- package/lib/server/dispatchers/pageDispatcher.js +256 -248
- package/lib/server/dispatchers/playwrightDispatcher.js +92 -87
- package/lib/server/dispatchers/streamDispatcher.js +52 -48
- package/lib/server/dispatchers/tracingDispatcher.js +47 -52
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +126 -150
- package/lib/server/dispatchers/writableStreamDispatcher.js +65 -43
- package/lib/server/dom.js +485 -582
- package/lib/server/download.js +47 -37
- package/lib/server/electron/electron.js +216 -243
- package/lib/server/electron/loader.js +9 -37
- package/lib/server/errors.js +47 -46
- package/lib/server/fetch.js +317 -360
- package/lib/server/fileChooser.js +25 -24
- package/lib/server/fileUploadUtils.js +66 -60
- package/lib/server/firefox/ffAccessibility.js +153 -131
- package/lib/server/firefox/ffBrowser.js +268 -305
- package/lib/server/firefox/ffConnection.js +63 -84
- package/lib/server/firefox/ffExecutionContext.js +92 -73
- package/lib/server/firefox/ffInput.js +82 -84
- package/lib/server/firefox/ffNetworkManager.js +137 -114
- package/lib/server/firefox/ffPage.js +261 -293
- package/lib/server/firefox/firefox.js +80 -72
- package/lib/server/firefox/protocol.d.js +16 -0
- package/lib/server/formData.js +107 -35
- package/lib/server/frameSelectors.js +98 -114
- package/lib/server/frames.js +845 -1055
- package/lib/server/har/harRecorder.js +85 -77
- package/lib/server/har/harTracer.js +290 -223
- package/lib/server/harBackend.js +80 -80
- package/lib/server/helper.js +55 -59
- package/lib/server/index.js +59 -99
- package/lib/server/input.js +151 -189
- package/lib/server/instrumentation.js +57 -44
- package/lib/server/javascript.js +133 -134
- package/lib/server/launchApp.js +113 -75
- package/lib/server/localUtils.js +150 -142
- package/lib/server/macEditingCommands.js +141 -137
- package/lib/server/network.js +299 -303
- package/lib/server/page.js +513 -544
- package/lib/server/pipeTransport.js +49 -45
- package/lib/server/playwright.js +58 -67
- package/lib/server/progress.js +137 -68
- package/lib/server/protocolError.js +34 -31
- package/lib/server/recorder/chat.js +70 -86
- package/lib/server/recorder/recorderApp.js +341 -176
- package/lib/server/recorder/recorderInTraceViewer.js +65 -94
- package/lib/server/recorder/recorderRunner.js +93 -116
- package/lib/server/recorder/recorderSignalProcessor.js +83 -0
- package/lib/server/recorder/recorderUtils.js +104 -47
- package/lib/server/recorder/throttledFile.js +42 -30
- package/lib/server/recorder.js +395 -275
- package/lib/server/registry/browserFetcher.js +106 -101
- package/lib/server/registry/dependencies.js +245 -196
- package/lib/server/registry/index.js +930 -803
- package/lib/server/registry/nativeDeps.js +1073 -464
- package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
- package/lib/server/screenshotter.js +160 -191
- package/lib/server/selectors.js +90 -51
- package/lib/server/socksClientCertificatesInterceptor.js +171 -186
- package/lib/server/socksInterceptor.js +62 -70
- package/lib/server/trace/recorder/snapshotter.js +76 -102
- package/lib/server/trace/recorder/snapshotterInjected.js +238 -217
- package/lib/server/trace/recorder/tracing.js +354 -362
- package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
- package/lib/server/trace/viewer/traceViewer.js +160 -147
- package/lib/server/transport.js +119 -134
- package/lib/server/types.js +26 -22
- package/lib/server/usKeyboardLayout.js +135 -545
- package/lib/server/utils/ascii.js +39 -26
- package/lib/server/utils/comparators.js +105 -103
- package/lib/server/utils/crypto.js +157 -112
- package/lib/server/utils/debug.js +36 -32
- package/lib/server/utils/debugLogger.js +77 -48
- package/lib/server/utils/env.js +52 -37
- package/lib/server/utils/eventsHelper.js +29 -28
- package/lib/server/utils/expectUtils.js +31 -26
- package/lib/server/utils/fileUtils.js +123 -136
- package/lib/server/utils/happyEyeballs.js +141 -126
- package/lib/server/utils/hostPlatform.js +84 -120
- package/lib/server/utils/httpServer.js +106 -121
- package/lib/server/utils/image_tools/colorUtils.js +42 -51
- package/lib/server/utils/image_tools/compare.js +44 -43
- package/lib/server/utils/image_tools/imageChannel.js +38 -30
- package/lib/server/utils/image_tools/stats.js +40 -40
- package/lib/server/utils/linuxUtils.js +50 -37
- package/lib/server/utils/network.js +152 -96
- package/lib/server/utils/nodePlatform.js +87 -79
- package/lib/server/utils/pipeTransport.js +44 -42
- package/lib/server/utils/processLauncher.js +111 -121
- package/lib/server/utils/profiler.js +52 -39
- package/lib/server/utils/socksProxy.js +280 -339
- package/lib/server/utils/spawnAsync.js +37 -41
- package/lib/server/utils/task.js +31 -38
- package/lib/server/utils/userAgent.js +73 -66
- package/lib/server/utils/wsServer.js +68 -75
- package/lib/server/utils/zipFile.js +36 -37
- package/lib/server/utils/zones.js +37 -34
- package/lib/server/webkit/protocol.d.js +16 -0
- package/lib/server/webkit/webkit.js +77 -61
- package/lib/server/webkit/wkAccessibility.js +161 -118
- package/lib/server/webkit/wkBrowser.js +193 -184
- package/lib/server/webkit/wkConnection.js +59 -83
- package/lib/server/webkit/wkExecutionContext.js +85 -70
- package/lib/server/webkit/wkInput.js +97 -95
- package/lib/server/webkit/wkInterceptableRequest.js +102 -95
- package/lib/server/webkit/wkPage.js +568 -667
- package/lib/server/webkit/wkProvisionalPage.js +45 -56
- package/lib/server/webkit/wkWorkers.js +79 -79
- package/lib/utils/expectUtils.js +31 -26
- package/lib/utils/isomorphic/ariaSnapshot.js +149 -152
- package/lib/utils/isomorphic/assert.js +28 -22
- package/lib/utils/isomorphic/colors.js +66 -59
- package/lib/utils/isomorphic/cssParser.js +120 -125
- package/lib/utils/isomorphic/cssTokenizer.js +436 -364
- package/lib/utils/isomorphic/headers.js +38 -37
- package/lib/utils/isomorphic/locatorGenerators.js +358 -357
- package/lib/utils/isomorphic/locatorParser.js +96 -105
- package/lib/utils/isomorphic/locatorUtils.js +63 -44
- package/lib/utils/isomorphic/manualPromise.js +46 -39
- package/lib/utils/isomorphic/mimeType.js +447 -25
- package/lib/utils/isomorphic/multimap.js +34 -27
- package/lib/utils/isomorphic/protocolFormatter.js +68 -0
- package/lib/utils/isomorphic/protocolMetainfo.js +321 -0
- package/lib/utils/isomorphic/recorderUtils.js +140 -181
- package/lib/utils/isomorphic/rtti.js +35 -33
- package/lib/utils/isomorphic/selectorParser.js +182 -193
- package/lib/utils/isomorphic/semaphore.js +27 -24
- package/lib/utils/isomorphic/stackTrace.js +87 -98
- package/lib/utils/isomorphic/stringUtils.js +98 -112
- package/lib/utils/isomorphic/time.js +46 -22
- package/lib/utils/isomorphic/timeoutRunner.js +53 -53
- package/lib/utils/isomorphic/traceUtils.js +37 -41
- package/lib/utils/isomorphic/types.js +15 -4
- package/lib/utils/isomorphic/urlMatch.js +113 -67
- package/lib/utils/isomorphic/utilityScriptSerializers.js +251 -0
- package/lib/utils.js +101 -443
- package/lib/utilsBundle.js +101 -52
- package/lib/utilsBundleImpl/index.js +160 -150
- package/lib/zipBundle.js +32 -23
- package/lib/zipBundleImpl.js +4 -4
- package/package.json +1 -1
- package/types/protocol.d.ts +1267 -1057
- package/types/types.d.ts +131 -29
- 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/compare.js +0 -108
- package/lib/image_tools/imageChannel.js +0 -70
- package/lib/image_tools/stats.js +0 -102
- package/lib/protocol/debug.js +0 -27
- package/lib/protocol/transport.js +0 -82
- package/lib/server/dispatchers/selectorsDispatcher.js +0 -36
- package/lib/server/isomorphic/utilityScriptSerializers.js +0 -229
- package/lib/server/recorder/contextRecorder.js +0 -290
- package/lib/server/recorder/recorderCollection.js +0 -104
- package/lib/server/recorder/recorderFrontend.js +0 -5
- package/lib/server/storageScript.js +0 -160
- package/lib/server/timeoutSettings.js +0 -74
- package/lib/third_party/diff_match_patch.js +0 -2222
- package/lib/utils/ascii.js +0 -31
- package/lib/utils/comparators.js +0 -171
- package/lib/utils/crypto.js +0 -174
- 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/fileUtils.js +0 -205
- package/lib/utils/happy-eyeballs.js +0 -210
- package/lib/utils/headers.js +0 -52
- package/lib/utils/hostPlatform.js +0 -133
- package/lib/utils/httpServer.js +0 -237
- package/lib/utils/index.js +0 -368
- 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/spawnAsync.js +0 -45
- package/lib/utils/stackTrace.js +0 -121
- 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 -62
- package/lib/vite/htmlReport/index.html +0 -69
- package/lib/vite/recorder/assets/codeMirrorModule-B9YMkrwa.js +0 -24
- package/lib/vite/recorder/assets/codeMirrorModule-C3UTv-Ge.css +0 -1
- package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- package/lib/vite/recorder/assets/index-ELPgmkwA.js +0 -184
- package/lib/vite/recorder/assets/index-eHBmevrY.css +0 -1
- package/lib/vite/recorder/index.html +0 -29
- package/lib/vite/recorder/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/assets/codeMirrorModule-gU1OOCQO.js +0 -24
- package/lib/vite/traceViewer/assets/defaultSettingsView-B5n_FjMx.js +0 -1
- package/lib/vite/traceViewer/assets/inspectorTab-6Tru8Mn_.js +0 -235
- package/lib/vite/traceViewer/assets/workbench-B_Nj4NA2.js +0 -25
- package/lib/vite/traceViewer/assets/xtermModule-BoAIEibi.js +0 -9
- package/lib/vite/traceViewer/codeMirrorModule.C3UTv-Ge.css +0 -1
- package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/lib/vite/traceViewer/defaultSettingsView.CO3FR0CX.css +0 -1
- package/lib/vite/traceViewer/embedded.DpNPH6mk.js +0 -2
- package/lib/vite/traceViewer/embedded.html +0 -18
- package/lib/vite/traceViewer/embedded.mLhjB5IF.css +0 -1
- package/lib/vite/traceViewer/index.CFOW-Ezb.css +0 -1
- package/lib/vite/traceViewer/index.CuE3SYGw.js +0 -2
- package/lib/vite/traceViewer/index.html +0 -47
- package/lib/vite/traceViewer/inspectorTab.CXDulcFG.css +0 -1
- package/lib/vite/traceViewer/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/recorder.BD-uZJs7.js +0 -2
- package/lib/vite/traceViewer/recorder.html +0 -17
- package/lib/vite/traceViewer/recorder.tn0RQdqM.css +0 -0
- package/lib/vite/traceViewer/snapshot.html +0 -21
- package/lib/vite/traceViewer/sw.bundle.js +0 -3
- package/lib/vite/traceViewer/uiMode.BatfzHMG.css +0 -1
- package/lib/vite/traceViewer/uiMode.DHrNgddz.js +0 -5
- package/lib/vite/traceViewer/uiMode.html +0 -21
- package/lib/vite/traceViewer/workbench.B9vIAzH9.css +0 -1
- package/lib/vite/traceViewer/xtermModule.Beg8tuEN.css +0 -32
|
@@ -1,50 +1,52 @@
|
|
|
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
|
-
var
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
19
|
-
* you may not use this file except in compliance with the License.
|
|
20
|
-
* You may obtain a copy of the License at
|
|
21
|
-
*
|
|
22
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
23
|
-
*
|
|
24
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
25
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
26
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
27
|
-
* See the License for the specific language governing permissions and
|
|
28
|
-
* limitations under the License.
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
|
-
const internalMetadata = (0, _instrumentation.serverSideCallMetadata)();
|
|
32
|
-
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_locatorParser = require("../utils/isomorphic/locatorParser");
|
|
31
|
+
var import_language = require("./codegen/language");
|
|
32
|
+
var import_recorderUtils = require("./recorder/recorderUtils");
|
|
33
|
+
var import_javascript = require("./codegen/javascript");
|
|
34
|
+
class DebugController extends import_instrumentation.SdkObject {
|
|
33
35
|
constructor(playwright) {
|
|
34
|
-
super({
|
|
35
|
-
|
|
36
|
-
isInternalPlaywright: true
|
|
37
|
-
},
|
|
38
|
-
instrumentation: (0, _instrumentation.createInstrumentation)()
|
|
39
|
-
}, undefined, 'DebugController');
|
|
40
|
-
this._trackHierarchyListener = void 0;
|
|
41
|
-
this._playwright = void 0;
|
|
42
|
-
this._sdkLanguage = 'javascript';
|
|
43
|
-
this._codegenId = 'playwright-test';
|
|
36
|
+
super({ attribution: { isInternalPlaywright: true }, instrumentation: (0, import_instrumentation.createInstrumentation)() }, void 0, "DebugController");
|
|
37
|
+
this._sdkLanguage = "javascript";
|
|
44
38
|
this._playwright = playwright;
|
|
45
39
|
}
|
|
40
|
+
static {
|
|
41
|
+
this.Events = {
|
|
42
|
+
StateChanged: "stateChanged",
|
|
43
|
+
InspectRequested: "inspectRequested",
|
|
44
|
+
SourceChanged: "sourceChanged",
|
|
45
|
+
Paused: "paused",
|
|
46
|
+
SetModeRequested: "setModeRequested"
|
|
47
|
+
};
|
|
48
|
+
}
|
|
46
49
|
initialize(codegenId, sdkLanguage) {
|
|
47
|
-
this._codegenId = codegenId;
|
|
48
50
|
this._sdkLanguage = sdkLanguage;
|
|
49
51
|
}
|
|
50
52
|
dispose() {
|
|
@@ -60,153 +62,147 @@ class DebugController extends _instrumentation.SdkObject {
|
|
|
60
62
|
this._emitSnapshot(true);
|
|
61
63
|
} else if (!enabled && this._trackHierarchyListener) {
|
|
62
64
|
this._playwright.instrumentation.removeListener(this._trackHierarchyListener);
|
|
63
|
-
this._trackHierarchyListener =
|
|
65
|
+
this._trackHierarchyListener = void 0;
|
|
64
66
|
}
|
|
65
67
|
}
|
|
66
|
-
async resetForReuse() {
|
|
67
|
-
const contexts = new Set();
|
|
68
|
-
for (const page of this._playwright.allPages())
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
68
|
+
async resetForReuse(progress) {
|
|
69
|
+
const contexts = /* @__PURE__ */ new Set();
|
|
70
|
+
for (const page of this._playwright.allPages())
|
|
71
|
+
contexts.add(page.browserContext);
|
|
72
|
+
for (const context of contexts)
|
|
73
|
+
await context.resetForReuse(progress, null);
|
|
74
|
+
}
|
|
75
|
+
async navigate(progress, url) {
|
|
76
|
+
for (const p of this._playwright.allPages())
|
|
77
|
+
await p.mainFrame().goto(progress, url);
|
|
78
|
+
}
|
|
79
|
+
async setRecorderMode(progress, params) {
|
|
80
|
+
await progress.race(this._closeBrowsersWithoutPages());
|
|
81
|
+
if (params.mode === "none") {
|
|
82
|
+
for (const recorder of await progress.race(this._allRecorders())) {
|
|
79
83
|
recorder.hideHighlightedSelector();
|
|
80
|
-
recorder.setMode(
|
|
84
|
+
recorder.setMode("none");
|
|
81
85
|
}
|
|
82
86
|
return;
|
|
83
87
|
}
|
|
84
|
-
if (!this._playwright.allBrowsers().length)
|
|
85
|
-
headless: !!process.env.PW_DEBUG_CONTROLLER_HEADLESS
|
|
86
|
-
});
|
|
87
|
-
// Create page if none.
|
|
88
|
+
if (!this._playwright.allBrowsers().length)
|
|
89
|
+
await this._playwright.chromium.launch(progress, { headless: !!process.env.PW_DEBUG_CONTROLLER_HEADLESS });
|
|
88
90
|
const pages = this._playwright.allPages();
|
|
89
91
|
if (!pages.length) {
|
|
90
92
|
const [browser] = this._playwright.allBrowsers();
|
|
91
|
-
const {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
93
|
+
const context = await browser.newContextForReuse(progress, {});
|
|
94
|
+
await context.newPage(
|
|
95
|
+
progress,
|
|
96
|
+
false
|
|
97
|
+
/* isServerSide */
|
|
98
|
+
);
|
|
95
99
|
}
|
|
96
|
-
// Update test id attribute.
|
|
97
100
|
if (params.testIdAttributeName) {
|
|
98
|
-
for (const page of this._playwright.allPages())
|
|
101
|
+
for (const page of this._playwright.allPages())
|
|
102
|
+
page.browserContext.selectors().setTestIdAttributeName(params.testIdAttributeName);
|
|
99
103
|
}
|
|
100
|
-
|
|
101
|
-
for (const recorder of await this._allRecorders()) {
|
|
104
|
+
for (const recorder of await progress.race(this._allRecorders())) {
|
|
102
105
|
recorder.hideHighlightedSelector();
|
|
103
|
-
if (params.mode !== 'inspecting') recorder.setOutput(this._codegenId, params.file);
|
|
104
106
|
recorder.setMode(params.mode);
|
|
105
107
|
}
|
|
106
108
|
}
|
|
107
|
-
async highlight(params) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
const ariaTemplate = params.ariaTemplate ? (0,
|
|
111
|
-
for (const recorder of await this._allRecorders()) {
|
|
112
|
-
if (ariaTemplate)
|
|
109
|
+
async highlight(progress, params) {
|
|
110
|
+
if (params.selector)
|
|
111
|
+
(0, import_locatorParser.unsafeLocatorOrSelectorAsSelector)(this._sdkLanguage, params.selector, "data-testid");
|
|
112
|
+
const ariaTemplate = params.ariaTemplate ? (0, import_ariaSnapshot.parseAriaSnapshotUnsafe)(import_utilsBundle.yaml, params.ariaTemplate) : void 0;
|
|
113
|
+
for (const recorder of await progress.race(this._allRecorders())) {
|
|
114
|
+
if (ariaTemplate)
|
|
115
|
+
recorder.setHighlightedAriaTemplate(ariaTemplate);
|
|
116
|
+
else if (params.selector)
|
|
117
|
+
recorder.setHighlightedSelector(params.selector);
|
|
113
118
|
}
|
|
114
119
|
}
|
|
115
|
-
async hideHighlight() {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
// Hide all locator.highlight highlights.
|
|
120
|
+
async hideHighlight(progress) {
|
|
121
|
+
for (const recorder of await progress.race(this._allRecorders()))
|
|
122
|
+
recorder.hideHighlightedSelector();
|
|
119
123
|
await this._playwright.hideHighlight();
|
|
120
124
|
}
|
|
121
125
|
allBrowsers() {
|
|
122
126
|
return [...this._playwright.allBrowsers()];
|
|
123
127
|
}
|
|
124
|
-
async resume() {
|
|
125
|
-
for (const recorder of await this._allRecorders())
|
|
128
|
+
async resume(progress) {
|
|
129
|
+
for (const recorder of await progress.race(this._allRecorders()))
|
|
130
|
+
recorder.resume();
|
|
126
131
|
}
|
|
127
|
-
|
|
128
|
-
(0,
|
|
132
|
+
kill() {
|
|
133
|
+
(0, import_processLauncher.gracefullyProcessExitDoNotHang)(0);
|
|
129
134
|
}
|
|
130
135
|
async closeAllBrowsers() {
|
|
131
|
-
await Promise.all(this.allBrowsers().map(browser => browser.close({
|
|
132
|
-
reason: 'Close all browsers requested'
|
|
133
|
-
})));
|
|
136
|
+
await Promise.all(this.allBrowsers().map((browser) => browser.close({ reason: "Close all browsers requested" })));
|
|
134
137
|
}
|
|
135
138
|
_emitSnapshot(initial) {
|
|
136
139
|
const pageCount = this._playwright.allPages().length;
|
|
137
|
-
if (initial && !pageCount)
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
});
|
|
140
|
+
if (initial && !pageCount)
|
|
141
|
+
return;
|
|
142
|
+
this.emit(DebugController.Events.StateChanged, { pageCount });
|
|
141
143
|
}
|
|
142
144
|
async _allRecorders() {
|
|
143
|
-
const contexts = new Set();
|
|
144
|
-
for (const page of this._playwright.allPages())
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
145
|
+
const contexts = /* @__PURE__ */ new Set();
|
|
146
|
+
for (const page of this._playwright.allPages())
|
|
147
|
+
contexts.add(page.browserContext);
|
|
148
|
+
const recorders = await Promise.all([...contexts].map((c) => import_recorder.Recorder.forContext(c, { omitCallTracking: true })));
|
|
149
|
+
const nonNullRecorders = recorders.filter(Boolean);
|
|
150
|
+
for (const recorder of recorders)
|
|
151
|
+
wireListeners(recorder, this);
|
|
152
|
+
return nonNullRecorders;
|
|
149
153
|
}
|
|
150
154
|
async _closeBrowsersWithoutPages() {
|
|
151
155
|
for (const browser of this._playwright.allBrowsers()) {
|
|
152
156
|
for (const context of browser.contexts()) {
|
|
153
|
-
if (!context.pages().length)
|
|
154
|
-
reason:
|
|
155
|
-
});
|
|
157
|
+
if (!context.pages().length)
|
|
158
|
+
await context.close({ reason: "Browser collected" });
|
|
156
159
|
}
|
|
157
|
-
if (!browser.contexts())
|
|
158
|
-
reason:
|
|
159
|
-
});
|
|
160
|
+
if (!browser.contexts())
|
|
161
|
+
await browser.close({ reason: "Browser collected" });
|
|
160
162
|
}
|
|
161
163
|
}
|
|
162
164
|
}
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
this._debugController.emit(DebugController.Events.InspectRequested, {
|
|
180
|
-
selector: elementInfo.selector,
|
|
181
|
-
locator,
|
|
182
|
-
ariaSnapshot: elementInfo.ariaSnapshot
|
|
183
|
-
});
|
|
184
|
-
}
|
|
185
|
-
async setSources(sources) {
|
|
186
|
-
const source = sources.find(s => s.id === this._debugController._codegenId);
|
|
187
|
-
const {
|
|
188
|
-
text,
|
|
189
|
-
header,
|
|
190
|
-
footer,
|
|
191
|
-
actions
|
|
192
|
-
} = source || {
|
|
193
|
-
text: ''
|
|
194
|
-
};
|
|
195
|
-
this._debugController.emit(DebugController.Events.SourceChanged, {
|
|
196
|
-
text,
|
|
197
|
-
header,
|
|
198
|
-
footer,
|
|
199
|
-
actions
|
|
200
|
-
});
|
|
201
|
-
}
|
|
202
|
-
async setPaused(paused) {
|
|
203
|
-
this._debugController.emit(DebugController.Events.Paused, {
|
|
204
|
-
paused
|
|
165
|
+
const wiredSymbol = Symbol("wired");
|
|
166
|
+
function wireListeners(recorder, debugController) {
|
|
167
|
+
if (recorder[wiredSymbol])
|
|
168
|
+
return;
|
|
169
|
+
recorder[wiredSymbol] = true;
|
|
170
|
+
const actions = [];
|
|
171
|
+
const languageGenerator = new import_javascript.JavaScriptLanguageGenerator(
|
|
172
|
+
/* isPlaywrightTest */
|
|
173
|
+
true
|
|
174
|
+
);
|
|
175
|
+
const actionsChanged = () => {
|
|
176
|
+
const aa = (0, import_recorderUtils.collapseActions)(actions);
|
|
177
|
+
const { header, footer, text, actionTexts } = (0, import_language.generateCode)(aa, languageGenerator, {
|
|
178
|
+
browserName: "chromium",
|
|
179
|
+
launchOptions: {},
|
|
180
|
+
contextOptions: {}
|
|
205
181
|
});
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
});
|
|
211
|
-
}
|
|
212
|
-
|
|
182
|
+
debugController.emit(DebugController.Events.SourceChanged, { text, header, footer, actions: actionTexts });
|
|
183
|
+
};
|
|
184
|
+
recorder.on(import_recorder.RecorderEvent.ElementPicked, (elementInfo) => {
|
|
185
|
+
const locator = (0, import_utils.asLocator)(debugController._sdkLanguage, elementInfo.selector);
|
|
186
|
+
debugController.emit(DebugController.Events.InspectRequested, { selector: elementInfo.selector, locator, ariaSnapshot: elementInfo.ariaSnapshot });
|
|
187
|
+
});
|
|
188
|
+
recorder.on(import_recorder.RecorderEvent.PausedStateChanged, (paused) => {
|
|
189
|
+
debugController.emit(DebugController.Events.Paused, { paused });
|
|
190
|
+
});
|
|
191
|
+
recorder.on(import_recorder.RecorderEvent.ModeChanged, (mode) => {
|
|
192
|
+
debugController.emit(DebugController.Events.SetModeRequested, { mode });
|
|
193
|
+
});
|
|
194
|
+
recorder.on(import_recorder.RecorderEvent.ActionAdded, (action) => {
|
|
195
|
+
actions.push(action);
|
|
196
|
+
actionsChanged();
|
|
197
|
+
});
|
|
198
|
+
recorder.on(import_recorder.RecorderEvent.SignalAdded, (signal) => {
|
|
199
|
+
const lastAction = actions.findLast((a) => a.frame.pageGuid === signal.frame.pageGuid);
|
|
200
|
+
if (lastAction)
|
|
201
|
+
lastAction.action.signals.push(signal.signal);
|
|
202
|
+
actionsChanged();
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
206
|
+
0 && (module.exports = {
|
|
207
|
+
DebugController
|
|
208
|
+
});
|
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_protocolMetainfo = require("../utils/isomorphic/protocolMetainfo");
|
|
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,43 @@ 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
|
-
|
|
120
|
+
if (metadata.internal)
|
|
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
|
+
const metainfo = import_protocolMetainfo.methodMetainfo.get(step);
|
|
128
|
+
if (metainfo?.internal)
|
|
129
|
+
return false;
|
|
130
|
+
return !!metainfo?.snapshot && !metainfo.pausesBeforeInput;
|
|
129
131
|
}
|
|
130
132
|
function shouldSlowMo(metadata) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
+
const metainfo = import_protocolMetainfo.methodMetainfo.get(metadata.type + "." + metadata.method);
|
|
134
|
+
return !!metainfo?.slowMo;
|
|
135
|
+
}
|
|
136
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
137
|
+
0 && (module.exports = {
|
|
138
|
+
Debugger,
|
|
139
|
+
shouldSlowMo
|
|
140
|
+
});
|
|
@@ -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(e) { return e && e.__esModule ? e : { default: e }; }
|
|
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;
|