@checkly/playwright-core 1.51.17-beta.2 → 1.54.2-beta.1
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 +89 -112
- 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,160 +1,148 @@
|
|
|
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 browserType_exports = {};
|
|
20
|
+
__export(browserType_exports, {
|
|
21
|
+
BrowserType: () => BrowserType
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
33
|
-
// This is here just for api generation and checking.
|
|
34
|
-
|
|
35
|
-
class BrowserType extends _channelOwner.ChannelOwner {
|
|
36
|
-
constructor(...args) {
|
|
37
|
-
super(...args);
|
|
38
|
-
this._serverLauncher = void 0;
|
|
39
|
-
this._contexts = new Set();
|
|
40
|
-
this._playwright = void 0;
|
|
23
|
+
module.exports = __toCommonJS(browserType_exports);
|
|
24
|
+
var import_browser = require("./browser");
|
|
25
|
+
var import_browserContext = require("./browserContext");
|
|
26
|
+
var import_channelOwner = require("./channelOwner");
|
|
27
|
+
var import_clientHelper = require("./clientHelper");
|
|
28
|
+
var import_events = require("./events");
|
|
29
|
+
var import_assert = require("../utils/isomorphic/assert");
|
|
30
|
+
var import_headers = require("../utils/isomorphic/headers");
|
|
31
|
+
var import_time = require("../utils/isomorphic/time");
|
|
32
|
+
var import_timeoutRunner = require("../utils/isomorphic/timeoutRunner");
|
|
33
|
+
var import_webSocket = require("./webSocket");
|
|
34
|
+
var import_timeoutSettings = require("./timeoutSettings");
|
|
35
|
+
class BrowserType extends import_channelOwner.ChannelOwner {
|
|
36
|
+
constructor() {
|
|
37
|
+
super(...arguments);
|
|
38
|
+
this._contexts = /* @__PURE__ */ new Set();
|
|
41
39
|
}
|
|
42
40
|
static from(browserType) {
|
|
43
41
|
return browserType._object;
|
|
44
42
|
}
|
|
45
43
|
executablePath() {
|
|
46
|
-
if (!this._initializer.executablePath)
|
|
44
|
+
if (!this._initializer.executablePath)
|
|
45
|
+
throw new Error("Browser is not supported on current platform");
|
|
47
46
|
return this._initializer.executablePath;
|
|
48
47
|
}
|
|
49
48
|
name() {
|
|
50
49
|
return this._initializer.name;
|
|
51
50
|
}
|
|
52
51
|
async launch(options = {}) {
|
|
53
|
-
|
|
54
|
-
(0,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
options = {
|
|
58
|
-
...this._playwright._defaultLaunchOptions,
|
|
59
|
-
...options
|
|
60
|
-
};
|
|
52
|
+
(0, import_assert.assert)(!options.userDataDir, "userDataDir option is not supported in `browserType.launch`. Use `browserType.launchPersistentContext` instead");
|
|
53
|
+
(0, import_assert.assert)(!options.port, "Cannot specify a port without launching as a server.");
|
|
54
|
+
const logger = options.logger || this._playwright._defaultLaunchOptions?.logger;
|
|
55
|
+
options = { ...this._playwright._defaultLaunchOptions, ...options };
|
|
61
56
|
const launchOptions = {
|
|
62
57
|
...options,
|
|
63
|
-
ignoreDefaultArgs: Array.isArray(options.ignoreDefaultArgs) ? options.ignoreDefaultArgs :
|
|
58
|
+
ignoreDefaultArgs: Array.isArray(options.ignoreDefaultArgs) ? options.ignoreDefaultArgs : void 0,
|
|
64
59
|
ignoreAllDefaultArgs: !!options.ignoreDefaultArgs && !Array.isArray(options.ignoreDefaultArgs),
|
|
65
|
-
env: options.env ? (0,
|
|
60
|
+
env: options.env ? (0, import_clientHelper.envObjectToArray)(options.env) : void 0,
|
|
61
|
+
timeout: new import_timeoutSettings.TimeoutSettings(this._platform).launchTimeout(options)
|
|
66
62
|
};
|
|
67
63
|
return await this._wrapApiCall(async () => {
|
|
68
|
-
const browser =
|
|
69
|
-
|
|
64
|
+
const browser = import_browser.Browser.from((await this._channel.launch(launchOptions)).browser);
|
|
65
|
+
browser._connectToBrowserType(this, options, logger);
|
|
70
66
|
return browser;
|
|
71
67
|
});
|
|
72
68
|
}
|
|
73
69
|
async launchServer(options = {}) {
|
|
74
|
-
if (!this._serverLauncher)
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
...options
|
|
78
|
-
};
|
|
70
|
+
if (!this._serverLauncher)
|
|
71
|
+
throw new Error("Launching server is not supported");
|
|
72
|
+
options = { ...this._playwright._defaultLaunchOptions, ...options };
|
|
79
73
|
return await this._serverLauncher.launchServer(options);
|
|
80
74
|
}
|
|
81
75
|
async launchPersistentContext(userDataDir, options = {}) {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
options = {
|
|
76
|
+
const logger = options.logger || this._playwright._defaultLaunchOptions?.logger;
|
|
77
|
+
(0, import_assert.assert)(!options.port, "Cannot specify a port without launching as a server.");
|
|
78
|
+
options = this._playwright.selectors._withSelectorOptions({
|
|
86
79
|
...this._playwright._defaultLaunchOptions,
|
|
87
80
|
...this._playwright._defaultContextOptions,
|
|
88
81
|
...options
|
|
89
|
-
};
|
|
90
|
-
const contextParams = await (0,
|
|
82
|
+
});
|
|
83
|
+
const contextParams = await (0, import_browserContext.prepareBrowserContextParams)(this._platform, options);
|
|
91
84
|
const persistentParams = {
|
|
92
85
|
...contextParams,
|
|
93
|
-
ignoreDefaultArgs: Array.isArray(options.ignoreDefaultArgs) ? options.ignoreDefaultArgs :
|
|
86
|
+
ignoreDefaultArgs: Array.isArray(options.ignoreDefaultArgs) ? options.ignoreDefaultArgs : void 0,
|
|
94
87
|
ignoreAllDefaultArgs: !!options.ignoreDefaultArgs && !Array.isArray(options.ignoreDefaultArgs),
|
|
95
|
-
env: options.env ? (0,
|
|
88
|
+
env: options.env ? (0, import_clientHelper.envObjectToArray)(options.env) : void 0,
|
|
96
89
|
channel: options.channel,
|
|
97
|
-
userDataDir: this._platform.path().isAbsolute(userDataDir) || !userDataDir ? userDataDir : this._platform.path().resolve(userDataDir)
|
|
90
|
+
userDataDir: this._platform.path().isAbsolute(userDataDir) || !userDataDir ? userDataDir : this._platform.path().resolve(userDataDir),
|
|
91
|
+
timeout: new import_timeoutSettings.TimeoutSettings(this._platform).launchTimeout(options)
|
|
98
92
|
};
|
|
99
93
|
return await this._wrapApiCall(async () => {
|
|
100
94
|
const result = await this._channel.launchPersistentContext(persistentParams);
|
|
101
|
-
const
|
|
102
|
-
|
|
95
|
+
const browser = import_browser.Browser.from(result.browser);
|
|
96
|
+
browser._connectToBrowserType(this, options, logger);
|
|
97
|
+
const context = import_browserContext.BrowserContext.from(result.context);
|
|
98
|
+
await context._initializeHarFromOptions(options.recordHar);
|
|
99
|
+
await this._instrumentation.runAfterCreateBrowserContext(context);
|
|
103
100
|
return context;
|
|
104
101
|
});
|
|
105
102
|
}
|
|
106
103
|
async connect(optionsOrWsEndpoint, options) {
|
|
107
|
-
if (typeof optionsOrWsEndpoint ===
|
|
108
|
-
...options,
|
|
109
|
-
|
|
110
|
-
});
|
|
111
|
-
(0, _assert.assert)(optionsOrWsEndpoint.wsEndpoint, 'options.wsEndpoint is required');
|
|
104
|
+
if (typeof optionsOrWsEndpoint === "string")
|
|
105
|
+
return await this._connect({ ...options, wsEndpoint: optionsOrWsEndpoint });
|
|
106
|
+
(0, import_assert.assert)(optionsOrWsEndpoint.wsEndpoint, "options.wsEndpoint is required");
|
|
112
107
|
return await this._connect(optionsOrWsEndpoint);
|
|
113
108
|
}
|
|
114
109
|
async _connect(params) {
|
|
115
110
|
const logger = params.logger;
|
|
116
111
|
return await this._wrapApiCall(async () => {
|
|
117
|
-
|
|
118
|
-
const
|
|
119
|
-
const headers = {
|
|
120
|
-
'x-playwright-browser': this.name(),
|
|
121
|
-
...params.headers
|
|
122
|
-
};
|
|
112
|
+
const deadline = params.timeout ? (0, import_time.monotonicTime)() + params.timeout : 0;
|
|
113
|
+
const headers = { "x-playwright-browser": this.name(), ...params.headers };
|
|
123
114
|
const connectParams = {
|
|
124
115
|
wsEndpoint: params.wsEndpoint,
|
|
125
116
|
headers,
|
|
126
|
-
exposeNetwork:
|
|
117
|
+
exposeNetwork: params.exposeNetwork ?? params._exposeNetwork,
|
|
127
118
|
slowMo: params.slowMo,
|
|
128
|
-
timeout: params.timeout
|
|
119
|
+
timeout: params.timeout || 0
|
|
129
120
|
};
|
|
130
|
-
if (params.__testHookRedirectPortForwarding)
|
|
131
|
-
|
|
121
|
+
if (params.__testHookRedirectPortForwarding)
|
|
122
|
+
connectParams.socksProxyRedirectPortForTest = params.__testHookRedirectPortForwarding;
|
|
123
|
+
const connection = await (0, import_webSocket.connectOverWebSocket)(this._connection, connectParams);
|
|
132
124
|
let browser;
|
|
133
|
-
connection.on(
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
for (const page of context.pages()) page._onClose();
|
|
125
|
+
connection.on("close", () => {
|
|
126
|
+
for (const context of browser?.contexts() || []) {
|
|
127
|
+
for (const page of context.pages())
|
|
128
|
+
page._onClose();
|
|
138
129
|
context._onClose();
|
|
139
130
|
}
|
|
140
|
-
setTimeout(() =>
|
|
141
|
-
var _browser2;
|
|
142
|
-
return (_browser2 = browser) === null || _browser2 === void 0 ? void 0 : _browser2._didClose();
|
|
143
|
-
}, 0);
|
|
131
|
+
setTimeout(() => browser?._didClose(), 0);
|
|
144
132
|
});
|
|
145
|
-
const result = await (0,
|
|
146
|
-
|
|
147
|
-
|
|
133
|
+
const result = await (0, import_timeoutRunner.raceAgainstDeadline)(async () => {
|
|
134
|
+
if (params.__testHookBeforeCreateBrowser)
|
|
135
|
+
await params.__testHookBeforeCreateBrowser();
|
|
148
136
|
const playwright = await connection.initializePlaywright();
|
|
149
137
|
if (!playwright._initializer.preLaunchedBrowser) {
|
|
150
138
|
connection.close();
|
|
151
|
-
throw new Error(
|
|
139
|
+
throw new Error("Malformed endpoint. Did you use BrowserType.launchServer method?");
|
|
152
140
|
}
|
|
153
|
-
playwright.
|
|
154
|
-
browser =
|
|
155
|
-
|
|
141
|
+
playwright.selectors = this._playwright.selectors;
|
|
142
|
+
browser = import_browser.Browser.from(playwright._initializer.preLaunchedBrowser);
|
|
143
|
+
browser._connectToBrowserType(this, {}, logger);
|
|
156
144
|
browser._shouldCloseConnectionOnClose = true;
|
|
157
|
-
browser.on(
|
|
145
|
+
browser.on(import_events.Events.Browser.Disconnected, () => connection.close());
|
|
158
146
|
return browser;
|
|
159
147
|
}, deadline);
|
|
160
148
|
if (!result.timedOut) {
|
|
@@ -166,42 +154,30 @@ class BrowserType extends _channelOwner.ChannelOwner {
|
|
|
166
154
|
});
|
|
167
155
|
}
|
|
168
156
|
async connectOverCDP(endpointURLOrOptions, options) {
|
|
169
|
-
if (typeof endpointURLOrOptions ===
|
|
170
|
-
|
|
171
|
-
|
|
157
|
+
if (typeof endpointURLOrOptions === "string")
|
|
158
|
+
return await this._connectOverCDP(endpointURLOrOptions, options);
|
|
159
|
+
const endpointURL = "endpointURL" in endpointURLOrOptions ? endpointURLOrOptions.endpointURL : endpointURLOrOptions.wsEndpoint;
|
|
160
|
+
(0, import_assert.assert)(endpointURL, "Cannot connect over CDP without wsEndpoint.");
|
|
172
161
|
return await this.connectOverCDP(endpointURL, endpointURLOrOptions);
|
|
173
162
|
}
|
|
174
163
|
async _connectOverCDP(endpointURL, params = {}) {
|
|
175
|
-
if (this.name() !==
|
|
176
|
-
|
|
164
|
+
if (this.name() !== "chromium")
|
|
165
|
+
throw new Error("Connecting over CDP is only supported in Chromium.");
|
|
166
|
+
const headers = params.headers ? (0, import_headers.headersObjectToArray)(params.headers) : void 0;
|
|
177
167
|
const result = await this._channel.connectOverCDP({
|
|
178
168
|
endpointURL,
|
|
179
169
|
headers,
|
|
180
170
|
slowMo: params.slowMo,
|
|
181
|
-
timeout:
|
|
171
|
+
timeout: new import_timeoutSettings.TimeoutSettings(this._platform).timeout(params)
|
|
182
172
|
});
|
|
183
|
-
const browser =
|
|
184
|
-
|
|
185
|
-
if (result.defaultContext)
|
|
173
|
+
const browser = import_browser.Browser.from(result.browser);
|
|
174
|
+
browser._connectToBrowserType(this, {}, params.logger);
|
|
175
|
+
if (result.defaultContext)
|
|
176
|
+
await this._instrumentation.runAfterCreateBrowserContext(import_browserContext.BrowserContext.from(result.defaultContext));
|
|
186
177
|
return browser;
|
|
187
178
|
}
|
|
188
|
-
_didLaunchBrowser(browser, browserOptions, logger) {
|
|
189
|
-
browser._browserType = this;
|
|
190
|
-
browser._options = browserOptions;
|
|
191
|
-
browser._logger = logger;
|
|
192
|
-
}
|
|
193
|
-
async _didCreateContext(context, contextOptions, browserOptions, logger) {
|
|
194
|
-
context._logger = logger;
|
|
195
|
-
context._browserType = this;
|
|
196
|
-
this._contexts.add(context);
|
|
197
|
-
context._setOptions(contextOptions, browserOptions);
|
|
198
|
-
if (this._playwright._defaultContextTimeout !== undefined) context.setDefaultTimeout(this._playwright._defaultContextTimeout);
|
|
199
|
-
if (this._playwright._defaultContextNavigationTimeout !== undefined) context.setDefaultNavigationTimeout(this._playwright._defaultContextNavigationTimeout);
|
|
200
|
-
await this._instrumentation.runAfterCreateBrowserContext(context);
|
|
201
|
-
}
|
|
202
|
-
async _willCloseContext(context) {
|
|
203
|
-
this._contexts.delete(context);
|
|
204
|
-
await this._instrumentation.runBeforeCloseBrowserContext(context);
|
|
205
|
-
}
|
|
206
179
|
}
|
|
207
|
-
|
|
180
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
181
|
+
0 && (module.exports = {
|
|
182
|
+
BrowserType
|
|
183
|
+
});
|
package/lib/client/cdpSession.js
CHANGED
|
@@ -1,36 +1,34 @@
|
|
|
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 cdpSession_exports = {};
|
|
20
|
+
__export(cdpSession_exports, {
|
|
21
|
+
CDPSession: () => CDPSession
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
|
|
9
|
-
* Copyright (c) Microsoft Corporation.
|
|
10
|
-
*
|
|
11
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
12
|
-
* you may not use this file except in compliance with the License.
|
|
13
|
-
* You may obtain a copy of the License at
|
|
14
|
-
*
|
|
15
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
16
|
-
*
|
|
17
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
18
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
19
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
|
-
* See the License for the specific language governing permissions and
|
|
21
|
-
* limitations under the License.
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
class CDPSession extends _channelOwner.ChannelOwner {
|
|
23
|
+
module.exports = __toCommonJS(cdpSession_exports);
|
|
24
|
+
var import_channelOwner = require("./channelOwner");
|
|
25
|
+
class CDPSession extends import_channelOwner.ChannelOwner {
|
|
25
26
|
static from(cdpSession) {
|
|
26
27
|
return cdpSession._object;
|
|
27
28
|
}
|
|
28
29
|
constructor(parent, type, guid, initializer) {
|
|
29
30
|
super(parent, type, guid, initializer);
|
|
30
|
-
this._channel.on(
|
|
31
|
-
method,
|
|
32
|
-
params
|
|
33
|
-
}) => {
|
|
31
|
+
this._channel.on("event", ({ method, params }) => {
|
|
34
32
|
this.emit(method, params);
|
|
35
33
|
});
|
|
36
34
|
this.on = super.on;
|
|
@@ -40,14 +38,14 @@ class CDPSession extends _channelOwner.ChannelOwner {
|
|
|
40
38
|
this.once = super.once;
|
|
41
39
|
}
|
|
42
40
|
async send(method, params) {
|
|
43
|
-
const result = await this._channel.send({
|
|
44
|
-
method,
|
|
45
|
-
params
|
|
46
|
-
});
|
|
41
|
+
const result = await this._channel.send({ method, params });
|
|
47
42
|
return result.result;
|
|
48
43
|
}
|
|
49
44
|
async detach() {
|
|
50
45
|
return await this._channel.detach();
|
|
51
46
|
}
|
|
52
47
|
}
|
|
53
|
-
|
|
48
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
49
|
+
0 && (module.exports = {
|
|
50
|
+
CDPSession
|
|
51
|
+
});
|