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,59 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.
|
|
4
|
-
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var inMemorySnapshotter_exports = {};
|
|
20
|
+
__export(inMemorySnapshotter_exports, {
|
|
21
|
+
InMemorySnapshotter: () => InMemorySnapshotter
|
|
5
22
|
});
|
|
6
|
-
exports
|
|
7
|
-
var
|
|
8
|
-
var
|
|
9
|
-
var
|
|
10
|
-
var
|
|
11
|
-
/**
|
|
12
|
-
* Copyright (c) Microsoft Corporation.
|
|
13
|
-
*
|
|
14
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
15
|
-
* you may not use this file except in compliance with the License.
|
|
16
|
-
* You may obtain a copy of the License at
|
|
17
|
-
*
|
|
18
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
19
|
-
*
|
|
20
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
21
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
22
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
23
|
-
* See the License for the specific language governing permissions and
|
|
24
|
-
* limitations under the License.
|
|
25
|
-
*/
|
|
26
|
-
|
|
23
|
+
module.exports = __toCommonJS(inMemorySnapshotter_exports);
|
|
24
|
+
var import_snapshotStorage = require("../../../../../trace-viewer/src/sw/snapshotStorage");
|
|
25
|
+
var import_utils = require("../../../utils");
|
|
26
|
+
var import_harTracer = require("../../har/harTracer");
|
|
27
|
+
var import_snapshotter = require("../recorder/snapshotter");
|
|
27
28
|
class InMemorySnapshotter {
|
|
28
29
|
constructor(context) {
|
|
29
|
-
this._blobs = new Map();
|
|
30
|
-
this.
|
|
31
|
-
this._harTracer = void 0;
|
|
32
|
-
this._snapshotReadyPromises = new Map();
|
|
33
|
-
this._storage = void 0;
|
|
30
|
+
this._blobs = /* @__PURE__ */ new Map();
|
|
31
|
+
this._snapshotReadyPromises = /* @__PURE__ */ new Map();
|
|
34
32
|
this._snapshotCount = 0;
|
|
35
|
-
this._snapshotter = new
|
|
36
|
-
this._harTracer = new
|
|
37
|
-
|
|
38
|
-
includeTraceInfo: true,
|
|
39
|
-
recordRequestOverrides: false,
|
|
40
|
-
waitForContentOnStop: false
|
|
41
|
-
});
|
|
42
|
-
this._storage = new _snapshotStorage.SnapshotStorage();
|
|
33
|
+
this._snapshotter = new import_snapshotter.Snapshotter(context, this);
|
|
34
|
+
this._harTracer = new import_harTracer.HarTracer(context, null, this, { content: "attach", includeTraceInfo: true, recordRequestOverrides: false, waitForContentOnStop: false });
|
|
35
|
+
this._storage = new import_snapshotStorage.SnapshotStorage();
|
|
43
36
|
}
|
|
44
37
|
async initialize() {
|
|
45
38
|
await this._snapshotter.start();
|
|
46
|
-
this._harTracer.start({
|
|
47
|
-
omitScripts: true
|
|
48
|
-
});
|
|
39
|
+
this._harTracer.start({ omitScripts: true });
|
|
49
40
|
}
|
|
50
41
|
async reset() {
|
|
51
42
|
await this._snapshotter.reset();
|
|
52
43
|
await this._harTracer.flush();
|
|
53
44
|
this._harTracer.stop();
|
|
54
|
-
this._harTracer.start({
|
|
55
|
-
omitScripts: true
|
|
56
|
-
});
|
|
45
|
+
this._harTracer.start({ omitScripts: true });
|
|
57
46
|
}
|
|
58
47
|
async dispose() {
|
|
59
48
|
this._snapshotter.dispose();
|
|
@@ -61,15 +50,18 @@ class InMemorySnapshotter {
|
|
|
61
50
|
this._harTracer.stop();
|
|
62
51
|
}
|
|
63
52
|
async captureSnapshot(page, callId, snapshotName) {
|
|
64
|
-
if (this._snapshotReadyPromises.has(snapshotName))
|
|
65
|
-
|
|
66
|
-
|
|
53
|
+
if (this._snapshotReadyPromises.has(snapshotName))
|
|
54
|
+
throw new Error("Duplicate snapshot name: " + snapshotName);
|
|
55
|
+
this._snapshotter.captureSnapshot(page, callId, snapshotName).catch(() => {
|
|
56
|
+
});
|
|
57
|
+
const promise = new import_utils.ManualPromise();
|
|
67
58
|
this._snapshotReadyPromises.set(snapshotName, promise);
|
|
68
59
|
return promise;
|
|
69
60
|
}
|
|
70
|
-
onEntryStarted(entry) {
|
|
61
|
+
onEntryStarted(entry) {
|
|
62
|
+
}
|
|
71
63
|
onEntryFinished(entry) {
|
|
72
|
-
this._storage.addResource(entry);
|
|
64
|
+
this._storage.addResource("", entry);
|
|
73
65
|
}
|
|
74
66
|
onContentBlob(sha1, buffer) {
|
|
75
67
|
this._blobs.set(sha1, buffer);
|
|
@@ -78,10 +70,9 @@ class InMemorySnapshotter {
|
|
|
78
70
|
this._blobs.set(blob.sha1, blob.buffer);
|
|
79
71
|
}
|
|
80
72
|
onFrameSnapshot(snapshot) {
|
|
81
|
-
var _this$_snapshotReadyP;
|
|
82
73
|
++this._snapshotCount;
|
|
83
|
-
const renderer = this._storage.addFrameSnapshot(snapshot, []);
|
|
84
|
-
|
|
74
|
+
const renderer = this._storage.addFrameSnapshot("", snapshot, []);
|
|
75
|
+
this._snapshotReadyPromises.get(snapshot.snapshotName || "")?.resolve(renderer);
|
|
85
76
|
}
|
|
86
77
|
async resourceContentForTest(sha1) {
|
|
87
78
|
return this._blobs.get(sha1);
|
|
@@ -90,4 +81,7 @@ class InMemorySnapshotter {
|
|
|
90
81
|
return this._snapshotCount;
|
|
91
82
|
}
|
|
92
83
|
}
|
|
93
|
-
|
|
84
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
85
|
+
0 && (module.exports = {
|
|
86
|
+
InMemorySnapshotter
|
|
87
|
+
});
|
|
@@ -1,103 +1,138 @@
|
|
|
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 traceViewer_exports = {};
|
|
30
|
+
__export(traceViewer_exports, {
|
|
31
|
+
installRootRedirect: () => installRootRedirect,
|
|
32
|
+
openTraceInBrowser: () => openTraceInBrowser,
|
|
33
|
+
openTraceViewerApp: () => openTraceViewerApp,
|
|
34
|
+
runTraceInBrowser: () => runTraceInBrowser,
|
|
35
|
+
runTraceViewerApp: () => runTraceViewerApp,
|
|
36
|
+
startTraceViewerServer: () => startTraceViewerServer
|
|
5
37
|
});
|
|
6
|
-
exports
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
17
|
-
var
|
|
18
|
-
var _playwright = require("../../playwright");
|
|
19
|
-
var _progress = require("../../progress");
|
|
20
|
-
var _utilsBundle = require("../../../utilsBundle");
|
|
21
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
|
-
/**
|
|
23
|
-
* Copyright (c) Microsoft Corporation.
|
|
24
|
-
*
|
|
25
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
26
|
-
* you may not use this file except in compliance with the License.
|
|
27
|
-
* You may obtain a copy of the License at
|
|
28
|
-
*
|
|
29
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
30
|
-
*
|
|
31
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
32
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
33
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
34
|
-
* See the License for the specific language governing permissions and
|
|
35
|
-
* limitations under the License.
|
|
36
|
-
*/
|
|
37
|
-
|
|
38
|
+
module.exports = __toCommonJS(traceViewer_exports);
|
|
39
|
+
var import_fs = __toESM(require("fs"));
|
|
40
|
+
var import_path = __toESM(require("path"));
|
|
41
|
+
var import_utils = require("../../../utils");
|
|
42
|
+
var import_utils2 = require("../../../utils");
|
|
43
|
+
var import_httpServer = require("../../utils/httpServer");
|
|
44
|
+
var import_utilsBundle = require("../../../utilsBundle");
|
|
45
|
+
var import_instrumentation = require("../../instrumentation");
|
|
46
|
+
var import_launchApp = require("../../launchApp");
|
|
47
|
+
var import_launchApp2 = require("../../launchApp");
|
|
48
|
+
var import_playwright = require("../../playwright");
|
|
49
|
+
var import_progress = require("../../progress");
|
|
38
50
|
function validateTraceUrls(traceUrls) {
|
|
39
51
|
for (const traceUrl of traceUrls) {
|
|
40
52
|
let traceFile = traceUrl;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (!traceUrl.startsWith(
|
|
53
|
+
if (traceUrl.endsWith(".json"))
|
|
54
|
+
traceFile = traceUrl.substring(0, traceUrl.length - ".json".length);
|
|
55
|
+
if (!traceUrl.startsWith("http://") && !traceUrl.startsWith("https://") && !import_fs.default.existsSync(traceFile) && !import_fs.default.existsSync(traceFile + ".trace"))
|
|
56
|
+
throw new Error(`Trace file ${traceUrl} does not exist!`);
|
|
44
57
|
}
|
|
45
58
|
}
|
|
46
59
|
async function startTraceViewerServer(options) {
|
|
47
|
-
const server = new
|
|
48
|
-
server.routePrefix(
|
|
49
|
-
const url = new URL(
|
|
50
|
-
const relativePath = url.pathname.slice(
|
|
51
|
-
if (
|
|
52
|
-
|
|
60
|
+
const server = new import_httpServer.HttpServer();
|
|
61
|
+
server.routePrefix("/trace", (request, response) => {
|
|
62
|
+
const url = new URL("http://localhost" + request.url);
|
|
63
|
+
const relativePath = url.pathname.slice("/trace".length);
|
|
64
|
+
if (process.env.PW_HMR) {
|
|
65
|
+
response.appendHeader("Access-Control-Allow-Origin", "http://localhost:44223");
|
|
66
|
+
}
|
|
67
|
+
if (relativePath.endsWith("/stall.js"))
|
|
68
|
+
return true;
|
|
69
|
+
if (relativePath.startsWith("/file")) {
|
|
53
70
|
try {
|
|
54
|
-
const filePath = url.searchParams.get(
|
|
55
|
-
if (
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
const traceName = filePath.substring(0, filePath.length - '.json'.length);
|
|
71
|
+
const filePath = url.searchParams.get("path");
|
|
72
|
+
if (import_fs.default.existsSync(filePath))
|
|
73
|
+
return server.serveFile(request, response, url.searchParams.get("path"));
|
|
74
|
+
if (filePath.endsWith(".json")) {
|
|
75
|
+
const traceName = filePath.substring(0, filePath.length - ".json".length);
|
|
60
76
|
response.statusCode = 200;
|
|
61
|
-
response.setHeader(
|
|
77
|
+
response.setHeader("Content-Type", "application/json");
|
|
62
78
|
response.end(JSON.stringify(traceDescriptor(traceName)));
|
|
63
79
|
return true;
|
|
64
80
|
}
|
|
65
|
-
} catch (e) {
|
|
81
|
+
} catch (e) {
|
|
82
|
+
}
|
|
66
83
|
response.statusCode = 404;
|
|
67
84
|
response.end();
|
|
68
85
|
return true;
|
|
69
86
|
}
|
|
70
|
-
const absolutePath =
|
|
87
|
+
const absolutePath = import_path.default.join(__dirname, "..", "..", "..", "vite", "traceViewer", ...relativePath.split("/"));
|
|
71
88
|
return server.serveFile(request, response, absolutePath);
|
|
72
89
|
});
|
|
73
|
-
const transport =
|
|
74
|
-
if (transport)
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
} = options || {};
|
|
79
|
-
await server.start({
|
|
80
|
-
preferredPort: port,
|
|
81
|
-
host
|
|
82
|
-
});
|
|
90
|
+
const transport = options?.transport || (options?.isServer ? new StdinServer() : void 0);
|
|
91
|
+
if (transport)
|
|
92
|
+
server.createWebSocket(transport);
|
|
93
|
+
const { host, port } = options || {};
|
|
94
|
+
await server.start({ preferredPort: port, host });
|
|
83
95
|
return server;
|
|
84
96
|
}
|
|
85
97
|
async function installRootRedirect(server, traceUrls, options) {
|
|
86
98
|
const params = new URLSearchParams();
|
|
87
|
-
if (
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
if (
|
|
92
|
-
|
|
93
|
-
if (options
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
const
|
|
98
|
-
|
|
99
|
+
if (import_path.default.sep !== import_path.default.posix.sep)
|
|
100
|
+
params.set("pathSeparator", import_path.default.sep);
|
|
101
|
+
for (const traceUrl of traceUrls)
|
|
102
|
+
params.append("trace", traceUrl);
|
|
103
|
+
if (server.wsGuid())
|
|
104
|
+
params.append("ws", server.wsGuid());
|
|
105
|
+
if (options?.isServer)
|
|
106
|
+
params.append("isServer", "");
|
|
107
|
+
if ((0, import_utils2.isUnderTest)())
|
|
108
|
+
params.append("isUnderTest", "true");
|
|
109
|
+
for (const arg of options.args || [])
|
|
110
|
+
params.append("arg", arg);
|
|
111
|
+
if (options.grep)
|
|
112
|
+
params.append("grep", options.grep);
|
|
113
|
+
if (options.grepInvert)
|
|
114
|
+
params.append("grepInvert", options.grepInvert);
|
|
115
|
+
for (const project of options.project || [])
|
|
116
|
+
params.append("project", project);
|
|
117
|
+
for (const reporter of options.reporter || [])
|
|
118
|
+
params.append("reporter", reporter);
|
|
119
|
+
let baseUrl = ".";
|
|
120
|
+
if (process.env.PW_HMR) {
|
|
121
|
+
baseUrl = "http://localhost:44223";
|
|
122
|
+
params.set("server", server.urlPrefix("precise"));
|
|
123
|
+
}
|
|
124
|
+
const urlPath = `${baseUrl}/trace/${options.webApp || "index.html"}?${params.toString()}`;
|
|
125
|
+
server.routePath("/", (_, response) => {
|
|
99
126
|
response.statusCode = 302;
|
|
100
|
-
response.setHeader(
|
|
127
|
+
response.setHeader("Location", urlPath);
|
|
128
|
+
if (process.env.EXPERIMENTAL_OPENAI_API_KEY)
|
|
129
|
+
response.appendHeader("Set-Cookie", `openai_api_key=${process.env.EXPERIMENTAL_OPENAI_API_KEY}`);
|
|
130
|
+
if (process.env.OPENAI_BASE_URL)
|
|
131
|
+
response.appendHeader("Set-Cookie", `openai_base_url=${process.env.OPENAI_BASE_URL}`);
|
|
132
|
+
if (process.env.EXPERIMENTAL_ANTHROPIC_API_KEY)
|
|
133
|
+
response.appendHeader("Set-Cookie", `anthropic_api_key=${process.env.EXPERIMENTAL_ANTHROPIC_API_KEY}`);
|
|
134
|
+
if (process.env.ANTHROPIC_BASE_URL)
|
|
135
|
+
response.appendHeader("Set-Cookie", `anthropic_base_url=${process.env.ANTHROPIC_BASE_URL}`);
|
|
101
136
|
response.end();
|
|
102
137
|
return true;
|
|
103
138
|
});
|
|
@@ -106,83 +141,78 @@ async function runTraceViewerApp(traceUrls, browserName, options, exitOnClose) {
|
|
|
106
141
|
validateTraceUrls(traceUrls);
|
|
107
142
|
const server = await startTraceViewerServer(options);
|
|
108
143
|
await installRootRedirect(server, traceUrls, options);
|
|
109
|
-
const page = await openTraceViewerApp(server.urlPrefix(
|
|
110
|
-
if (exitOnClose)
|
|
144
|
+
const page = await openTraceViewerApp(server.urlPrefix("precise"), browserName, options);
|
|
145
|
+
if (exitOnClose)
|
|
146
|
+
page.on("close", () => (0, import_utils.gracefullyProcessExitDoNotHang)(0));
|
|
111
147
|
return page;
|
|
112
148
|
}
|
|
113
149
|
async function runTraceInBrowser(traceUrls, options) {
|
|
114
150
|
validateTraceUrls(traceUrls);
|
|
115
151
|
const server = await startTraceViewerServer(options);
|
|
116
152
|
await installRootRedirect(server, traceUrls, options);
|
|
117
|
-
await openTraceInBrowser(server.urlPrefix(
|
|
153
|
+
await openTraceInBrowser(server.urlPrefix("human-readable"));
|
|
118
154
|
}
|
|
119
155
|
async function openTraceViewerApp(url, browserName, options) {
|
|
120
|
-
const traceViewerPlaywright = (0,
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
});
|
|
124
|
-
const traceViewerBrowser = (0, _utils.isUnderTest)() ? 'chromium' : browserName;
|
|
125
|
-
const {
|
|
126
|
-
context,
|
|
127
|
-
page
|
|
128
|
-
} = await (0, _launchApp.launchApp)(traceViewerPlaywright[traceViewerBrowser], {
|
|
156
|
+
const traceViewerPlaywright = (0, import_playwright.createPlaywright)({ sdkLanguage: "javascript", isInternalPlaywright: true });
|
|
157
|
+
const traceViewerBrowser = (0, import_utils2.isUnderTest)() ? "chromium" : browserName;
|
|
158
|
+
const { context, page } = await (0, import_launchApp2.launchApp)(traceViewerPlaywright[traceViewerBrowser], {
|
|
129
159
|
// TODO: store language in the trace.
|
|
130
160
|
sdkLanguage: traceViewerPlaywright.options.sdkLanguage,
|
|
131
|
-
windowSize: {
|
|
132
|
-
width: 1280,
|
|
133
|
-
height: 800
|
|
134
|
-
},
|
|
161
|
+
windowSize: { width: 1280, height: 800 },
|
|
135
162
|
persistentContextOptions: {
|
|
136
|
-
...
|
|
137
|
-
useWebSocket: (0,
|
|
138
|
-
headless: !!
|
|
139
|
-
colorScheme: (0,
|
|
163
|
+
...options?.persistentContextOptions,
|
|
164
|
+
useWebSocket: (0, import_utils2.isUnderTest)(),
|
|
165
|
+
headless: !!options?.headless,
|
|
166
|
+
colorScheme: (0, import_utils2.isUnderTest)() ? "light" : void 0
|
|
140
167
|
}
|
|
141
168
|
});
|
|
142
|
-
const controller = new
|
|
143
|
-
await controller.run(async progress => {
|
|
169
|
+
const controller = new import_progress.ProgressController((0, import_instrumentation.serverSideCallMetadata)(), context._browser);
|
|
170
|
+
await controller.run(async (progress) => {
|
|
144
171
|
await context._browser._defaultContext._loadDefaultContextAsIs(progress);
|
|
145
172
|
});
|
|
146
|
-
if (process.env.PWTEST_PRINT_WS_ENDPOINT)
|
|
147
|
-
|
|
148
|
-
if ((0,
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
173
|
+
if (process.env.PWTEST_PRINT_WS_ENDPOINT)
|
|
174
|
+
process.stderr.write("DevTools listening on: " + context._browser.options.wsEndpoint + "\n");
|
|
175
|
+
if (!(0, import_utils2.isUnderTest)())
|
|
176
|
+
await (0, import_launchApp.syncLocalStorageWithSettings)(page, "traceviewer");
|
|
177
|
+
if ((0, import_utils2.isUnderTest)())
|
|
178
|
+
page.on("close", () => context.close({ reason: "Trace viewer closed" }).catch(() => {
|
|
179
|
+
}));
|
|
180
|
+
await page.mainFrame().goto((0, import_instrumentation.serverSideCallMetadata)(), url);
|
|
152
181
|
return page;
|
|
153
182
|
}
|
|
154
183
|
async function openTraceInBrowser(url) {
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
184
|
+
console.log("\nListening on " + url);
|
|
185
|
+
if (!(0, import_utils2.isUnderTest)())
|
|
186
|
+
await (0, import_utilsBundle.open)(url.replace("0.0.0.0", "localhost")).catch(() => {
|
|
187
|
+
});
|
|
158
188
|
}
|
|
159
189
|
class StdinServer {
|
|
160
190
|
constructor() {
|
|
161
|
-
|
|
162
|
-
this._traceUrl = void 0;
|
|
163
|
-
this.sendEvent = void 0;
|
|
164
|
-
this.close = void 0;
|
|
165
|
-
process.stdin.on('data', data => {
|
|
191
|
+
process.stdin.on("data", (data) => {
|
|
166
192
|
const url = data.toString().trim();
|
|
167
|
-
if (url === this._traceUrl)
|
|
168
|
-
|
|
193
|
+
if (url === this._traceUrl)
|
|
194
|
+
return;
|
|
195
|
+
if (url.endsWith(".json"))
|
|
196
|
+
this._pollLoadTrace(url);
|
|
197
|
+
else
|
|
198
|
+
this._loadTrace(url);
|
|
169
199
|
});
|
|
170
|
-
process.stdin.on(
|
|
200
|
+
process.stdin.on("close", () => (0, import_utils.gracefullyProcessExitDoNotHang)(0));
|
|
201
|
+
}
|
|
202
|
+
onconnect() {
|
|
171
203
|
}
|
|
172
|
-
onconnect() {}
|
|
173
204
|
async dispatch(method, params) {
|
|
174
|
-
if (method ===
|
|
175
|
-
if (this._traceUrl)
|
|
205
|
+
if (method === "initialize") {
|
|
206
|
+
if (this._traceUrl)
|
|
207
|
+
this._loadTrace(this._traceUrl);
|
|
176
208
|
}
|
|
177
209
|
}
|
|
178
|
-
onclose() {
|
|
210
|
+
onclose() {
|
|
211
|
+
}
|
|
179
212
|
_loadTrace(traceUrl) {
|
|
180
|
-
var _this$sendEvent;
|
|
181
213
|
this._traceUrl = traceUrl;
|
|
182
214
|
clearTimeout(this._pollTimer);
|
|
183
|
-
|
|
184
|
-
traceUrl
|
|
185
|
-
});
|
|
215
|
+
this.sendEvent?.("loadTraceRequested", { traceUrl });
|
|
186
216
|
}
|
|
187
217
|
_pollLoadTrace(url) {
|
|
188
218
|
this._loadTrace(url);
|
|
@@ -195,20 +225,25 @@ function traceDescriptor(traceName) {
|
|
|
195
225
|
const result = {
|
|
196
226
|
entries: []
|
|
197
227
|
};
|
|
198
|
-
const traceDir =
|
|
199
|
-
const traceFile =
|
|
200
|
-
for (const name of
|
|
201
|
-
if (name.startsWith(traceFile))
|
|
202
|
-
name,
|
|
203
|
-
path: _path.default.join(traceDir, name)
|
|
204
|
-
});
|
|
228
|
+
const traceDir = import_path.default.dirname(traceName);
|
|
229
|
+
const traceFile = import_path.default.basename(traceName);
|
|
230
|
+
for (const name of import_fs.default.readdirSync(traceDir)) {
|
|
231
|
+
if (name.startsWith(traceFile))
|
|
232
|
+
result.entries.push({ name, path: import_path.default.join(traceDir, name) });
|
|
205
233
|
}
|
|
206
|
-
const resourcesDir =
|
|
207
|
-
if (
|
|
208
|
-
for (const name of
|
|
209
|
-
name:
|
|
210
|
-
path: _path.default.join(resourcesDir, name)
|
|
211
|
-
});
|
|
234
|
+
const resourcesDir = import_path.default.join(traceDir, "resources");
|
|
235
|
+
if (import_fs.default.existsSync(resourcesDir)) {
|
|
236
|
+
for (const name of import_fs.default.readdirSync(resourcesDir))
|
|
237
|
+
result.entries.push({ name: "resources/" + name, path: import_path.default.join(resourcesDir, name) });
|
|
212
238
|
}
|
|
213
239
|
return result;
|
|
214
|
-
}
|
|
240
|
+
}
|
|
241
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
242
|
+
0 && (module.exports = {
|
|
243
|
+
installRootRedirect,
|
|
244
|
+
openTraceInBrowser,
|
|
245
|
+
openTraceViewerApp,
|
|
246
|
+
runTraceInBrowser,
|
|
247
|
+
runTraceViewerApp,
|
|
248
|
+
startTraceViewerServer
|
|
249
|
+
});
|