rebrowser-playwright-core 1.49.0 → 1.52.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 +381 -55
- package/bin/reinstall_msedge_beta_linux.sh +6 -0
- package/bin/reinstall_msedge_dev_linux.sh +6 -0
- package/bin/reinstall_msedge_stable_linux.sh +6 -0
- package/browsers.json +28 -13
- package/index.js +0 -1
- package/lib/androidServerImpl.js +42 -48
- package/lib/browserServerImpl.js +60 -64
- package/lib/cli/driver.js +71 -69
- package/lib/cli/program.js +314 -354
- package/lib/cli/programWithTestStub.js +51 -44
- package/lib/client/accessibility.js +31 -32
- package/lib/client/android.js +146 -254
- package/lib/client/api.js +135 -283
- package/lib/client/artifact.js +39 -39
- package/lib/client/browser.js +59 -68
- package/lib/client/browserContext.js +302 -322
- package/lib/client/browserType.js +95 -143
- package/lib/client/cdpSession.js +29 -31
- package/lib/client/channelOwner.js +109 -139
- package/lib/client/clientHelper.js +49 -42
- package/lib/client/clientInstrumentation.js +40 -35
- package/lib/client/clientStackTrace.js +69 -0
- package/lib/client/clock.js +36 -36
- package/lib/client/connection.js +203 -218
- package/lib/client/consoleMessage.js +33 -33
- 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 +74 -76
- package/lib/client/elementHandle.js +126 -163
- package/lib/client/errors.js +53 -53
- package/lib/client/eventEmitter.js +127 -127
- package/lib/client/events.js +72 -68
- package/lib/client/fetch.js +154 -178
- package/lib/client/fileChooser.js +25 -24
- package/lib/client/fileUtils.js +34 -0
- package/lib/client/frame.js +189 -307
- package/lib/client/harRouter.js +44 -56
- package/lib/client/input.js +40 -69
- package/lib/client/jsHandle.js +55 -71
- package/lib/client/jsonPipe.js +27 -23
- package/lib/client/localUtils.js +53 -28
- package/lib/client/locator.js +144 -230
- package/lib/client/network.js +285 -301
- package/lib/client/page.js +273 -312
- package/lib/client/platform.js +74 -0
- package/lib/client/playwright.js +62 -57
- package/lib/client/selectors.js +51 -43
- package/lib/client/stream.js +30 -45
- package/lib/client/timeoutSettings.js +75 -0
- package/lib/client/tracing.js +49 -82
- package/lib/client/types.js +26 -22
- package/lib/client/video.js +35 -27
- package/lib/client/waiter.js +71 -91
- package/lib/client/webError.js +25 -23
- package/lib/client/webSocket.js +111 -0
- package/lib/client/worker.js +48 -56
- package/lib/client/writableStream.js +28 -43
- package/lib/generated/clockSource.js +26 -5
- package/lib/generated/consoleApiSource.js +26 -5
- package/lib/generated/injectedScriptSource.js +26 -5
- package/lib/generated/pollingRecorderSource.js +26 -5
- package/lib/generated/utilityScriptSource.js +26 -5
- package/lib/generated/webSocketMockSource.js +375 -4
- package/lib/inProcessFactory.js +53 -48
- package/lib/inprocess.js +2 -19
- package/lib/outofprocess.js +53 -42
- package/lib/protocol/debug.js +209 -25
- package/lib/protocol/serializers.js +153 -134
- package/lib/protocol/validator.js +2712 -2667
- package/lib/protocol/validatorPrimitives.js +115 -75
- package/lib/remote/playwrightConnection.js +144 -152
- package/lib/remote/playwrightServer.js +106 -77
- package/lib/server/accessibility.js +44 -37
- package/lib/server/android/android.js +216 -206
- package/lib/server/android/backendAdb.js +89 -82
- package/lib/server/artifact.js +78 -55
- package/lib/server/bidi/bidiBrowser.js +227 -158
- package/lib/server/bidi/bidiChromium.js +106 -78
- package/lib/server/bidi/bidiConnection.js +66 -83
- package/lib/server/bidi/bidiExecutionContext.js +161 -97
- package/lib/server/bidi/bidiFirefox.js +76 -68
- package/lib/server/bidi/bidiInput.js +90 -102
- package/lib/server/bidi/bidiNetworkManager.js +141 -159
- package/lib/server/bidi/bidiOverCdp.js +57 -58
- package/lib/server/bidi/bidiPage.js +262 -261
- 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 +241 -223
- package/lib/server/bidi/third_party/bidiProtocol.js +144 -131
- package/lib/server/bidi/third_party/bidiSerializer.js +67 -63
- package/lib/server/bidi/third_party/firefoxPrefs.js +149 -111
- package/lib/server/browser.js +76 -84
- package/lib/server/browserContext.js +343 -360
- package/lib/server/browserType.js +169 -181
- package/lib/server/callLog.js +82 -0
- package/lib/server/chromium/chromium.js +212 -190
- package/lib/server/chromium/chromiumSwitches.js +99 -44
- package/lib/server/chromium/crAccessibility.js +157 -131
- package/lib/server/chromium/crBrowser.js +262 -280
- package/lib/server/chromium/crConnection.js +121 -178
- package/lib/server/chromium/crCoverage.js +113 -127
- package/lib/server/chromium/crDevTools.js +64 -55
- package/lib/server/chromium/crDragDrop.js +62 -79
- package/lib/server/chromium/crExecutionContext.js +100 -91
- package/lib/server/chromium/crInput.js +101 -88
- package/lib/server/chromium/crNetworkManager.js +269 -370
- package/lib/server/chromium/crPage.js +509 -595
- package/lib/server/chromium/crPdf.js +54 -86
- package/lib/server/chromium/crProtocolHelper.js +92 -80
- package/lib/server/chromium/crServiceWorker.js +85 -69
- package/lib/server/chromium/defaultFontFamilies.js +152 -135
- package/lib/server/chromium/protocol.d.js +16 -0
- package/lib/server/chromium/videoRecorder.js +65 -99
- package/lib/server/clock.js +58 -46
- package/lib/server/codegen/csharp.js +191 -156
- package/lib/server/codegen/java.js +163 -125
- package/lib/server/codegen/javascript.js +166 -143
- package/lib/server/codegen/jsonl.js +33 -29
- package/lib/server/codegen/language.js +75 -52
- package/lib/server/codegen/languages.js +65 -27
- package/lib/server/codegen/python.js +141 -125
- package/lib/server/codegen/types.js +15 -4
- package/lib/server/console.js +28 -32
- package/lib/server/cookieStore.js +105 -86
- package/lib/server/debugController.js +102 -154
- package/lib/server/debugger.js +82 -78
- package/lib/server/deviceDescriptors.js +37 -24
- package/lib/server/deviceDescriptorsSource.json +131 -131
- package/lib/server/dialog.js +36 -35
- package/lib/server/dispatchers/androidDispatcher.js +196 -107
- package/lib/server/dispatchers/artifactDispatcher.js +62 -62
- package/lib/server/dispatchers/browserContextDispatcher.js +177 -217
- package/lib/server/dispatchers/browserDispatcher.js +78 -97
- package/lib/server/dispatchers/browserTypeDispatcher.js +35 -35
- package/lib/server/dispatchers/cdpSessionDispatcher.js +32 -36
- package/lib/server/dispatchers/debugControllerDispatcher.js +48 -64
- package/lib/server/dispatchers/dialogDispatcher.js +30 -27
- package/lib/server/dispatchers/dispatcher.js +180 -229
- package/lib/server/dispatchers/electronDispatcher.js +54 -57
- package/lib/server/dispatchers/elementHandlerDispatcher.js +79 -116
- package/lib/server/dispatchers/frameDispatcher.js +93 -162
- package/lib/server/dispatchers/jsHandleDispatcher.js +49 -66
- package/lib/server/dispatchers/jsonPipeDispatcher.js +35 -36
- package/lib/server/dispatchers/localUtilsDispatcher.js +107 -365
- package/lib/server/dispatchers/networkDispatchers.js +92 -109
- package/lib/server/dispatchers/pageDispatcher.js +130 -169
- package/lib/server/dispatchers/playwrightDispatcher.js +69 -76
- package/lib/server/dispatchers/selectorsDispatcher.js +28 -24
- package/lib/server/dispatchers/streamDispatcher.js +42 -44
- package/lib/server/dispatchers/tracingDispatcher.js +36 -41
- package/lib/server/dispatchers/webSocketRouteDispatcher.js +100 -135
- package/lib/server/dispatchers/writableStreamDispatcher.js +54 -39
- package/lib/server/dom.js +424 -443
- package/lib/server/download.js +45 -35
- package/lib/server/electron/electron.js +156 -175
- package/lib/server/electron/loader.js +8 -36
- package/lib/server/errors.js +47 -46
- package/lib/server/fetch.js +302 -331
- package/lib/server/fileChooser.js +25 -24
- package/lib/server/fileUploadUtils.js +66 -57
- package/lib/server/firefox/ffAccessibility.js +153 -131
- package/lib/server/firefox/ffBrowser.js +218 -274
- package/lib/server/firefox/ffConnection.js +63 -84
- package/lib/server/firefox/ffExecutionContext.js +103 -77
- package/lib/server/firefox/ffInput.js +72 -63
- package/lib/server/firefox/ffNetworkManager.js +131 -110
- package/lib/server/firefox/ffPage.js +244 -302
- package/lib/server/firefox/firefox.js +76 -69
- package/lib/server/firefox/protocol.d.js +16 -0
- package/lib/server/formData.js +107 -35
- package/lib/server/frameSelectors.js +77 -111
- package/lib/server/frames.js +719 -855
- package/lib/server/har/harRecorder.js +85 -77
- package/lib/server/har/harTracer.js +288 -224
- package/lib/server/harBackend.js +157 -0
- package/lib/server/helper.js +56 -59
- package/lib/server/index.js +59 -106
- package/lib/server/input.js +136 -166
- package/lib/server/instrumentation.js +49 -44
- package/lib/server/javascript.js +157 -151
- package/lib/server/launchApp.js +92 -73
- package/lib/server/localUtils.js +211 -0
- package/lib/server/macEditingCommands.js +141 -137
- package/lib/server/network.js +263 -297
- package/lib/server/page.js +353 -432
- package/lib/server/pageBinding.js +88 -0
- package/lib/server/pipeTransport.js +49 -45
- package/lib/server/playwright.js +60 -67
- package/lib/server/progress.js +56 -51
- package/lib/server/protocolError.js +34 -31
- package/lib/server/recorder/chat.js +161 -0
- package/lib/server/recorder/contextRecorder.js +135 -148
- package/lib/server/recorder/recorderApp.js +129 -132
- package/lib/server/recorder/recorderCollection.js +57 -57
- package/lib/server/recorder/recorderFrontend.js +15 -4
- package/lib/server/recorder/recorderRunner.js +80 -100
- package/lib/server/recorder/recorderUtils.js +59 -72
- package/lib/server/recorder/throttledFile.js +42 -31
- package/lib/server/recorder.js +186 -190
- package/lib/server/registry/browserFetcher.js +107 -100
- package/lib/server/registry/dependencies.js +247 -198
- package/lib/server/registry/index.js +928 -709
- package/lib/server/registry/nativeDeps.js +1073 -461
- package/lib/server/registry/oopDownloadBrowserMain.js +57 -75
- package/lib/server/screenshotter.js +166 -182
- package/lib/server/selectors.js +85 -46
- package/lib/server/socksClientCertificatesInterceptor.js +166 -185
- package/lib/server/socksInterceptor.js +62 -67
- package/lib/server/storageScript.js +154 -0
- package/lib/server/timeoutSettings.js +89 -0
- package/lib/server/trace/recorder/snapshotter.js +70 -88
- package/lib/server/trace/recorder/snapshotterInjected.js +246 -218
- package/lib/server/trace/recorder/tracing.js +324 -327
- package/lib/server/trace/test/inMemorySnapshotter.js +46 -52
- package/lib/server/trace/viewer/traceViewer.js +172 -137
- package/lib/server/transport.js +125 -133
- package/lib/server/types.js +26 -22
- package/lib/server/usKeyboardLayout.js +135 -545
- package/lib/server/utils/ascii.js +44 -0
- package/lib/server/utils/comparators.js +161 -0
- package/lib/server/utils/crypto.js +216 -0
- package/lib/server/utils/debug.js +47 -0
- package/lib/server/utils/debugLogger.js +114 -0
- package/lib/server/utils/env.js +68 -0
- package/lib/server/utils/eventsHelper.js +39 -0
- package/lib/server/utils/expectUtils.js +38 -0
- package/lib/server/utils/fileUtils.js +191 -0
- package/lib/server/utils/happyEyeballs.js +207 -0
- package/lib/server/utils/hostPlatform.js +109 -0
- package/lib/server/utils/httpServer.js +218 -0
- package/lib/server/utils/image_tools/colorUtils.js +89 -0
- package/lib/{image_tools → server/utils/image_tools}/compare.js +44 -43
- package/lib/server/utils/image_tools/imageChannel.js +78 -0
- package/lib/{image_tools → server/utils/image_tools}/stats.js +40 -40
- package/lib/server/utils/linuxUtils.js +71 -0
- package/lib/server/utils/network.js +217 -0
- package/lib/server/utils/nodePlatform.js +148 -0
- package/lib/server/utils/pipeTransport.js +84 -0
- package/lib/server/utils/processLauncher.js +238 -0
- package/lib/server/utils/profiler.js +65 -0
- package/lib/server/utils/socksProxy.js +511 -0
- package/lib/server/utils/spawnAsync.js +41 -0
- package/lib/server/utils/task.js +51 -0
- package/lib/server/utils/userAgent.js +98 -0
- package/lib/server/utils/wsServer.js +132 -0
- package/lib/server/utils/zipFile.js +74 -0
- package/lib/server/utils/zones.js +57 -0
- package/lib/server/webkit/protocol.d.js +16 -0
- package/lib/server/webkit/webkit.js +76 -63
- package/lib/server/webkit/wkAccessibility.js +161 -118
- package/lib/server/webkit/wkBrowser.js +163 -180
- package/lib/server/webkit/wkConnection.js +59 -83
- package/lib/server/webkit/wkExecutionContext.js +96 -73
- package/lib/server/webkit/wkInput.js +87 -75
- package/lib/server/webkit/wkInterceptableRequest.js +102 -95
- package/lib/server/webkit/wkPage.js +536 -645
- package/lib/server/webkit/wkProvisionalPage.js +45 -56
- package/lib/server/webkit/wkWorkers.js +77 -77
- package/lib/utils/isomorphic/ariaSnapshot.js +245 -128
- package/lib/utils/isomorphic/assert.js +31 -0
- package/lib/utils/isomorphic/builtins.js +90 -0
- package/lib/utils/isomorphic/colors.js +72 -0
- package/lib/utils/isomorphic/cssParser.js +123 -127
- package/lib/utils/isomorphic/cssTokenizer.js +436 -364
- package/lib/utils/isomorphic/headers.js +53 -0
- package/lib/utils/isomorphic/locatorGenerators.js +344 -349
- package/lib/utils/isomorphic/locatorParser.js +103 -106
- package/lib/utils/isomorphic/locatorUtils.js +63 -44
- package/lib/utils/isomorphic/manualPromise.js +115 -0
- package/lib/utils/isomorphic/mimeType.js +453 -22
- package/lib/utils/isomorphic/multimap.js +81 -0
- package/lib/utils/isomorphic/rtti.js +43 -0
- package/lib/utils/isomorphic/selectorParser.js +183 -193
- package/lib/utils/isomorphic/semaphore.js +54 -0
- package/lib/utils/isomorphic/stackTrace.js +158 -0
- package/lib/utils/isomorphic/stringUtils.js +113 -106
- package/lib/utils/isomorphic/time.js +44 -0
- package/lib/utils/isomorphic/timeoutRunner.js +67 -0
- package/lib/utils/isomorphic/traceUtils.js +52 -32
- package/lib/utils/isomorphic/types.js +16 -0
- package/lib/utils/isomorphic/urlMatch.js +114 -71
- package/lib/utils/isomorphic/utilityScriptSerializers.js +248 -0
- package/lib/utils.js +101 -0
- package/lib/utilsBundle.js +101 -76
- package/lib/utilsBundleImpl/index.js +114 -116
- package/lib/vite/htmlReport/index.html +26 -20
- package/lib/vite/recorder/assets/codeMirrorModule-DVQi6prl.js +24 -0
- package/lib/vite/recorder/assets/index-97EUAAbk.js +184 -0
- package/lib/vite/recorder/assets/{index-iA1aAGZg.css → index-eHBmevrY.css} +1 -1
- package/lib/vite/recorder/index.html +2 -2
- package/lib/vite/traceViewer/assets/codeMirrorModule-DwAiTpyC.js +24 -0
- package/lib/vite/traceViewer/assets/defaultSettingsView-DkkRvn5X.js +265 -0
- package/lib/vite/traceViewer/assets/{xtermModule-BeNbaIVa.js → xtermModule-BoAIEibi.js} +7 -7
- package/lib/vite/traceViewer/defaultSettingsView.QdHITyLI.css +1 -0
- package/lib/vite/traceViewer/index.DvtSwn6E.js +2 -0
- package/lib/vite/traceViewer/index.html +4 -7
- package/lib/vite/traceViewer/sw.bundle.js +3 -3
- package/lib/vite/traceViewer/{uiMode.voC1ZiOQ.css → uiMode.BatfzHMG.css} +1 -1
- package/lib/vite/traceViewer/uiMode.Sdytl9wc.js +5 -0
- package/lib/vite/traceViewer/uiMode.html +4 -7
- package/lib/zipBundle.js +32 -23
- package/lib/zipBundleImpl.js +4 -4
- package/package.json +7 -7
- package/types/protocol.d.ts +819 -127
- package/types/types.d.ts +196 -75
- package/bin/PrintDeps.exe +0 -0
- package/bin/README.md +0 -2
- 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/imageChannel.js +0 -70
- package/lib/protocol/transport.js +0 -82
- package/lib/server/ariaSnapshot.js +0 -33
- package/lib/server/isomorphic/utilityScriptSerializers.js +0 -226
- package/lib/server/recorder/recorderInTraceViewer.js +0 -144
- package/lib/utils/ascii.js +0 -31
- package/lib/utils/comparators.js +0 -153
- package/lib/utils/crypto.js +0 -171
- 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/expectUtils.js +0 -33
- package/lib/utils/fileUtils.js +0 -205
- package/lib/utils/happy-eyeballs.js +0 -194
- package/lib/utils/headers.js +0 -52
- package/lib/utils/hostPlatform.js +0 -139
- package/lib/utils/httpServer.js +0 -237
- package/lib/utils/index.js +0 -368
- package/lib/utils/isomorphic/recorderUtils.js +0 -227
- 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/sequence.js +0 -64
- package/lib/utils/spawnAsync.js +0 -45
- package/lib/utils/stackTrace.js +0 -134
- 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 -71
- package/lib/vite/recorder/assets/codeMirrorModule-AFvV6hAs.js +0 -24
- package/lib/vite/recorder/assets/index-_cTWgVuJ.js +0 -184
- package/lib/vite/traceViewer/assets/codeMirrorModule-KatbITLF.js +0 -24
- package/lib/vite/traceViewer/assets/inspectorTab-DdpLd2bb.js +0 -68
- package/lib/vite/traceViewer/assets/testServerConnection-DeE2kSzz.js +0 -1
- package/lib/vite/traceViewer/assets/workbench-CdYbzWFD.js +0 -9
- package/lib/vite/traceViewer/embedded.6m3UZh7r.js +0 -2
- package/lib/vite/traceViewer/embedded.html +0 -18
- package/lib/vite/traceViewer/embedded.w7WN2u1R.css +0 -1
- package/lib/vite/traceViewer/index.WUV-8boJ.js +0 -2
- package/lib/vite/traceViewer/inspectorTab.DEOUW62d.css +0 -1
- package/lib/vite/traceViewer/recorder.B_SY1GJM.css +0 -0
- package/lib/vite/traceViewer/recorder.OT2tVHgn.js +0 -2
- package/lib/vite/traceViewer/recorder.html +0 -17
- package/lib/vite/traceViewer/uiMode.BZBTyvGn.js +0 -5
- package/lib/vite/traceViewer/workbench.C-zR9ysA.css +0 -1
- /package/lib/vite/recorder/assets/{codeMirrorModule-ez37Vkbh.css → codeMirrorModule-C3UTv-Ge.css} +0 -0
- /package/lib/vite/traceViewer/{codeMirrorModule.ez37Vkbh.css → codeMirrorModule.C3UTv-Ge.css} +0 -0
- /package/lib/vite/traceViewer/{index.CrbWWHbf.css → index.CFOW-Ezb.css} +0 -0
- /package/lib/vite/traceViewer/{xtermModule.DSXBckUd.css → xtermModule.Beg8tuEN.css} +0 -0
|
@@ -1,66 +1,78 @@
|
|
|
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 bidiNetworkManager_exports = {};
|
|
30
|
+
__export(bidiNetworkManager_exports, {
|
|
31
|
+
BidiNetworkManager: () => BidiNetworkManager,
|
|
32
|
+
bidiBytesValueToString: () => bidiBytesValueToString
|
|
5
33
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var network =
|
|
10
|
-
var bidi =
|
|
11
|
-
var _cookieStore = require("../cookieStore");
|
|
12
|
-
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); }
|
|
13
|
-
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 && Object.prototype.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; }
|
|
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
|
-
|
|
34
|
+
module.exports = __toCommonJS(bidiNetworkManager_exports);
|
|
35
|
+
var import_eventsHelper = require("../utils/eventsHelper");
|
|
36
|
+
var import_cookieStore = require("../cookieStore");
|
|
37
|
+
var network = __toESM(require("../network"));
|
|
38
|
+
var bidi = __toESM(require("./third_party/bidiProtocol"));
|
|
30
39
|
class BidiNetworkManager {
|
|
31
40
|
constructor(bidiSession, page, onNavigationResponseStarted) {
|
|
32
|
-
this._session = void 0;
|
|
33
|
-
this._requests = void 0;
|
|
34
|
-
this._page = void 0;
|
|
35
|
-
this._eventListeners = void 0;
|
|
36
|
-
this._onNavigationResponseStarted = void 0;
|
|
37
41
|
this._userRequestInterceptionEnabled = false;
|
|
38
42
|
this._protocolRequestInterceptionEnabled = false;
|
|
39
|
-
this._credentials = void 0;
|
|
40
|
-
this._intercepId = void 0;
|
|
41
43
|
this._session = bidiSession;
|
|
42
|
-
this._requests = new Map();
|
|
44
|
+
this._requests = /* @__PURE__ */ new Map();
|
|
43
45
|
this._page = page;
|
|
44
46
|
this._onNavigationResponseStarted = onNavigationResponseStarted;
|
|
45
|
-
this._eventListeners = [
|
|
47
|
+
this._eventListeners = [
|
|
48
|
+
import_eventsHelper.eventsHelper.addEventListener(bidiSession, "network.beforeRequestSent", this._onBeforeRequestSent.bind(this)),
|
|
49
|
+
import_eventsHelper.eventsHelper.addEventListener(bidiSession, "network.responseStarted", this._onResponseStarted.bind(this)),
|
|
50
|
+
import_eventsHelper.eventsHelper.addEventListener(bidiSession, "network.responseCompleted", this._onResponseCompleted.bind(this)),
|
|
51
|
+
import_eventsHelper.eventsHelper.addEventListener(bidiSession, "network.fetchError", this._onFetchError.bind(this)),
|
|
52
|
+
import_eventsHelper.eventsHelper.addEventListener(bidiSession, "network.authRequired", this._onAuthRequired.bind(this))
|
|
53
|
+
];
|
|
46
54
|
}
|
|
47
55
|
dispose() {
|
|
48
|
-
|
|
56
|
+
import_eventsHelper.eventsHelper.removeEventListeners(this._eventListeners);
|
|
49
57
|
}
|
|
50
58
|
_onBeforeRequestSent(param) {
|
|
51
|
-
if (param.request.url.startsWith(
|
|
59
|
+
if (param.request.url.startsWith("data:"))
|
|
60
|
+
return;
|
|
52
61
|
const redirectedFrom = param.redirectCount ? this._requests.get(param.request.request) || null : null;
|
|
53
62
|
const frame = redirectedFrom ? redirectedFrom.request.frame() : param.context ? this._page._frameManager.frame(param.context) : null;
|
|
54
|
-
if (!frame)
|
|
55
|
-
|
|
63
|
+
if (!frame)
|
|
64
|
+
return;
|
|
65
|
+
if (redirectedFrom)
|
|
66
|
+
this._requests.delete(redirectedFrom._id);
|
|
56
67
|
let route;
|
|
57
68
|
if (param.intercepts) {
|
|
58
|
-
// We do not support intercepting redirects.
|
|
59
69
|
if (redirectedFrom) {
|
|
60
|
-
|
|
61
|
-
|
|
70
|
+
let params = {};
|
|
71
|
+
if (redirectedFrom._originalRequestRoute?._alreadyContinuedHeaders)
|
|
72
|
+
params = toBidiRequestHeaders(redirectedFrom._originalRequestRoute._alreadyContinuedHeaders ?? []);
|
|
73
|
+
this._session.sendMayFail("network.continueRequest", {
|
|
62
74
|
request: param.request.request,
|
|
63
|
-
...
|
|
75
|
+
...params
|
|
64
76
|
});
|
|
65
77
|
} else {
|
|
66
78
|
route = new BidiRouteImpl(this._session, param.request.request);
|
|
@@ -72,18 +84,20 @@ class BidiNetworkManager {
|
|
|
72
84
|
}
|
|
73
85
|
_onResponseStarted(params) {
|
|
74
86
|
const request = this._requests.get(params.request.request);
|
|
75
|
-
if (!request)
|
|
87
|
+
if (!request)
|
|
88
|
+
return;
|
|
76
89
|
const getResponseBody = async () => {
|
|
77
90
|
throw new Error(`Response body is not available for requests in Bidi`);
|
|
78
91
|
};
|
|
79
92
|
const timings = params.request.timings;
|
|
80
93
|
const startTime = timings.requestTime;
|
|
81
94
|
function relativeToStart(time) {
|
|
82
|
-
if (!time)
|
|
83
|
-
|
|
95
|
+
if (!time)
|
|
96
|
+
return -1;
|
|
97
|
+
return time - startTime;
|
|
84
98
|
}
|
|
85
99
|
const timing = {
|
|
86
|
-
startTime
|
|
100
|
+
startTime,
|
|
87
101
|
requestStart: relativeToStart(timings.requestStart),
|
|
88
102
|
responseStart: relativeToStart(timings.responseStart),
|
|
89
103
|
domainLookupStart: relativeToStart(timings.dnsStart),
|
|
@@ -95,23 +109,21 @@ class BidiNetworkManager {
|
|
|
95
109
|
const response = new network.Response(request.request, params.response.status, params.response.statusText, fromBidiHeaders(params.response.headers), timing, getResponseBody, false);
|
|
96
110
|
response._serverAddrFinished();
|
|
97
111
|
response._securityDetailsFinished();
|
|
98
|
-
// "raw" headers are the same as "provisional" headers in Bidi.
|
|
99
112
|
response.setRawResponseHeaders(null);
|
|
100
113
|
response.setResponseHeadersSize(params.response.headersSize);
|
|
101
114
|
this._page._frameManager.requestReceivedResponse(response);
|
|
102
|
-
if (params.navigation)
|
|
115
|
+
if (params.navigation)
|
|
116
|
+
this._onNavigationResponseStarted(params);
|
|
103
117
|
}
|
|
104
118
|
_onResponseCompleted(params) {
|
|
105
119
|
const request = this._requests.get(params.request.request);
|
|
106
|
-
if (!request)
|
|
120
|
+
if (!request)
|
|
121
|
+
return;
|
|
107
122
|
const response = request.request._existingResponse();
|
|
108
|
-
// TODO: body size is the encoded size
|
|
109
123
|
response.setTransferSize(params.response.bodySize);
|
|
110
124
|
response.setEncodedBodySize(params.response.bodySize);
|
|
111
|
-
|
|
112
|
-
// Keep redirected requests in the map for future reference as redirectedFrom.
|
|
113
125
|
const isRedirected = response.status() >= 300 && response.status() <= 399;
|
|
114
|
-
const responseEndTime = params.request.timings.responseEnd
|
|
126
|
+
const responseEndTime = params.request.timings.responseEnd - response.timing().startTime;
|
|
115
127
|
if (isRedirected) {
|
|
116
128
|
response._requestFinished(responseEndTime);
|
|
117
129
|
} else {
|
|
@@ -123,7 +135,8 @@ class BidiNetworkManager {
|
|
|
123
135
|
}
|
|
124
136
|
_onFetchError(params) {
|
|
125
137
|
const request = this._requests.get(params.request.request);
|
|
126
|
-
if (!request)
|
|
138
|
+
if (!request)
|
|
139
|
+
return;
|
|
127
140
|
this._requests.delete(request._id);
|
|
128
141
|
const response = request.request._existingResponse();
|
|
129
142
|
if (response) {
|
|
@@ -132,27 +145,25 @@ class BidiNetworkManager {
|
|
|
132
145
|
response._requestFinished(-1);
|
|
133
146
|
}
|
|
134
147
|
request.request._setFailureText(params.errorText);
|
|
135
|
-
|
|
136
|
-
this._page._frameManager.requestFailed(request.request, params.errorText === 'NS_BINDING_ABORTED');
|
|
148
|
+
this._page._frameManager.requestFailed(request.request, params.errorText === "NS_BINDING_ABORTED");
|
|
137
149
|
}
|
|
138
150
|
_onAuthRequired(params) {
|
|
139
|
-
|
|
140
|
-
const isBasic = (_params$response$auth = params.response.authChallenges) === null || _params$response$auth === void 0 ? void 0 : _params$response$auth.some(challenge => challenge.scheme.startsWith('Basic'));
|
|
151
|
+
const isBasic = params.response.authChallenges?.some((challenge) => challenge.scheme.startsWith("Basic"));
|
|
141
152
|
const credentials = this._page._browserContext._options.httpCredentials;
|
|
142
153
|
if (isBasic && credentials) {
|
|
143
|
-
this._session.sendMayFail(
|
|
154
|
+
this._session.sendMayFail("network.continueWithAuth", {
|
|
144
155
|
request: params.request.request,
|
|
145
|
-
action:
|
|
156
|
+
action: "provideCredentials",
|
|
146
157
|
credentials: {
|
|
147
|
-
type:
|
|
158
|
+
type: "password",
|
|
148
159
|
username: credentials.username,
|
|
149
160
|
password: credentials.password
|
|
150
161
|
}
|
|
151
162
|
});
|
|
152
163
|
} else {
|
|
153
|
-
this._session.sendMayFail(
|
|
164
|
+
this._session.sendMayFail("network.continueWithAuth", {
|
|
154
165
|
request: params.request.request,
|
|
155
|
-
action:
|
|
166
|
+
action: "default"
|
|
156
167
|
});
|
|
157
168
|
}
|
|
158
169
|
}
|
|
@@ -166,65 +177,60 @@ class BidiNetworkManager {
|
|
|
166
177
|
}
|
|
167
178
|
async _updateProtocolRequestInterception(initial) {
|
|
168
179
|
const enabled = this._userRequestInterceptionEnabled || !!this._credentials;
|
|
169
|
-
if (enabled === this._protocolRequestInterceptionEnabled)
|
|
180
|
+
if (enabled === this._protocolRequestInterceptionEnabled)
|
|
181
|
+
return;
|
|
170
182
|
this._protocolRequestInterceptionEnabled = enabled;
|
|
171
|
-
if (initial && !enabled)
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
let interceptPromise = Promise.resolve(undefined);
|
|
183
|
+
if (initial && !enabled)
|
|
184
|
+
return;
|
|
185
|
+
const cachePromise = this._session.send("network.setCacheBehavior", { cacheBehavior: enabled ? "bypass" : "default" });
|
|
186
|
+
let interceptPromise = Promise.resolve(void 0);
|
|
176
187
|
if (enabled) {
|
|
177
|
-
interceptPromise = this._session.send(
|
|
188
|
+
interceptPromise = this._session.send("network.addIntercept", {
|
|
178
189
|
phases: [bidi.Network.InterceptPhase.AuthRequired, bidi.Network.InterceptPhase.BeforeRequestSent],
|
|
179
|
-
urlPatterns: [{
|
|
180
|
-
type: 'pattern'
|
|
181
|
-
}]
|
|
190
|
+
urlPatterns: [{ type: "pattern" }]
|
|
182
191
|
// urlPatterns: [{ type: 'string', pattern: '*' }],
|
|
183
|
-
}).then(r => {
|
|
192
|
+
}).then((r) => {
|
|
184
193
|
this._intercepId = r.intercept;
|
|
185
194
|
});
|
|
186
195
|
} else if (this._intercepId) {
|
|
187
|
-
interceptPromise = this._session.send(
|
|
188
|
-
|
|
189
|
-
});
|
|
190
|
-
this._intercepId = undefined;
|
|
196
|
+
interceptPromise = this._session.send("network.removeIntercept", { intercept: this._intercepId });
|
|
197
|
+
this._intercepId = void 0;
|
|
191
198
|
}
|
|
192
199
|
await Promise.all([cachePromise, interceptPromise]);
|
|
193
200
|
}
|
|
194
201
|
}
|
|
195
|
-
exports.BidiNetworkManager = BidiNetworkManager;
|
|
196
202
|
class BidiRequest {
|
|
197
203
|
constructor(frame, redirectedFrom, payload, route) {
|
|
198
|
-
var _payload$navigation;
|
|
199
|
-
this.request = void 0;
|
|
200
|
-
this._id = void 0;
|
|
201
|
-
this._redirectedTo = void 0;
|
|
202
|
-
// Only first request in the chain can be intercepted, so this will
|
|
203
|
-
// store the first and only Route in the chain (if any).
|
|
204
|
-
this._originalRequestRoute = void 0;
|
|
205
204
|
this._id = payload.request.request;
|
|
206
|
-
if (redirectedFrom)
|
|
207
|
-
|
|
205
|
+
if (redirectedFrom)
|
|
206
|
+
redirectedFrom._redirectedTo = this;
|
|
208
207
|
const postDataBuffer = null;
|
|
209
|
-
this.request = new network.Request(
|
|
210
|
-
|
|
208
|
+
this.request = new network.Request(
|
|
209
|
+
frame._page._browserContext,
|
|
210
|
+
frame,
|
|
211
|
+
null,
|
|
212
|
+
redirectedFrom ? redirectedFrom.request : null,
|
|
213
|
+
payload.navigation ?? void 0,
|
|
214
|
+
payload.request.url,
|
|
215
|
+
"other",
|
|
216
|
+
payload.request.method,
|
|
217
|
+
postDataBuffer,
|
|
218
|
+
fromBidiHeaders(payload.request.headers)
|
|
219
|
+
);
|
|
211
220
|
this.request.setRawRequestHeaders(null);
|
|
212
221
|
this.request._setBodySize(payload.request.bodySize || 0);
|
|
213
|
-
this._originalRequestRoute = route
|
|
214
|
-
route
|
|
222
|
+
this._originalRequestRoute = route ?? redirectedFrom?._originalRequestRoute;
|
|
223
|
+
route?._setRequest(this.request);
|
|
215
224
|
}
|
|
216
225
|
_finalRequest() {
|
|
217
226
|
let request = this;
|
|
218
|
-
while (request._redirectedTo)
|
|
227
|
+
while (request._redirectedTo)
|
|
228
|
+
request = request._redirectedTo;
|
|
219
229
|
return request;
|
|
220
230
|
}
|
|
221
231
|
}
|
|
222
232
|
class BidiRouteImpl {
|
|
223
233
|
constructor(session, requestId) {
|
|
224
|
-
this._requestId = void 0;
|
|
225
|
-
this._session = void 0;
|
|
226
|
-
this._request = void 0;
|
|
227
|
-
this._alreadyContinuedHeaders = void 0;
|
|
228
234
|
this._session = session;
|
|
229
235
|
this._requestId = requestId;
|
|
230
236
|
}
|
|
@@ -232,107 +238,83 @@ class BidiRouteImpl {
|
|
|
232
238
|
this._request = request;
|
|
233
239
|
}
|
|
234
240
|
async continue(overrides) {
|
|
235
|
-
// Firefox does not update content-length header.
|
|
236
241
|
let headers = overrides.headers || this._request.headers();
|
|
237
242
|
if (overrides.postData && headers) {
|
|
238
|
-
headers = headers.map(header => {
|
|
239
|
-
if (header.name.toLowerCase() ===
|
|
240
|
-
name: header.name,
|
|
241
|
-
value: overrides.postData.byteLength.toString()
|
|
242
|
-
};
|
|
243
|
+
headers = headers.map((header) => {
|
|
244
|
+
if (header.name.toLowerCase() === "content-length")
|
|
245
|
+
return { name: header.name, value: overrides.postData.byteLength.toString() };
|
|
243
246
|
return header;
|
|
244
247
|
});
|
|
245
248
|
}
|
|
246
249
|
this._alreadyContinuedHeaders = headers;
|
|
247
|
-
await this._session.sendMayFail(
|
|
250
|
+
await this._session.sendMayFail("network.continueRequest", {
|
|
248
251
|
request: this._requestId,
|
|
249
252
|
url: overrides.url,
|
|
250
253
|
method: overrides.method,
|
|
251
254
|
...toBidiRequestHeaders(this._alreadyContinuedHeaders),
|
|
252
|
-
body: overrides.postData ? {
|
|
253
|
-
type: 'base64',
|
|
254
|
-
value: Buffer.from(overrides.postData).toString('base64')
|
|
255
|
-
} : undefined
|
|
255
|
+
body: overrides.postData ? { type: "base64", value: Buffer.from(overrides.postData).toString("base64") } : void 0
|
|
256
256
|
});
|
|
257
257
|
}
|
|
258
258
|
async fulfill(response) {
|
|
259
|
-
const base64body = response.isBase64 ? response.body : Buffer.from(response.body).toString(
|
|
260
|
-
await this._session.sendMayFail(
|
|
259
|
+
const base64body = response.isBase64 ? response.body : Buffer.from(response.body).toString("base64");
|
|
260
|
+
await this._session.sendMayFail("network.provideResponse", {
|
|
261
261
|
request: this._requestId,
|
|
262
262
|
statusCode: response.status,
|
|
263
263
|
reasonPhrase: network.statusText(response.status),
|
|
264
264
|
...toBidiResponseHeaders(response.headers),
|
|
265
|
-
body: {
|
|
266
|
-
type: 'base64',
|
|
267
|
-
value: base64body
|
|
268
|
-
}
|
|
265
|
+
body: { type: "base64", value: base64body }
|
|
269
266
|
});
|
|
270
267
|
}
|
|
271
268
|
async abort(errorCode) {
|
|
272
|
-
await this._session.sendMayFail(
|
|
269
|
+
await this._session.sendMayFail("network.failRequest", {
|
|
273
270
|
request: this._requestId
|
|
274
271
|
});
|
|
275
272
|
}
|
|
276
273
|
}
|
|
277
274
|
function fromBidiHeaders(bidiHeaders) {
|
|
278
275
|
const result = [];
|
|
279
|
-
for (const {
|
|
280
|
-
name,
|
|
281
|
-
value
|
|
282
|
-
} of bidiHeaders) result.push({
|
|
283
|
-
name,
|
|
284
|
-
value: bidiBytesValueToString(value)
|
|
285
|
-
});
|
|
276
|
+
for (const { name, value } of bidiHeaders)
|
|
277
|
+
result.push({ name, value: bidiBytesValueToString(value) });
|
|
286
278
|
return result;
|
|
287
279
|
}
|
|
288
280
|
function toBidiRequestHeaders(allHeaders) {
|
|
289
281
|
const bidiHeaders = toBidiHeaders(allHeaders);
|
|
290
|
-
|
|
291
|
-
const headers = bidiHeaders.filter(h => h.name.toLowerCase() !== 'cookie');
|
|
292
|
-
return {
|
|
293
|
-
cookies,
|
|
294
|
-
headers
|
|
295
|
-
};
|
|
282
|
+
return { headers: bidiHeaders };
|
|
296
283
|
}
|
|
297
284
|
function toBidiResponseHeaders(headers) {
|
|
298
|
-
const setCookieHeaders = headers.filter(h => h.name.toLowerCase() ===
|
|
299
|
-
const otherHeaders = headers.filter(h => h.name.toLowerCase() !==
|
|
300
|
-
const rawCookies = setCookieHeaders.map(h => (0,
|
|
301
|
-
const cookies = rawCookies.filter(Boolean).map(c => {
|
|
285
|
+
const setCookieHeaders = headers.filter((h) => h.name.toLowerCase() === "set-cookie");
|
|
286
|
+
const otherHeaders = headers.filter((h) => h.name.toLowerCase() !== "set-cookie");
|
|
287
|
+
const rawCookies = setCookieHeaders.map((h) => (0, import_cookieStore.parseRawCookie)(h.value));
|
|
288
|
+
const cookies = rawCookies.filter(Boolean).map((c) => {
|
|
302
289
|
return {
|
|
303
290
|
...c,
|
|
304
|
-
value: {
|
|
305
|
-
type: 'string',
|
|
306
|
-
value: c.value
|
|
307
|
-
},
|
|
291
|
+
value: { type: "string", value: c.value },
|
|
308
292
|
sameSite: toBidiSameSite(c.sameSite)
|
|
309
293
|
};
|
|
310
294
|
});
|
|
311
|
-
return {
|
|
312
|
-
cookies,
|
|
313
|
-
headers: toBidiHeaders(otherHeaders)
|
|
314
|
-
};
|
|
295
|
+
return { cookies, headers: toBidiHeaders(otherHeaders) };
|
|
315
296
|
}
|
|
316
297
|
function toBidiHeaders(headers) {
|
|
317
|
-
return headers.map(({
|
|
318
|
-
name,
|
|
319
|
-
value
|
|
320
|
-
}) => ({
|
|
321
|
-
name,
|
|
322
|
-
value: {
|
|
323
|
-
type: 'string',
|
|
324
|
-
value
|
|
325
|
-
}
|
|
326
|
-
}));
|
|
298
|
+
return headers.map(({ name, value }) => ({ name, value: { type: "string", value } }));
|
|
327
299
|
}
|
|
328
300
|
function bidiBytesValueToString(value) {
|
|
329
|
-
if (value.type ===
|
|
330
|
-
|
|
331
|
-
|
|
301
|
+
if (value.type === "string")
|
|
302
|
+
return value.value;
|
|
303
|
+
if (value.type === "base64")
|
|
304
|
+
return Buffer.from(value.type, "base64").toString("binary");
|
|
305
|
+
return "unknown value type: " + value.type;
|
|
332
306
|
}
|
|
333
307
|
function toBidiSameSite(sameSite) {
|
|
334
|
-
if (!sameSite)
|
|
335
|
-
|
|
336
|
-
if (sameSite ===
|
|
308
|
+
if (!sameSite)
|
|
309
|
+
return void 0;
|
|
310
|
+
if (sameSite === "Strict")
|
|
311
|
+
return bidi.Network.SameSite.Strict;
|
|
312
|
+
if (sameSite === "Lax")
|
|
313
|
+
return bidi.Network.SameSite.Lax;
|
|
337
314
|
return bidi.Network.SameSite.None;
|
|
338
|
-
}
|
|
315
|
+
}
|
|
316
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
317
|
+
0 && (module.exports = {
|
|
318
|
+
BidiNetworkManager,
|
|
319
|
+
bidiBytesValueToString
|
|
320
|
+
});
|
|
@@ -1,80 +1,79 @@
|
|
|
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 bidiOverCdp_exports = {};
|
|
30
|
+
__export(bidiOverCdp_exports, {
|
|
31
|
+
connectBidiOverCdp: () => connectBidiOverCdp
|
|
5
32
|
});
|
|
6
|
-
exports
|
|
7
|
-
var bidiMapper =
|
|
8
|
-
var bidiCdpConnection =
|
|
9
|
-
var
|
|
10
|
-
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); }
|
|
11
|
-
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 && Object.prototype.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; }
|
|
12
|
-
/**
|
|
13
|
-
* Copyright (c) Microsoft Corporation.
|
|
14
|
-
*
|
|
15
|
-
* Licensed under the Apache License, Version 2.0 (the 'License');
|
|
16
|
-
* you may not use this file except in compliance with the License.
|
|
17
|
-
* You may obtain a copy of the License at
|
|
18
|
-
*
|
|
19
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
20
|
-
*
|
|
21
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
22
|
-
* distributed under the License is distributed on an 'AS IS' BASIS,
|
|
23
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
24
|
-
* See the License for the specific language governing permissions and
|
|
25
|
-
* limitations under the License.
|
|
26
|
-
*/
|
|
27
|
-
|
|
33
|
+
module.exports = __toCommonJS(bidiOverCdp_exports);
|
|
34
|
+
var bidiMapper = __toESM(require("chromium-bidi/lib/cjs/bidiMapper/BidiMapper"));
|
|
35
|
+
var bidiCdpConnection = __toESM(require("chromium-bidi/lib/cjs/cdp/CdpConnection"));
|
|
36
|
+
var import_debugLogger = require("../utils/debugLogger");
|
|
28
37
|
const bidiServerLogger = (prefix, ...args) => {
|
|
29
|
-
|
|
38
|
+
import_debugLogger.debugLogger.log(prefix, args);
|
|
30
39
|
};
|
|
31
40
|
async function connectBidiOverCdp(cdp) {
|
|
32
|
-
let server =
|
|
41
|
+
let server = void 0;
|
|
33
42
|
const bidiTransport = new BidiTransportImpl();
|
|
34
|
-
const bidiConnection = new BidiConnection(bidiTransport, () =>
|
|
35
|
-
var _server;
|
|
36
|
-
return (_server = server) === null || _server === void 0 ? void 0 : _server.close();
|
|
37
|
-
});
|
|
43
|
+
const bidiConnection = new BidiConnection(bidiTransport, () => server?.close());
|
|
38
44
|
const cdpTransportImpl = new CdpTransportImpl(cdp);
|
|
39
45
|
const cdpConnection = new bidiCdpConnection.MapperCdpConnection(cdpTransportImpl, bidiServerLogger);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
+
cdp.onclose = () => bidiConnection.onclose?.();
|
|
47
|
+
server = await bidiMapper.BidiServer.createAndStart(
|
|
48
|
+
bidiTransport,
|
|
49
|
+
cdpConnection,
|
|
50
|
+
await cdpConnection.createBrowserSession(),
|
|
51
|
+
/* selfTargetId= */
|
|
52
|
+
"",
|
|
53
|
+
void 0,
|
|
54
|
+
bidiServerLogger
|
|
55
|
+
);
|
|
46
56
|
return bidiConnection;
|
|
47
57
|
}
|
|
48
58
|
class BidiTransportImpl {
|
|
49
|
-
constructor() {
|
|
50
|
-
this._handler = void 0;
|
|
51
|
-
this._bidiConnection = void 0;
|
|
52
|
-
}
|
|
53
59
|
setOnMessage(handler) {
|
|
54
60
|
this._handler = handler;
|
|
55
61
|
}
|
|
56
62
|
sendMessage(message) {
|
|
57
|
-
|
|
58
|
-
return (_this$_bidiConnection = (_this$_bidiConnection2 = this._bidiConnection).onmessage) === null || _this$_bidiConnection === void 0 ? void 0 : _this$_bidiConnection.call(_this$_bidiConnection2, message);
|
|
63
|
+
return this._bidiConnection.onmessage?.(message);
|
|
59
64
|
}
|
|
60
65
|
close() {
|
|
61
|
-
|
|
62
|
-
(_this$_bidiConnection3 = (_this$_bidiConnection4 = this._bidiConnection).onclose) === null || _this$_bidiConnection3 === void 0 || _this$_bidiConnection3.call(_this$_bidiConnection4);
|
|
66
|
+
this._bidiConnection.onclose?.();
|
|
63
67
|
}
|
|
64
68
|
}
|
|
65
69
|
class BidiConnection {
|
|
66
70
|
constructor(bidiTransport, closeCallback) {
|
|
67
|
-
this._bidiTransport = void 0;
|
|
68
|
-
this._closeCallback = void 0;
|
|
69
|
-
this.onmessage = void 0;
|
|
70
|
-
this.onclose = void 0;
|
|
71
71
|
this._bidiTransport = bidiTransport;
|
|
72
72
|
this._bidiTransport._bidiConnection = this;
|
|
73
73
|
this._closeCallback = closeCallback;
|
|
74
74
|
}
|
|
75
75
|
send(s) {
|
|
76
|
-
|
|
77
|
-
(_this$_bidiTransport$ = (_this$_bidiTransport = this._bidiTransport)._handler) === null || _this$_bidiTransport$ === void 0 || _this$_bidiTransport$.call(_this$_bidiTransport, s);
|
|
76
|
+
this._bidiTransport._handler?.(s);
|
|
78
77
|
}
|
|
79
78
|
close() {
|
|
80
79
|
this._closeCallback();
|
|
@@ -82,13 +81,9 @@ class BidiConnection {
|
|
|
82
81
|
}
|
|
83
82
|
class CdpTransportImpl {
|
|
84
83
|
constructor(connection) {
|
|
85
|
-
this._connection = void 0;
|
|
86
|
-
this._handler = void 0;
|
|
87
|
-
this._bidiConnection = void 0;
|
|
88
84
|
this._connection = connection;
|
|
89
|
-
this._connection.onmessage = message => {
|
|
90
|
-
|
|
91
|
-
(_this$_handler = this._handler) === null || _this$_handler === void 0 || _this$_handler.call(this, JSON.stringify(message));
|
|
85
|
+
this._connection.onmessage = (message) => {
|
|
86
|
+
this._handler?.(JSON.stringify(message));
|
|
92
87
|
};
|
|
93
88
|
}
|
|
94
89
|
setOnMessage(handler) {
|
|
@@ -100,4 +95,8 @@ class CdpTransportImpl {
|
|
|
100
95
|
close() {
|
|
101
96
|
this._connection.close();
|
|
102
97
|
}
|
|
103
|
-
}
|
|
98
|
+
}
|
|
99
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
100
|
+
0 && (module.exports = {
|
|
101
|
+
connectBidiOverCdp
|
|
102
|
+
});
|