@checkly/playwright-core 1.51.17-beta.1 → 1.54.2-beta.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 +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 -36
- 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 +90 -113
- 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-DrMbgOIo.js +0 -16684
- package/lib/vite/recorder/assets/codeMirrorModule-DuST8d_k.css +0 -344
- package/lib/vite/recorder/assets/codicon-DCmgc-ay.ttf +0 -0
- package/lib/vite/recorder/assets/index-5NM3V7eb.css +0 -2524
- package/lib/vite/recorder/assets/index-CT-scFHn.js +0 -16848
- package/lib/vite/recorder/index.html +0 -29
- package/lib/vite/recorder/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/assets/codeMirrorModule-CB-2okZ8.js +0 -16684
- package/lib/vite/traceViewer/assets/defaultSettingsView-CBiB4avC.js +0 -217
- package/lib/vite/traceViewer/assets/inspectorTab-CwgfffWb.js +0 -25143
- package/lib/vite/traceViewer/assets/workbench-CWZselvp.js +0 -2470
- package/lib/vite/traceViewer/assets/xtermModule-Es_gt_u7.js +0 -5994
- package/lib/vite/traceViewer/codeMirrorModule.DuST8d_k.css +0 -344
- package/lib/vite/traceViewer/codicon.DCmgc-ay.ttf +0 -0
- package/lib/vite/traceViewer/defaultSettingsView.Dp3b_92q.css +0 -41
- package/lib/vite/traceViewer/embedded.BeldSa2G.css +0 -68
- package/lib/vite/traceViewer/embedded.gzudoghF.js +0 -106
- package/lib/vite/traceViewer/embedded.html +0 -18
- package/lib/vite/traceViewer/index.DilotR1h.js +0 -314
- package/lib/vite/traceViewer/index.QewjJ85u.css +0 -131
- package/lib/vite/traceViewer/index.html +0 -47
- package/lib/vite/traceViewer/inspectorTab.DnGm18kV.css +0 -3178
- package/lib/vite/traceViewer/playwright-logo.svg +0 -9
- package/lib/vite/traceViewer/recorder.DLgqV9db.css +0 -15
- package/lib/vite/traceViewer/recorder.DVrkq3Um.js +0 -551
- package/lib/vite/traceViewer/recorder.html +0 -17
- package/lib/vite/traceViewer/snapshot.html +0 -21
- package/lib/vite/traceViewer/sw.bundle.js +0 -3
- package/lib/vite/traceViewer/uiMode.C9_OcpPU.js +0 -1756
- package/lib/vite/traceViewer/uiMode.c5ORgcrX.css +0 -1424
- package/lib/vite/traceViewer/uiMode.html +0 -21
- package/lib/vite/traceViewer/workbench.xUZSA8PY.css +0 -787
- package/lib/vite/traceViewer/xtermModule.EsaqrrTX.css +0 -209
|
@@ -1,158 +1,147 @@
|
|
|
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 pageDispatcher_exports = {};
|
|
20
|
+
__export(pageDispatcher_exports, {
|
|
21
|
+
BindingCallDispatcher: () => BindingCallDispatcher,
|
|
22
|
+
PageDispatcher: () => PageDispatcher,
|
|
23
|
+
WorkerDispatcher: () => WorkerDispatcher
|
|
5
24
|
});
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
* Licensed under the Apache License, Version 2.0 (the 'License');
|
|
22
|
-
* you may not use this file except in compliance with the License.
|
|
23
|
-
* You may obtain a copy of the License at
|
|
24
|
-
*
|
|
25
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
26
|
-
*
|
|
27
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
28
|
-
* distributed under the License is distributed on an 'AS IS' BASIS,
|
|
29
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
30
|
-
* See the License for the specific language governing permissions and
|
|
31
|
-
* limitations under the License.
|
|
32
|
-
*/
|
|
33
|
-
|
|
34
|
-
class PageDispatcher extends _dispatcher.Dispatcher {
|
|
35
|
-
static from(parentScope, page) {
|
|
36
|
-
return PageDispatcher.fromNullable(parentScope, page);
|
|
37
|
-
}
|
|
38
|
-
static fromNullable(parentScope, page) {
|
|
39
|
-
if (!page) return undefined;
|
|
40
|
-
const result = (0, _dispatcher.existingDispatcher)(page);
|
|
41
|
-
return result || new PageDispatcher(parentScope, page);
|
|
42
|
-
}
|
|
25
|
+
module.exports = __toCommonJS(pageDispatcher_exports);
|
|
26
|
+
var import_page = require("../page");
|
|
27
|
+
var import_dispatcher = require("./dispatcher");
|
|
28
|
+
var import_errors = require("../errors");
|
|
29
|
+
var import_artifactDispatcher = require("./artifactDispatcher");
|
|
30
|
+
var import_elementHandlerDispatcher = require("./elementHandlerDispatcher");
|
|
31
|
+
var import_frameDispatcher = require("./frameDispatcher");
|
|
32
|
+
var import_jsHandleDispatcher = require("./jsHandleDispatcher");
|
|
33
|
+
var import_networkDispatchers = require("./networkDispatchers");
|
|
34
|
+
var import_networkDispatchers2 = require("./networkDispatchers");
|
|
35
|
+
var import_networkDispatchers3 = require("./networkDispatchers");
|
|
36
|
+
var import_webSocketRouteDispatcher = require("./webSocketRouteDispatcher");
|
|
37
|
+
var import_instrumentation = require("../instrumentation");
|
|
38
|
+
var import_urlMatch = require("../../utils/isomorphic/urlMatch");
|
|
39
|
+
class PageDispatcher extends import_dispatcher.Dispatcher {
|
|
43
40
|
constructor(parentScope, page) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
// We will reparent it to the page below using adopt.
|
|
48
|
-
const mainFrame = _frameDispatcher.FrameDispatcher.from(parentScope, page.mainFrame());
|
|
49
|
-
super(parentScope, page, 'Page', {
|
|
41
|
+
const mainFrame = import_frameDispatcher.FrameDispatcher.from(parentScope, page.mainFrame());
|
|
42
|
+
super(parentScope, page, "Page", {
|
|
50
43
|
mainFrame,
|
|
51
|
-
viewportSize: page.
|
|
44
|
+
viewportSize: page.emulatedSize()?.viewport,
|
|
52
45
|
isClosed: page.isClosed(),
|
|
53
46
|
opener: PageDispatcher.fromNullable(parentScope, page.opener())
|
|
54
47
|
});
|
|
55
48
|
this._type_EventTarget = true;
|
|
56
49
|
this._type_Page = true;
|
|
57
|
-
this.
|
|
58
|
-
this._subscriptions = new Set();
|
|
50
|
+
this._subscriptions = /* @__PURE__ */ new Set();
|
|
59
51
|
this._webSocketInterceptionPatterns = [];
|
|
52
|
+
this._bindings = [];
|
|
53
|
+
this._initScripts = [];
|
|
54
|
+
this._interceptionUrlMatchers = [];
|
|
55
|
+
this._locatorHandlers = /* @__PURE__ */ new Set();
|
|
56
|
+
this._jsCoverageActive = false;
|
|
57
|
+
this._cssCoverageActive = false;
|
|
60
58
|
this.adopt(mainFrame);
|
|
61
59
|
this._page = page;
|
|
62
|
-
this.
|
|
63
|
-
this.
|
|
60
|
+
this._requestInterceptor = (route, request) => {
|
|
61
|
+
const matchesSome = this._interceptionUrlMatchers.some((urlMatch) => (0, import_urlMatch.urlMatches)(this._page.browserContext._options.baseURL, request.url(), urlMatch));
|
|
62
|
+
if (!matchesSome) {
|
|
63
|
+
route.continue({ isFallback: true }).catch(() => {
|
|
64
|
+
});
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
this._dispatchEvent("route", { route: new import_networkDispatchers3.RouteDispatcher(import_networkDispatchers.RequestDispatcher.from(this.parentScope(), request), route) });
|
|
68
|
+
};
|
|
69
|
+
this.addObjectListener(import_page.Page.Events.Close, () => {
|
|
70
|
+
this._dispatchEvent("close");
|
|
64
71
|
this._dispose();
|
|
65
72
|
});
|
|
66
|
-
this.addObjectListener(
|
|
67
|
-
this.addObjectListener(
|
|
68
|
-
|
|
69
|
-
this._dispatchEvent('download', {
|
|
70
|
-
url: download.url,
|
|
71
|
-
suggestedFilename: download.suggestedFilename(),
|
|
72
|
-
artifact: _artifactDispatcher.ArtifactDispatcher.from(parentScope, download.artifact)
|
|
73
|
-
});
|
|
73
|
+
this.addObjectListener(import_page.Page.Events.Crash, () => this._dispatchEvent("crash"));
|
|
74
|
+
this.addObjectListener(import_page.Page.Events.Download, (download) => {
|
|
75
|
+
this._dispatchEvent("download", { url: download.url, suggestedFilename: download.suggestedFilename(), artifact: import_artifactDispatcher.ArtifactDispatcher.from(parentScope, download.artifact) });
|
|
74
76
|
});
|
|
75
|
-
this.addObjectListener(
|
|
76
|
-
|
|
77
|
+
this.addObjectListener(import_page.Page.Events.EmulatedSizeChanged, () => this._dispatchEvent("viewportSizeChanged", { viewportSize: page.emulatedSize()?.viewport }));
|
|
78
|
+
this.addObjectListener(import_page.Page.Events.FileChooser, (fileChooser) => this._dispatchEvent("fileChooser", {
|
|
79
|
+
element: import_elementHandlerDispatcher.ElementHandleDispatcher.from(mainFrame, fileChooser.element()),
|
|
77
80
|
isMultiple: fileChooser.isMultiple()
|
|
78
81
|
}));
|
|
79
|
-
this.addObjectListener(
|
|
80
|
-
this.addObjectListener(
|
|
81
|
-
this.addObjectListener(
|
|
82
|
-
|
|
83
|
-
}));
|
|
84
|
-
this.addObjectListener(
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
this.addObjectListener(_page.Page.Events.Video, artifact => this._dispatchEvent('video', {
|
|
91
|
-
artifact: _artifactDispatcher.ArtifactDispatcher.from(parentScope, artifact)
|
|
92
|
-
}));
|
|
93
|
-
if (page._video) this._dispatchEvent('video', {
|
|
94
|
-
artifact: _artifactDispatcher.ArtifactDispatcher.from(this.parentScope(), page._video)
|
|
95
|
-
});
|
|
96
|
-
// Ensure client knows about all frames.
|
|
97
|
-
const frames = page._frameManager.frames();
|
|
98
|
-
for (let i = 1; i < frames.length; i++) this._onFrameAttached(frames[i]);
|
|
82
|
+
this.addObjectListener(import_page.Page.Events.FrameAttached, (frame) => this._onFrameAttached(frame));
|
|
83
|
+
this.addObjectListener(import_page.Page.Events.FrameDetached, (frame) => this._onFrameDetached(frame));
|
|
84
|
+
this.addObjectListener(import_page.Page.Events.LocatorHandlerTriggered, (uid) => this._dispatchEvent("locatorHandlerTriggered", { uid }));
|
|
85
|
+
this.addObjectListener(import_page.Page.Events.WebSocket, (webSocket) => this._dispatchEvent("webSocket", { webSocket: new import_networkDispatchers3.WebSocketDispatcher(this, webSocket) }));
|
|
86
|
+
this.addObjectListener(import_page.Page.Events.Worker, (worker) => this._dispatchEvent("worker", { worker: new WorkerDispatcher(this, worker) }));
|
|
87
|
+
this.addObjectListener(import_page.Page.Events.Video, (artifact) => this._dispatchEvent("video", { artifact: import_artifactDispatcher.ArtifactDispatcher.from(parentScope, artifact) }));
|
|
88
|
+
if (page.video)
|
|
89
|
+
this._dispatchEvent("video", { artifact: import_artifactDispatcher.ArtifactDispatcher.from(this.parentScope(), page.video) });
|
|
90
|
+
const frames = page.frameManager.frames();
|
|
91
|
+
for (let i = 1; i < frames.length; i++)
|
|
92
|
+
this._onFrameAttached(frames[i]);
|
|
99
93
|
}
|
|
100
|
-
page
|
|
101
|
-
return
|
|
94
|
+
static from(parentScope, page) {
|
|
95
|
+
return PageDispatcher.fromNullable(parentScope, page);
|
|
102
96
|
}
|
|
103
|
-
|
|
104
|
-
|
|
97
|
+
static fromNullable(parentScope, page) {
|
|
98
|
+
if (!page)
|
|
99
|
+
return void 0;
|
|
100
|
+
const result = parentScope.connection.existingDispatcher(page);
|
|
101
|
+
return result || new PageDispatcher(parentScope, page);
|
|
105
102
|
}
|
|
106
|
-
|
|
107
|
-
this._page
|
|
103
|
+
page() {
|
|
104
|
+
return this._page;
|
|
108
105
|
}
|
|
109
|
-
async exposeBinding(params,
|
|
110
|
-
await this._page.exposeBinding(params.name, !!params.needsHandle, (source, ...args) => {
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
binding
|
|
117
|
-
});
|
|
118
|
-
return binding.promise();
|
|
106
|
+
async exposeBinding(params, progress) {
|
|
107
|
+
const binding = await this._page.exposeBinding(progress, params.name, !!params.needsHandle, (source, ...args) => {
|
|
108
|
+
if (this._disposed)
|
|
109
|
+
return;
|
|
110
|
+
const binding2 = new BindingCallDispatcher(this, params.name, !!params.needsHandle, source, args);
|
|
111
|
+
this._dispatchEvent("bindingCall", { binding: binding2 });
|
|
112
|
+
return binding2.promise();
|
|
119
113
|
});
|
|
114
|
+
this._bindings.push(binding);
|
|
120
115
|
}
|
|
121
|
-
async setExtraHTTPHeaders(params,
|
|
122
|
-
await this._page.setExtraHTTPHeaders(params.headers);
|
|
116
|
+
async setExtraHTTPHeaders(params, progress) {
|
|
117
|
+
await this._page.setExtraHTTPHeaders(progress, params.headers);
|
|
123
118
|
}
|
|
124
|
-
async reload(params,
|
|
125
|
-
return {
|
|
126
|
-
response: _networkDispatchers.ResponseDispatcher.fromNullable(this.parentScope(), await this._page.reload(metadata, params))
|
|
127
|
-
};
|
|
119
|
+
async reload(params, progress) {
|
|
120
|
+
return { response: import_networkDispatchers2.ResponseDispatcher.fromNullable(this.parentScope(), await this._page.reload(progress, params)) };
|
|
128
121
|
}
|
|
129
|
-
async goBack(params,
|
|
130
|
-
return {
|
|
131
|
-
response: _networkDispatchers.ResponseDispatcher.fromNullable(this.parentScope(), await this._page.goBack(metadata, params))
|
|
132
|
-
};
|
|
122
|
+
async goBack(params, progress) {
|
|
123
|
+
return { response: import_networkDispatchers2.ResponseDispatcher.fromNullable(this.parentScope(), await this._page.goBack(progress, params)) };
|
|
133
124
|
}
|
|
134
|
-
async goForward(params,
|
|
135
|
-
return {
|
|
136
|
-
response: _networkDispatchers.ResponseDispatcher.fromNullable(this.parentScope(), await this._page.goForward(metadata, params))
|
|
137
|
-
};
|
|
125
|
+
async goForward(params, progress) {
|
|
126
|
+
return { response: import_networkDispatchers2.ResponseDispatcher.fromNullable(this.parentScope(), await this._page.goForward(progress, params)) };
|
|
138
127
|
}
|
|
139
|
-
async requestGC(params,
|
|
140
|
-
await this._page.requestGC();
|
|
128
|
+
async requestGC(params, progress) {
|
|
129
|
+
await progress.race(this._page.requestGC());
|
|
141
130
|
}
|
|
142
|
-
async registerLocatorHandler(params,
|
|
131
|
+
async registerLocatorHandler(params, progress) {
|
|
143
132
|
const uid = this._page.registerLocatorHandler(params.selector, params.noWaitAfter);
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
};
|
|
133
|
+
this._locatorHandlers.add(uid);
|
|
134
|
+
return { uid };
|
|
147
135
|
}
|
|
148
|
-
async resolveLocatorHandlerNoReply(params,
|
|
136
|
+
async resolveLocatorHandlerNoReply(params, progress) {
|
|
149
137
|
this._page.resolveLocatorHandler(params.uid, params.remove);
|
|
150
138
|
}
|
|
151
|
-
async unregisterLocatorHandler(params,
|
|
139
|
+
async unregisterLocatorHandler(params, progress) {
|
|
152
140
|
this._page.unregisterLocatorHandler(params.uid);
|
|
141
|
+
this._locatorHandlers.delete(params.uid);
|
|
153
142
|
}
|
|
154
|
-
async emulateMedia(params,
|
|
155
|
-
await this._page.emulateMedia({
|
|
143
|
+
async emulateMedia(params, progress) {
|
|
144
|
+
await this._page.emulateMedia(progress, {
|
|
156
145
|
media: params.media,
|
|
157
146
|
colorScheme: params.colorScheme,
|
|
158
147
|
reducedMotion: params.reducedMotion,
|
|
@@ -160,195 +149,209 @@ class PageDispatcher extends _dispatcher.Dispatcher {
|
|
|
160
149
|
contrast: params.contrast
|
|
161
150
|
});
|
|
162
151
|
}
|
|
163
|
-
async setViewportSize(params,
|
|
164
|
-
await this._page.setViewportSize(params.viewportSize);
|
|
152
|
+
async setViewportSize(params, progress) {
|
|
153
|
+
await this._page.setViewportSize(progress, params.viewportSize);
|
|
165
154
|
}
|
|
166
|
-
async addInitScript(params,
|
|
167
|
-
await this._page.addInitScript(params.source);
|
|
155
|
+
async addInitScript(params, progress) {
|
|
156
|
+
this._initScripts.push(await this._page.addInitScript(progress, params.source));
|
|
168
157
|
}
|
|
169
|
-
async setNetworkInterceptionPatterns(params,
|
|
158
|
+
async setNetworkInterceptionPatterns(params, progress) {
|
|
159
|
+
const hadMatchers = this._interceptionUrlMatchers.length > 0;
|
|
170
160
|
if (!params.patterns.length) {
|
|
171
|
-
|
|
172
|
-
|
|
161
|
+
if (hadMatchers)
|
|
162
|
+
await this._page.removeRequestInterceptor(this._requestInterceptor);
|
|
163
|
+
this._interceptionUrlMatchers = [];
|
|
164
|
+
} else {
|
|
165
|
+
this._interceptionUrlMatchers = params.patterns.map((pattern) => pattern.regexSource ? new RegExp(pattern.regexSource, pattern.regexFlags) : pattern.glob);
|
|
166
|
+
if (!hadMatchers)
|
|
167
|
+
await this._page.addRequestInterceptor(progress, this._requestInterceptor);
|
|
173
168
|
}
|
|
174
|
-
const urlMatchers = params.patterns.map(pattern => pattern.regexSource ? new RegExp(pattern.regexSource, pattern.regexFlags) : pattern.glob);
|
|
175
|
-
await this._page.setClientRequestInterceptor((route, request) => {
|
|
176
|
-
const matchesSome = urlMatchers.some(urlMatch => (0, _urlMatch.urlMatches)(this._page._browserContext._options.baseURL, request.url(), urlMatch));
|
|
177
|
-
if (!matchesSome) return false;
|
|
178
|
-
this._dispatchEvent('route', {
|
|
179
|
-
route: _networkDispatchers.RouteDispatcher.from(_networkDispatchers.RequestDispatcher.from(this.parentScope(), request), route)
|
|
180
|
-
});
|
|
181
|
-
return true;
|
|
182
|
-
});
|
|
183
169
|
}
|
|
184
|
-
async setWebSocketInterceptionPatterns(params,
|
|
170
|
+
async setWebSocketInterceptionPatterns(params, progress) {
|
|
185
171
|
this._webSocketInterceptionPatterns = params.patterns;
|
|
186
|
-
if (params.patterns.length
|
|
172
|
+
if (params.patterns.length && !this._routeWebSocketInitScript)
|
|
173
|
+
this._routeWebSocketInitScript = await import_webSocketRouteDispatcher.WebSocketRouteDispatcher.install(progress, this.connection, this._page);
|
|
187
174
|
}
|
|
188
|
-
async expectScreenshot(params,
|
|
189
|
-
const mask = (params.mask || []).map(({
|
|
190
|
-
frame,
|
|
191
|
-
selector
|
|
192
|
-
}) => ({
|
|
175
|
+
async expectScreenshot(params, progress) {
|
|
176
|
+
const mask = (params.mask || []).map(({ frame, selector }) => ({
|
|
193
177
|
frame: frame._object,
|
|
194
178
|
selector
|
|
195
179
|
}));
|
|
196
180
|
const locator = params.locator ? {
|
|
197
181
|
frame: params.locator.frame._object,
|
|
198
182
|
selector: params.locator.selector
|
|
199
|
-
} :
|
|
200
|
-
return await this._page.expectScreenshot(
|
|
183
|
+
} : void 0;
|
|
184
|
+
return await this._page.expectScreenshot(progress, {
|
|
201
185
|
...params,
|
|
202
186
|
locator,
|
|
203
187
|
mask
|
|
204
188
|
});
|
|
205
189
|
}
|
|
206
|
-
async screenshot(params,
|
|
207
|
-
const mask = (params.mask || []).map(({
|
|
208
|
-
frame,
|
|
209
|
-
selector
|
|
210
|
-
}) => ({
|
|
190
|
+
async screenshot(params, progress) {
|
|
191
|
+
const mask = (params.mask || []).map(({ frame, selector }) => ({
|
|
211
192
|
frame: frame._object,
|
|
212
193
|
selector
|
|
213
194
|
}));
|
|
214
|
-
return {
|
|
215
|
-
binary: await this._page.screenshot(metadata, {
|
|
216
|
-
...params,
|
|
217
|
-
mask
|
|
218
|
-
})
|
|
219
|
-
};
|
|
195
|
+
return { binary: await this._page.screenshot(progress, { ...params, mask }) };
|
|
220
196
|
}
|
|
221
|
-
async close(params,
|
|
222
|
-
if (!params.runBeforeUnload)
|
|
223
|
-
|
|
197
|
+
async close(params, progress) {
|
|
198
|
+
if (!params.runBeforeUnload)
|
|
199
|
+
progress.metadata.potentiallyClosesScope = true;
|
|
200
|
+
await this._page.close(params);
|
|
224
201
|
}
|
|
225
|
-
async updateSubscription(params) {
|
|
226
|
-
if (params.event ===
|
|
227
|
-
|
|
202
|
+
async updateSubscription(params, progress) {
|
|
203
|
+
if (params.event === "fileChooser")
|
|
204
|
+
await this._page.setFileChooserInterceptedBy(params.enabled, this);
|
|
205
|
+
if (params.enabled)
|
|
206
|
+
this._subscriptions.add(params.event);
|
|
207
|
+
else
|
|
208
|
+
this._subscriptions.delete(params.event);
|
|
228
209
|
}
|
|
229
|
-
async keyboardDown(params,
|
|
230
|
-
await this._page.keyboard.down(params.key);
|
|
210
|
+
async keyboardDown(params, progress) {
|
|
211
|
+
await this._page.keyboard.down(progress, params.key);
|
|
231
212
|
}
|
|
232
|
-
async keyboardUp(params,
|
|
233
|
-
await this._page.keyboard.up(params.key);
|
|
213
|
+
async keyboardUp(params, progress) {
|
|
214
|
+
await this._page.keyboard.up(progress, params.key);
|
|
234
215
|
}
|
|
235
|
-
async keyboardInsertText(params,
|
|
236
|
-
await this._page.keyboard.insertText(params.text);
|
|
216
|
+
async keyboardInsertText(params, progress) {
|
|
217
|
+
await this._page.keyboard.insertText(progress, params.text);
|
|
237
218
|
}
|
|
238
|
-
async keyboardType(params,
|
|
239
|
-
await this._page.keyboard.type(params.text, params);
|
|
219
|
+
async keyboardType(params, progress) {
|
|
220
|
+
await this._page.keyboard.type(progress, params.text, params);
|
|
240
221
|
}
|
|
241
|
-
async keyboardPress(params,
|
|
242
|
-
await this._page.keyboard.press(params.key, params);
|
|
222
|
+
async keyboardPress(params, progress) {
|
|
223
|
+
await this._page.keyboard.press(progress, params.key, params);
|
|
243
224
|
}
|
|
244
|
-
async mouseMove(params,
|
|
245
|
-
|
|
225
|
+
async mouseMove(params, progress) {
|
|
226
|
+
progress.metadata.point = { x: params.x, y: params.y };
|
|
227
|
+
await this._page.mouse.move(progress, params.x, params.y, params);
|
|
246
228
|
}
|
|
247
|
-
async mouseDown(params,
|
|
248
|
-
|
|
229
|
+
async mouseDown(params, progress) {
|
|
230
|
+
progress.metadata.point = this._page.mouse.currentPoint();
|
|
231
|
+
await this._page.mouse.down(progress, params);
|
|
249
232
|
}
|
|
250
|
-
async mouseUp(params,
|
|
251
|
-
|
|
233
|
+
async mouseUp(params, progress) {
|
|
234
|
+
progress.metadata.point = this._page.mouse.currentPoint();
|
|
235
|
+
await this._page.mouse.up(progress, params);
|
|
252
236
|
}
|
|
253
|
-
async mouseClick(params,
|
|
254
|
-
|
|
237
|
+
async mouseClick(params, progress) {
|
|
238
|
+
progress.metadata.point = { x: params.x, y: params.y };
|
|
239
|
+
await this._page.mouse.click(progress, params.x, params.y, params);
|
|
255
240
|
}
|
|
256
|
-
async mouseWheel(params,
|
|
257
|
-
await this._page.mouse.wheel(params.deltaX, params.deltaY);
|
|
241
|
+
async mouseWheel(params, progress) {
|
|
242
|
+
await this._page.mouse.wheel(progress, params.deltaX, params.deltaY);
|
|
258
243
|
}
|
|
259
|
-
async touchscreenTap(params,
|
|
260
|
-
|
|
244
|
+
async touchscreenTap(params, progress) {
|
|
245
|
+
progress.metadata.point = { x: params.x, y: params.y };
|
|
246
|
+
await this._page.touchscreen.tap(progress, params.x, params.y);
|
|
261
247
|
}
|
|
262
|
-
async accessibilitySnapshot(params,
|
|
263
|
-
const rootAXNode = await this._page.accessibility.snapshot({
|
|
248
|
+
async accessibilitySnapshot(params, progress) {
|
|
249
|
+
const rootAXNode = await progress.race(this._page.accessibility.snapshot({
|
|
264
250
|
interestingOnly: params.interestingOnly,
|
|
265
|
-
root: params.root ? params.root._elementHandle :
|
|
266
|
-
});
|
|
267
|
-
return {
|
|
268
|
-
rootAXNode: rootAXNode || undefined
|
|
269
|
-
};
|
|
251
|
+
root: params.root ? params.root._elementHandle : void 0
|
|
252
|
+
}));
|
|
253
|
+
return { rootAXNode: rootAXNode || void 0 };
|
|
270
254
|
}
|
|
271
|
-
async pdf(params,
|
|
272
|
-
if (!this._page.pdf)
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
255
|
+
async pdf(params, progress) {
|
|
256
|
+
if (!this._page.pdf)
|
|
257
|
+
throw new Error("PDF generation is only supported for Headless Chromium");
|
|
258
|
+
const buffer = await progress.race(this._page.pdf(params));
|
|
259
|
+
return { pdf: buffer };
|
|
260
|
+
}
|
|
261
|
+
async snapshotForAI(params, progress) {
|
|
262
|
+
return { snapshot: await this._page.snapshotForAI(progress) };
|
|
277
263
|
}
|
|
278
|
-
async bringToFront(params,
|
|
279
|
-
await this._page.bringToFront();
|
|
264
|
+
async bringToFront(params, progress) {
|
|
265
|
+
await progress.race(this._page.bringToFront());
|
|
280
266
|
}
|
|
281
|
-
async startJSCoverage(params,
|
|
267
|
+
async startJSCoverage(params, progress) {
|
|
282
268
|
const coverage = this._page.coverage;
|
|
283
|
-
await coverage.startJSCoverage(params);
|
|
269
|
+
await coverage.startJSCoverage(progress, params);
|
|
270
|
+
this._jsCoverageActive = true;
|
|
284
271
|
}
|
|
285
|
-
async stopJSCoverage(params,
|
|
272
|
+
async stopJSCoverage(params, progress) {
|
|
273
|
+
this._jsCoverageActive = false;
|
|
286
274
|
const coverage = this._page.coverage;
|
|
287
275
|
return await coverage.stopJSCoverage();
|
|
288
276
|
}
|
|
289
|
-
async startCSSCoverage(params,
|
|
277
|
+
async startCSSCoverage(params, progress) {
|
|
290
278
|
const coverage = this._page.coverage;
|
|
291
|
-
await coverage.startCSSCoverage(params);
|
|
279
|
+
await coverage.startCSSCoverage(progress, params);
|
|
280
|
+
this._cssCoverageActive = true;
|
|
292
281
|
}
|
|
293
|
-
async stopCSSCoverage(params,
|
|
282
|
+
async stopCSSCoverage(params, progress) {
|
|
283
|
+
this._cssCoverageActive = false;
|
|
294
284
|
const coverage = this._page.coverage;
|
|
295
285
|
return await coverage.stopCSSCoverage();
|
|
296
286
|
}
|
|
297
287
|
_onFrameAttached(frame) {
|
|
298
|
-
this._dispatchEvent(
|
|
299
|
-
frame: _frameDispatcher.FrameDispatcher.from(this.parentScope(), frame)
|
|
300
|
-
});
|
|
288
|
+
this._dispatchEvent("frameAttached", { frame: import_frameDispatcher.FrameDispatcher.from(this.parentScope(), frame) });
|
|
301
289
|
}
|
|
302
290
|
_onFrameDetached(frame) {
|
|
303
|
-
this._dispatchEvent(
|
|
304
|
-
frame: _frameDispatcher.FrameDispatcher.from(this.parentScope(), frame)
|
|
305
|
-
});
|
|
291
|
+
this._dispatchEvent("frameDetached", { frame: import_frameDispatcher.FrameDispatcher.from(this.parentScope(), frame) });
|
|
306
292
|
}
|
|
307
293
|
_onDispose() {
|
|
308
|
-
|
|
309
|
-
|
|
294
|
+
if (this._page.isClosedOrClosingOrCrashed())
|
|
295
|
+
return;
|
|
296
|
+
this._interceptionUrlMatchers = [];
|
|
297
|
+
this._page.removeRequestInterceptor(this._requestInterceptor).catch(() => {
|
|
298
|
+
});
|
|
299
|
+
this._page.removeExposedBindings(this._bindings).catch(() => {
|
|
300
|
+
});
|
|
301
|
+
this._bindings = [];
|
|
302
|
+
this._page.removeInitScripts(this._initScripts).catch(() => {
|
|
303
|
+
});
|
|
304
|
+
this._initScripts = [];
|
|
305
|
+
if (this._routeWebSocketInitScript)
|
|
306
|
+
import_webSocketRouteDispatcher.WebSocketRouteDispatcher.uninstall(this.connection, this._page, this._routeWebSocketInitScript).catch(() => {
|
|
307
|
+
});
|
|
308
|
+
this._routeWebSocketInitScript = void 0;
|
|
309
|
+
for (const uid of this._locatorHandlers)
|
|
310
|
+
this._page.unregisterLocatorHandler(uid);
|
|
311
|
+
this._locatorHandlers.clear();
|
|
312
|
+
this._page.setFileChooserInterceptedBy(false, this).catch(() => {
|
|
313
|
+
});
|
|
314
|
+
if (this._jsCoverageActive)
|
|
315
|
+
this._page.coverage.stopJSCoverage().catch(() => {
|
|
316
|
+
});
|
|
317
|
+
this._jsCoverageActive = false;
|
|
318
|
+
if (this._cssCoverageActive)
|
|
319
|
+
this._page.coverage.stopCSSCoverage().catch(() => {
|
|
320
|
+
});
|
|
321
|
+
this._cssCoverageActive = false;
|
|
310
322
|
}
|
|
311
323
|
}
|
|
312
|
-
|
|
313
|
-
class WorkerDispatcher extends _dispatcher.Dispatcher {
|
|
314
|
-
static fromNullable(scope, worker) {
|
|
315
|
-
if (!worker) return undefined;
|
|
316
|
-
const result = (0, _dispatcher.existingDispatcher)(worker);
|
|
317
|
-
return result || new WorkerDispatcher(scope, worker);
|
|
318
|
-
}
|
|
324
|
+
class WorkerDispatcher extends import_dispatcher.Dispatcher {
|
|
319
325
|
constructor(scope, worker) {
|
|
320
|
-
super(scope, worker,
|
|
321
|
-
url: worker.url
|
|
326
|
+
super(scope, worker, "Worker", {
|
|
327
|
+
url: worker.url
|
|
322
328
|
});
|
|
323
329
|
this._type_Worker = true;
|
|
324
|
-
this.addObjectListener(
|
|
330
|
+
this.addObjectListener(import_page.Worker.Events.Close, () => this._dispatchEvent("close"));
|
|
325
331
|
}
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
332
|
+
static fromNullable(scope, worker) {
|
|
333
|
+
if (!worker)
|
|
334
|
+
return void 0;
|
|
335
|
+
const result = scope.connection.existingDispatcher(worker);
|
|
336
|
+
return result || new WorkerDispatcher(scope, worker);
|
|
330
337
|
}
|
|
331
|
-
async
|
|
332
|
-
return {
|
|
333
|
-
|
|
334
|
-
|
|
338
|
+
async evaluateExpression(params, progress) {
|
|
339
|
+
return { value: (0, import_jsHandleDispatcher.serializeResult)(await progress.race(this._object.evaluateExpression(params.expression, params.isFunction, (0, import_jsHandleDispatcher.parseArgument)(params.arg)))) };
|
|
340
|
+
}
|
|
341
|
+
async evaluateExpressionHandle(params, progress) {
|
|
342
|
+
return { handle: import_jsHandleDispatcher.JSHandleDispatcher.fromJSHandle(this, await progress.race(this._object.evaluateExpressionHandle(params.expression, params.isFunction, (0, import_jsHandleDispatcher.parseArgument)(params.arg)))) };
|
|
335
343
|
}
|
|
336
344
|
}
|
|
337
|
-
|
|
338
|
-
class BindingCallDispatcher extends _dispatcher.Dispatcher {
|
|
345
|
+
class BindingCallDispatcher extends import_dispatcher.Dispatcher {
|
|
339
346
|
constructor(scope, name, needsHandle, source, args) {
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
frame: _frameDispatcher.FrameDispatcher.from(scope.parentScope(), source.frame),
|
|
347
|
+
const frameDispatcher = import_frameDispatcher.FrameDispatcher.from(scope.parentScope(), source.frame);
|
|
348
|
+
super(scope, new import_instrumentation.SdkObject(scope._object, "bindingCall"), "BindingCall", {
|
|
349
|
+
frame: frameDispatcher,
|
|
344
350
|
name,
|
|
345
|
-
args: needsHandle ?
|
|
346
|
-
handle: needsHandle ?
|
|
351
|
+
args: needsHandle ? void 0 : args.map(import_jsHandleDispatcher.serializeResult),
|
|
352
|
+
handle: needsHandle ? import_elementHandlerDispatcher.ElementHandleDispatcher.fromJSOrElementHandle(frameDispatcher, args[0]) : void 0
|
|
347
353
|
});
|
|
348
354
|
this._type_BindingCall = true;
|
|
349
|
-
this._resolve = void 0;
|
|
350
|
-
this._reject = void 0;
|
|
351
|
-
this._promise = void 0;
|
|
352
355
|
this._promise = new Promise((resolve, reject) => {
|
|
353
356
|
this._resolve = resolve;
|
|
354
357
|
this._reject = reject;
|
|
@@ -357,13 +360,18 @@ class BindingCallDispatcher extends _dispatcher.Dispatcher {
|
|
|
357
360
|
promise() {
|
|
358
361
|
return this._promise;
|
|
359
362
|
}
|
|
360
|
-
async resolve(params,
|
|
361
|
-
this._resolve((0,
|
|
363
|
+
async resolve(params, progress) {
|
|
364
|
+
this._resolve((0, import_jsHandleDispatcher.parseArgument)(params.result));
|
|
362
365
|
this._dispose();
|
|
363
366
|
}
|
|
364
|
-
async reject(params,
|
|
365
|
-
this._reject((0,
|
|
367
|
+
async reject(params, progress) {
|
|
368
|
+
this._reject((0, import_errors.parseError)(params.error));
|
|
366
369
|
this._dispose();
|
|
367
370
|
}
|
|
368
371
|
}
|
|
369
|
-
|
|
372
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
373
|
+
0 && (module.exports = {
|
|
374
|
+
BindingCallDispatcher,
|
|
375
|
+
PageDispatcher,
|
|
376
|
+
WorkerDispatcher
|
|
377
|
+
});
|