@checkly/playwright-core 1.51.17-beta.2 → 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 -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 +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-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,73 +1,84 @@
|
|
|
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 wkInput_exports = {};
|
|
30
|
+
__export(wkInput_exports, {
|
|
31
|
+
RawKeyboardImpl: () => RawKeyboardImpl,
|
|
32
|
+
RawMouseImpl: () => RawMouseImpl,
|
|
33
|
+
RawTouchscreenImpl: () => RawTouchscreenImpl
|
|
5
34
|
});
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
var input =
|
|
9
|
-
var
|
|
10
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
-
/**
|
|
13
|
-
* Copyright 2017 Google Inc. All rights reserved.
|
|
14
|
-
* Modifications copyright (c) Microsoft Corporation.
|
|
15
|
-
*
|
|
16
|
-
* Licensed under the Apache License, Version 2.0 (the 'License');
|
|
17
|
-
* you may not use this file except in compliance with the License.
|
|
18
|
-
* You may obtain a copy of the License at
|
|
19
|
-
*
|
|
20
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
21
|
-
*
|
|
22
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
23
|
-
* distributed under the License is distributed on an 'AS IS' BASIS,
|
|
24
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
25
|
-
* See the License for the specific language governing permissions and
|
|
26
|
-
* limitations under the License.
|
|
27
|
-
*/
|
|
28
|
-
|
|
35
|
+
module.exports = __toCommonJS(wkInput_exports);
|
|
36
|
+
var import_utils = require("../../utils");
|
|
37
|
+
var input = __toESM(require("../input"));
|
|
38
|
+
var import_macEditingCommands = require("../macEditingCommands");
|
|
29
39
|
function toModifiersMask(modifiers) {
|
|
30
|
-
// From Source/WebKit/Shared/WebEvent.h
|
|
31
40
|
let mask = 0;
|
|
32
|
-
if (modifiers.has(
|
|
33
|
-
|
|
34
|
-
if (modifiers.has(
|
|
35
|
-
|
|
41
|
+
if (modifiers.has("Shift"))
|
|
42
|
+
mask |= 1;
|
|
43
|
+
if (modifiers.has("Control"))
|
|
44
|
+
mask |= 2;
|
|
45
|
+
if (modifiers.has("Alt"))
|
|
46
|
+
mask |= 4;
|
|
47
|
+
if (modifiers.has("Meta"))
|
|
48
|
+
mask |= 8;
|
|
36
49
|
return mask;
|
|
37
50
|
}
|
|
38
51
|
function toButtonsMask(buttons) {
|
|
39
52
|
let mask = 0;
|
|
40
|
-
if (buttons.has(
|
|
41
|
-
|
|
42
|
-
if (buttons.has(
|
|
53
|
+
if (buttons.has("left"))
|
|
54
|
+
mask |= 1;
|
|
55
|
+
if (buttons.has("right"))
|
|
56
|
+
mask |= 2;
|
|
57
|
+
if (buttons.has("middle"))
|
|
58
|
+
mask |= 4;
|
|
43
59
|
return mask;
|
|
44
60
|
}
|
|
45
61
|
class RawKeyboardImpl {
|
|
46
62
|
constructor(session) {
|
|
47
|
-
this._pageProxySession = void 0;
|
|
48
|
-
this._session = void 0;
|
|
49
63
|
this._pageProxySession = session;
|
|
50
64
|
}
|
|
51
65
|
setSession(session) {
|
|
52
66
|
this._session = session;
|
|
53
67
|
}
|
|
54
|
-
async keydown(modifiers, keyName, description, autoRepeat) {
|
|
68
|
+
async keydown(progress, modifiers, keyName, description, autoRepeat) {
|
|
55
69
|
const parts = [];
|
|
56
|
-
for (const modifier of [
|
|
57
|
-
if (modifiers.has(modifier))
|
|
70
|
+
for (const modifier of ["Shift", "Control", "Alt", "Meta"]) {
|
|
71
|
+
if (modifiers.has(modifier))
|
|
72
|
+
parts.push(modifier);
|
|
58
73
|
}
|
|
59
|
-
const {
|
|
60
|
-
code,
|
|
61
|
-
keyCode,
|
|
62
|
-
key,
|
|
63
|
-
text
|
|
64
|
-
} = description;
|
|
74
|
+
const { code, keyCode, key, text } = description;
|
|
65
75
|
parts.push(code);
|
|
66
|
-
const shortcut = parts.join(
|
|
67
|
-
let commands =
|
|
68
|
-
if ((0,
|
|
69
|
-
|
|
70
|
-
|
|
76
|
+
const shortcut = parts.join("+");
|
|
77
|
+
let commands = import_macEditingCommands.macEditingCommands[shortcut];
|
|
78
|
+
if ((0, import_utils.isString)(commands))
|
|
79
|
+
commands = [commands];
|
|
80
|
+
await progress.race(this._pageProxySession.send("Input.dispatchKeyEvent", {
|
|
81
|
+
type: "keyDown",
|
|
71
82
|
modifiers: toModifiersMask(modifiers),
|
|
72
83
|
windowsVirtualKeyCode: keyCode,
|
|
73
84
|
code,
|
|
@@ -77,103 +88,94 @@ class RawKeyboardImpl {
|
|
|
77
88
|
autoRepeat,
|
|
78
89
|
macCommands: commands,
|
|
79
90
|
isKeypad: description.location === input.keypadLocation
|
|
80
|
-
});
|
|
91
|
+
}));
|
|
81
92
|
}
|
|
82
|
-
async keyup(modifiers, keyName, description) {
|
|
83
|
-
const {
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
} = description;
|
|
87
|
-
await this._pageProxySession.send('Input.dispatchKeyEvent', {
|
|
88
|
-
type: 'keyUp',
|
|
93
|
+
async keyup(progress, modifiers, keyName, description) {
|
|
94
|
+
const { code, key } = description;
|
|
95
|
+
await progress.race(this._pageProxySession.send("Input.dispatchKeyEvent", {
|
|
96
|
+
type: "keyUp",
|
|
89
97
|
modifiers: toModifiersMask(modifiers),
|
|
90
98
|
key,
|
|
91
99
|
windowsVirtualKeyCode: description.keyCode,
|
|
92
100
|
code,
|
|
93
101
|
isKeypad: description.location === input.keypadLocation
|
|
94
|
-
});
|
|
102
|
+
}));
|
|
95
103
|
}
|
|
96
|
-
async sendText(text) {
|
|
97
|
-
await this._session.send(
|
|
98
|
-
text
|
|
99
|
-
});
|
|
104
|
+
async sendText(progress, text) {
|
|
105
|
+
await progress.race(this._session.send("Page.insertText", { text }));
|
|
100
106
|
}
|
|
101
107
|
}
|
|
102
|
-
exports.RawKeyboardImpl = RawKeyboardImpl;
|
|
103
108
|
class RawMouseImpl {
|
|
104
109
|
constructor(session) {
|
|
105
|
-
this._pageProxySession = void 0;
|
|
106
|
-
this._session = void 0;
|
|
107
|
-
this._page = void 0;
|
|
108
110
|
this._pageProxySession = session;
|
|
109
111
|
}
|
|
110
112
|
setSession(session) {
|
|
111
113
|
this._session = session;
|
|
112
114
|
}
|
|
113
|
-
async move(x, y, button, buttons, modifiers, forClick) {
|
|
114
|
-
await this._pageProxySession.send(
|
|
115
|
-
type:
|
|
115
|
+
async move(progress, x, y, button, buttons, modifiers, forClick) {
|
|
116
|
+
await progress.race(this._pageProxySession.send("Input.dispatchMouseEvent", {
|
|
117
|
+
type: "move",
|
|
116
118
|
button,
|
|
117
119
|
buttons: toButtonsMask(buttons),
|
|
118
120
|
x,
|
|
119
121
|
y,
|
|
120
122
|
modifiers: toModifiersMask(modifiers)
|
|
121
|
-
});
|
|
123
|
+
}));
|
|
122
124
|
}
|
|
123
|
-
async down(x, y, button, buttons, modifiers, clickCount) {
|
|
124
|
-
await this._pageProxySession.send(
|
|
125
|
-
type:
|
|
125
|
+
async down(progress, x, y, button, buttons, modifiers, clickCount) {
|
|
126
|
+
await progress.race(this._pageProxySession.send("Input.dispatchMouseEvent", {
|
|
127
|
+
type: "down",
|
|
126
128
|
button,
|
|
127
129
|
buttons: toButtonsMask(buttons),
|
|
128
130
|
x,
|
|
129
131
|
y,
|
|
130
132
|
modifiers: toModifiersMask(modifiers),
|
|
131
133
|
clickCount
|
|
132
|
-
});
|
|
134
|
+
}));
|
|
133
135
|
}
|
|
134
|
-
async up(x, y, button, buttons, modifiers, clickCount) {
|
|
135
|
-
await this._pageProxySession.send(
|
|
136
|
-
type:
|
|
136
|
+
async up(progress, x, y, button, buttons, modifiers, clickCount) {
|
|
137
|
+
await progress.race(this._pageProxySession.send("Input.dispatchMouseEvent", {
|
|
138
|
+
type: "up",
|
|
137
139
|
button,
|
|
138
140
|
buttons: toButtonsMask(buttons),
|
|
139
141
|
x,
|
|
140
142
|
y,
|
|
141
143
|
modifiers: toModifiersMask(modifiers),
|
|
142
144
|
clickCount
|
|
143
|
-
});
|
|
145
|
+
}));
|
|
144
146
|
}
|
|
145
|
-
async wheel(x, y, buttons, modifiers, deltaX, deltaY) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
await this._session.send(
|
|
149
|
-
|
|
150
|
-
await this.
|
|
151
|
-
world: 'utility'
|
|
152
|
-
});
|
|
153
|
-
await this._pageProxySession.send('Input.dispatchWheelEvent', {
|
|
147
|
+
async wheel(progress, x, y, buttons, modifiers, deltaX, deltaY) {
|
|
148
|
+
if (this._page?.browserContext._options.isMobile)
|
|
149
|
+
throw new Error("Mouse wheel is not supported in mobile WebKit");
|
|
150
|
+
await this._session.send("Page.updateScrollingState");
|
|
151
|
+
await progress.race(this._page.mainFrame().evaluateExpression(`new Promise(requestAnimationFrame)`, { world: "utility" }));
|
|
152
|
+
await progress.race(this._pageProxySession.send("Input.dispatchWheelEvent", {
|
|
154
153
|
x,
|
|
155
154
|
y,
|
|
156
155
|
deltaX,
|
|
157
156
|
deltaY,
|
|
158
157
|
modifiers: toModifiersMask(modifiers)
|
|
159
|
-
});
|
|
158
|
+
}));
|
|
160
159
|
}
|
|
161
160
|
setPage(page) {
|
|
162
161
|
this._page = page;
|
|
163
162
|
}
|
|
164
163
|
}
|
|
165
|
-
exports.RawMouseImpl = RawMouseImpl;
|
|
166
164
|
class RawTouchscreenImpl {
|
|
167
165
|
constructor(session) {
|
|
168
|
-
this._pageProxySession = void 0;
|
|
169
166
|
this._pageProxySession = session;
|
|
170
167
|
}
|
|
171
|
-
async tap(x, y, modifiers) {
|
|
172
|
-
await this._pageProxySession.send(
|
|
168
|
+
async tap(progress, x, y, modifiers) {
|
|
169
|
+
await progress.race(this._pageProxySession.send("Input.dispatchTapEvent", {
|
|
173
170
|
x,
|
|
174
171
|
y,
|
|
175
172
|
modifiers: toModifiersMask(modifiers)
|
|
176
|
-
});
|
|
173
|
+
}));
|
|
177
174
|
}
|
|
178
175
|
}
|
|
179
|
-
|
|
176
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
177
|
+
0 && (module.exports = {
|
|
178
|
+
RawKeyboardImpl,
|
|
179
|
+
RawMouseImpl,
|
|
180
|
+
RawTouchscreenImpl
|
|
181
|
+
});
|
|
@@ -1,61 +1,77 @@
|
|
|
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 wkInterceptableRequest_exports = {};
|
|
30
|
+
__export(wkInterceptableRequest_exports, {
|
|
31
|
+
WKInterceptableRequest: () => WKInterceptableRequest,
|
|
32
|
+
WKRouteImpl: () => WKRouteImpl
|
|
5
33
|
});
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
var network =
|
|
9
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
10
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
11
|
-
/**
|
|
12
|
-
* Copyright 2017 Google Inc. All rights reserved.
|
|
13
|
-
* Modifications 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
|
-
|
|
34
|
+
module.exports = __toCommonJS(wkInterceptableRequest_exports);
|
|
35
|
+
var import_utils = require("../../utils");
|
|
36
|
+
var network = __toESM(require("../network"));
|
|
28
37
|
const errorReasons = {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
"aborted": "Cancellation",
|
|
39
|
+
"accessdenied": "AccessControl",
|
|
40
|
+
"addressunreachable": "General",
|
|
41
|
+
"blockedbyclient": "Cancellation",
|
|
42
|
+
"blockedbyresponse": "General",
|
|
43
|
+
"connectionaborted": "General",
|
|
44
|
+
"connectionclosed": "General",
|
|
45
|
+
"connectionfailed": "General",
|
|
46
|
+
"connectionrefused": "General",
|
|
47
|
+
"connectionreset": "General",
|
|
48
|
+
"internetdisconnected": "General",
|
|
49
|
+
"namenotresolved": "General",
|
|
50
|
+
"timedout": "Timeout",
|
|
51
|
+
"failed": "General"
|
|
43
52
|
};
|
|
44
53
|
class WKInterceptableRequest {
|
|
45
54
|
constructor(session, frame, event, redirectedFrom, documentId) {
|
|
46
|
-
this._session = void 0;
|
|
47
|
-
this._requestId = void 0;
|
|
48
|
-
this.request = void 0;
|
|
49
|
-
this._timestamp = void 0;
|
|
50
|
-
this._wallTime = void 0;
|
|
51
55
|
this._session = session;
|
|
52
56
|
this._requestId = event.requestId;
|
|
53
|
-
const resourceType = event.type ? event.type.toLowerCase() : redirectedFrom ? redirectedFrom.request.resourceType() :
|
|
57
|
+
const resourceType = event.type ? event.type.toLowerCase() : redirectedFrom ? redirectedFrom.request.resourceType() : "other";
|
|
54
58
|
let postDataBuffer = null;
|
|
55
59
|
this._timestamp = event.timestamp;
|
|
56
|
-
this._wallTime = event.walltime *
|
|
57
|
-
if (event.request.postData)
|
|
58
|
-
|
|
60
|
+
this._wallTime = event.walltime * 1e3;
|
|
61
|
+
if (event.request.postData)
|
|
62
|
+
postDataBuffer = Buffer.from(event.request.postData, "base64");
|
|
63
|
+
this.request = new network.Request(
|
|
64
|
+
frame._page.browserContext,
|
|
65
|
+
frame,
|
|
66
|
+
null,
|
|
67
|
+
redirectedFrom?.request || null,
|
|
68
|
+
documentId,
|
|
69
|
+
event.request.url,
|
|
70
|
+
resourceType,
|
|
71
|
+
event.request.method,
|
|
72
|
+
postDataBuffer,
|
|
73
|
+
(0, import_utils.headersObjectToArray)(event.request.headers)
|
|
74
|
+
);
|
|
59
75
|
}
|
|
60
76
|
adoptRequestFromNewProcess(newSession, requestId) {
|
|
61
77
|
this._session = newSession;
|
|
@@ -63,10 +79,8 @@ class WKInterceptableRequest {
|
|
|
63
79
|
}
|
|
64
80
|
createResponse(responsePayload) {
|
|
65
81
|
const getResponseBody = async () => {
|
|
66
|
-
const
|
|
67
|
-
|
|
68
|
-
});
|
|
69
|
-
return Buffer.from(response.body, response.base64Encoded ? 'base64' : 'utf8');
|
|
82
|
+
const response2 = await this._session.send("Network.getResponseBody", { requestId: this._requestId });
|
|
83
|
+
return Buffer.from(response2.body, response2.base64Encoded ? "base64" : "utf8");
|
|
70
84
|
};
|
|
71
85
|
const timingPayload = responsePayload.timing;
|
|
72
86
|
const timing = {
|
|
@@ -79,54 +93,44 @@ class WKInterceptableRequest {
|
|
|
79
93
|
requestStart: timingPayload ? wkMillisToRoundishMillis(timingPayload.requestStart) : -1,
|
|
80
94
|
responseStart: timingPayload ? wkMillisToRoundishMillis(timingPayload.responseStart) : -1
|
|
81
95
|
};
|
|
82
|
-
const setCookieSeparator = process.platform ===
|
|
83
|
-
const response = new network.Response(this.request, responsePayload.status, responsePayload.statusText, (0,
|
|
84
|
-
|
|
85
|
-
// No raw response headers in WebKit, use "provisional" ones.
|
|
96
|
+
const setCookieSeparator = process.platform === "darwin" ? "," : "playwright-set-cookie-separator";
|
|
97
|
+
const response = new network.Response(this.request, responsePayload.status, responsePayload.statusText, (0, import_utils.headersObjectToArray)(responsePayload.headers, ",", setCookieSeparator), timing, getResponseBody, responsePayload.source === "service-worker");
|
|
86
98
|
response.setRawResponseHeaders(null);
|
|
87
|
-
// Transfer size is not available in WebKit.
|
|
88
99
|
response.setTransferSize(null);
|
|
89
100
|
if (responsePayload.requestHeaders && Object.keys(responsePayload.requestHeaders).length) {
|
|
90
|
-
const headers = {
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
this.request.setRawRequestHeaders((0, _utils.headersObjectToArray)(headers));
|
|
101
|
+
const headers = { ...responsePayload.requestHeaders };
|
|
102
|
+
if (!headers["host"])
|
|
103
|
+
headers["Host"] = new URL(this.request.url()).host;
|
|
104
|
+
this.request.setRawRequestHeaders((0, import_utils.headersObjectToArray)(headers));
|
|
95
105
|
} else {
|
|
96
|
-
// No raw headers available, use provisional ones.
|
|
97
106
|
this.request.setRawRequestHeaders(null);
|
|
98
107
|
}
|
|
99
108
|
return response;
|
|
100
109
|
}
|
|
101
110
|
}
|
|
102
|
-
exports.WKInterceptableRequest = WKInterceptableRequest;
|
|
103
111
|
class WKRouteImpl {
|
|
104
112
|
constructor(session, requestId) {
|
|
105
|
-
this._session = void 0;
|
|
106
|
-
this._requestId = void 0;
|
|
107
113
|
this._session = session;
|
|
108
114
|
this._requestId = requestId;
|
|
109
115
|
}
|
|
110
116
|
async abort(errorCode) {
|
|
111
117
|
const errorType = errorReasons[errorCode];
|
|
112
|
-
(0,
|
|
113
|
-
|
|
114
|
-
// or the page was closed. We should tolerate these errors.
|
|
115
|
-
await this._session.sendMayFail('Network.interceptRequestWithError', {
|
|
116
|
-
requestId: this._requestId,
|
|
117
|
-
errorType
|
|
118
|
-
});
|
|
118
|
+
(0, import_utils.assert)(errorType, "Unknown error code: " + errorCode);
|
|
119
|
+
await this._session.sendMayFail("Network.interceptRequestWithError", { requestId: this._requestId, errorType });
|
|
119
120
|
}
|
|
120
121
|
async fulfill(response) {
|
|
121
|
-
if (300 <= response.status && response.status < 400)
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
122
|
+
if (300 <= response.status && response.status < 400)
|
|
123
|
+
throw new Error("Cannot fulfill with redirect status: " + response.status);
|
|
124
|
+
let mimeType = response.isBase64 ? "application/octet-stream" : "text/plain";
|
|
125
|
+
const headers = (0, import_utils.headersArrayToObject)(
|
|
126
|
+
response.headers,
|
|
127
|
+
true
|
|
128
|
+
/* lowerCase */
|
|
129
|
+
);
|
|
130
|
+
const contentType = headers["content-type"];
|
|
131
|
+
if (contentType)
|
|
132
|
+
mimeType = contentType.split(";")[0].trim();
|
|
133
|
+
await this._session.sendMayFail("Network.interceptRequestWithResponse", {
|
|
130
134
|
requestId: this._requestId,
|
|
131
135
|
status: response.status,
|
|
132
136
|
statusText: network.statusText(response.status),
|
|
@@ -137,26 +141,29 @@ class WKRouteImpl {
|
|
|
137
141
|
});
|
|
138
142
|
}
|
|
139
143
|
async continue(overrides) {
|
|
140
|
-
|
|
141
|
-
// or the page was closed. We should tolerate these errors.
|
|
142
|
-
await this._session.sendMayFail('Network.interceptWithRequest', {
|
|
144
|
+
await this._session.sendMayFail("Network.interceptWithRequest", {
|
|
143
145
|
requestId: this._requestId,
|
|
144
146
|
url: overrides.url,
|
|
145
147
|
method: overrides.method,
|
|
146
|
-
headers: overrides.headers ? (0,
|
|
147
|
-
|
|
148
|
+
headers: overrides.headers ? (0, import_utils.headersArrayToObject)(
|
|
149
|
+
overrides.headers,
|
|
150
|
+
false
|
|
151
|
+
/* lowerCase */
|
|
152
|
+
) : void 0,
|
|
153
|
+
postData: overrides.postData ? Buffer.from(overrides.postData).toString("base64") : void 0
|
|
148
154
|
});
|
|
149
155
|
}
|
|
150
156
|
}
|
|
151
|
-
exports.WKRouteImpl = WKRouteImpl;
|
|
152
157
|
function wkMillisToRoundishMillis(value) {
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
// WebKit has a bug, instead of -1 it sends -1000 to be in ms.
|
|
158
|
+
if (value === -1e3)
|
|
159
|
+
return -1;
|
|
157
160
|
if (value <= 0) {
|
|
158
|
-
// DNS can start before request start on Mac Network Stack
|
|
159
161
|
return -1;
|
|
160
162
|
}
|
|
161
|
-
return (value *
|
|
162
|
-
}
|
|
163
|
+
return (value * 1e3 | 0) / 1e3;
|
|
164
|
+
}
|
|
165
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
166
|
+
0 && (module.exports = {
|
|
167
|
+
WKInterceptableRequest,
|
|
168
|
+
WKRouteImpl
|
|
169
|
+
});
|