@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,76 +1,69 @@
|
|
|
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 socksInterceptor_exports = {};
|
|
30
|
+
__export(socksInterceptor_exports, {
|
|
31
|
+
SocksInterceptor: () => SocksInterceptor
|
|
5
32
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var socks =
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
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); }
|
|
12
|
-
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; }
|
|
13
|
-
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
-
/**
|
|
15
|
-
* Copyright (c) Microsoft Corporation.
|
|
16
|
-
*
|
|
17
|
-
* Licensed under the Apache License, Version 2.0 (the 'License");
|
|
18
|
-
* you may not use this file except in compliance with the License.
|
|
19
|
-
* You may obtain a copy of the License at
|
|
20
|
-
*
|
|
21
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
22
|
-
*
|
|
23
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
24
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
25
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
26
|
-
* See the License for the specific language governing permissions and
|
|
27
|
-
* limitations under the License.
|
|
28
|
-
*/
|
|
29
|
-
|
|
33
|
+
module.exports = __toCommonJS(socksInterceptor_exports);
|
|
34
|
+
var import_events = __toESM(require("events"));
|
|
35
|
+
var socks = __toESM(require("./utils/socksProxy"));
|
|
36
|
+
var import_validator = require("../protocol/validator");
|
|
37
|
+
var import_debug = require("./utils/debug");
|
|
30
38
|
class SocksInterceptor {
|
|
31
39
|
constructor(transport, pattern, redirectPortForTest) {
|
|
32
|
-
this.
|
|
33
|
-
this._channel = void 0;
|
|
34
|
-
this._socksSupportObjectGuid = void 0;
|
|
35
|
-
this._ids = new Set();
|
|
40
|
+
this._ids = /* @__PURE__ */ new Set();
|
|
36
41
|
this._handler = new socks.SocksProxyHandler(pattern, redirectPortForTest);
|
|
37
42
|
let lastId = -1;
|
|
38
|
-
this._channel = new Proxy(new
|
|
43
|
+
this._channel = new Proxy(new import_events.default(), {
|
|
39
44
|
get: (obj, prop) => {
|
|
40
|
-
if (prop in obj || obj[prop] !==
|
|
41
|
-
|
|
45
|
+
if (prop in obj || obj[prop] !== void 0 || typeof prop !== "string")
|
|
46
|
+
return obj[prop];
|
|
47
|
+
return (params) => {
|
|
42
48
|
try {
|
|
43
49
|
const id = --lastId;
|
|
44
50
|
this._ids.add(id);
|
|
45
|
-
const validator = (0,
|
|
46
|
-
params = validator(params,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
});
|
|
51
|
-
transport.send({
|
|
52
|
-
id,
|
|
53
|
-
guid: this._socksSupportObjectGuid,
|
|
54
|
-
method: prop,
|
|
55
|
-
params,
|
|
56
|
-
metadata: {
|
|
57
|
-
stack: [],
|
|
58
|
-
apiName: '',
|
|
59
|
-
internal: true
|
|
60
|
-
}
|
|
61
|
-
});
|
|
62
|
-
} catch (e) {}
|
|
51
|
+
const validator = (0, import_validator.findValidator)("SocksSupport", prop, "Params");
|
|
52
|
+
params = validator(params, "", { tChannelImpl: tChannelForSocks, binary: "toBase64", isUnderTest: import_debug.isUnderTest });
|
|
53
|
+
transport.send({ id, guid: this._socksSupportObjectGuid, method: prop, params, metadata: { stack: [], apiName: "", internal: true } });
|
|
54
|
+
} catch (e) {
|
|
55
|
+
}
|
|
63
56
|
};
|
|
64
57
|
}
|
|
65
58
|
});
|
|
66
|
-
this._handler.on(socks.SocksProxyHandler.Events.SocksConnected, payload => this._channel.socksConnected(payload));
|
|
67
|
-
this._handler.on(socks.SocksProxyHandler.Events.SocksData, payload => this._channel.socksData(payload));
|
|
68
|
-
this._handler.on(socks.SocksProxyHandler.Events.SocksError, payload => this._channel.socksError(payload));
|
|
69
|
-
this._handler.on(socks.SocksProxyHandler.Events.SocksFailed, payload => this._channel.socksFailed(payload));
|
|
70
|
-
this._handler.on(socks.SocksProxyHandler.Events.SocksEnd, payload => this._channel.socksEnd(payload));
|
|
71
|
-
this._channel.on(
|
|
72
|
-
this._channel.on(
|
|
73
|
-
this._channel.on(
|
|
59
|
+
this._handler.on(socks.SocksProxyHandler.Events.SocksConnected, (payload) => this._channel.socksConnected(payload));
|
|
60
|
+
this._handler.on(socks.SocksProxyHandler.Events.SocksData, (payload) => this._channel.socksData(payload));
|
|
61
|
+
this._handler.on(socks.SocksProxyHandler.Events.SocksError, (payload) => this._channel.socksError(payload));
|
|
62
|
+
this._handler.on(socks.SocksProxyHandler.Events.SocksFailed, (payload) => this._channel.socksFailed(payload));
|
|
63
|
+
this._handler.on(socks.SocksProxyHandler.Events.SocksEnd, (payload) => this._channel.socksEnd(payload));
|
|
64
|
+
this._channel.on("socksRequested", (payload) => this._handler.socketRequested(payload));
|
|
65
|
+
this._channel.on("socksClosed", (payload) => this._handler.socketClosed(payload));
|
|
66
|
+
this._channel.on("socksData", (payload) => this._handler.sendSocketData(payload));
|
|
74
67
|
}
|
|
75
68
|
cleanup() {
|
|
76
69
|
this._handler.cleanup();
|
|
@@ -80,24 +73,23 @@ class SocksInterceptor {
|
|
|
80
73
|
this._ids.delete(message.id);
|
|
81
74
|
return true;
|
|
82
75
|
}
|
|
83
|
-
if (message.method ===
|
|
76
|
+
if (message.method === "__create__" && message.params.type === "SocksSupport") {
|
|
84
77
|
this._socksSupportObjectGuid = message.params.guid;
|
|
85
78
|
return false;
|
|
86
79
|
}
|
|
87
80
|
if (this._socksSupportObjectGuid && message.guid === this._socksSupportObjectGuid) {
|
|
88
|
-
const validator = (0,
|
|
89
|
-
const params = validator(message.params,
|
|
90
|
-
tChannelImpl: tChannelForSocks,
|
|
91
|
-
binary: 'fromBase64',
|
|
92
|
-
isUnderTest: _debug.isUnderTest
|
|
93
|
-
});
|
|
81
|
+
const validator = (0, import_validator.findValidator)("SocksSupport", message.method, "Event");
|
|
82
|
+
const params = validator(message.params, "", { tChannelImpl: tChannelForSocks, binary: "fromBase64", isUnderTest: import_debug.isUnderTest });
|
|
94
83
|
this._channel.emit(message.method, params);
|
|
95
84
|
return true;
|
|
96
85
|
}
|
|
97
86
|
return false;
|
|
98
87
|
}
|
|
99
88
|
}
|
|
100
|
-
exports.SocksInterceptor = SocksInterceptor;
|
|
101
89
|
function tChannelForSocks(names, arg, path, context) {
|
|
102
|
-
throw new
|
|
103
|
-
}
|
|
90
|
+
throw new import_validator.ValidationError(`${path}: channels are not expected in SocksSupport`);
|
|
91
|
+
}
|
|
92
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
93
|
+
0 && (module.exports = {
|
|
94
|
+
SocksInterceptor
|
|
95
|
+
});
|
|
@@ -1,96 +1,86 @@
|
|
|
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 snapshotter_exports = {};
|
|
20
|
+
__export(snapshotter_exports, {
|
|
21
|
+
Snapshotter: () => Snapshotter
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
/**
|
|
16
|
-
* Copyright (c) Microsoft Corporation.
|
|
17
|
-
*
|
|
18
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
19
|
-
* you may not use this file except in compliance with the License.
|
|
20
|
-
* You may obtain a copy of the License at
|
|
21
|
-
*
|
|
22
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
23
|
-
*
|
|
24
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
25
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
26
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
27
|
-
* See the License for the specific language governing permissions and
|
|
28
|
-
* limitations under the License.
|
|
29
|
-
*/
|
|
30
|
-
|
|
23
|
+
module.exports = __toCommonJS(snapshotter_exports);
|
|
24
|
+
var import_snapshotterInjected = require("./snapshotterInjected");
|
|
25
|
+
var import_time = require("../../../utils/isomorphic/time");
|
|
26
|
+
var import_crypto = require("../../utils/crypto");
|
|
27
|
+
var import_debugLogger = require("../../utils/debugLogger");
|
|
28
|
+
var import_eventsHelper = require("../../utils/eventsHelper");
|
|
29
|
+
var import_utilsBundle = require("../../../utilsBundle");
|
|
30
|
+
var import_browserContext = require("../../browserContext");
|
|
31
|
+
var import_page = require("../../page");
|
|
31
32
|
class Snapshotter {
|
|
32
33
|
constructor(context, delegate) {
|
|
33
|
-
this._context = void 0;
|
|
34
|
-
this._delegate = void 0;
|
|
35
34
|
this._eventListeners = [];
|
|
36
|
-
this._snapshotStreamer = void 0;
|
|
37
|
-
this._initialized = false;
|
|
38
35
|
this._started = false;
|
|
39
36
|
this._context = context;
|
|
40
37
|
this._delegate = delegate;
|
|
41
|
-
const guid = (0,
|
|
42
|
-
this._snapshotStreamer =
|
|
38
|
+
const guid = (0, import_crypto.createGuid)();
|
|
39
|
+
this._snapshotStreamer = "__playwright_snapshot_streamer_" + guid;
|
|
43
40
|
}
|
|
44
41
|
started() {
|
|
45
42
|
return this._started;
|
|
46
43
|
}
|
|
47
44
|
async start() {
|
|
48
45
|
this._started = true;
|
|
49
|
-
if (!this.
|
|
50
|
-
this._initialized = true;
|
|
46
|
+
if (!this._initScript)
|
|
51
47
|
await this._initialize();
|
|
52
|
-
}
|
|
53
48
|
await this.reset();
|
|
54
49
|
}
|
|
55
50
|
async reset() {
|
|
56
|
-
if (this._started)
|
|
51
|
+
if (this._started)
|
|
52
|
+
await this._context.safeNonStallingEvaluateInAllFrames(`window["${this._snapshotStreamer}"].reset()`, "main");
|
|
57
53
|
}
|
|
58
|
-
|
|
54
|
+
stop() {
|
|
59
55
|
this._started = false;
|
|
60
56
|
}
|
|
61
|
-
resetForReuse() {
|
|
62
|
-
|
|
63
|
-
|
|
57
|
+
async resetForReuse() {
|
|
58
|
+
if (this._initScript) {
|
|
59
|
+
import_eventsHelper.eventsHelper.removeEventListeners(this._eventListeners);
|
|
60
|
+
await this._context.removeInitScripts([this._initScript]);
|
|
61
|
+
this._initScript = void 0;
|
|
62
|
+
}
|
|
64
63
|
}
|
|
65
64
|
async _initialize() {
|
|
66
|
-
for (const page of this._context.pages())
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
await this.
|
|
74
|
-
|
|
75
|
-
async _runInAllFrames(expression) {
|
|
76
|
-
const frames = [];
|
|
77
|
-
for (const page of this._context.pages()) frames.push(...page.frames());
|
|
78
|
-
await Promise.all(frames.map(frame => {
|
|
79
|
-
return frame.nonStallingRawEvaluateInExistingMainContext(expression).catch(e => _debugLogger.debugLogger.log('error', e));
|
|
80
|
-
}));
|
|
65
|
+
for (const page of this._context.pages())
|
|
66
|
+
this._onPage(page);
|
|
67
|
+
this._eventListeners = [
|
|
68
|
+
import_eventsHelper.eventsHelper.addEventListener(this._context, import_browserContext.BrowserContext.Events.Page, this._onPage.bind(this))
|
|
69
|
+
];
|
|
70
|
+
const { javaScriptEnabled } = this._context._options;
|
|
71
|
+
const initScriptSource = `(${import_snapshotterInjected.frameSnapshotStreamer})("${this._snapshotStreamer}", ${javaScriptEnabled || javaScriptEnabled === void 0})`;
|
|
72
|
+
this._initScript = await this._context.addInitScript(void 0, initScriptSource);
|
|
73
|
+
await this._context.safeNonStallingEvaluateInAllFrames(initScriptSource, "main");
|
|
81
74
|
}
|
|
82
75
|
dispose() {
|
|
83
|
-
|
|
76
|
+
import_eventsHelper.eventsHelper.removeEventListeners(this._eventListeners);
|
|
84
77
|
}
|
|
85
78
|
async captureSnapshot(page, callId, snapshotName) {
|
|
86
|
-
// Prepare expression synchronously.
|
|
87
79
|
const expression = `window["${this._snapshotStreamer}"].captureSnapshot(${JSON.stringify(snapshotName)})`;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
// Something went wrong -> bail out, our snapshots are best-efforty.
|
|
93
|
-
if (!data || !this._started) return;
|
|
80
|
+
const snapshots = page.frames().map(async (frame) => {
|
|
81
|
+
const data = await frame.nonStallingRawEvaluateInExistingMainContext(expression).catch((e) => import_debugLogger.debugLogger.log("error", e));
|
|
82
|
+
if (!data || !this._started)
|
|
83
|
+
return;
|
|
94
84
|
const snapshot = {
|
|
95
85
|
callId,
|
|
96
86
|
snapshotName,
|
|
@@ -100,33 +90,20 @@ class Snapshotter {
|
|
|
100
90
|
doctype: data.doctype,
|
|
101
91
|
html: data.html,
|
|
102
92
|
viewport: data.viewport,
|
|
103
|
-
timestamp: (0,
|
|
93
|
+
timestamp: (0, import_time.monotonicTime)(),
|
|
104
94
|
wallTime: data.wallTime,
|
|
105
95
|
collectionTime: data.collectionTime,
|
|
106
96
|
resourceOverrides: [],
|
|
107
97
|
isMainFrame: page.mainFrame() === frame
|
|
108
98
|
};
|
|
109
|
-
for (const {
|
|
110
|
-
|
|
111
|
-
content,
|
|
112
|
-
contentType
|
|
113
|
-
} of data.resourceOverrides) {
|
|
114
|
-
if (typeof content === 'string') {
|
|
99
|
+
for (const { url, content, contentType } of data.resourceOverrides) {
|
|
100
|
+
if (typeof content === "string") {
|
|
115
101
|
const buffer = Buffer.from(content);
|
|
116
|
-
const sha1 = (0,
|
|
117
|
-
this._delegate.onSnapshotterBlob({
|
|
118
|
-
|
|
119
|
-
buffer
|
|
120
|
-
});
|
|
121
|
-
snapshot.resourceOverrides.push({
|
|
122
|
-
url,
|
|
123
|
-
sha1
|
|
124
|
-
});
|
|
102
|
+
const sha1 = (0, import_crypto.calculateSha1)(buffer) + "." + (import_utilsBundle.mime.getExtension(contentType) || "dat");
|
|
103
|
+
this._delegate.onSnapshotterBlob({ sha1, buffer });
|
|
104
|
+
snapshot.resourceOverrides.push({ url, sha1 });
|
|
125
105
|
} else {
|
|
126
|
-
snapshot.resourceOverrides.push({
|
|
127
|
-
url,
|
|
128
|
-
ref: content
|
|
129
|
-
});
|
|
106
|
+
snapshot.resourceOverrides.push({ url, ref: content });
|
|
130
107
|
}
|
|
131
108
|
}
|
|
132
109
|
this._delegate.onFrameSnapshot(snapshot);
|
|
@@ -134,29 +111,26 @@ class Snapshotter {
|
|
|
134
111
|
await Promise.all(snapshots);
|
|
135
112
|
}
|
|
136
113
|
_onPage(page) {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
this._eventListeners.push(
|
|
114
|
+
for (const frame of page.frames())
|
|
115
|
+
this._annotateFrameHierarchy(frame);
|
|
116
|
+
this._eventListeners.push(import_eventsHelper.eventsHelper.addEventListener(page, import_page.Page.Events.FrameAttached, (frame) => this._annotateFrameHierarchy(frame)));
|
|
140
117
|
}
|
|
141
118
|
async _annotateFrameHierarchy(frame) {
|
|
142
119
|
try {
|
|
143
120
|
const frameElement = await frame.frameElement();
|
|
144
121
|
const parent = frame.parentFrame();
|
|
145
|
-
if (!parent)
|
|
122
|
+
if (!parent)
|
|
123
|
+
return;
|
|
146
124
|
const context = await parent._mainContext();
|
|
147
|
-
await (
|
|
148
|
-
snapshotStreamer,
|
|
149
|
-
|
|
150
|
-
frameId
|
|
151
|
-
}) => {
|
|
152
|
-
window[snapshotStreamer].markIframe(frameElement, frameId);
|
|
153
|
-
}, {
|
|
154
|
-
snapshotStreamer: this._snapshotStreamer,
|
|
155
|
-
frameElement,
|
|
156
|
-
frameId: frame.guid
|
|
157
|
-
}));
|
|
125
|
+
await context?.evaluate(({ snapshotStreamer, frameElement: frameElement2, frameId }) => {
|
|
126
|
+
window[snapshotStreamer].markIframe(frameElement2, frameId);
|
|
127
|
+
}, { snapshotStreamer: this._snapshotStreamer, frameElement, frameId: frame.guid });
|
|
158
128
|
frameElement.dispose();
|
|
159
|
-
} catch (e) {
|
|
129
|
+
} catch (e) {
|
|
130
|
+
}
|
|
160
131
|
}
|
|
161
132
|
}
|
|
162
|
-
|
|
133
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
134
|
+
0 && (module.exports = {
|
|
135
|
+
Snapshotter
|
|
136
|
+
});
|