@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,87 +1,73 @@
|
|
|
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 wkConnection_exports = {};
|
|
20
|
+
__export(wkConnection_exports, {
|
|
21
|
+
WKConnection: () => WKConnection,
|
|
22
|
+
WKSession: () => WKSession,
|
|
23
|
+
kBrowserCloseMessageId: () => kBrowserCloseMessageId,
|
|
24
|
+
kPageProxyMessageReceived: () => kPageProxyMessageReceived
|
|
5
25
|
});
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
29
|
-
// WKPlaywright uses this special id to issue Browser.close command which we
|
|
30
|
-
// should ignore.
|
|
31
|
-
const kBrowserCloseMessageId = exports.kBrowserCloseMessageId = -9999;
|
|
32
|
-
|
|
33
|
-
// We emulate kPageProxyMessageReceived message to unify it with Browser.pageProxyCreated
|
|
34
|
-
// and Browser.pageProxyDestroyed for easier management.
|
|
35
|
-
const kPageProxyMessageReceived = exports.kPageProxyMessageReceived = Symbol('kPageProxyMessageReceived');
|
|
26
|
+
module.exports = __toCommonJS(wkConnection_exports);
|
|
27
|
+
var import_events = require("events");
|
|
28
|
+
var import_utils = require("../../utils");
|
|
29
|
+
var import_debugLogger = require("../utils/debugLogger");
|
|
30
|
+
var import_helper = require("../helper");
|
|
31
|
+
var import_protocolError = require("../protocolError");
|
|
32
|
+
const kBrowserCloseMessageId = -9999;
|
|
33
|
+
const kPageProxyMessageReceived = Symbol("kPageProxyMessageReceived");
|
|
36
34
|
class WKConnection {
|
|
37
35
|
constructor(transport, onDisconnect, protocolLogger, browserLogsCollector) {
|
|
38
|
-
this._transport = void 0;
|
|
39
|
-
this._onDisconnect = void 0;
|
|
40
|
-
this._protocolLogger = void 0;
|
|
41
|
-
this._browserLogsCollector = void 0;
|
|
42
|
-
this._browserDisconnectedLogs = void 0;
|
|
43
36
|
this._lastId = 0;
|
|
44
37
|
this._closed = false;
|
|
45
|
-
this.browserSession = void 0;
|
|
46
38
|
this._transport = transport;
|
|
47
39
|
this._onDisconnect = onDisconnect;
|
|
48
40
|
this._protocolLogger = protocolLogger;
|
|
49
41
|
this._browserLogsCollector = browserLogsCollector;
|
|
50
|
-
this.browserSession = new WKSession(this,
|
|
42
|
+
this.browserSession = new WKSession(this, "", (message) => {
|
|
51
43
|
this.rawSend(message);
|
|
52
44
|
});
|
|
53
45
|
this._transport.onmessage = this._dispatchMessage.bind(this);
|
|
54
|
-
// onclose should be set last, since it can be immediately called.
|
|
55
46
|
this._transport.onclose = this._onClose.bind(this);
|
|
56
47
|
}
|
|
57
48
|
nextMessageId() {
|
|
58
49
|
return ++this._lastId;
|
|
59
50
|
}
|
|
60
51
|
rawSend(message) {
|
|
61
|
-
this._protocolLogger(
|
|
52
|
+
this._protocolLogger("send", message);
|
|
62
53
|
this._transport.send(message);
|
|
63
54
|
}
|
|
64
55
|
_dispatchMessage(message) {
|
|
65
|
-
this._protocolLogger(
|
|
66
|
-
if (message.id === kBrowserCloseMessageId)
|
|
56
|
+
this._protocolLogger("receive", message);
|
|
57
|
+
if (message.id === kBrowserCloseMessageId)
|
|
58
|
+
return;
|
|
67
59
|
if (message.pageProxyId) {
|
|
68
|
-
const payload = {
|
|
69
|
-
|
|
70
|
-
pageProxyId: message.pageProxyId
|
|
71
|
-
};
|
|
72
|
-
this.browserSession.dispatchMessage({
|
|
73
|
-
method: kPageProxyMessageReceived,
|
|
74
|
-
params: payload
|
|
75
|
-
});
|
|
60
|
+
const payload = { message, pageProxyId: message.pageProxyId };
|
|
61
|
+
this.browserSession.dispatchMessage({ method: kPageProxyMessageReceived, params: payload });
|
|
76
62
|
return;
|
|
77
63
|
}
|
|
78
64
|
this.browserSession.dispatchMessage(message);
|
|
79
65
|
}
|
|
80
66
|
_onClose(reason) {
|
|
81
67
|
this._closed = true;
|
|
82
|
-
this._transport.onmessage =
|
|
83
|
-
this._transport.onclose =
|
|
84
|
-
this._browserDisconnectedLogs =
|
|
68
|
+
this._transport.onmessage = void 0;
|
|
69
|
+
this._transport.onclose = void 0;
|
|
70
|
+
this._browserDisconnectedLogs = import_helper.helper.formatBrowserLogs(this._browserLogsCollector.recentLogs(), reason);
|
|
85
71
|
this.browserSession.dispose();
|
|
86
72
|
this._onDisconnect();
|
|
87
73
|
}
|
|
@@ -89,24 +75,16 @@ class WKConnection {
|
|
|
89
75
|
return this._closed;
|
|
90
76
|
}
|
|
91
77
|
close() {
|
|
92
|
-
if (!this._closed)
|
|
78
|
+
if (!this._closed)
|
|
79
|
+
this._transport.close();
|
|
93
80
|
}
|
|
94
81
|
}
|
|
95
|
-
|
|
96
|
-
class WKSession extends _events.EventEmitter {
|
|
82
|
+
class WKSession extends import_events.EventEmitter {
|
|
97
83
|
constructor(connection, sessionId, rawSend) {
|
|
98
84
|
super();
|
|
99
|
-
this.connection = void 0;
|
|
100
|
-
this.sessionId = void 0;
|
|
101
85
|
this._disposed = false;
|
|
102
|
-
this.
|
|
103
|
-
this._callbacks = new Map();
|
|
86
|
+
this._callbacks = /* @__PURE__ */ new Map();
|
|
104
87
|
this._crashed = false;
|
|
105
|
-
this.on = void 0;
|
|
106
|
-
this.addListener = void 0;
|
|
107
|
-
this.off = void 0;
|
|
108
|
-
this.removeListener = void 0;
|
|
109
|
-
this.once = void 0;
|
|
110
88
|
this.setMaxListeners(0);
|
|
111
89
|
this.connection = connection;
|
|
112
90
|
this.sessionId = sessionId;
|
|
@@ -118,24 +96,17 @@ class WKSession extends _events.EventEmitter {
|
|
|
118
96
|
this.once = super.once;
|
|
119
97
|
}
|
|
120
98
|
async send(method, params) {
|
|
121
|
-
if (this._crashed || this._disposed || this.connection._browserDisconnectedLogs)
|
|
99
|
+
if (this._crashed || this._disposed || this.connection._browserDisconnectedLogs)
|
|
100
|
+
throw new import_protocolError.ProtocolError(this._crashed ? "crashed" : "closed", void 0, this.connection._browserDisconnectedLogs);
|
|
122
101
|
const id = this.connection.nextMessageId();
|
|
123
|
-
const messageObj = {
|
|
124
|
-
id,
|
|
125
|
-
method,
|
|
126
|
-
params
|
|
127
|
-
};
|
|
102
|
+
const messageObj = { id, method, params };
|
|
128
103
|
this._rawSend(messageObj);
|
|
129
104
|
return new Promise((resolve, reject) => {
|
|
130
|
-
this._callbacks.set(id, {
|
|
131
|
-
resolve,
|
|
132
|
-
reject,
|
|
133
|
-
error: new _protocolError.ProtocolError('error', method)
|
|
134
|
-
});
|
|
105
|
+
this._callbacks.set(id, { resolve, reject, error: new import_protocolError.ProtocolError("error", method) });
|
|
135
106
|
});
|
|
136
107
|
}
|
|
137
108
|
sendMayFail(method, params) {
|
|
138
|
-
return this.send(method, params).catch(error =>
|
|
109
|
+
return this.send(method, params).catch((error) => import_debugLogger.debugLogger.log("error", error));
|
|
139
110
|
}
|
|
140
111
|
markAsCrashed() {
|
|
141
112
|
this._crashed = true;
|
|
@@ -145,7 +116,7 @@ class WKSession extends _events.EventEmitter {
|
|
|
145
116
|
}
|
|
146
117
|
dispose() {
|
|
147
118
|
for (const callback of this._callbacks.values()) {
|
|
148
|
-
callback.error.type = this._crashed ?
|
|
119
|
+
callback.error.type = this._crashed ? "crashed" : "closed";
|
|
149
120
|
callback.error.logs = this.connection._browserDisconnectedLogs;
|
|
150
121
|
callback.reject(callback.error);
|
|
151
122
|
}
|
|
@@ -163,11 +134,16 @@ class WKSession extends _events.EventEmitter {
|
|
|
163
134
|
callback.resolve(object.result);
|
|
164
135
|
}
|
|
165
136
|
} else if (object.id && !object.error) {
|
|
166
|
-
|
|
167
|
-
(0, _utils.assert)(this.isDisposed());
|
|
137
|
+
(0, import_utils.assert)(this.isDisposed());
|
|
168
138
|
} else {
|
|
169
139
|
Promise.resolve().then(() => this.emit(object.method, object.params));
|
|
170
140
|
}
|
|
171
141
|
}
|
|
172
142
|
}
|
|
173
|
-
|
|
143
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
144
|
+
0 && (module.exports = {
|
|
145
|
+
WKConnection,
|
|
146
|
+
WKSession,
|
|
147
|
+
kBrowserCloseMessageId,
|
|
148
|
+
kPageProxyMessageReceived
|
|
149
|
+
});
|
|
@@ -1,49 +1,56 @@
|
|
|
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 wkExecutionContext_exports = {};
|
|
30
|
+
__export(wkExecutionContext_exports, {
|
|
31
|
+
WKExecutionContext: () => WKExecutionContext,
|
|
32
|
+
createHandle: () => createHandle
|
|
5
33
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var _assert = require("../../utils/isomorphic/assert");
|
|
13
|
-
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); }
|
|
14
|
-
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; }
|
|
15
|
-
/**
|
|
16
|
-
* Copyright 2017 Google Inc. All rights reserved.
|
|
17
|
-
* Modifications copyright (c) Microsoft Corporation.
|
|
18
|
-
*
|
|
19
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
20
|
-
* you may not use this file except in compliance with the License.
|
|
21
|
-
* You may obtain a copy of the License at
|
|
22
|
-
*
|
|
23
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
24
|
-
*
|
|
25
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
26
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
27
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
28
|
-
* See the License for the specific language governing permissions and
|
|
29
|
-
* limitations under the License.
|
|
30
|
-
*/
|
|
31
|
-
|
|
34
|
+
module.exports = __toCommonJS(wkExecutionContext_exports);
|
|
35
|
+
var js = __toESM(require("../javascript"));
|
|
36
|
+
var dom = __toESM(require("../dom"));
|
|
37
|
+
var import_protocolError = require("../protocolError");
|
|
38
|
+
var import_assert = require("../../utils/isomorphic/assert");
|
|
39
|
+
var import_utilityScriptSerializers = require("../../utils/isomorphic/utilityScriptSerializers");
|
|
32
40
|
class WKExecutionContext {
|
|
33
41
|
constructor(session, contextId) {
|
|
34
|
-
this._session = void 0;
|
|
35
|
-
this._contextId = void 0;
|
|
36
42
|
this._session = session;
|
|
37
43
|
this._contextId = contextId;
|
|
38
44
|
}
|
|
39
45
|
async rawEvaluateJSON(expression) {
|
|
40
46
|
try {
|
|
41
|
-
const response = await this._session.send(
|
|
47
|
+
const response = await this._session.send("Runtime.evaluate", {
|
|
42
48
|
expression,
|
|
43
49
|
contextId: this._contextId,
|
|
44
50
|
returnByValue: true
|
|
45
51
|
});
|
|
46
|
-
if (response.wasThrown)
|
|
52
|
+
if (response.wasThrown)
|
|
53
|
+
throw new js.JavaScriptErrorInEvaluate(response.result.description);
|
|
47
54
|
return response.result.value;
|
|
48
55
|
} catch (error) {
|
|
49
56
|
throw rewriteError(error);
|
|
@@ -51,12 +58,13 @@ class WKExecutionContext {
|
|
|
51
58
|
}
|
|
52
59
|
async rawEvaluateHandle(context, expression) {
|
|
53
60
|
try {
|
|
54
|
-
const response = await this._session.send(
|
|
61
|
+
const response = await this._session.send("Runtime.evaluate", {
|
|
55
62
|
expression,
|
|
56
63
|
contextId: this._contextId,
|
|
57
64
|
returnByValue: false
|
|
58
65
|
});
|
|
59
|
-
if (response.wasThrown)
|
|
66
|
+
if (response.wasThrown)
|
|
67
|
+
throw new js.JavaScriptErrorInEvaluate(response.result.description);
|
|
60
68
|
return createHandle(context, response.result);
|
|
61
69
|
} catch (error) {
|
|
62
70
|
throw rewriteError(error);
|
|
@@ -64,76 +72,83 @@ class WKExecutionContext {
|
|
|
64
72
|
}
|
|
65
73
|
async evaluateWithArguments(expression, returnByValue, utilityScript, values, handles) {
|
|
66
74
|
try {
|
|
67
|
-
const response = await this._session.send(
|
|
75
|
+
const response = await this._session.send("Runtime.callFunctionOn", {
|
|
68
76
|
functionDeclaration: expression,
|
|
69
77
|
objectId: utilityScript._objectId,
|
|
70
|
-
arguments: [
|
|
71
|
-
objectId: utilityScript._objectId
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
objectId: handle._objectId
|
|
76
|
-
}))],
|
|
78
|
+
arguments: [
|
|
79
|
+
{ objectId: utilityScript._objectId },
|
|
80
|
+
...values.map((value) => ({ value })),
|
|
81
|
+
...handles.map((handle) => ({ objectId: handle._objectId }))
|
|
82
|
+
],
|
|
77
83
|
returnByValue,
|
|
78
84
|
emulateUserGesture: true,
|
|
79
85
|
awaitPromise: true
|
|
80
86
|
});
|
|
81
|
-
if (response.wasThrown)
|
|
82
|
-
|
|
87
|
+
if (response.wasThrown)
|
|
88
|
+
throw new js.JavaScriptErrorInEvaluate(response.result.description);
|
|
89
|
+
if (returnByValue)
|
|
90
|
+
return (0, import_utilityScriptSerializers.parseEvaluationResultValue)(response.result.value);
|
|
83
91
|
return createHandle(utilityScript._context, response.result);
|
|
84
92
|
} catch (error) {
|
|
85
93
|
throw rewriteError(error);
|
|
86
94
|
}
|
|
87
95
|
}
|
|
88
96
|
async getProperties(object) {
|
|
89
|
-
const response = await this._session.send(
|
|
97
|
+
const response = await this._session.send("Runtime.getProperties", {
|
|
90
98
|
objectId: object._objectId,
|
|
91
99
|
ownProperties: true
|
|
92
100
|
});
|
|
93
|
-
const result = new Map();
|
|
101
|
+
const result = /* @__PURE__ */ new Map();
|
|
94
102
|
for (const property of response.properties) {
|
|
95
|
-
if (!property.enumerable || !property.value)
|
|
103
|
+
if (!property.enumerable || !property.value)
|
|
104
|
+
continue;
|
|
96
105
|
result.set(property.name, createHandle(object._context, property.value));
|
|
97
106
|
}
|
|
98
107
|
return result;
|
|
99
108
|
}
|
|
100
109
|
async releaseHandle(handle) {
|
|
101
|
-
if (!handle._objectId)
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
});
|
|
110
|
+
if (!handle._objectId)
|
|
111
|
+
return;
|
|
112
|
+
await this._session.send("Runtime.releaseObject", { objectId: handle._objectId });
|
|
105
113
|
}
|
|
106
114
|
}
|
|
107
|
-
exports.WKExecutionContext = WKExecutionContext;
|
|
108
115
|
function potentiallyUnserializableValue(remoteObject) {
|
|
109
116
|
const value = remoteObject.value;
|
|
110
|
-
const isUnserializable = remoteObject.type ===
|
|
117
|
+
const isUnserializable = remoteObject.type === "number" && ["NaN", "-Infinity", "Infinity", "-0"].includes(remoteObject.description);
|
|
111
118
|
return isUnserializable ? js.parseUnserializableValue(remoteObject.description) : value;
|
|
112
119
|
}
|
|
113
120
|
function rewriteError(error) {
|
|
114
|
-
if (error.message.includes(
|
|
115
|
-
|
|
121
|
+
if (error.message.includes("Object has too long reference chain"))
|
|
122
|
+
throw new Error("Cannot serialize result: object reference chain is too long.");
|
|
123
|
+
if (!js.isJavaScriptErrorInEvaluate(error) && !(0, import_protocolError.isSessionClosedError)(error))
|
|
124
|
+
return new Error("Execution context was destroyed, most likely because of a navigation.");
|
|
116
125
|
return error;
|
|
117
126
|
}
|
|
118
127
|
function renderPreview(object) {
|
|
119
|
-
if (object.type ===
|
|
120
|
-
|
|
121
|
-
if (
|
|
128
|
+
if (object.type === "undefined")
|
|
129
|
+
return "undefined";
|
|
130
|
+
if ("value" in object)
|
|
131
|
+
return String(object.value);
|
|
132
|
+
if (object.description === "Object" && object.preview) {
|
|
122
133
|
const tokens = [];
|
|
123
|
-
for (const {
|
|
124
|
-
name
|
|
125
|
-
|
|
126
|
-
} of object.preview.properties) tokens.push(`${name}: ${value}`);
|
|
127
|
-
return `{${tokens.join(', ')}}`;
|
|
134
|
+
for (const { name, value } of object.preview.properties)
|
|
135
|
+
tokens.push(`${name}: ${value}`);
|
|
136
|
+
return `{${tokens.join(", ")}}`;
|
|
128
137
|
}
|
|
129
|
-
if (object.subtype ===
|
|
138
|
+
if (object.subtype === "array" && object.preview)
|
|
139
|
+
return js.sparseArrayToString(object.preview.properties);
|
|
130
140
|
return object.description;
|
|
131
141
|
}
|
|
132
142
|
function createHandle(context, remoteObject) {
|
|
133
|
-
if (remoteObject.subtype ===
|
|
134
|
-
(0,
|
|
143
|
+
if (remoteObject.subtype === "node") {
|
|
144
|
+
(0, import_assert.assert)(context instanceof dom.FrameExecutionContext);
|
|
135
145
|
return new dom.ElementHandle(context, remoteObject.objectId);
|
|
136
146
|
}
|
|
137
|
-
const isPromise = remoteObject.className ===
|
|
138
|
-
return new js.JSHandle(context, isPromise ?
|
|
139
|
-
}
|
|
147
|
+
const isPromise = remoteObject.className === "Promise";
|
|
148
|
+
return new js.JSHandle(context, isPromise ? "promise" : remoteObject.subtype || remoteObject.type, renderPreview(remoteObject), remoteObject.objectId, potentiallyUnserializableValue(remoteObject));
|
|
149
|
+
}
|
|
150
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
151
|
+
0 && (module.exports = {
|
|
152
|
+
WKExecutionContext,
|
|
153
|
+
createHandle
|
|
154
|
+
});
|