@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,67 +1,91 @@
|
|
|
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 bidiBrowser_exports = {};
|
|
30
|
+
__export(bidiBrowser_exports, {
|
|
31
|
+
BidiBrowser: () => BidiBrowser,
|
|
32
|
+
BidiBrowserContext: () => BidiBrowserContext,
|
|
33
|
+
Network: () => Network
|
|
5
34
|
});
|
|
6
|
-
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var network =
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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
|
-
class BidiBrowser extends _browser.Browser {
|
|
35
|
+
module.exports = __toCommonJS(bidiBrowser_exports);
|
|
36
|
+
var import_eventsHelper = require("../utils/eventsHelper");
|
|
37
|
+
var import_browser = require("../browser");
|
|
38
|
+
var import_browserContext = require("../browserContext");
|
|
39
|
+
var network = __toESM(require("../network"));
|
|
40
|
+
var import_bidiConnection = require("./bidiConnection");
|
|
41
|
+
var import_bidiNetworkManager = require("./bidiNetworkManager");
|
|
42
|
+
var import_bidiPage = require("./bidiPage");
|
|
43
|
+
var import_page = require("../page");
|
|
44
|
+
var bidi = __toESM(require("./third_party/bidiProtocol"));
|
|
45
|
+
class BidiBrowser extends import_browser.Browser {
|
|
46
|
+
constructor(parent, transport, options) {
|
|
47
|
+
super(parent, options);
|
|
48
|
+
this._contexts = /* @__PURE__ */ new Map();
|
|
49
|
+
this._bidiPages = /* @__PURE__ */ new Map();
|
|
50
|
+
this._connection = new import_bidiConnection.BidiConnection(transport, this._onDisconnect.bind(this), options.protocolLogger, options.browserLogsCollector);
|
|
51
|
+
this._browserSession = this._connection.browserSession;
|
|
52
|
+
this._eventListeners = [
|
|
53
|
+
import_eventsHelper.eventsHelper.addEventListener(this._browserSession, "browsingContext.contextCreated", this._onBrowsingContextCreated.bind(this)),
|
|
54
|
+
import_eventsHelper.eventsHelper.addEventListener(this._browserSession, "script.realmDestroyed", this._onScriptRealmDestroyed.bind(this))
|
|
55
|
+
];
|
|
56
|
+
}
|
|
34
57
|
static async connect(parent, transport, options) {
|
|
35
58
|
const browser = new BidiBrowser(parent, transport, options);
|
|
36
|
-
if (options.__testHookOnConnectToBrowser)
|
|
59
|
+
if (options.__testHookOnConnectToBrowser)
|
|
60
|
+
await options.__testHookOnConnectToBrowser();
|
|
37
61
|
let proxy;
|
|
38
62
|
if (options.proxy) {
|
|
39
63
|
proxy = {
|
|
40
|
-
proxyType:
|
|
64
|
+
proxyType: "manual"
|
|
41
65
|
};
|
|
42
|
-
const url = new URL(options.proxy.server);
|
|
66
|
+
const url = new URL(options.proxy.server);
|
|
43
67
|
switch (url.protocol) {
|
|
44
|
-
case
|
|
68
|
+
case "http:":
|
|
45
69
|
proxy.httpProxy = url.host;
|
|
46
70
|
break;
|
|
47
|
-
case
|
|
71
|
+
case "https:":
|
|
48
72
|
proxy.httpsProxy = url.host;
|
|
49
73
|
break;
|
|
50
|
-
case
|
|
74
|
+
case "socks4:":
|
|
51
75
|
proxy.socksProxy = url.host;
|
|
52
76
|
proxy.socksVersion = 4;
|
|
53
77
|
break;
|
|
54
|
-
case
|
|
78
|
+
case "socks5:":
|
|
55
79
|
proxy.socksProxy = url.host;
|
|
56
80
|
proxy.socksVersion = 5;
|
|
57
81
|
break;
|
|
58
82
|
default:
|
|
59
|
-
throw new Error(
|
|
83
|
+
throw new Error("Invalid proxy server protocol: " + options.proxy.server);
|
|
60
84
|
}
|
|
61
|
-
if (options.proxy.bypass)
|
|
62
|
-
|
|
85
|
+
if (options.proxy.bypass)
|
|
86
|
+
proxy.noProxy = options.proxy.bypass.split(",");
|
|
63
87
|
}
|
|
64
|
-
browser._bidiSessionInfo = await browser._browserSession.send(
|
|
88
|
+
browser._bidiSessionInfo = await browser._browserSession.send("session.new", {
|
|
65
89
|
capabilities: {
|
|
66
90
|
alwaysMatch: {
|
|
67
91
|
acceptInsecureCerts: false,
|
|
@@ -73,37 +97,30 @@ class BidiBrowser extends _browser.Browser {
|
|
|
73
97
|
}
|
|
74
98
|
}
|
|
75
99
|
});
|
|
76
|
-
await browser._browserSession.send(
|
|
77
|
-
events: [
|
|
100
|
+
await browser._browserSession.send("session.subscribe", {
|
|
101
|
+
events: [
|
|
102
|
+
"browsingContext",
|
|
103
|
+
"network",
|
|
104
|
+
"log",
|
|
105
|
+
"script"
|
|
106
|
+
]
|
|
78
107
|
});
|
|
79
108
|
if (options.persistent) {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
109
|
+
const context = new BidiBrowserContext(browser, void 0, options.persistent);
|
|
110
|
+
browser._defaultContext = context;
|
|
111
|
+
await context._initialize();
|
|
83
112
|
const page = await browser._defaultContext.doCreateNewPage();
|
|
84
113
|
await page.waitForInitializedOrError();
|
|
85
114
|
}
|
|
86
115
|
return browser;
|
|
87
116
|
}
|
|
88
|
-
constructor(parent, transport, options) {
|
|
89
|
-
super(parent, options);
|
|
90
|
-
this._connection = void 0;
|
|
91
|
-
this._browserSession = void 0;
|
|
92
|
-
this._bidiSessionInfo = void 0;
|
|
93
|
-
this._contexts = new Map();
|
|
94
|
-
this._bidiPages = new Map();
|
|
95
|
-
this._eventListeners = void 0;
|
|
96
|
-
this._connection = new _bidiConnection.BidiConnection(transport, this._onDisconnect.bind(this), options.protocolLogger, options.browserLogsCollector);
|
|
97
|
-
this._browserSession = this._connection.browserSession;
|
|
98
|
-
this._eventListeners = [_eventsHelper.eventsHelper.addEventListener(this._browserSession, 'browsingContext.contextCreated', this._onBrowsingContextCreated.bind(this)), _eventsHelper.eventsHelper.addEventListener(this._browserSession, 'script.realmDestroyed', this._onScriptRealmDestroyed.bind(this))];
|
|
99
|
-
}
|
|
100
117
|
_onDisconnect() {
|
|
101
118
|
this._didClose();
|
|
102
119
|
}
|
|
103
120
|
async doCreateNewContext(options) {
|
|
104
|
-
const {
|
|
105
|
-
|
|
106
|
-
}
|
|
121
|
+
const { userContext } = await this._browserSession.send("browser.createUserContext", {
|
|
122
|
+
acceptInsecureCerts: options.ignoreHTTPSErrors
|
|
123
|
+
});
|
|
107
124
|
const context = new BidiBrowserContext(this, userContext, options);
|
|
108
125
|
await context._initialize();
|
|
109
126
|
this._contexts.set(userContext, context);
|
|
@@ -124,23 +141,27 @@ class BidiBrowser extends _browser.Browser {
|
|
|
124
141
|
_onBrowsingContextCreated(event) {
|
|
125
142
|
if (event.parent) {
|
|
126
143
|
const parentFrameId = event.parent;
|
|
127
|
-
for (const
|
|
128
|
-
const parentFrame =
|
|
129
|
-
if (!parentFrame)
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
144
|
+
for (const page2 of this._bidiPages.values()) {
|
|
145
|
+
const parentFrame = page2._page.frameManager.frame(parentFrameId);
|
|
146
|
+
if (!parentFrame)
|
|
147
|
+
continue;
|
|
148
|
+
page2._session.addFrameBrowsingContext(event.context);
|
|
149
|
+
page2._page.frameManager.frameAttached(event.context, parentFrameId);
|
|
150
|
+
const frame = page2._page.frameManager.frame(event.context);
|
|
151
|
+
if (frame)
|
|
152
|
+
frame._url = event.url;
|
|
134
153
|
return;
|
|
135
154
|
}
|
|
136
155
|
return;
|
|
137
156
|
}
|
|
138
157
|
let context = this._contexts.get(event.userContext);
|
|
139
|
-
if (!context)
|
|
140
|
-
|
|
158
|
+
if (!context)
|
|
159
|
+
context = this._defaultContext;
|
|
160
|
+
if (!context)
|
|
161
|
+
return;
|
|
141
162
|
const session = this._connection.createMainFrameBrowsingContextSession(event.context);
|
|
142
163
|
const opener = event.originalOpener && this._bidiPages.get(event.originalOpener);
|
|
143
|
-
const page = new
|
|
164
|
+
const page = new import_bidiPage.BidiPage(context, session, opener || null);
|
|
144
165
|
page._page.mainFrame()._url = event.url;
|
|
145
166
|
this._bidiPages.set(event.context, page);
|
|
146
167
|
}
|
|
@@ -149,166 +170,284 @@ class BidiBrowser extends _browser.Browser {
|
|
|
149
170
|
this._browserSession.removeFrameBrowsingContext(event.context);
|
|
150
171
|
const parentFrameId = event.parent;
|
|
151
172
|
for (const page of this._bidiPages.values()) {
|
|
152
|
-
const parentFrame = page._page.
|
|
153
|
-
if (!parentFrame)
|
|
154
|
-
|
|
173
|
+
const parentFrame = page._page.frameManager.frame(parentFrameId);
|
|
174
|
+
if (!parentFrame)
|
|
175
|
+
continue;
|
|
176
|
+
page._page.frameManager.frameDetached(event.context);
|
|
155
177
|
return;
|
|
156
178
|
}
|
|
157
179
|
return;
|
|
158
180
|
}
|
|
159
181
|
const bidiPage = this._bidiPages.get(event.context);
|
|
160
|
-
if (!bidiPage)
|
|
182
|
+
if (!bidiPage)
|
|
183
|
+
return;
|
|
161
184
|
bidiPage.didClose();
|
|
162
185
|
this._bidiPages.delete(event.context);
|
|
163
186
|
}
|
|
164
187
|
_onScriptRealmDestroyed(event) {
|
|
165
188
|
for (const page of this._bidiPages.values()) {
|
|
166
|
-
if (page._onRealmDestroyed(event))
|
|
189
|
+
if (page._onRealmDestroyed(event))
|
|
190
|
+
return;
|
|
167
191
|
}
|
|
168
192
|
}
|
|
169
193
|
}
|
|
170
|
-
|
|
171
|
-
class BidiBrowserContext extends _browserContext.BrowserContext {
|
|
194
|
+
class BidiBrowserContext extends import_browserContext.BrowserContext {
|
|
172
195
|
constructor(browser, browserContextId, options) {
|
|
173
196
|
super(browser, options, browserContextId);
|
|
197
|
+
this._originToPermissions = /* @__PURE__ */ new Map();
|
|
198
|
+
this._blockingPageCreations = /* @__PURE__ */ new Set();
|
|
199
|
+
this._initScriptIds = /* @__PURE__ */ new Map();
|
|
174
200
|
this._authenticateProxyViaHeader();
|
|
175
201
|
}
|
|
176
202
|
_bidiPages() {
|
|
177
|
-
return [...this._browser._bidiPages.values()].filter(bidiPage => bidiPage._browserContext === this);
|
|
203
|
+
return [...this._browser._bidiPages.values()].filter((bidiPage) => bidiPage._browserContext === this);
|
|
204
|
+
}
|
|
205
|
+
async _initialize() {
|
|
206
|
+
const promises = [
|
|
207
|
+
super._initialize()
|
|
208
|
+
];
|
|
209
|
+
promises.push(this.doUpdateDefaultViewport());
|
|
210
|
+
if (this._options.geolocation)
|
|
211
|
+
promises.push(this.setGeolocation(this._options.geolocation));
|
|
212
|
+
await Promise.all(promises);
|
|
178
213
|
}
|
|
179
214
|
possiblyUninitializedPages() {
|
|
180
|
-
return this._bidiPages().map(bidiPage => bidiPage._page);
|
|
215
|
+
return this._bidiPages().map((bidiPage) => bidiPage._page);
|
|
216
|
+
}
|
|
217
|
+
async doCreateNewPage(markAsServerSideOnly) {
|
|
218
|
+
const promise = this._createNewPageImpl(markAsServerSideOnly);
|
|
219
|
+
if (markAsServerSideOnly)
|
|
220
|
+
this._blockingPageCreations.add(promise);
|
|
221
|
+
try {
|
|
222
|
+
return await promise;
|
|
223
|
+
} finally {
|
|
224
|
+
this._blockingPageCreations.delete(promise);
|
|
225
|
+
}
|
|
181
226
|
}
|
|
182
|
-
async
|
|
183
|
-
(
|
|
184
|
-
const {
|
|
185
|
-
context
|
|
186
|
-
} = await this._browser._browserSession.send('browsingContext.create', {
|
|
227
|
+
async _createNewPageImpl(markAsServerSideOnly) {
|
|
228
|
+
const { context } = await this._browser._browserSession.send("browsingContext.create", {
|
|
187
229
|
type: bidi.BrowsingContext.CreateType.Window,
|
|
188
230
|
userContext: this._browserContextId
|
|
189
231
|
});
|
|
190
|
-
|
|
232
|
+
const page = this._browser._bidiPages.get(context)._page;
|
|
233
|
+
if (markAsServerSideOnly)
|
|
234
|
+
page.markAsServerSideOnly();
|
|
235
|
+
return page;
|
|
236
|
+
}
|
|
237
|
+
async waitForBlockingPageCreations() {
|
|
238
|
+
await Promise.all([...this._blockingPageCreations].map((command) => command.catch(() => {
|
|
239
|
+
})));
|
|
191
240
|
}
|
|
192
241
|
async doGetCookies(urls) {
|
|
193
|
-
const {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
userContext: this._browserContextId
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
return network.filterCookies(cookies.map(c => {
|
|
202
|
-
var _c$expiry;
|
|
242
|
+
const { cookies } = await this._browser._browserSession.send(
|
|
243
|
+
"storage.getCookies",
|
|
244
|
+
{ partition: { type: "storageKey", userContext: this._browserContextId } }
|
|
245
|
+
);
|
|
246
|
+
return network.filterCookies(cookies.map((c) => {
|
|
203
247
|
const copy = {
|
|
204
248
|
name: c.name,
|
|
205
|
-
value: (0,
|
|
249
|
+
value: (0, import_bidiNetworkManager.bidiBytesValueToString)(c.value),
|
|
206
250
|
domain: c.domain,
|
|
207
251
|
path: c.path,
|
|
208
252
|
httpOnly: c.httpOnly,
|
|
209
253
|
secure: c.secure,
|
|
210
|
-
expires:
|
|
211
|
-
sameSite: c.sameSite ? fromBidiSameSite(c.sameSite) :
|
|
254
|
+
expires: c.expiry ?? -1,
|
|
255
|
+
sameSite: c.sameSite ? fromBidiSameSite(c.sameSite) : "None"
|
|
212
256
|
};
|
|
213
257
|
return copy;
|
|
214
258
|
}), urls);
|
|
215
259
|
}
|
|
216
260
|
async addCookies(cookies) {
|
|
217
261
|
cookies = network.rewriteCookies(cookies);
|
|
218
|
-
const promises = cookies.map(c => {
|
|
262
|
+
const promises = cookies.map((c) => {
|
|
219
263
|
const cookie = {
|
|
220
264
|
name: c.name,
|
|
221
|
-
value: {
|
|
222
|
-
type: 'string',
|
|
223
|
-
value: c.value
|
|
224
|
-
},
|
|
265
|
+
value: { type: "string", value: c.value },
|
|
225
266
|
domain: c.domain,
|
|
226
267
|
path: c.path,
|
|
227
268
|
httpOnly: c.httpOnly,
|
|
228
269
|
secure: c.secure,
|
|
229
270
|
sameSite: c.sameSite && toBidiSameSite(c.sameSite),
|
|
230
|
-
expiry: c.expires === -1 || c.expires ===
|
|
271
|
+
expiry: c.expires === -1 || c.expires === void 0 ? void 0 : Math.round(c.expires)
|
|
231
272
|
};
|
|
232
|
-
return this._browser._browserSession.send(
|
|
233
|
-
|
|
234
|
-
partition: {
|
|
235
|
-
|
|
236
|
-
userContext: this._browserContextId
|
|
237
|
-
}
|
|
238
|
-
});
|
|
273
|
+
return this._browser._browserSession.send(
|
|
274
|
+
"storage.setCookie",
|
|
275
|
+
{ cookie, partition: { type: "storageKey", userContext: this._browserContextId } }
|
|
276
|
+
);
|
|
239
277
|
});
|
|
240
278
|
await Promise.all(promises);
|
|
241
279
|
}
|
|
242
280
|
async doClearCookies() {
|
|
243
|
-
await this._browser._browserSession.send(
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
281
|
+
await this._browser._browserSession.send(
|
|
282
|
+
"storage.deleteCookies",
|
|
283
|
+
{ partition: { type: "storageKey", userContext: this._browserContextId } }
|
|
284
|
+
);
|
|
285
|
+
}
|
|
286
|
+
async doGrantPermissions(origin, permissions) {
|
|
287
|
+
const currentPermissions = this._originToPermissions.get(origin) || [];
|
|
288
|
+
const toGrant = permissions.filter((permission) => !currentPermissions.includes(permission));
|
|
289
|
+
this._originToPermissions.set(origin, [...currentPermissions, ...toGrant]);
|
|
290
|
+
await Promise.all(toGrant.map((permission) => this._setPermission(origin, permission, bidi.Permissions.PermissionState.Granted)));
|
|
291
|
+
}
|
|
292
|
+
async doClearPermissions() {
|
|
293
|
+
const currentPermissions = [...this._originToPermissions.entries()];
|
|
294
|
+
this._originToPermissions = /* @__PURE__ */ new Map();
|
|
295
|
+
await Promise.all(currentPermissions.map(([origin, permissions]) => permissions.map(
|
|
296
|
+
(p) => this._setPermission(origin, p, bidi.Permissions.PermissionState.Prompt)
|
|
297
|
+
)));
|
|
298
|
+
}
|
|
299
|
+
async _setPermission(origin, permission, state) {
|
|
300
|
+
await this._browser._browserSession.send("permissions.setPermission", {
|
|
301
|
+
descriptor: {
|
|
302
|
+
name: permission
|
|
303
|
+
},
|
|
304
|
+
state,
|
|
305
|
+
origin,
|
|
306
|
+
userContext: this._browserContextId || "default"
|
|
307
|
+
});
|
|
308
|
+
}
|
|
309
|
+
async setGeolocation(geolocation) {
|
|
310
|
+
(0, import_browserContext.verifyGeolocation)(geolocation);
|
|
311
|
+
this._options.geolocation = geolocation;
|
|
312
|
+
await this._browser._browserSession.send("emulation.setGeolocationOverride", {
|
|
313
|
+
coordinates: geolocation ? {
|
|
314
|
+
latitude: geolocation.latitude,
|
|
315
|
+
longitude: geolocation.longitude,
|
|
316
|
+
accuracy: geolocation.accuracy
|
|
317
|
+
} : null,
|
|
318
|
+
userContexts: [this._browserContextId || "default"]
|
|
248
319
|
});
|
|
249
320
|
}
|
|
250
|
-
async
|
|
251
|
-
|
|
252
|
-
async
|
|
253
|
-
|
|
254
|
-
async
|
|
255
|
-
|
|
321
|
+
async doUpdateExtraHTTPHeaders() {
|
|
322
|
+
}
|
|
323
|
+
async setUserAgent(userAgent) {
|
|
324
|
+
}
|
|
325
|
+
async doUpdateOffline() {
|
|
326
|
+
}
|
|
256
327
|
async doSetHTTPCredentials(httpCredentials) {
|
|
257
328
|
this._options.httpCredentials = httpCredentials;
|
|
258
|
-
for (const page of this.pages())
|
|
329
|
+
for (const page of this.pages())
|
|
330
|
+
await page.delegate.updateHttpCredentials();
|
|
259
331
|
}
|
|
260
332
|
async doAddInitScript(initScript) {
|
|
261
|
-
await
|
|
333
|
+
const { script } = await this._browser._browserSession.send("script.addPreloadScript", {
|
|
334
|
+
// TODO: remove function call from the source.
|
|
335
|
+
functionDeclaration: `() => { return ${initScript.source} }`,
|
|
336
|
+
userContexts: [this._browserContextId || "default"]
|
|
337
|
+
});
|
|
338
|
+
this._initScriptIds.set(initScript, script);
|
|
339
|
+
}
|
|
340
|
+
async doRemoveInitScripts(initScripts) {
|
|
341
|
+
const ids = [];
|
|
342
|
+
for (const script of initScripts) {
|
|
343
|
+
const id = this._initScriptIds.get(script);
|
|
344
|
+
if (id)
|
|
345
|
+
ids.push(id);
|
|
346
|
+
this._initScriptIds.delete(script);
|
|
347
|
+
}
|
|
348
|
+
await Promise.all(ids.map((script) => this._browser._browserSession.send("script.removePreloadScript", { script })));
|
|
349
|
+
}
|
|
350
|
+
async doUpdateRequestInterception() {
|
|
351
|
+
}
|
|
352
|
+
async doUpdateDefaultViewport() {
|
|
353
|
+
if (!this._options.viewport)
|
|
354
|
+
return;
|
|
355
|
+
await this._browser._browserSession.send("browsingContext.setViewport", {
|
|
356
|
+
viewport: {
|
|
357
|
+
width: this._options.viewport.width,
|
|
358
|
+
height: this._options.viewport.height
|
|
359
|
+
},
|
|
360
|
+
devicePixelRatio: this._options.deviceScaleFactor || 1,
|
|
361
|
+
userContexts: [this._userContextId()]
|
|
362
|
+
});
|
|
363
|
+
}
|
|
364
|
+
async doUpdateDefaultEmulatedMedia() {
|
|
365
|
+
}
|
|
366
|
+
async doExposePlaywrightBinding() {
|
|
367
|
+
const args = [{
|
|
368
|
+
type: "channel",
|
|
369
|
+
value: {
|
|
370
|
+
channel: import_bidiPage.kPlaywrightBindingChannel,
|
|
371
|
+
ownership: bidi.Script.ResultOwnership.Root
|
|
372
|
+
}
|
|
373
|
+
}];
|
|
374
|
+
const functionDeclaration = `function addMainBinding(callback) { globalThis['${import_page.PageBinding.kBindingName}'] = callback; }`;
|
|
375
|
+
const promises = [];
|
|
376
|
+
promises.push(this._browser._browserSession.send("script.addPreloadScript", {
|
|
377
|
+
functionDeclaration,
|
|
378
|
+
arguments: args,
|
|
379
|
+
userContexts: [this._userContextId()]
|
|
380
|
+
}));
|
|
381
|
+
promises.push(...this._bidiPages().map((page) => {
|
|
382
|
+
const realms = [...page._realmToContext].filter(([realm, context]) => context.world === "main").map(([realm, context]) => realm);
|
|
383
|
+
return Promise.all(realms.map((realm) => {
|
|
384
|
+
return page._session.send("script.callFunction", {
|
|
385
|
+
functionDeclaration,
|
|
386
|
+
arguments: args,
|
|
387
|
+
target: { realm },
|
|
388
|
+
awaitPromise: false,
|
|
389
|
+
userActivation: false
|
|
390
|
+
});
|
|
391
|
+
}));
|
|
392
|
+
}));
|
|
393
|
+
await Promise.all(promises);
|
|
394
|
+
}
|
|
395
|
+
onClosePersistent() {
|
|
396
|
+
}
|
|
397
|
+
async clearCache() {
|
|
262
398
|
}
|
|
263
|
-
async doRemoveNonInternalInitScripts() {}
|
|
264
|
-
async doUpdateRequestInterception() {}
|
|
265
|
-
onClosePersistent() {}
|
|
266
|
-
async clearCache() {}
|
|
267
399
|
async doClose(reason) {
|
|
268
400
|
if (!this._browserContextId) {
|
|
269
|
-
|
|
270
|
-
await this._browser.close({
|
|
271
|
-
reason
|
|
272
|
-
});
|
|
401
|
+
await this._browser.close({ reason });
|
|
273
402
|
return;
|
|
274
403
|
}
|
|
275
|
-
await this._browser._browserSession.send(
|
|
404
|
+
await this._browser._browserSession.send("browser.removeUserContext", {
|
|
276
405
|
userContext: this._browserContextId
|
|
277
406
|
});
|
|
278
407
|
this._browser._contexts.delete(this._browserContextId);
|
|
279
408
|
}
|
|
280
|
-
async cancelDownload(uuid) {
|
|
409
|
+
async cancelDownload(uuid) {
|
|
410
|
+
}
|
|
411
|
+
_userContextId() {
|
|
412
|
+
if (this._browserContextId)
|
|
413
|
+
return this._browserContextId;
|
|
414
|
+
return "default";
|
|
415
|
+
}
|
|
281
416
|
}
|
|
282
|
-
exports.BidiBrowserContext = BidiBrowserContext;
|
|
283
417
|
function fromBidiSameSite(sameSite) {
|
|
284
418
|
switch (sameSite) {
|
|
285
|
-
case
|
|
286
|
-
return
|
|
287
|
-
case
|
|
288
|
-
return
|
|
289
|
-
case
|
|
290
|
-
return
|
|
291
|
-
}
|
|
292
|
-
return
|
|
419
|
+
case "strict":
|
|
420
|
+
return "Strict";
|
|
421
|
+
case "lax":
|
|
422
|
+
return "Lax";
|
|
423
|
+
case "none":
|
|
424
|
+
return "None";
|
|
425
|
+
}
|
|
426
|
+
return "None";
|
|
293
427
|
}
|
|
294
428
|
function toBidiSameSite(sameSite) {
|
|
295
429
|
switch (sameSite) {
|
|
296
|
-
case
|
|
430
|
+
case "Strict":
|
|
297
431
|
return bidi.Network.SameSite.Strict;
|
|
298
|
-
case
|
|
432
|
+
case "Lax":
|
|
299
433
|
return bidi.Network.SameSite.Lax;
|
|
300
|
-
case
|
|
434
|
+
case "None":
|
|
301
435
|
return bidi.Network.SameSite.None;
|
|
302
436
|
}
|
|
303
437
|
return bidi.Network.SameSite.None;
|
|
304
438
|
}
|
|
305
|
-
|
|
306
|
-
(
|
|
307
|
-
let SameSite
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
}({});
|
|
313
|
-
|
|
314
|
-
|
|
439
|
+
var Network;
|
|
440
|
+
((Network2) => {
|
|
441
|
+
let SameSite;
|
|
442
|
+
((SameSite2) => {
|
|
443
|
+
SameSite2["Strict"] = "strict";
|
|
444
|
+
SameSite2["Lax"] = "lax";
|
|
445
|
+
SameSite2["None"] = "none";
|
|
446
|
+
})(SameSite = Network2.SameSite || (Network2.SameSite = {}));
|
|
447
|
+
})(Network || (Network = {}));
|
|
448
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
449
|
+
0 && (module.exports = {
|
|
450
|
+
BidiBrowser,
|
|
451
|
+
BidiBrowserContext,
|
|
452
|
+
Network
|
|
453
|
+
});
|