@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,111 +1,92 @@
|
|
|
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 ffConnection_exports = {};
|
|
20
|
+
__export(ffConnection_exports, {
|
|
21
|
+
ConnectionEvents: () => ConnectionEvents,
|
|
22
|
+
FFConnection: () => FFConnection,
|
|
23
|
+
FFSession: () => FFSession,
|
|
24
|
+
kBrowserCloseMessageId: () => kBrowserCloseMessageId
|
|
5
25
|
});
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
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
|
-
|
|
28
|
-
const ConnectionEvents = exports.ConnectionEvents = {
|
|
29
|
-
Disconnected: Symbol('Disconnected')
|
|
26
|
+
module.exports = __toCommonJS(ffConnection_exports);
|
|
27
|
+
var import_events = require("events");
|
|
28
|
+
var import_debugLogger = require("../utils/debugLogger");
|
|
29
|
+
var import_helper = require("../helper");
|
|
30
|
+
var import_protocolError = require("../protocolError");
|
|
31
|
+
const ConnectionEvents = {
|
|
32
|
+
Disconnected: Symbol("Disconnected")
|
|
30
33
|
};
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
// should ignore.
|
|
34
|
-
const kBrowserCloseMessageId = exports.kBrowserCloseMessageId = -9999;
|
|
35
|
-
class FFConnection extends _events.EventEmitter {
|
|
34
|
+
const kBrowserCloseMessageId = -9999;
|
|
35
|
+
class FFConnection extends import_events.EventEmitter {
|
|
36
36
|
constructor(transport, protocolLogger, browserLogsCollector) {
|
|
37
37
|
super();
|
|
38
|
-
this._lastId = void 0;
|
|
39
|
-
this._transport = void 0;
|
|
40
|
-
this._protocolLogger = void 0;
|
|
41
|
-
this._browserLogsCollector = void 0;
|
|
42
|
-
this._browserDisconnectedLogs = void 0;
|
|
43
|
-
this.rootSession = void 0;
|
|
44
|
-
this._sessions = void 0;
|
|
45
|
-
this._closed = void 0;
|
|
46
38
|
this.setMaxListeners(0);
|
|
47
39
|
this._transport = transport;
|
|
48
40
|
this._protocolLogger = protocolLogger;
|
|
49
41
|
this._browserLogsCollector = browserLogsCollector;
|
|
50
42
|
this._lastId = 0;
|
|
51
|
-
this._sessions = new Map();
|
|
43
|
+
this._sessions = /* @__PURE__ */ new Map();
|
|
52
44
|
this._closed = false;
|
|
53
|
-
this.rootSession = new FFSession(this,
|
|
54
|
-
this._sessions.set(
|
|
45
|
+
this.rootSession = new FFSession(this, "", (message) => this._rawSend(message));
|
|
46
|
+
this._sessions.set("", this.rootSession);
|
|
55
47
|
this._transport.onmessage = this._onMessage.bind(this);
|
|
56
|
-
// onclose should be set last, since it can be immediately called.
|
|
57
48
|
this._transport.onclose = this._onClose.bind(this);
|
|
58
49
|
}
|
|
59
50
|
nextMessageId() {
|
|
60
51
|
return ++this._lastId;
|
|
61
52
|
}
|
|
62
53
|
_rawSend(message) {
|
|
63
|
-
this._protocolLogger(
|
|
54
|
+
this._protocolLogger("send", message);
|
|
64
55
|
this._transport.send(message);
|
|
65
56
|
}
|
|
66
57
|
async _onMessage(message) {
|
|
67
|
-
this._protocolLogger(
|
|
68
|
-
if (message.id === kBrowserCloseMessageId)
|
|
69
|
-
|
|
70
|
-
|
|
58
|
+
this._protocolLogger("receive", message);
|
|
59
|
+
if (message.id === kBrowserCloseMessageId)
|
|
60
|
+
return;
|
|
61
|
+
const session = this._sessions.get(message.sessionId || "");
|
|
62
|
+
if (session)
|
|
63
|
+
session.dispatchMessage(message);
|
|
71
64
|
}
|
|
72
65
|
_onClose(reason) {
|
|
73
66
|
this._closed = true;
|
|
74
|
-
this._transport.onmessage =
|
|
75
|
-
this._transport.onclose =
|
|
76
|
-
this._browserDisconnectedLogs =
|
|
67
|
+
this._transport.onmessage = void 0;
|
|
68
|
+
this._transport.onclose = void 0;
|
|
69
|
+
this._browserDisconnectedLogs = import_helper.helper.formatBrowserLogs(this._browserLogsCollector.recentLogs(), reason);
|
|
77
70
|
this.rootSession.dispose();
|
|
78
71
|
Promise.resolve().then(() => this.emit(ConnectionEvents.Disconnected));
|
|
79
72
|
}
|
|
80
73
|
close() {
|
|
81
|
-
if (!this._closed)
|
|
74
|
+
if (!this._closed)
|
|
75
|
+
this._transport.close();
|
|
82
76
|
}
|
|
83
77
|
createSession(sessionId) {
|
|
84
|
-
const session = new FFSession(this, sessionId, message => this._rawSend({
|
|
85
|
-
...message,
|
|
86
|
-
sessionId
|
|
87
|
-
}));
|
|
78
|
+
const session = new FFSession(this, sessionId, (message) => this._rawSend({ ...message, sessionId }));
|
|
88
79
|
this._sessions.set(sessionId, session);
|
|
89
80
|
return session;
|
|
90
81
|
}
|
|
91
82
|
}
|
|
92
|
-
|
|
93
|
-
class FFSession extends _events.EventEmitter {
|
|
83
|
+
class FFSession extends import_events.EventEmitter {
|
|
94
84
|
constructor(connection, sessionId, rawSend) {
|
|
95
85
|
super();
|
|
96
|
-
this._connection = void 0;
|
|
97
86
|
this._disposed = false;
|
|
98
|
-
this._callbacks = void 0;
|
|
99
|
-
this._sessionId = void 0;
|
|
100
|
-
this._rawSend = void 0;
|
|
101
87
|
this._crashed = false;
|
|
102
|
-
this.on = void 0;
|
|
103
|
-
this.addListener = void 0;
|
|
104
|
-
this.off = void 0;
|
|
105
|
-
this.removeListener = void 0;
|
|
106
|
-
this.once = void 0;
|
|
107
88
|
this.setMaxListeners(0);
|
|
108
|
-
this._callbacks = new Map();
|
|
89
|
+
this._callbacks = /* @__PURE__ */ new Map();
|
|
109
90
|
this._connection = connection;
|
|
110
91
|
this._sessionId = sessionId;
|
|
111
92
|
this._rawSend = rawSend;
|
|
@@ -119,28 +100,20 @@ class FFSession extends _events.EventEmitter {
|
|
|
119
100
|
this._crashed = true;
|
|
120
101
|
}
|
|
121
102
|
async send(method, params) {
|
|
122
|
-
if (this._crashed || this._disposed || this._connection._closed || this._connection._browserDisconnectedLogs)
|
|
103
|
+
if (this._crashed || this._disposed || this._connection._closed || this._connection._browserDisconnectedLogs)
|
|
104
|
+
throw new import_protocolError.ProtocolError(this._crashed ? "crashed" : "closed", void 0, this._connection._browserDisconnectedLogs);
|
|
123
105
|
const id = this._connection.nextMessageId();
|
|
124
|
-
this._rawSend({
|
|
125
|
-
method,
|
|
126
|
-
params,
|
|
127
|
-
id
|
|
128
|
-
});
|
|
106
|
+
this._rawSend({ method, params, id });
|
|
129
107
|
return new Promise((resolve, reject) => {
|
|
130
|
-
this._callbacks.set(id, {
|
|
131
|
-
resolve,
|
|
132
|
-
reject,
|
|
133
|
-
error: new _protocolError.ProtocolError('error', method)
|
|
134
|
-
});
|
|
108
|
+
this._callbacks.set(id, { resolve, reject, error: new import_protocolError.ProtocolError("error", method) });
|
|
135
109
|
});
|
|
136
110
|
}
|
|
137
111
|
sendMayFail(method, params) {
|
|
138
|
-
return this.send(method, params).catch(error =>
|
|
112
|
+
return this.send(method, params).catch((error) => import_debugLogger.debugLogger.log("error", error));
|
|
139
113
|
}
|
|
140
114
|
dispatchMessage(object) {
|
|
141
115
|
if (object.id) {
|
|
142
116
|
const callback = this._callbacks.get(object.id);
|
|
143
|
-
// Callbacks could be all rejected if someone has called `.dispose()`.
|
|
144
117
|
if (callback) {
|
|
145
118
|
this._callbacks.delete(object.id);
|
|
146
119
|
if (object.error) {
|
|
@@ -158,11 +131,17 @@ class FFSession extends _events.EventEmitter {
|
|
|
158
131
|
this._disposed = true;
|
|
159
132
|
this._connection._sessions.delete(this._sessionId);
|
|
160
133
|
for (const callback of this._callbacks.values()) {
|
|
161
|
-
callback.error.type = this._crashed ?
|
|
134
|
+
callback.error.type = this._crashed ? "crashed" : "closed";
|
|
162
135
|
callback.error.logs = this._connection._browserDisconnectedLogs;
|
|
163
136
|
callback.reject(callback.error);
|
|
164
137
|
}
|
|
165
138
|
this._callbacks.clear();
|
|
166
139
|
}
|
|
167
140
|
}
|
|
168
|
-
|
|
141
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
142
|
+
0 && (module.exports = {
|
|
143
|
+
ConnectionEvents,
|
|
144
|
+
FFConnection,
|
|
145
|
+
FFSession,
|
|
146
|
+
kBrowserCloseMessageId
|
|
147
|
+
});
|
|
@@ -1,44 +1,50 @@
|
|
|
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 ffExecutionContext_exports = {};
|
|
30
|
+
__export(ffExecutionContext_exports, {
|
|
31
|
+
FFExecutionContext: () => FFExecutionContext,
|
|
32
|
+
createHandle: () => createHandle
|
|
5
33
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var _protocolError = require("../protocolError");
|
|
14
|
-
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); }
|
|
15
|
-
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; }
|
|
16
|
-
/**
|
|
17
|
-
* Copyright 2019 Google Inc. All rights reserved.
|
|
18
|
-
* Modifications copyright (c) Microsoft Corporation.
|
|
19
|
-
*
|
|
20
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
21
|
-
* you may not use this file except in compliance with the License.
|
|
22
|
-
* You may obtain a copy of the License at
|
|
23
|
-
*
|
|
24
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
25
|
-
*
|
|
26
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
27
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
28
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
29
|
-
* See the License for the specific language governing permissions and
|
|
30
|
-
* limitations under the License.
|
|
31
|
-
*/
|
|
32
|
-
|
|
34
|
+
module.exports = __toCommonJS(ffExecutionContext_exports);
|
|
35
|
+
var import_assert = require("../../utils/isomorphic/assert");
|
|
36
|
+
var import_stackTrace = require("../../utils/isomorphic/stackTrace");
|
|
37
|
+
var import_utilityScriptSerializers = require("../../utils/isomorphic/utilityScriptSerializers");
|
|
38
|
+
var js = __toESM(require("../javascript"));
|
|
39
|
+
var dom = __toESM(require("../dom"));
|
|
40
|
+
var import_protocolError = require("../protocolError");
|
|
33
41
|
class FFExecutionContext {
|
|
34
42
|
constructor(session, executionContextId) {
|
|
35
|
-
this._session = void 0;
|
|
36
|
-
this._executionContextId = void 0;
|
|
37
43
|
this._session = session;
|
|
38
44
|
this._executionContextId = executionContextId;
|
|
39
45
|
}
|
|
40
46
|
async rawEvaluateJSON(expression) {
|
|
41
|
-
const payload = await this._session.send(
|
|
47
|
+
const payload = await this._session.send("Runtime.evaluate", {
|
|
42
48
|
expression,
|
|
43
49
|
returnByValue: true,
|
|
44
50
|
executionContextId: this._executionContextId
|
|
@@ -47,7 +53,7 @@ class FFExecutionContext {
|
|
|
47
53
|
return payload.result.value;
|
|
48
54
|
}
|
|
49
55
|
async rawEvaluateHandle(context, expression) {
|
|
50
|
-
const payload = await this._session.send(
|
|
56
|
+
const payload = await this._session.send("Runtime.evaluate", {
|
|
51
57
|
expression,
|
|
52
58
|
returnByValue: false,
|
|
53
59
|
executionContextId: this._executionContextId
|
|
@@ -56,55 +62,55 @@ class FFExecutionContext {
|
|
|
56
62
|
return createHandle(context, payload.result);
|
|
57
63
|
}
|
|
58
64
|
async evaluateWithArguments(expression, returnByValue, utilityScript, values, handles) {
|
|
59
|
-
const payload = await this._session.send(
|
|
65
|
+
const payload = await this._session.send("Runtime.callFunction", {
|
|
60
66
|
functionDeclaration: expression,
|
|
61
|
-
args: [
|
|
62
|
-
objectId: utilityScript._objectId,
|
|
63
|
-
value
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
})), ...handles.map(handle => ({
|
|
67
|
-
objectId: handle._objectId,
|
|
68
|
-
value: undefined
|
|
69
|
-
}))],
|
|
67
|
+
args: [
|
|
68
|
+
{ objectId: utilityScript._objectId, value: void 0 },
|
|
69
|
+
...values.map((value) => ({ value })),
|
|
70
|
+
...handles.map((handle) => ({ objectId: handle._objectId, value: void 0 }))
|
|
71
|
+
],
|
|
70
72
|
returnByValue,
|
|
71
73
|
executionContextId: this._executionContextId
|
|
72
74
|
}).catch(rewriteError);
|
|
73
75
|
checkException(payload.exceptionDetails);
|
|
74
|
-
if (returnByValue)
|
|
76
|
+
if (returnByValue)
|
|
77
|
+
return (0, import_utilityScriptSerializers.parseEvaluationResultValue)(payload.result.value);
|
|
75
78
|
return createHandle(utilityScript._context, payload.result);
|
|
76
79
|
}
|
|
77
80
|
async getProperties(object) {
|
|
78
|
-
const response = await this._session.send(
|
|
81
|
+
const response = await this._session.send("Runtime.getObjectProperties", {
|
|
79
82
|
executionContextId: this._executionContextId,
|
|
80
83
|
objectId: object._objectId
|
|
81
84
|
});
|
|
82
|
-
const result = new Map();
|
|
83
|
-
for (const property of response.properties)
|
|
85
|
+
const result = /* @__PURE__ */ new Map();
|
|
86
|
+
for (const property of response.properties)
|
|
87
|
+
result.set(property.name, createHandle(object._context, property.value));
|
|
84
88
|
return result;
|
|
85
89
|
}
|
|
86
90
|
async releaseHandle(handle) {
|
|
87
|
-
if (!handle._objectId)
|
|
88
|
-
|
|
91
|
+
if (!handle._objectId)
|
|
92
|
+
return;
|
|
93
|
+
await this._session.send("Runtime.disposeObject", {
|
|
89
94
|
executionContextId: this._executionContextId,
|
|
90
95
|
objectId: handle._objectId
|
|
91
96
|
});
|
|
92
97
|
}
|
|
93
98
|
}
|
|
94
|
-
exports.FFExecutionContext = FFExecutionContext;
|
|
95
99
|
function checkException(exceptionDetails) {
|
|
96
|
-
if (!exceptionDetails)
|
|
97
|
-
|
|
100
|
+
if (!exceptionDetails)
|
|
101
|
+
return;
|
|
102
|
+
if (exceptionDetails.value)
|
|
103
|
+
throw new js.JavaScriptErrorInEvaluate(JSON.stringify(exceptionDetails.value));
|
|
104
|
+
else
|
|
105
|
+
throw new js.JavaScriptErrorInEvaluate(exceptionDetails.text + (exceptionDetails.stack ? "\n" + exceptionDetails.stack : ""));
|
|
98
106
|
}
|
|
99
107
|
function rewriteError(error) {
|
|
100
|
-
if (error.message.includes(
|
|
101
|
-
result: {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
if (error instanceof TypeError && error.message.startsWith('Converting circular structure to JSON')) (0, _stackTrace.rewriteErrorMessage)(error, error.message + ' Are you passing a nested JSHandle?');
|
|
107
|
-
if (!js.isJavaScriptErrorInEvaluate(error) && !(0, _protocolError.isSessionClosedError)(error)) throw new Error('Execution context was destroyed, most likely because of a navigation.');
|
|
108
|
+
if (error.message.includes("cyclic object value") || error.message.includes("Object is not serializable"))
|
|
109
|
+
return { result: { type: "undefined", value: void 0 } };
|
|
110
|
+
if (error instanceof TypeError && error.message.startsWith("Converting circular structure to JSON"))
|
|
111
|
+
(0, import_stackTrace.rewriteErrorMessage)(error, error.message + " Are you passing a nested JSHandle?");
|
|
112
|
+
if (!js.isJavaScriptErrorInEvaluate(error) && !(0, import_protocolError.isSessionClosedError)(error))
|
|
113
|
+
throw new Error("Execution context was destroyed, most likely because of a navigation.");
|
|
108
114
|
throw error;
|
|
109
115
|
}
|
|
110
116
|
function potentiallyUnserializableValue(remoteObject) {
|
|
@@ -113,19 +119,32 @@ function potentiallyUnserializableValue(remoteObject) {
|
|
|
113
119
|
return unserializableValue ? js.parseUnserializableValue(unserializableValue) : value;
|
|
114
120
|
}
|
|
115
121
|
function renderPreview(object) {
|
|
116
|
-
if (object.type ===
|
|
117
|
-
|
|
118
|
-
if (object.
|
|
119
|
-
|
|
120
|
-
if (object.
|
|
121
|
-
|
|
122
|
-
if (object.subtype
|
|
123
|
-
|
|
122
|
+
if (object.type === "undefined")
|
|
123
|
+
return "undefined";
|
|
124
|
+
if (object.unserializableValue)
|
|
125
|
+
return String(object.unserializableValue);
|
|
126
|
+
if (object.type === "symbol")
|
|
127
|
+
return "Symbol()";
|
|
128
|
+
if (object.subtype === "regexp")
|
|
129
|
+
return "RegExp";
|
|
130
|
+
if (object.subtype === "weakmap")
|
|
131
|
+
return "WeakMap";
|
|
132
|
+
if (object.subtype === "weakset")
|
|
133
|
+
return "WeakSet";
|
|
134
|
+
if (object.subtype)
|
|
135
|
+
return object.subtype[0].toUpperCase() + object.subtype.slice(1);
|
|
136
|
+
if ("value" in object)
|
|
137
|
+
return String(object.value);
|
|
124
138
|
}
|
|
125
139
|
function createHandle(context, remoteObject) {
|
|
126
|
-
if (remoteObject.subtype ===
|
|
127
|
-
(0,
|
|
140
|
+
if (remoteObject.subtype === "node") {
|
|
141
|
+
(0, import_assert.assert)(context instanceof dom.FrameExecutionContext);
|
|
128
142
|
return new dom.ElementHandle(context, remoteObject.objectId);
|
|
129
143
|
}
|
|
130
|
-
return new js.JSHandle(context, remoteObject.subtype || remoteObject.type ||
|
|
131
|
-
}
|
|
144
|
+
return new js.JSHandle(context, remoteObject.subtype || remoteObject.type || "", renderPreview(remoteObject), remoteObject.objectId, potentiallyUnserializableValue(remoteObject));
|
|
145
|
+
}
|
|
146
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
147
|
+
0 && (module.exports = {
|
|
148
|
+
FFExecutionContext,
|
|
149
|
+
createHandle
|
|
150
|
+
});
|