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
package/lib/server/javascript.js
CHANGED
|
@@ -1,47 +1,61 @@
|
|
|
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 javascript_exports = {};
|
|
30
|
+
__export(javascript_exports, {
|
|
31
|
+
ExecutionContext: () => ExecutionContext,
|
|
32
|
+
JSHandle: () => JSHandle,
|
|
33
|
+
JavaScriptErrorInEvaluate: () => JavaScriptErrorInEvaluate,
|
|
34
|
+
evaluate: () => evaluate,
|
|
35
|
+
evaluateExpression: () => evaluateExpression,
|
|
36
|
+
isJavaScriptErrorInEvaluate: () => isJavaScriptErrorInEvaluate,
|
|
37
|
+
normalizeEvaluationExpression: () => normalizeEvaluationExpression,
|
|
38
|
+
parseEvaluationResultValue: () => parseEvaluationResultValue,
|
|
39
|
+
parseUnserializableValue: () => parseUnserializableValue,
|
|
40
|
+
serializeAsCallArgument: () => serializeAsCallArgument,
|
|
41
|
+
sparseArrayToString: () => sparseArrayToString
|
|
5
42
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var _utils = require("../utils");
|
|
18
|
-
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); }
|
|
19
|
-
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; }
|
|
20
|
-
/**
|
|
21
|
-
* Copyright (c) Microsoft Corporation.
|
|
22
|
-
*
|
|
23
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
24
|
-
* you may not use this file except in compliance with the License.
|
|
25
|
-
* You may obtain a copy of the License at
|
|
26
|
-
*
|
|
27
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
28
|
-
*
|
|
29
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
30
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
31
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
32
|
-
* See the License for the specific language governing permissions and
|
|
33
|
-
* limitations under the License.
|
|
34
|
-
*/
|
|
35
|
-
|
|
36
|
-
class ExecutionContext extends _instrumentation.SdkObject {
|
|
43
|
+
module.exports = __toCommonJS(javascript_exports);
|
|
44
|
+
var import_instrumentation = require("./instrumentation");
|
|
45
|
+
var utilityScriptSource = __toESM(require("../generated/utilityScriptSource"));
|
|
46
|
+
var import_utils = require("../utils");
|
|
47
|
+
var import_builtins = require("../utils/isomorphic/builtins");
|
|
48
|
+
var import_utilityScriptSerializers = require("../utils/isomorphic/utilityScriptSerializers");
|
|
49
|
+
var import_manualPromise = require("../utils/isomorphic/manualPromise");
|
|
50
|
+
const utilityScriptSerializers = (0, import_utilityScriptSerializers.source)((0, import_builtins.builtins)());
|
|
51
|
+
const parseEvaluationResultValue = utilityScriptSerializers.parseEvaluationResultValue;
|
|
52
|
+
const serializeAsCallArgument = utilityScriptSerializers.serializeAsCallArgument;
|
|
53
|
+
class ExecutionContext extends import_instrumentation.SdkObject {
|
|
37
54
|
constructor(parent, delegate, worldNameForTest) {
|
|
38
|
-
super(parent,
|
|
39
|
-
this.
|
|
40
|
-
this._utilityScriptPromise = void 0;
|
|
41
|
-
this._contextDestroyedScope = new _manualPromise.LongStandingScope();
|
|
42
|
-
this.worldNameForTest = void 0;
|
|
55
|
+
super(parent, "execution-context");
|
|
56
|
+
this._contextDestroyedScope = new import_manualPromise.LongStandingScope();
|
|
43
57
|
this.worldNameForTest = worldNameForTest;
|
|
44
|
-
this.
|
|
58
|
+
this.delegate = delegate;
|
|
45
59
|
}
|
|
46
60
|
contextDestroyed(reason) {
|
|
47
61
|
this._contextDestroyedScope.close(new Error(reason));
|
|
@@ -50,90 +64,76 @@ class ExecutionContext extends _instrumentation.SdkObject {
|
|
|
50
64
|
return this._contextDestroyedScope.race(promise);
|
|
51
65
|
}
|
|
52
66
|
rawEvaluateJSON(expression) {
|
|
53
|
-
return this._raceAgainstContextDestroyed(this.
|
|
67
|
+
return this._raceAgainstContextDestroyed(this.delegate.rawEvaluateJSON(expression));
|
|
54
68
|
}
|
|
55
69
|
rawEvaluateHandle(expression) {
|
|
56
|
-
return this._raceAgainstContextDestroyed(this.
|
|
70
|
+
return this._raceAgainstContextDestroyed(this.delegate.rawEvaluateHandle(this, expression));
|
|
57
71
|
}
|
|
58
|
-
evaluateWithArguments(expression, returnByValue,
|
|
59
|
-
|
|
72
|
+
async evaluateWithArguments(expression, returnByValue, values, handles) {
|
|
73
|
+
const utilityScript = await this._utilityScript();
|
|
74
|
+
return this._raceAgainstContextDestroyed(this.delegate.evaluateWithArguments(expression, returnByValue, utilityScript, values, handles));
|
|
60
75
|
}
|
|
61
|
-
getProperties(
|
|
62
|
-
return this._raceAgainstContextDestroyed(this.
|
|
76
|
+
getProperties(object) {
|
|
77
|
+
return this._raceAgainstContextDestroyed(this.delegate.getProperties(object));
|
|
63
78
|
}
|
|
64
|
-
|
|
65
|
-
return this.
|
|
66
|
-
}
|
|
67
|
-
releaseHandle(objectId) {
|
|
68
|
-
return this._delegate.releaseHandle(objectId);
|
|
79
|
+
releaseHandle(handle) {
|
|
80
|
+
return this.delegate.releaseHandle(handle);
|
|
69
81
|
}
|
|
70
82
|
adoptIfNeeded(handle) {
|
|
71
83
|
return null;
|
|
72
84
|
}
|
|
73
|
-
|
|
85
|
+
_utilityScript() {
|
|
74
86
|
if (!this._utilityScriptPromise) {
|
|
75
|
-
const
|
|
87
|
+
const source2 = `
|
|
76
88
|
(() => {
|
|
77
89
|
const module = {};
|
|
78
90
|
${utilityScriptSource.source}
|
|
79
|
-
return new (module.exports.UtilityScript())(${(0,
|
|
91
|
+
return new (module.exports.UtilityScript())(${(0, import_utils.isUnderTest)()});
|
|
80
92
|
})();`;
|
|
81
|
-
this._utilityScriptPromise = this._raceAgainstContextDestroyed(this.
|
|
93
|
+
this._utilityScriptPromise = this._raceAgainstContextDestroyed(this.delegate.rawEvaluateHandle(this, source2)).then((handle) => {
|
|
94
|
+
handle._setPreview("UtilityScript");
|
|
95
|
+
return handle;
|
|
96
|
+
});
|
|
82
97
|
}
|
|
83
98
|
return this._utilityScriptPromise;
|
|
84
99
|
}
|
|
85
100
|
async doSlowMo() {
|
|
86
|
-
// overridden in FrameExecutionContext
|
|
87
101
|
}
|
|
88
102
|
}
|
|
89
|
-
|
|
90
|
-
class JSHandle extends _instrumentation.SdkObject {
|
|
103
|
+
class JSHandle extends import_instrumentation.SdkObject {
|
|
91
104
|
constructor(context, type, preview, objectId, value) {
|
|
92
|
-
super(context,
|
|
105
|
+
super(context, "handle");
|
|
93
106
|
this.__jshandle = true;
|
|
94
|
-
this._context = void 0;
|
|
95
107
|
this._disposed = false;
|
|
96
|
-
this._objectId = void 0;
|
|
97
|
-
this._value = void 0;
|
|
98
|
-
this._objectType = void 0;
|
|
99
|
-
this._preview = void 0;
|
|
100
|
-
this._previewCallback = void 0;
|
|
101
108
|
this._context = context;
|
|
102
109
|
this._objectId = objectId;
|
|
103
110
|
this._value = value;
|
|
104
111
|
this._objectType = type;
|
|
105
112
|
this._preview = this._objectId ? preview || `JSHandle@${this._objectType}` : String(value);
|
|
106
|
-
if (this._objectId && globalThis.leakedJSHandles)
|
|
113
|
+
if (this._objectId && globalThis.leakedJSHandles)
|
|
114
|
+
globalThis.leakedJSHandles.set(this, new Error("Leaked JSHandle"));
|
|
107
115
|
}
|
|
108
116
|
async evaluate(pageFunction, arg) {
|
|
109
|
-
return evaluate(this._context, true
|
|
117
|
+
return evaluate(this._context, true, pageFunction, this, arg);
|
|
110
118
|
}
|
|
111
119
|
async evaluateHandle(pageFunction, arg) {
|
|
112
|
-
return evaluate(this._context, false
|
|
120
|
+
return evaluate(this._context, false, pageFunction, this, arg);
|
|
113
121
|
}
|
|
114
122
|
async evaluateExpression(expression, options, arg) {
|
|
115
|
-
const value = await evaluateExpression(this._context, expression, {
|
|
116
|
-
...options,
|
|
117
|
-
returnByValue: true
|
|
118
|
-
}, this, arg);
|
|
123
|
+
const value = await evaluateExpression(this._context, expression, { ...options, returnByValue: true }, this, arg);
|
|
119
124
|
await this._context.doSlowMo();
|
|
120
125
|
return value;
|
|
121
126
|
}
|
|
122
127
|
async evaluateExpressionHandle(expression, options, arg) {
|
|
123
|
-
const value = await evaluateExpression(this._context, expression, {
|
|
124
|
-
...options,
|
|
125
|
-
returnByValue: false
|
|
126
|
-
}, this, arg);
|
|
128
|
+
const value = await evaluateExpression(this._context, expression, { ...options, returnByValue: false }, this, arg);
|
|
127
129
|
await this._context.doSlowMo();
|
|
128
130
|
return value;
|
|
129
131
|
}
|
|
130
132
|
async getProperty(propertyName) {
|
|
131
|
-
const objectHandle = await this.evaluateHandle((object,
|
|
132
|
-
const
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
result[propertyName] = object[propertyName];
|
|
136
|
-
return result;
|
|
133
|
+
const objectHandle = await this.evaluateHandle((object, propertyName2) => {
|
|
134
|
+
const result2 = { __proto__: null };
|
|
135
|
+
result2[propertyName2] = object[propertyName2];
|
|
136
|
+
return result2;
|
|
137
137
|
}, propertyName);
|
|
138
138
|
const properties = await objectHandle.getProperties();
|
|
139
139
|
const result = properties.get(propertyName);
|
|
@@ -141,27 +141,31 @@ class JSHandle extends _instrumentation.SdkObject {
|
|
|
141
141
|
return result;
|
|
142
142
|
}
|
|
143
143
|
async getProperties() {
|
|
144
|
-
if (!this._objectId)
|
|
145
|
-
|
|
144
|
+
if (!this._objectId)
|
|
145
|
+
return /* @__PURE__ */ new Map();
|
|
146
|
+
return this._context.getProperties(this);
|
|
146
147
|
}
|
|
147
148
|
rawValue() {
|
|
148
149
|
return this._value;
|
|
149
150
|
}
|
|
150
151
|
async jsonValue() {
|
|
151
|
-
if (!this._objectId)
|
|
152
|
-
|
|
152
|
+
if (!this._objectId)
|
|
153
|
+
return this._value;
|
|
153
154
|
const script = `(utilityScript, ...args) => utilityScript.jsonValue(...args)`;
|
|
154
|
-
return this._context.evaluateWithArguments(script, true,
|
|
155
|
+
return this._context.evaluateWithArguments(script, true, [true], [this]);
|
|
155
156
|
}
|
|
156
157
|
asElement() {
|
|
157
158
|
return null;
|
|
158
159
|
}
|
|
159
160
|
dispose() {
|
|
160
|
-
if (this._disposed)
|
|
161
|
+
if (this._disposed)
|
|
162
|
+
return;
|
|
161
163
|
this._disposed = true;
|
|
162
164
|
if (this._objectId) {
|
|
163
|
-
this._context.releaseHandle(this
|
|
164
|
-
|
|
165
|
+
this._context.releaseHandle(this).catch((e) => {
|
|
166
|
+
});
|
|
167
|
+
if (globalThis.leakedJSHandles)
|
|
168
|
+
globalThis.leakedJSHandles.delete(this);
|
|
165
169
|
}
|
|
166
170
|
}
|
|
167
171
|
toString() {
|
|
@@ -178,116 +182,118 @@ class JSHandle extends _instrumentation.SdkObject {
|
|
|
178
182
|
}
|
|
179
183
|
_setPreview(preview) {
|
|
180
184
|
this._preview = preview;
|
|
181
|
-
if (this._previewCallback)
|
|
185
|
+
if (this._previewCallback)
|
|
186
|
+
this._previewCallback(preview);
|
|
182
187
|
}
|
|
183
188
|
}
|
|
184
|
-
exports.JSHandle = JSHandle;
|
|
185
189
|
async function evaluate(context, returnByValue, pageFunction, ...args) {
|
|
186
|
-
return evaluateExpression(context, String(pageFunction), {
|
|
187
|
-
returnByValue,
|
|
188
|
-
isFunction: typeof pageFunction === 'function'
|
|
189
|
-
}, ...args);
|
|
190
|
+
return evaluateExpression(context, String(pageFunction), { returnByValue, isFunction: typeof pageFunction === "function" }, ...args);
|
|
190
191
|
}
|
|
191
192
|
async function evaluateExpression(context, expression, options, ...args) {
|
|
192
|
-
const utilityScript = await context.utilityScript();
|
|
193
193
|
expression = normalizeEvaluationExpression(expression, options.isFunction);
|
|
194
194
|
const handles = [];
|
|
195
195
|
const toDispose = [];
|
|
196
|
-
const pushHandle = handle => {
|
|
196
|
+
const pushHandle = (handle) => {
|
|
197
197
|
handles.push(handle);
|
|
198
198
|
return handles.length - 1;
|
|
199
199
|
};
|
|
200
|
-
args = args.map(arg =>
|
|
200
|
+
args = args.map((arg) => serializeAsCallArgument(arg, (handle) => {
|
|
201
201
|
if (handle instanceof JSHandle) {
|
|
202
|
-
if (!handle._objectId)
|
|
203
|
-
fallThrough: handle._value
|
|
204
|
-
|
|
205
|
-
|
|
202
|
+
if (!handle._objectId)
|
|
203
|
+
return { fallThrough: handle._value };
|
|
204
|
+
if (handle._disposed)
|
|
205
|
+
throw new JavaScriptErrorInEvaluate("JSHandle is disposed!");
|
|
206
206
|
const adopted = context.adoptIfNeeded(handle);
|
|
207
|
-
if (adopted === null)
|
|
208
|
-
h: pushHandle(Promise.resolve(handle))
|
|
209
|
-
};
|
|
207
|
+
if (adopted === null)
|
|
208
|
+
return { h: pushHandle(Promise.resolve(handle)) };
|
|
210
209
|
toDispose.push(adopted);
|
|
211
|
-
return {
|
|
212
|
-
h: pushHandle(adopted)
|
|
213
|
-
};
|
|
210
|
+
return { h: pushHandle(adopted) };
|
|
214
211
|
}
|
|
215
|
-
return {
|
|
216
|
-
fallThrough: handle
|
|
217
|
-
};
|
|
212
|
+
return { fallThrough: handle };
|
|
218
213
|
}));
|
|
219
|
-
const
|
|
214
|
+
const utilityScriptObjects = [];
|
|
220
215
|
for (const handle of await Promise.all(handles)) {
|
|
221
|
-
if (handle._context !== context)
|
|
222
|
-
|
|
216
|
+
if (handle._context !== context)
|
|
217
|
+
throw new JavaScriptErrorInEvaluate("JSHandles can be evaluated only in the context they were created!");
|
|
218
|
+
utilityScriptObjects.push(handle);
|
|
223
219
|
}
|
|
224
|
-
|
|
225
|
-
// See UtilityScript for arguments.
|
|
226
220
|
const utilityScriptValues = [options.isFunction, options.returnByValue, expression, args.length, ...args];
|
|
227
221
|
const script = `(utilityScript, ...args) => utilityScript.evaluate(...args)`;
|
|
228
222
|
try {
|
|
229
|
-
return await context.evaluateWithArguments(script, options.returnByValue || false,
|
|
223
|
+
return await context.evaluateWithArguments(script, options.returnByValue || false, utilityScriptValues, utilityScriptObjects);
|
|
230
224
|
} finally {
|
|
231
|
-
toDispose.map(handlePromise => handlePromise.then(handle => handle.dispose()));
|
|
225
|
+
toDispose.map((handlePromise) => handlePromise.then((handle) => handle.dispose()));
|
|
232
226
|
}
|
|
233
227
|
}
|
|
234
228
|
function parseUnserializableValue(unserializableValue) {
|
|
235
|
-
if (unserializableValue ===
|
|
236
|
-
|
|
237
|
-
if (unserializableValue ===
|
|
238
|
-
|
|
229
|
+
if (unserializableValue === "NaN")
|
|
230
|
+
return NaN;
|
|
231
|
+
if (unserializableValue === "Infinity")
|
|
232
|
+
return Infinity;
|
|
233
|
+
if (unserializableValue === "-Infinity")
|
|
234
|
+
return -Infinity;
|
|
235
|
+
if (unserializableValue === "-0")
|
|
236
|
+
return -0;
|
|
239
237
|
}
|
|
240
238
|
function normalizeEvaluationExpression(expression, isFunction) {
|
|
241
239
|
expression = expression.trim();
|
|
242
240
|
if (isFunction) {
|
|
243
241
|
try {
|
|
244
|
-
new Function(
|
|
242
|
+
new Function("(" + expression + ")");
|
|
245
243
|
} catch (e1) {
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
244
|
+
if (expression.startsWith("async "))
|
|
245
|
+
expression = "async function " + expression.substring("async ".length);
|
|
246
|
+
else
|
|
247
|
+
expression = "function " + expression;
|
|
249
248
|
try {
|
|
250
|
-
new Function(
|
|
249
|
+
new Function("(" + expression + ")");
|
|
251
250
|
} catch (e2) {
|
|
252
|
-
|
|
253
|
-
throw new Error('Passed function is not well-serializable!');
|
|
251
|
+
throw new Error("Passed function is not well-serializable!");
|
|
254
252
|
}
|
|
255
253
|
}
|
|
256
254
|
}
|
|
257
|
-
if (/^(async)?\s*function(\s|\()/.test(expression))
|
|
255
|
+
if (/^(async)?\s*function(\s|\()/.test(expression))
|
|
256
|
+
expression = "(" + expression + ")";
|
|
258
257
|
return expression;
|
|
259
258
|
}
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
class JavaScriptErrorInEvaluate extends Error {}
|
|
263
|
-
exports.JavaScriptErrorInEvaluate = JavaScriptErrorInEvaluate;
|
|
259
|
+
class JavaScriptErrorInEvaluate extends Error {
|
|
260
|
+
}
|
|
264
261
|
function isJavaScriptErrorInEvaluate(error) {
|
|
265
262
|
return error instanceof JavaScriptErrorInEvaluate;
|
|
266
263
|
}
|
|
267
264
|
function sparseArrayToString(entries) {
|
|
268
265
|
const arrayEntries = [];
|
|
269
|
-
for (const {
|
|
270
|
-
name,
|
|
271
|
-
value
|
|
272
|
-
} of entries) {
|
|
266
|
+
for (const { name, value } of entries) {
|
|
273
267
|
const index = +name;
|
|
274
|
-
if (isNaN(index) || index < 0)
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
value
|
|
278
|
-
});
|
|
268
|
+
if (isNaN(index) || index < 0)
|
|
269
|
+
continue;
|
|
270
|
+
arrayEntries.push({ index, value });
|
|
279
271
|
}
|
|
280
272
|
arrayEntries.sort((a, b) => a.index - b.index);
|
|
281
273
|
let lastIndex = -1;
|
|
282
274
|
const tokens = [];
|
|
283
|
-
for (const {
|
|
284
|
-
index,
|
|
285
|
-
value
|
|
286
|
-
} of arrayEntries) {
|
|
275
|
+
for (const { index, value } of arrayEntries) {
|
|
287
276
|
const emptyItems = index - lastIndex - 1;
|
|
288
|
-
if (emptyItems === 1)
|
|
277
|
+
if (emptyItems === 1)
|
|
278
|
+
tokens.push(`empty`);
|
|
279
|
+
else if (emptyItems > 1)
|
|
280
|
+
tokens.push(`empty x ${emptyItems}`);
|
|
289
281
|
tokens.push(String(value));
|
|
290
282
|
lastIndex = index;
|
|
291
283
|
}
|
|
292
|
-
return
|
|
293
|
-
}
|
|
284
|
+
return "[" + tokens.join(", ") + "]";
|
|
285
|
+
}
|
|
286
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
287
|
+
0 && (module.exports = {
|
|
288
|
+
ExecutionContext,
|
|
289
|
+
JSHandle,
|
|
290
|
+
JavaScriptErrorInEvaluate,
|
|
291
|
+
evaluate,
|
|
292
|
+
evaluateExpression,
|
|
293
|
+
isJavaScriptErrorInEvaluate,
|
|
294
|
+
normalizeEvaluationExpression,
|
|
295
|
+
parseEvaluationResultValue,
|
|
296
|
+
parseUnserializableValue,
|
|
297
|
+
serializeAsCallArgument,
|
|
298
|
+
sparseArrayToString
|
|
299
|
+
});
|
package/lib/server/launchApp.js
CHANGED
|
@@ -1,91 +1,110 @@
|
|
|
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 launchApp_exports = {};
|
|
30
|
+
__export(launchApp_exports, {
|
|
31
|
+
launchApp: () => launchApp,
|
|
32
|
+
syncLocalStorageWithSettings: () => syncLocalStorageWithSettings
|
|
5
33
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
var
|
|
12
|
-
var
|
|
13
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
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(launchApp_exports);
|
|
35
|
+
var import_fs = __toESM(require("fs"));
|
|
36
|
+
var import_path = __toESM(require("path"));
|
|
37
|
+
var import_utils = require("../utils");
|
|
38
|
+
var import_instrumentation = require("./instrumentation");
|
|
39
|
+
var import_registry = require("./registry");
|
|
40
|
+
var import_registry2 = require("./registry");
|
|
30
41
|
async function launchApp(browserType, options) {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
if (browserType.name() ===
|
|
34
|
-
args.push(
|
|
42
|
+
const args = [...options.persistentContextOptions?.args ?? []];
|
|
43
|
+
let channel = options.persistentContextOptions?.channel;
|
|
44
|
+
if (browserType.name() === "chromium") {
|
|
45
|
+
args.push(
|
|
46
|
+
"--app=data:text/html,",
|
|
47
|
+
`--window-size=${options.windowSize.width},${options.windowSize.height}`,
|
|
48
|
+
...options.windowPosition ? [`--window-position=${options.windowPosition.x},${options.windowPosition.y}`] : [],
|
|
49
|
+
"--test-type="
|
|
50
|
+
);
|
|
51
|
+
if (!channel && !options.persistentContextOptions?.executablePath)
|
|
52
|
+
channel = (0, import_registry.findChromiumChannel)(options.sdkLanguage);
|
|
35
53
|
}
|
|
36
|
-
const context = await browserType.launchPersistentContext((0,
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
acceptDownloads: (0,
|
|
42
|
-
|
|
54
|
+
const context = await browserType.launchPersistentContext((0, import_instrumentation.serverSideCallMetadata)(), "", {
|
|
55
|
+
ignoreDefaultArgs: ["--enable-automation"],
|
|
56
|
+
...options?.persistentContextOptions,
|
|
57
|
+
channel,
|
|
58
|
+
noDefaultViewport: options.persistentContextOptions?.noDefaultViewport ?? true,
|
|
59
|
+
acceptDownloads: options?.persistentContextOptions?.acceptDownloads ?? ((0, import_utils.isUnderTest)() ? "accept" : "internal-browser-default"),
|
|
60
|
+
colorScheme: options?.persistentContextOptions?.colorScheme ?? "no-override",
|
|
43
61
|
args
|
|
44
62
|
});
|
|
45
63
|
const [page] = context.pages();
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
context.on('page', async newPage => {
|
|
50
|
-
if (newPage.mainFrame().url() === 'chrome://new-tab-page/') {
|
|
64
|
+
if (browserType.name() === "chromium" && process.platform === "darwin") {
|
|
65
|
+
context.on("page", async (newPage) => {
|
|
66
|
+
if (newPage.mainFrame().url() === "chrome://new-tab-page/") {
|
|
51
67
|
await page.bringToFront();
|
|
52
|
-
await newPage.close((0,
|
|
68
|
+
await newPage.close((0, import_instrumentation.serverSideCallMetadata)());
|
|
53
69
|
}
|
|
54
70
|
});
|
|
55
71
|
}
|
|
56
|
-
if (browserType.name() ===
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
page
|
|
60
|
-
};
|
|
72
|
+
if (browserType.name() === "chromium")
|
|
73
|
+
await installAppIcon(page);
|
|
74
|
+
return { context, page };
|
|
61
75
|
}
|
|
62
76
|
async function installAppIcon(page) {
|
|
63
|
-
const icon = await
|
|
77
|
+
const icon = await import_fs.default.promises.readFile(require.resolve("./chromium/appIcon.png"));
|
|
64
78
|
const crPage = page._delegate;
|
|
65
|
-
await crPage._mainFrameSession._client.send(
|
|
66
|
-
image: icon.toString(
|
|
79
|
+
await crPage._mainFrameSession._client.send("Browser.setDockTile", {
|
|
80
|
+
image: icon.toString("base64")
|
|
67
81
|
});
|
|
68
82
|
}
|
|
69
83
|
async function syncLocalStorageWithSettings(page, appName) {
|
|
70
|
-
if ((0,
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
_fs.default.writeFileSync(settingsFile, settings);
|
|
84
|
+
if ((0, import_utils.isUnderTest)())
|
|
85
|
+
return;
|
|
86
|
+
const settingsFile = import_path.default.join(import_registry2.registryDirectory, ".settings", `${appName}.json`);
|
|
87
|
+
await page.exposeBinding("_saveSerializedSettings", false, (_, settings2) => {
|
|
88
|
+
import_fs.default.mkdirSync(import_path.default.dirname(settingsFile), { recursive: true });
|
|
89
|
+
import_fs.default.writeFileSync(settingsFile, settings2);
|
|
77
90
|
});
|
|
78
|
-
const settings = await
|
|
79
|
-
await page.addInitScript(
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
`
|
|
91
|
-
|
|
91
|
+
const settings = await import_fs.default.promises.readFile(settingsFile, "utf-8").catch(() => "{}");
|
|
92
|
+
await page.addInitScript(
|
|
93
|
+
`(${String((settings2) => {
|
|
94
|
+
if (location && location.protocol === "data:")
|
|
95
|
+
return;
|
|
96
|
+
if (window.top !== window)
|
|
97
|
+
return;
|
|
98
|
+
Object.entries(settings2).map(([k, v]) => localStorage[k] = v);
|
|
99
|
+
window.saveSettings = () => {
|
|
100
|
+
window._saveSerializedSettings(JSON.stringify({ ...localStorage }));
|
|
101
|
+
};
|
|
102
|
+
})})(${settings});
|
|
103
|
+
`
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
107
|
+
0 && (module.exports = {
|
|
108
|
+
launchApp,
|
|
109
|
+
syncLocalStorageWithSettings
|
|
110
|
+
});
|