devtools-tracing 1.0.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/generate.ts +643 -0
- package/index.ts +16 -0
- package/lib/front_end/core/common/App.ts +7 -0
- package/lib/front_end/core/common/AppProvider.ts +32 -0
- package/lib/front_end/core/common/Base64.ts +47 -0
- package/lib/front_end/core/common/CharacterIdMap.ts +30 -0
- package/lib/front_end/core/common/Color.ts +2506 -0
- package/lib/front_end/core/common/ColorConverter.ts +402 -0
- package/lib/front_end/core/common/ColorUtils.ts +252 -0
- package/lib/front_end/core/common/Console.ts +114 -0
- package/lib/front_end/core/common/Debouncer.ts +15 -0
- package/lib/front_end/core/common/EventTarget.ts +52 -0
- package/lib/front_end/core/common/Gzip.ts +74 -0
- package/lib/front_end/core/common/JavaScriptMetaData.ts +29 -0
- package/lib/front_end/core/common/Lazy.ts +31 -0
- package/lib/front_end/core/common/Linkifier.ts +55 -0
- package/lib/front_end/core/common/MapWithDefault.ts +26 -0
- package/lib/front_end/core/common/Mutex.ts +55 -0
- package/lib/front_end/core/common/Object.ts +145 -0
- package/lib/front_end/core/common/ParsedURL.ts +554 -0
- package/lib/front_end/core/common/Progress.ts +180 -0
- package/lib/front_end/core/common/QueryParamHandler.ts +7 -0
- package/lib/front_end/core/common/ResolverBase.ts +85 -0
- package/lib/front_end/core/common/ResourceType.ts +588 -0
- package/lib/front_end/core/common/ReturnToPanel.ts +17 -0
- package/lib/front_end/core/common/Revealer.ts +192 -0
- package/lib/front_end/core/common/Runnable.ts +41 -0
- package/lib/front_end/core/common/SegmentedRange.ts +87 -0
- package/lib/front_end/core/common/SettingRegistration.ts +339 -0
- package/lib/front_end/core/common/Settings.ts +1497 -0
- package/lib/front_end/core/common/SimpleHistoryManager.ts +124 -0
- package/lib/front_end/core/common/StringOutputStream.ts +26 -0
- package/lib/front_end/core/common/TextDictionary.ts +48 -0
- package/lib/front_end/core/common/Throttler.ts +99 -0
- package/lib/front_end/core/common/Trie.ts +152 -0
- package/lib/front_end/core/common/Worker.ts +60 -0
- package/lib/front_end/core/common/common.ts +81 -0
- package/lib/front_end/core/host/AidaClient.ts +733 -0
- package/lib/front_end/core/host/GdpClient.ts +316 -0
- package/lib/front_end/core/host/InspectorFrontendHost.ts +648 -0
- package/lib/front_end/core/host/InspectorFrontendHostAPI.ts +551 -0
- package/lib/front_end/core/host/Platform.ts +76 -0
- package/lib/front_end/core/host/ResourceLoader.ts +282 -0
- package/lib/front_end/core/host/UserMetrics.ts +1230 -0
- package/lib/front_end/core/host/host.ts +23 -0
- package/lib/front_end/core/i18n/ByteUtilities.ts +82 -0
- package/lib/front_end/core/i18n/DevToolsLocale.ts +87 -0
- package/lib/front_end/core/i18n/NumberFormatter.ts +82 -0
- package/lib/front_end/core/i18n/i18n.ts +17 -0
- package/lib/front_end/core/i18n/i18nImpl.ts +204 -0
- package/lib/front_end/core/i18n/i18nTypes.ts +10 -0
- package/lib/front_end/core/i18n/locales.js +14 -0
- package/lib/front_end/core/i18n/time-utilities.ts +174 -0
- package/lib/front_end/core/platform/ArrayUtilities.ts +271 -0
- package/lib/front_end/core/platform/Brand.ts +23 -0
- package/lib/front_end/core/platform/Constructor.ts +10 -0
- package/lib/front_end/core/platform/DOMUtilities.ts +138 -0
- package/lib/front_end/core/platform/DateUtilities.ts +15 -0
- package/lib/front_end/core/platform/DevToolsPath.ts +53 -0
- package/lib/front_end/core/platform/KeyboardUtilities.ts +38 -0
- package/lib/front_end/core/platform/MapUtilities.ts +95 -0
- package/lib/front_end/core/platform/MimeType.ts +175 -0
- package/lib/front_end/core/platform/NumberUtilities.ts +80 -0
- package/lib/front_end/core/platform/StringUtilities.ts +588 -0
- package/lib/front_end/core/platform/Timing.ts +17 -0
- package/lib/front_end/core/platform/TypedArrayUtilities.ts +189 -0
- package/lib/front_end/core/platform/TypescriptUtilities.ts +86 -0
- package/lib/front_end/core/platform/UIString.ts +39 -0
- package/lib/front_end/core/platform/UserVisibleError.ts +28 -0
- package/lib/front_end/core/platform/platform.ts +45 -0
- package/lib/front_end/core/protocol_client/ConnectionTransport.ts +26 -0
- package/lib/front_end/core/protocol_client/InspectorBackend.ts +1050 -0
- package/lib/front_end/core/protocol_client/NodeURL.ts +42 -0
- package/lib/front_end/core/protocol_client/protocol_client.ts +13 -0
- package/lib/front_end/core/root/Runtime.ts +609 -0
- package/lib/front_end/core/root/root.ts +6 -0
- package/lib/front_end/core/sdk/AccessibilityModel.ts +353 -0
- package/lib/front_end/core/sdk/AnimationModel.ts +1041 -0
- package/lib/front_end/core/sdk/AutofillModel.ts +184 -0
- package/lib/front_end/core/sdk/CPUProfilerModel.ts +148 -0
- package/lib/front_end/core/sdk/CPUThrottlingManager.ts +282 -0
- package/lib/front_end/core/sdk/CSSContainerQuery.ts +139 -0
- package/lib/front_end/core/sdk/CSSFontFace.ts +40 -0
- package/lib/front_end/core/sdk/CSSLayer.ts +30 -0
- package/lib/front_end/core/sdk/CSSMatchedStyles.ts +1646 -0
- package/lib/front_end/core/sdk/CSSMedia.ts +121 -0
- package/lib/front_end/core/sdk/CSSMetadata.ts +1647 -0
- package/lib/front_end/core/sdk/CSSModel.ts +1128 -0
- package/lib/front_end/core/sdk/CSSProperty.ts +384 -0
- package/lib/front_end/core/sdk/CSSPropertyParser.ts +681 -0
- package/lib/front_end/core/sdk/CSSPropertyParserMatchers.ts +1395 -0
- package/lib/front_end/core/sdk/CSSQuery.ts +72 -0
- package/lib/front_end/core/sdk/CSSRule.ts +465 -0
- package/lib/front_end/core/sdk/CSSScope.ts +30 -0
- package/lib/front_end/core/sdk/CSSStartingStyle.ts +29 -0
- package/lib/front_end/core/sdk/CSSStyleDeclaration.ts +313 -0
- package/lib/front_end/core/sdk/CSSStyleSheetHeader.ts +196 -0
- package/lib/front_end/core/sdk/CSSSupports.ts +33 -0
- package/lib/front_end/core/sdk/CategorizedBreakpoint.ts +64 -0
- package/lib/front_end/core/sdk/ChildTargetManager.ts +314 -0
- package/lib/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +62 -0
- package/lib/front_end/core/sdk/Connections.ts +293 -0
- package/lib/front_end/core/sdk/ConsoleModel.ts +808 -0
- package/lib/front_end/core/sdk/ConsoleModelTypes.ts +15 -0
- package/lib/front_end/core/sdk/Cookie.ts +319 -0
- package/lib/front_end/core/sdk/CookieModel.ts +239 -0
- package/lib/front_end/core/sdk/CookieParser.ts +185 -0
- package/lib/front_end/core/sdk/DOMDebuggerModel.ts +787 -0
- package/lib/front_end/core/sdk/DOMModel.ts +1961 -0
- package/lib/front_end/core/sdk/DebuggerModel.ts +1605 -0
- package/lib/front_end/core/sdk/EmulationModel.ts +648 -0
- package/lib/front_end/core/sdk/EnhancedTracesParser.ts +515 -0
- package/lib/front_end/core/sdk/EventBreakpointsModel.ts +183 -0
- package/lib/front_end/core/sdk/FrameAssociated.ts +11 -0
- package/lib/front_end/core/sdk/FrameManager.ts +259 -0
- package/lib/front_end/core/sdk/HeapProfilerModel.ts +225 -0
- package/lib/front_end/core/sdk/HttpReasonPhraseStrings.ts +77 -0
- package/lib/front_end/core/sdk/IOModel.ts +91 -0
- package/lib/front_end/core/sdk/IsolateManager.ts +257 -0
- package/lib/front_end/core/sdk/IssuesModel.ts +70 -0
- package/lib/front_end/core/sdk/LayerTreeBase.ts +169 -0
- package/lib/front_end/core/sdk/LogModel.ts +56 -0
- package/lib/front_end/core/sdk/NetworkManager.ts +2823 -0
- package/lib/front_end/core/sdk/NetworkRequest.ts +2253 -0
- package/lib/front_end/core/sdk/OverlayColorGenerator.ts +52 -0
- package/lib/front_end/core/sdk/OverlayModel.ts +1011 -0
- package/lib/front_end/core/sdk/OverlayPersistentHighlighter.ts +522 -0
- package/lib/front_end/core/sdk/PageLoad.ts +35 -0
- package/lib/front_end/core/sdk/PageResourceLoader.ts +435 -0
- package/lib/front_end/core/sdk/PaintProfiler.ts +110 -0
- package/lib/front_end/core/sdk/PerformanceMetricsModel.ts +84 -0
- package/lib/front_end/core/sdk/PreloadingModel.ts +863 -0
- package/lib/front_end/core/sdk/RehydratingConnection.ts +386 -0
- package/lib/front_end/core/sdk/RehydratingObject.ts +66 -0
- package/lib/front_end/core/sdk/RemoteObject.ts +1160 -0
- package/lib/front_end/core/sdk/Resource.ts +232 -0
- package/lib/front_end/core/sdk/ResourceTreeModel.ts +1160 -0
- package/lib/front_end/core/sdk/RuntimeModel.ts +732 -0
- package/lib/front_end/core/sdk/SDKModel.ts +65 -0
- package/lib/front_end/core/sdk/ScopeTreeCache.ts +45 -0
- package/lib/front_end/core/sdk/ScreenCaptureModel.ts +255 -0
- package/lib/front_end/core/sdk/Script.ts +534 -0
- package/lib/front_end/core/sdk/SecurityOriginManager.ts +76 -0
- package/lib/front_end/core/sdk/ServerSentEvents.ts +80 -0
- package/lib/front_end/core/sdk/ServerSentEventsProtocol.ts +122 -0
- package/lib/front_end/core/sdk/ServerTiming.ts +260 -0
- package/lib/front_end/core/sdk/ServiceWorkerCacheModel.ts +377 -0
- package/lib/front_end/core/sdk/ServiceWorkerManager.ts +605 -0
- package/lib/front_end/core/sdk/SourceMap.ts +867 -0
- package/lib/front_end/core/sdk/SourceMapCache.ts +54 -0
- package/lib/front_end/core/sdk/SourceMapFunctionRanges.ts +156 -0
- package/lib/front_end/core/sdk/SourceMapManager.ts +239 -0
- package/lib/front_end/core/sdk/SourceMapScopeChainEntry.ts +189 -0
- package/lib/front_end/core/sdk/SourceMapScopesInfo.ts +508 -0
- package/lib/front_end/core/sdk/StorageBucketsModel.ts +204 -0
- package/lib/front_end/core/sdk/StorageKeyManager.ts +98 -0
- package/lib/front_end/core/sdk/Target.ts +332 -0
- package/lib/front_end/core/sdk/TargetManager.ts +453 -0
- package/lib/front_end/core/sdk/TraceObject.ts +61 -0
- package/lib/front_end/core/sdk/WebAuthnModel.ts +104 -0
- package/lib/front_end/core/sdk/sdk.ts +174 -0
- package/lib/front_end/entrypoints/formatter_worker/FormatterActions.ts +59 -0
- package/lib/front_end/generated/InspectorBackendCommands.js +1617 -0
- package/lib/front_end/generated/SupportedCSSProperties.js +7512 -0
- package/lib/front_end/generated/protocol-proxy-api.d.ts +5022 -0
- package/lib/front_end/generated/protocol.ts +22014 -0
- package/lib/front_end/models/cpu_profile/CPUProfileDataModel.ts +571 -0
- package/lib/front_end/models/cpu_profile/ProfileTreeModel.ts +103 -0
- package/lib/front_end/models/cpu_profile/cpu_profile.ts +11 -0
- package/lib/front_end/models/formatter/FormatterWorkerPool.ts +219 -0
- package/lib/front_end/models/formatter/ScriptFormatter.ts +112 -0
- package/lib/front_end/models/formatter/formatter.ts +8 -0
- package/lib/front_end/models/text_utils/CodeMirrorUtils.ts +37 -0
- package/lib/front_end/models/text_utils/ContentData.ts +199 -0
- package/lib/front_end/models/text_utils/ContentProvider.ts +68 -0
- package/lib/front_end/models/text_utils/StaticContentProvider.ts +49 -0
- package/lib/front_end/models/text_utils/StreamingContentData.ts +108 -0
- package/lib/front_end/models/text_utils/Text.ts +90 -0
- package/lib/front_end/models/text_utils/TextCursor.ts +44 -0
- package/lib/front_end/models/text_utils/TextRange.ts +266 -0
- package/lib/front_end/models/text_utils/TextUtils.ts +401 -0
- package/lib/front_end/models/text_utils/WasmDisassembly.ts +87 -0
- package/lib/front_end/models/text_utils/text_utils.ts +27 -0
- package/lib/front_end/models/trace/EntityMapper.ts +141 -0
- package/lib/front_end/models/trace/EventsSerializer.ts +101 -0
- package/lib/front_end/models/trace/LanternComputationData.ts +438 -0
- package/lib/front_end/models/trace/ModelImpl.ts +236 -0
- package/lib/front_end/models/trace/Name.ts +136 -0
- package/lib/front_end/models/trace/Processor.ts +652 -0
- package/lib/front_end/models/trace/Styles.ts +1138 -0
- package/lib/front_end/models/trace/extras/FilmStrip.ts +78 -0
- package/lib/front_end/models/trace/extras/MainThreadActivity.ts +86 -0
- package/lib/front_end/models/trace/extras/ScriptDuplication.ts +236 -0
- package/lib/front_end/models/trace/extras/StackTraceForEvent.ts +203 -0
- package/lib/front_end/models/trace/extras/ThirdParties.ts +164 -0
- package/lib/front_end/models/trace/extras/TraceFilter.ts +62 -0
- package/lib/front_end/models/trace/extras/TraceTree.ts +701 -0
- package/lib/front_end/models/trace/extras/extras.ts +11 -0
- package/lib/front_end/models/trace/handlers/AnimationFramesHandler.ts +128 -0
- package/lib/front_end/models/trace/handlers/AnimationHandler.ts +36 -0
- package/lib/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +239 -0
- package/lib/front_end/models/trace/handlers/AuctionWorkletsHandler.ts +183 -0
- package/lib/front_end/models/trace/handlers/DOMStatsHandler.ts +31 -0
- package/lib/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +306 -0
- package/lib/front_end/models/trace/handlers/FlowsHandler.ts +175 -0
- package/lib/front_end/models/trace/handlers/FramesHandler.ts +571 -0
- package/lib/front_end/models/trace/handlers/GPUHandler.ts +50 -0
- package/lib/front_end/models/trace/handlers/ImagePaintingHandler.ts +183 -0
- package/lib/front_end/models/trace/handlers/InitiatorsHandler.ts +193 -0
- package/lib/front_end/models/trace/handlers/InvalidationsHandler.ts +168 -0
- package/lib/front_end/models/trace/handlers/LargestImagePaintHandler.ts +109 -0
- package/lib/front_end/models/trace/handlers/LargestTextPaintHandler.ts +35 -0
- package/lib/front_end/models/trace/handlers/LayerTreeHandler.ts +123 -0
- package/lib/front_end/models/trace/handlers/LayoutShiftsHandler.ts +573 -0
- package/lib/front_end/models/trace/handlers/MemoryHandler.ts +31 -0
- package/lib/front_end/models/trace/handlers/MetaHandler.ts +525 -0
- package/lib/front_end/models/trace/handlers/ModelHandlers.ts +34 -0
- package/lib/front_end/models/trace/handlers/NetworkRequestsHandler.ts +672 -0
- package/lib/front_end/models/trace/handlers/PageFramesHandler.ts +52 -0
- package/lib/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +460 -0
- package/lib/front_end/models/trace/handlers/RendererHandler.ts +428 -0
- package/lib/front_end/models/trace/handlers/SamplesHandler.ts +271 -0
- package/lib/front_end/models/trace/handlers/ScreenshotsHandler.ts +122 -0
- package/lib/front_end/models/trace/handlers/ScriptsHandler.ts +336 -0
- package/lib/front_end/models/trace/handlers/SelectorStatsHandler.ts +110 -0
- package/lib/front_end/models/trace/handlers/Threads.ts +139 -0
- package/lib/front_end/models/trace/handlers/UserInteractionsHandler.ts +400 -0
- package/lib/front_end/models/trace/handlers/UserTimingsHandler.ts +233 -0
- package/lib/front_end/models/trace/handlers/WarningsHandler.ts +162 -0
- package/lib/front_end/models/trace/handlers/WorkersHandler.ts +45 -0
- package/lib/front_end/models/trace/handlers/handlers.ts +8 -0
- package/lib/front_end/models/trace/handlers/helpers.ts +196 -0
- package/lib/front_end/models/trace/handlers/types.ts +75 -0
- package/lib/front_end/models/trace/helpers/Extensions.ts +54 -0
- package/lib/front_end/models/trace/helpers/Network.ts +129 -0
- package/lib/front_end/models/trace/helpers/SamplesIntegrator.ts +544 -0
- package/lib/front_end/models/trace/helpers/SyntheticEvents.ts +87 -0
- package/lib/front_end/models/trace/helpers/Timing.ts +248 -0
- package/lib/front_end/models/trace/helpers/Trace.ts +928 -0
- package/lib/front_end/models/trace/helpers/TreeHelpers.ts +320 -0
- package/lib/front_end/models/trace/helpers/helpers.ts +11 -0
- package/lib/front_end/models/trace/insights/CLSCulprits.ts +668 -0
- package/lib/front_end/models/trace/insights/Cache.ts +269 -0
- package/lib/front_end/models/trace/insights/Common.ts +453 -0
- package/lib/front_end/models/trace/insights/DOMSize.ts +223 -0
- package/lib/front_end/models/trace/insights/DocumentLatency.ts +319 -0
- package/lib/front_end/models/trace/insights/DuplicatedJavaScript.ts +126 -0
- package/lib/front_end/models/trace/insights/FontDisplay.ts +119 -0
- package/lib/front_end/models/trace/insights/ForcedReflow.ts +220 -0
- package/lib/front_end/models/trace/insights/INPBreakdown.ts +171 -0
- package/lib/front_end/models/trace/insights/ImageDelivery.ts +348 -0
- package/lib/front_end/models/trace/insights/LCPBreakdown.ts +268 -0
- package/lib/front_end/models/trace/insights/LCPDiscovery.ts +237 -0
- package/lib/front_end/models/trace/insights/LegacyJavaScript.ts +138 -0
- package/lib/front_end/models/trace/insights/Models.ts +22 -0
- package/lib/front_end/models/trace/insights/ModernHTTP.ts +257 -0
- package/lib/front_end/models/trace/insights/NetworkDependencyTree.ts +726 -0
- package/lib/front_end/models/trace/insights/RenderBlocking.ts +257 -0
- package/lib/front_end/models/trace/insights/SlowCSSSelector.ts +175 -0
- package/lib/front_end/models/trace/insights/Statistics.ts +101 -0
- package/lib/front_end/models/trace/insights/ThirdParties.ts +130 -0
- package/lib/front_end/models/trace/insights/Viewport.ts +138 -0
- package/lib/front_end/models/trace/insights/insights.ts +10 -0
- package/lib/front_end/models/trace/insights/types.ts +157 -0
- package/lib/front_end/models/trace/lantern/core/LanternError.ts +7 -0
- package/lib/front_end/models/trace/lantern/core/NetworkAnalyzer.ts +619 -0
- package/lib/front_end/models/trace/lantern/core/core.ts +6 -0
- package/lib/front_end/models/trace/lantern/graph/BaseNode.ts +345 -0
- package/lib/front_end/models/trace/lantern/graph/CPUNode.ts +80 -0
- package/lib/front_end/models/trace/lantern/graph/NetworkNode.ts +101 -0
- package/lib/front_end/models/trace/lantern/graph/PageDependencyGraph.ts +636 -0
- package/lib/front_end/models/trace/lantern/graph/graph.ts +8 -0
- package/lib/front_end/models/trace/lantern/lantern.ts +17 -0
- package/lib/front_end/models/trace/lantern/metrics/FirstContentfulPaint.ts +187 -0
- package/lib/front_end/models/trace/lantern/metrics/Interactive.ts +88 -0
- package/lib/front_end/models/trace/lantern/metrics/LargestContentfulPaint.ts +92 -0
- package/lib/front_end/models/trace/lantern/metrics/MaxPotentialFID.ts +72 -0
- package/lib/front_end/models/trace/lantern/metrics/Metric.ts +126 -0
- package/lib/front_end/models/trace/lantern/metrics/SpeedIndex.ts +126 -0
- package/lib/front_end/models/trace/lantern/metrics/TBTUtils.ts +82 -0
- package/lib/front_end/models/trace/lantern/metrics/TotalBlockingTime.ts +112 -0
- package/lib/front_end/models/trace/lantern/metrics/metrics.ts +12 -0
- package/lib/front_end/models/trace/lantern/simulation/ConnectionPool.ts +150 -0
- package/lib/front_end/models/trace/lantern/simulation/Constants.ts +46 -0
- package/lib/front_end/models/trace/lantern/simulation/DNSCache.ts +61 -0
- package/lib/front_end/models/trace/lantern/simulation/SimulationTimingMap.ts +196 -0
- package/lib/front_end/models/trace/lantern/simulation/Simulator.ts +556 -0
- package/lib/front_end/models/trace/lantern/simulation/TCPConnection.ts +192 -0
- package/lib/front_end/models/trace/lantern/simulation/simulation.ts +10 -0
- package/lib/front_end/models/trace/lantern/types/Lantern.ts +220 -0
- package/lib/front_end/models/trace/lantern/types/types.ts +5 -0
- package/lib/front_end/models/trace/trace.ts +33 -0
- package/lib/front_end/models/trace/types/Configuration.ts +110 -0
- package/lib/front_end/models/trace/types/Extensions.ts +136 -0
- package/lib/front_end/models/trace/types/File.ts +281 -0
- package/lib/front_end/models/trace/types/Overlays.ts +138 -0
- package/lib/front_end/models/trace/types/Timing.ts +30 -0
- package/lib/front_end/models/trace/types/TraceEvents.ts +3277 -0
- package/lib/front_end/models/trace/types/types.ts +10 -0
- package/lib/front_end/third_party/i18n/LICENSE +202 -0
- package/lib/front_end/third_party/i18n/README.chromium +15 -0
- package/lib/front_end/third_party/i18n/i18n-impl.ts +61 -0
- package/lib/front_end/third_party/i18n/i18n.ts +11 -0
- package/lib/front_end/third_party/i18n/localized-string-set.ts +129 -0
- package/lib/front_end/third_party/intl-messageformat/LICENSE +33 -0
- package/lib/front_end/third_party/intl-messageformat/README.chromium +24 -0
- package/lib/front_end/third_party/intl-messageformat/intl-messageformat-tsconfig.json +16 -0
- package/lib/front_end/third_party/intl-messageformat/intl-messageformat.ts +6 -0
- package/lib/front_end/third_party/intl-messageformat/package/LICENSE.md +33 -0
- package/lib/front_end/third_party/intl-messageformat/package/README.md +3 -0
- package/lib/front_end/third_party/intl-messageformat/package/index.d.ts +6 -0
- package/lib/front_end/third_party/intl-messageformat/package/index.d.ts.map +1 -0
- package/lib/front_end/third_party/intl-messageformat/package/index.js +13 -0
- package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.d.ts +5 -0
- package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +1710 -0
- package/lib/front_end/third_party/intl-messageformat/package/intl-messageformat.iife.js +1815 -0
- package/lib/front_end/third_party/intl-messageformat/package/lib/index.d.ts +6 -0
- package/lib/front_end/third_party/intl-messageformat/package/lib/index.d.ts.map +1 -0
- package/lib/front_end/third_party/intl-messageformat/package/lib/index.js +10 -0
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.d.ts +34 -0
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.d.ts.map +1 -0
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/core.js +229 -0
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.d.ts +28 -0
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.d.ts.map +1 -0
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/error.js +48 -0
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.d.ts +34 -0
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.d.ts.map +1 -0
- package/lib/front_end/third_party/intl-messageformat/package/lib/src/formatters.js +179 -0
- package/lib/front_end/third_party/intl-messageformat/package/package.json +42 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/core.d.ts +34 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/core.d.ts.map +1 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/core.js +230 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/error.d.ts +28 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/error.d.ts.map +1 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/error.js +51 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/formatters.d.ts +34 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/formatters.d.ts.map +1 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/formatters.js +182 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/error.d.ts +79 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/index.d.ts +15 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/parser.d.ts +153 -0
- package/lib/front_end/third_party/intl-messageformat/package/src/icu-messageformat-parser/types.d.ts +139 -0
- package/lib/front_end/third_party/legacy-javascript/LICENSE +202 -0
- package/lib/front_end/third_party/legacy-javascript/README.chromium +13 -0
- package/lib/front_end/third_party/legacy-javascript/legacy-javascript-tsconfig.json +8 -0
- package/lib/front_end/third_party/legacy-javascript/legacy-javascript.ts +3 -0
- package/lib/front_end/third_party/legacy-javascript/lib/legacy-javascript.d.ts +18 -0
- package/lib/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +943 -0
- package/lib/front_end/third_party/legacy-javascript/package.json +8 -0
- package/lib/front_end/third_party/legacy-javascript/rebuild.sh +9 -0
- package/lib/front_end/third_party/third-party-web/LICENSE +20 -0
- package/lib/front_end/third_party/third-party-web/README.chromium +13 -0
- package/lib/front_end/third_party/third-party-web/lib/nostats-subset.d.ts +2 -0
- package/lib/front_end/third_party/third-party-web/lib/nostats-subset.js +149 -0
- package/lib/front_end/third_party/third-party-web/package/LICENSE +20 -0
- package/lib/front_end/third_party/third-party-web/package/README.md +929 -0
- package/lib/front_end/third_party/third-party-web/package/dist/entities-httparchive-nostats.json +1 -0
- package/lib/front_end/third_party/third-party-web/package/dist/entities-httparchive.json +1 -0
- package/lib/front_end/third_party/third-party-web/package/dist/entities-nostats.json +1 -0
- package/lib/front_end/third_party/third-party-web/package/dist/entities.json +1 -0
- package/lib/front_end/third_party/third-party-web/package/facades.md +46 -0
- package/lib/front_end/third_party/third-party-web/package/httparchive-nostats-subset.d.ts +1 -0
- package/lib/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +1 -0
- package/lib/front_end/third_party/third-party-web/package/httparchive-subset.d.ts +1 -0
- package/lib/front_end/third_party/third-party-web/package/httparchive-subset.js +1 -0
- package/lib/front_end/third_party/third-party-web/package/lib/__snapshots__/index.test.js.snap +1006 -0
- package/lib/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +139 -0
- package/lib/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +44 -0
- package/lib/front_end/third_party/third-party-web/package/lib/entities.test.js +27 -0
- package/lib/front_end/third_party/third-party-web/package/lib/index.d.ts +34 -0
- package/lib/front_end/third_party/third-party-web/package/lib/index.js +3 -0
- package/lib/front_end/third_party/third-party-web/package/lib/index.test.js +246 -0
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/faqs.partial.md +36 -0
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/goals.partial.md +9 -0
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/methodology.partial.md +5 -0
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/template.md +151 -0
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-02-01.md +1 -0
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-03-01.md +1 -0
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-05-06.md +1 -0
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2019-05-13.md +14 -0
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2021-01-01.md +1 -0
- package/lib/front_end/third_party/third-party-web/package/lib/markdown/updates/2024-07-01.md +3 -0
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.d.ts +1 -0
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +3 -0
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive.d.ts +1 -0
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +3 -0
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/nostats.d.ts +1 -0
- package/lib/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +3 -0
- package/lib/front_end/third_party/third-party-web/package/nostats-subset.d.ts +1 -0
- package/lib/front_end/third_party/third-party-web/package/nostats-subset.js +1 -0
- package/lib/front_end/third_party/third-party-web/package/package.json +46 -0
- package/lib/front_end/third_party/third-party-web/package.json +8 -0
- package/lib/front_end/third_party/third-party-web/rebuild.sh +13 -0
- package/lib/front_end/third_party/third-party-web/third-party-web-tsconfig.json +8 -0
- package/lib/front_end/third_party/third-party-web/third-party-web.ts +3 -0
- package/package.json +24 -0
- package/patches/chrome-devtools-frontend+1.0.1533544.patch +187 -0
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
// Copyright 2022 The Chromium Authors
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import * as Platform from '../../core/platform/platform.js';
|
|
6
|
+
|
|
7
|
+
import * as Handlers from './handlers/handlers.js';
|
|
8
|
+
import * as Helpers from './helpers/helpers.js';
|
|
9
|
+
import type * as Insights from './insights/insights.js';
|
|
10
|
+
import {TraceParseProgressEvent, TraceProcessor} from './Processor.js';
|
|
11
|
+
import * as Types from './types/types.js';
|
|
12
|
+
|
|
13
|
+
// Note: this model is implemented in a way that can support multiple trace
|
|
14
|
+
// processors. Currently there is only one implemented, but you will see
|
|
15
|
+
// references to "processors" plural because it can easily be extended in the future.
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The Model is responsible for parsing arrays of raw trace events and storing the
|
|
19
|
+
* resulting data. It can store multiple traces at once, and can return the data for
|
|
20
|
+
* any of them.
|
|
21
|
+
*
|
|
22
|
+
* Most uses of this class should be through `createWithAllHandlers`, but
|
|
23
|
+
* `createWithSubsetOfHandlers` can be used to run just some handlers.
|
|
24
|
+
**/
|
|
25
|
+
export class Model extends EventTarget {
|
|
26
|
+
readonly #traces: ParsedTrace[] = [];
|
|
27
|
+
readonly #nextNumberByDomain = new Map<string, number>();
|
|
28
|
+
|
|
29
|
+
readonly #recordingsAvailable: string[] = [];
|
|
30
|
+
#lastRecordingIndex = 0;
|
|
31
|
+
#processor: TraceProcessor;
|
|
32
|
+
#config: Types.Configuration.Configuration = Types.Configuration.defaults();
|
|
33
|
+
|
|
34
|
+
static createWithAllHandlers(config?: Types.Configuration.Configuration): Model {
|
|
35
|
+
return new Model(Handlers.ModelHandlers, config);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Runs only the provided handlers.
|
|
40
|
+
*
|
|
41
|
+
* Callers must ensure they are providing all dependant handlers (although Meta is included automatically),
|
|
42
|
+
* and must know that the result of `.parsedTrace` will be limited to the handlers provided, even though
|
|
43
|
+
* the type won't reflect that.
|
|
44
|
+
*/
|
|
45
|
+
static createWithSubsetOfHandlers(
|
|
46
|
+
traceHandlers: Partial<Handlers.Types.Handlers>, config?: Types.Configuration.Configuration): Model {
|
|
47
|
+
return new Model(traceHandlers as Handlers.Types.Handlers, config);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
constructor(handlers: Handlers.Types.Handlers, config?: Types.Configuration.Configuration) {
|
|
51
|
+
super();
|
|
52
|
+
if (config) {
|
|
53
|
+
this.#config = config;
|
|
54
|
+
}
|
|
55
|
+
this.#processor = new TraceProcessor(handlers, this.#config);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Parses an array of trace events into a structured object containing all the
|
|
60
|
+
* information parsed by the trace handlers.
|
|
61
|
+
* You can `await` this function to pause execution until parsing is complete,
|
|
62
|
+
* or instead rely on the `ModuleUpdateEvent` that is dispatched when the
|
|
63
|
+
* parsing is finished.
|
|
64
|
+
*
|
|
65
|
+
* Once parsed, you then have to call the `parsedTrace` method, providing an
|
|
66
|
+
* index of the trace you want to have the data for. This is because any model
|
|
67
|
+
* can store a number of traces. Each trace is given an index, which starts at 0
|
|
68
|
+
* and increments by one as a new trace is parsed.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* // Awaiting the parse method() to block until parsing complete
|
|
72
|
+
* await this.traceModel.parse(events);
|
|
73
|
+
* const data = this.traceModel.parsedTrace(0)
|
|
74
|
+
* @example
|
|
75
|
+
* // Using an event listener to be notified when tracing is complete.
|
|
76
|
+
* this.traceModel.addEventListener(Trace.ModelUpdateEvent.eventName, (event) => {
|
|
77
|
+
* if(event.data.data === 'done') {
|
|
78
|
+
* // trace complete
|
|
79
|
+
* const data = this.traceModel.parsedTrace(0);
|
|
80
|
+
* }
|
|
81
|
+
* });
|
|
82
|
+
* void this.traceModel.parse(events);
|
|
83
|
+
**/
|
|
84
|
+
async parse(traceEvents: readonly Types.Events.Event[], config: Types.Configuration.ParseOptions = {}):
|
|
85
|
+
Promise<void> {
|
|
86
|
+
if (config.showAllEvents === undefined) {
|
|
87
|
+
config.showAllEvents = this.#config.showAllEvents;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const metadata = config.metadata || {};
|
|
91
|
+
// During parsing, periodically update any listeners on each processors'
|
|
92
|
+
// progress (if they have any updates).
|
|
93
|
+
const onTraceUpdate = (event: Event): void => {
|
|
94
|
+
const {data} = event as TraceParseProgressEvent;
|
|
95
|
+
this.dispatchEvent(new ModelUpdateEvent({type: ModelUpdateType.PROGRESS_UPDATE, data}));
|
|
96
|
+
};
|
|
97
|
+
|
|
98
|
+
this.#processor.addEventListener(TraceParseProgressEvent.eventName, onTraceUpdate);
|
|
99
|
+
|
|
100
|
+
// TODO(cjamcl): this.#processor.parse needs this to work. So it should either take it as input, or create it itself.
|
|
101
|
+
const syntheticEventsManager = Helpers.SyntheticEvents.SyntheticEventsManager.createAndActivate(traceEvents);
|
|
102
|
+
|
|
103
|
+
try {
|
|
104
|
+
// Wait for all outstanding promises before finishing the async execution,
|
|
105
|
+
// but perform all tasks in parallel.
|
|
106
|
+
await this.#processor.parse(traceEvents, config);
|
|
107
|
+
if (!this.#processor.data) {
|
|
108
|
+
throw new Error('processor did not parse trace');
|
|
109
|
+
}
|
|
110
|
+
const file = this.#storeAndCreateParsedTraceFile(
|
|
111
|
+
syntheticEventsManager, traceEvents, metadata, this.#processor.data, this.#processor.insights);
|
|
112
|
+
// We only push the file onto this.#traces here once we know it's valid
|
|
113
|
+
// and there's been no errors in the parsing.
|
|
114
|
+
this.#traces.push(file);
|
|
115
|
+
} catch (e) {
|
|
116
|
+
throw e;
|
|
117
|
+
} finally {
|
|
118
|
+
// All processors have finished parsing, no more updates are expected.
|
|
119
|
+
this.#processor.removeEventListener(TraceParseProgressEvent.eventName, onTraceUpdate);
|
|
120
|
+
// Finally, update any listeners that all processors are 'done'.
|
|
121
|
+
this.dispatchEvent(new ModelUpdateEvent({type: ModelUpdateType.COMPLETE, data: 'done'}));
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
#storeAndCreateParsedTraceFile(
|
|
126
|
+
syntheticEventsManager: Helpers.SyntheticEvents.SyntheticEventsManager,
|
|
127
|
+
traceEvents: readonly Types.Events.Event[], metadata: Types.File.MetaData, data: Handlers.Types.HandlerData,
|
|
128
|
+
traceInsights: Insights.Types.TraceInsightSets|null): ParsedTrace {
|
|
129
|
+
this.#lastRecordingIndex++;
|
|
130
|
+
let recordingName = `Trace ${this.#lastRecordingIndex}`;
|
|
131
|
+
const origin = Helpers.Trace.extractOriginFromTrace(data.Meta.mainFrameURL);
|
|
132
|
+
if (origin) {
|
|
133
|
+
const nextSequenceForDomain = Platform.MapUtilities.getWithDefault(this.#nextNumberByDomain, origin, () => 1);
|
|
134
|
+
recordingName = `${origin} (${nextSequenceForDomain})`;
|
|
135
|
+
this.#nextNumberByDomain.set(origin, nextSequenceForDomain + 1);
|
|
136
|
+
}
|
|
137
|
+
this.#recordingsAvailable.push(recordingName);
|
|
138
|
+
|
|
139
|
+
return {
|
|
140
|
+
traceEvents,
|
|
141
|
+
metadata,
|
|
142
|
+
data,
|
|
143
|
+
insights: traceInsights,
|
|
144
|
+
syntheticEventsManager,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
lastTraceIndex(): number {
|
|
149
|
+
return this.size() - 1;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Returns the parsed trace data indexed by the order in which it was stored.
|
|
154
|
+
* If no index is given, the last stored parsed data is returned.
|
|
155
|
+
*/
|
|
156
|
+
parsedTrace(index: number = this.#traces.length - 1): ParsedTrace|null {
|
|
157
|
+
return this.#traces.at(index) ?? null;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
overrideModifications(index: number, newModifications: Types.File.Modifications): void {
|
|
161
|
+
if (this.#traces[index]) {
|
|
162
|
+
this.#traces[index].metadata.modifications = newModifications;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
syntheticTraceEventsManager(index: number = this.#traces.length - 1): Helpers.SyntheticEvents.SyntheticEventsManager
|
|
167
|
+
|null {
|
|
168
|
+
return this.#traces.at(index)?.syntheticEventsManager ?? null;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
size(): number {
|
|
172
|
+
return this.#traces.length;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
deleteTraceByIndex(recordingIndex: number): void {
|
|
176
|
+
this.#traces.splice(recordingIndex, 1);
|
|
177
|
+
this.#recordingsAvailable.splice(recordingIndex, 1);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
getRecordingsAvailable(): string[] {
|
|
181
|
+
return this.#recordingsAvailable;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
resetProcessor(): void {
|
|
185
|
+
this.#processor.reset();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* This parsed trace is used by the Model. It keeps multiple instances
|
|
191
|
+
* of these so that the user can swap between them. The key is that it is
|
|
192
|
+
* essentially the TraceFile plus whatever the model has parsed from it.
|
|
193
|
+
*/
|
|
194
|
+
export type ParsedTrace = Types.File.TraceFile&{
|
|
195
|
+
data: Handlers.Types.HandlerData,
|
|
196
|
+
/** Is null for CPU profiles. */
|
|
197
|
+
insights: Insights.Types.TraceInsightSets | null,
|
|
198
|
+
syntheticEventsManager: Helpers.SyntheticEvents.SyntheticEventsManager,
|
|
199
|
+
};
|
|
200
|
+
|
|
201
|
+
export const enum ModelUpdateType {
|
|
202
|
+
COMPLETE = 'COMPLETE',
|
|
203
|
+
PROGRESS_UPDATE = 'PROGRESS_UPDATE',
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export type ModelUpdateEventData = ModelUpdateEventComplete|ModelUpdateEventProgress;
|
|
207
|
+
|
|
208
|
+
export interface ModelUpdateEventComplete {
|
|
209
|
+
type: ModelUpdateType.COMPLETE;
|
|
210
|
+
data: 'done';
|
|
211
|
+
}
|
|
212
|
+
export interface ModelUpdateEventProgress {
|
|
213
|
+
type: ModelUpdateType.PROGRESS_UPDATE;
|
|
214
|
+
data: TraceParseEventProgressData;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
export interface TraceParseEventProgressData {
|
|
218
|
+
percent: number;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
export class ModelUpdateEvent extends Event {
|
|
222
|
+
static readonly eventName = 'modelupdate';
|
|
223
|
+
constructor(public data: ModelUpdateEventData) {
|
|
224
|
+
super(ModelUpdateEvent.eventName);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
declare global {
|
|
229
|
+
interface HTMLElementEventMap {
|
|
230
|
+
[ModelUpdateEvent.eventName]: ModelUpdateEvent;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
export function isModelUpdateDataComplete(eventData: ModelUpdateEventData): eventData is ModelUpdateEventComplete {
|
|
235
|
+
return eventData.type === ModelUpdateType.COMPLETE;
|
|
236
|
+
}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
// Copyright 2024 The Chromium Authors
|
|
2
|
+
// Use of this source code is governed by a BSD-style license that can be
|
|
3
|
+
// found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
import * as Common from '../../core/common/common.js';
|
|
6
|
+
import * as i18n from '../../core/i18n/i18n.js';
|
|
7
|
+
|
|
8
|
+
import * as Handlers from './handlers/handlers.js';
|
|
9
|
+
import type {ParsedTrace} from './ModelImpl.js';
|
|
10
|
+
import {getEventStyle} from './Styles.js';
|
|
11
|
+
import * as Types from './types/types.js';
|
|
12
|
+
|
|
13
|
+
const UIStrings = {
|
|
14
|
+
/**
|
|
15
|
+
* @description Text shown for an entry in the flame chart that has no explicit name.
|
|
16
|
+
*/
|
|
17
|
+
anonymous: '(anonymous)',
|
|
18
|
+
/**
|
|
19
|
+
* @description Text used to show an EventDispatch event which has a type associated with it
|
|
20
|
+
* @example {click} PH1
|
|
21
|
+
*/
|
|
22
|
+
eventDispatchS: 'Event: {PH1}',
|
|
23
|
+
/**
|
|
24
|
+
* @description Text shown for an entry in the flame chart that represents a frame.
|
|
25
|
+
*/
|
|
26
|
+
frame: 'Frame',
|
|
27
|
+
/**
|
|
28
|
+
* @description Text in Timeline Flame Chart Data Provider of the Performance panel
|
|
29
|
+
*/
|
|
30
|
+
wsConnectionOpened: 'WebSocket opened',
|
|
31
|
+
/**
|
|
32
|
+
* @description Text in Timeline Flame Chart Data Provider of the Performance panel
|
|
33
|
+
* @example {ws://example.com} PH1
|
|
34
|
+
*/
|
|
35
|
+
wsConnectionOpenedWithUrl: 'WebSocket opened: {PH1}',
|
|
36
|
+
/**
|
|
37
|
+
* @description Text in Timeline Flame Chart Data Provider of the Performance panel
|
|
38
|
+
*/
|
|
39
|
+
wsConnectionClosed: 'WebSocket closed',
|
|
40
|
+
/**
|
|
41
|
+
* @description Text in Timeline Flame Chart Data Provider of the Performance panel
|
|
42
|
+
*/
|
|
43
|
+
layoutShift: 'Layout shift',
|
|
44
|
+
} as const;
|
|
45
|
+
|
|
46
|
+
const str_ = i18n.i18n.registerUIStrings('models/trace/Name.ts', UIStrings);
|
|
47
|
+
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Calculates the display name for a given entry.
|
|
51
|
+
* @param parsedTrace If the trace data is provided
|
|
52
|
+
* as the second argument it can be used to find source map resolved names for
|
|
53
|
+
* profile calls.
|
|
54
|
+
* Use this function to customize the user visible name for an entry. If no
|
|
55
|
+
* custom name is found, we will fallback to the `name` property in the trace
|
|
56
|
+
* entry.
|
|
57
|
+
*/
|
|
58
|
+
export function forEntry(
|
|
59
|
+
entry: Types.Events.Event,
|
|
60
|
+
parsedTrace?: ParsedTrace,
|
|
61
|
+
): string {
|
|
62
|
+
if (Types.Events.isProfileCall(entry)) {
|
|
63
|
+
if (parsedTrace) {
|
|
64
|
+
const potentialCallName =
|
|
65
|
+
Handlers.ModelHandlers.Samples.getProfileCallFunctionName(parsedTrace.data.Samples, entry);
|
|
66
|
+
// We need this extra check because the call name could be the empty
|
|
67
|
+
// string. If it is, we want to fallback.
|
|
68
|
+
if (potentialCallName) {
|
|
69
|
+
return potentialCallName;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return entry.callFrame.functionName || i18nString(UIStrings.anonymous);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
if (Types.Events.isLegacyTimelineFrame(entry)) {
|
|
76
|
+
return i18n.i18n.lockedString(UIStrings.frame);
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
if (Types.Events.isDispatch(entry)) {
|
|
80
|
+
// EventDispatch represent user actions such as clicks, so in this case
|
|
81
|
+
// rather than show the event title (which is always just "Event"), we
|
|
82
|
+
// add the type ("click") to help the user understand the event.
|
|
83
|
+
return i18nString(UIStrings.eventDispatchS, {PH1: entry.args.data.type});
|
|
84
|
+
}
|
|
85
|
+
if (Types.Events.isSyntheticNetworkRequest(entry)) {
|
|
86
|
+
const parsedURL = new Common.ParsedURL.ParsedURL(entry.args.data.url);
|
|
87
|
+
const text =
|
|
88
|
+
parsedURL.isValid ? `${parsedURL.displayName} (${parsedURL.host})` : entry.args.data.url || 'Network request';
|
|
89
|
+
return text;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
if (Types.Events.isWebSocketCreate(entry)) {
|
|
93
|
+
if (entry.args.data.url) {
|
|
94
|
+
return i18nString(UIStrings.wsConnectionOpenedWithUrl, {PH1: entry.args.data.url});
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
return i18nString(UIStrings.wsConnectionOpened);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
if (Types.Events.isWebSocketDestroy(entry)) {
|
|
101
|
+
return i18nString(UIStrings.wsConnectionClosed);
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
if (Types.Events.isSyntheticInteraction(entry)) {
|
|
105
|
+
return nameForInteractionEvent(entry);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (Types.Events.isSyntheticLayoutShift(entry)) {
|
|
109
|
+
return i18nString(UIStrings.layoutShift);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (Types.Events.isSyntheticAnimation(entry) && entry.args.data.beginEvent.args.data.displayName) {
|
|
113
|
+
return entry.args.data.beginEvent.args.data.displayName;
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
const eventStyleCustomName = getEventStyle(entry.name as Types.Events.Name)?.title;
|
|
117
|
+
|
|
118
|
+
return eventStyleCustomName || entry.name;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function nameForInteractionEvent(event: Types.Events.SyntheticInteractionPair): string {
|
|
122
|
+
const category = Handlers.ModelHandlers.UserInteractions.categoryOfInteraction(event);
|
|
123
|
+
// Because we hide nested interactions, we do not want to show the
|
|
124
|
+
// specific type of the interaction that was not hidden, so instead we
|
|
125
|
+
// show just the category of that interaction.
|
|
126
|
+
if (category === 'OTHER') {
|
|
127
|
+
return 'Other';
|
|
128
|
+
}
|
|
129
|
+
if (category === 'KEYBOARD') {
|
|
130
|
+
return 'Keyboard';
|
|
131
|
+
}
|
|
132
|
+
if (category === 'POINTER') {
|
|
133
|
+
return 'Pointer';
|
|
134
|
+
}
|
|
135
|
+
return event.type;
|
|
136
|
+
}
|