chrome-devtools-frontend 1.0.1512349 → 1.0.1513662

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.
Files changed (324) hide show
  1. package/docs/cookbook/release_management.md +15 -13
  2. package/docs/get_the_code.md +114 -35
  3. package/front_end/core/common/Color.ts +40 -44
  4. package/front_end/core/common/Console.ts +4 -4
  5. package/front_end/core/common/ParsedURL.ts +14 -14
  6. package/front_end/core/common/ResourceType.ts +20 -20
  7. package/front_end/core/common/SegmentedRange.ts +13 -14
  8. package/front_end/core/common/Settings.ts +4 -4
  9. package/front_end/core/common/StringOutputStream.ts +4 -4
  10. package/front_end/core/host/GdpClient.ts +38 -0
  11. package/front_end/core/host/InspectorFrontendHost.ts +4 -1
  12. package/front_end/core/host/InspectorFrontendHostAPI.ts +2 -0
  13. package/front_end/core/host/ResourceLoader.ts +2 -2
  14. package/front_end/core/host/UserMetrics.ts +0 -2
  15. package/front_end/core/protocol_client/InspectorBackend.ts +9 -9
  16. package/front_end/core/root/Runtime.ts +5 -2
  17. package/front_end/core/sdk/AccessibilityModel.ts +48 -48
  18. package/front_end/core/sdk/AnimationModel.ts +78 -79
  19. package/front_end/core/sdk/CPUProfilerModel.ts +5 -5
  20. package/front_end/core/sdk/CPUThrottlingManager.ts +17 -17
  21. package/front_end/core/sdk/CSSMatchedStyles.ts +44 -44
  22. package/front_end/core/sdk/CSSMedia.ts +22 -22
  23. package/front_end/core/sdk/CSSModel.ts +4 -4
  24. package/front_end/core/sdk/CSSProperty.ts +9 -9
  25. package/front_end/core/sdk/CSSPropertyParser.ts +1 -2
  26. package/front_end/core/sdk/CSSRule.ts +3 -3
  27. package/front_end/core/sdk/CSSStyleDeclaration.ts +27 -28
  28. package/front_end/core/sdk/CSSStyleSheetHeader.ts +13 -13
  29. package/front_end/core/sdk/CategorizedBreakpoint.ts +4 -4
  30. package/front_end/core/sdk/ChildTargetManager.ts +6 -6
  31. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +4 -4
  32. package/front_end/core/sdk/ConsoleModel.ts +24 -24
  33. package/front_end/core/sdk/Cookie.ts +16 -16
  34. package/front_end/core/sdk/CookieParser.ts +6 -6
  35. package/front_end/core/sdk/DOMDebuggerModel.ts +88 -89
  36. package/front_end/core/sdk/DOMModel.ts +113 -113
  37. package/front_end/core/sdk/DebuggerModel.ts +102 -103
  38. package/front_end/core/sdk/EmulationModel.ts +6 -6
  39. package/front_end/core/sdk/EventBreakpointsModel.ts +5 -5
  40. package/front_end/core/sdk/HeapProfilerModel.ts +5 -5
  41. package/front_end/core/sdk/IsolateManager.ts +26 -26
  42. package/front_end/core/sdk/LayerTreeBase.ts +29 -30
  43. package/front_end/core/sdk/OverlayModel.ts +6 -6
  44. package/front_end/core/sdk/Resource.ts +43 -43
  45. package/front_end/core/sdk/ResourceTreeModel.ts +58 -61
  46. package/front_end/core/sdk/RuntimeModel.ts +12 -13
  47. package/front_end/core/sdk/SDKModel.ts +3 -3
  48. package/front_end/core/sdk/Script.ts +17 -17
  49. package/front_end/core/sdk/SecurityOriginManager.ts +14 -14
  50. package/front_end/core/sdk/ServerTiming.ts +2 -2
  51. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +15 -15
  52. package/front_end/core/sdk/ServiceWorkerManager.ts +19 -24
  53. package/front_end/core/sdk/SourceMap.ts +10 -10
  54. package/front_end/core/sdk/StorageKeyManager.ts +12 -12
  55. package/front_end/core/sdk/Target.ts +33 -34
  56. package/front_end/core/sdk/TargetManager.ts +20 -20
  57. package/front_end/entrypoints/formatter_worker/AcornTokenizer.ts +8 -8
  58. package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +7 -7
  59. package/front_end/entrypoints/heap_snapshot_worker/AllocationProfile.ts +7 -7
  60. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +24 -24
  61. package/front_end/entrypoints/main/GlobalAiButton.ts +3 -3
  62. package/front_end/entrypoints/main/MainImpl.ts +16 -14
  63. package/front_end/entrypoints/main/main-meta.ts +1 -2
  64. package/front_end/generated/InspectorBackendCommands.js +3 -2
  65. package/front_end/generated/SupportedCSSProperties.js +20 -0
  66. package/front_end/generated/protocol-mapping.d.ts +4 -0
  67. package/front_end/generated/protocol-proxy-api.d.ts +5 -0
  68. package/front_end/generated/protocol.ts +20 -0
  69. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +15 -16
  70. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +127 -0
  71. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +149 -26
  72. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +6 -0
  73. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +9 -10
  74. package/front_end/models/badges/AiExplorerBadge.ts +21 -0
  75. package/front_end/models/badges/Badge.ts +3 -5
  76. package/front_end/models/badges/CodeWhispererBadge.ts +21 -0
  77. package/front_end/models/badges/DOMDetectiveBadge.ts +4 -3
  78. package/front_end/models/badges/SpeedsterBadge.ts +6 -4
  79. package/front_end/models/badges/StarterBadge.ts +4 -3
  80. package/front_end/models/badges/UserBadges.ts +29 -3
  81. package/front_end/models/bindings/CSSWorkspaceBinding.ts +6 -6
  82. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +18 -18
  83. package/front_end/models/bindings/FileUtils.ts +15 -15
  84. package/front_end/models/bindings/ResourceScriptMapping.ts +14 -14
  85. package/front_end/models/elements/ElementUpdateRecord.ts +11 -11
  86. package/front_end/models/emulation/DeviceModeModel.ts +123 -131
  87. package/front_end/models/emulation/EmulatedDevices.ts +22 -22
  88. package/front_end/models/extensions/ExtensionPanel.ts +24 -24
  89. package/front_end/models/extensions/ExtensionServer.ts +4 -4
  90. package/front_end/models/javascript_metadata/NativeFunctions.js +14 -2
  91. package/front_end/models/persistence/IsolatedFileSystem.ts +18 -19
  92. package/front_end/models/persistence/IsolatedFileSystemManager.ts +13 -13
  93. package/front_end/models/trace/EventsSerializer.ts +5 -5
  94. package/front_end/models/trace/LanternComputationData.ts +10 -10
  95. package/front_end/models/trace/ModelImpl.ts +32 -41
  96. package/front_end/models/trace/Processor.ts +28 -30
  97. package/front_end/models/trace/extras/FilmStrip.ts +6 -6
  98. package/front_end/models/trace/extras/StackTraceForEvent.ts +22 -25
  99. package/front_end/models/trace/extras/ThirdParties.ts +16 -17
  100. package/front_end/models/trace/extras/TraceFilter.ts +1 -1
  101. package/front_end/models/trace/handlers/Threads.ts +10 -10
  102. package/front_end/models/trace/handlers/helpers.ts +9 -9
  103. package/front_end/models/trace/handlers/types.ts +3 -3
  104. package/front_end/models/trace/insights/CLSCulprits.ts +12 -14
  105. package/front_end/models/trace/insights/Cache.ts +8 -4
  106. package/front_end/models/trace/insights/DOMSize.ts +8 -5
  107. package/front_end/models/trace/insights/DocumentLatency.ts +2 -2
  108. package/front_end/models/trace/insights/DuplicatedJavaScript.ts +3 -3
  109. package/front_end/models/trace/insights/FontDisplay.ts +3 -4
  110. package/front_end/models/trace/insights/ForcedReflow.ts +3 -3
  111. package/front_end/models/trace/insights/INPBreakdown.ts +2 -2
  112. package/front_end/models/trace/insights/ImageDelivery.ts +11 -11
  113. package/front_end/models/trace/insights/LCPBreakdown.ts +4 -4
  114. package/front_end/models/trace/insights/LCPDiscovery.ts +4 -4
  115. package/front_end/models/trace/insights/LegacyJavaScript.ts +2 -2
  116. package/front_end/models/trace/insights/ModernHTTP.ts +4 -5
  117. package/front_end/models/trace/insights/NetworkDependencyTree.ts +12 -12
  118. package/front_end/models/trace/insights/RenderBlocking.ts +9 -10
  119. package/front_end/models/trace/insights/SlowCSSSelector.ts +2 -2
  120. package/front_end/models/trace/insights/ThirdParties.ts +4 -5
  121. package/front_end/models/trace/insights/Viewport.ts +8 -5
  122. package/front_end/models/trace/insights/types.ts +1 -0
  123. package/front_end/models/trace/lantern/testing/MetricTestUtils.ts +10 -10
  124. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +52 -52
  125. package/front_end/panels/accessibility/AccessibilitySidebarView.ts +8 -8
  126. package/front_end/panels/animation/AnimationTimeline.ts +5 -5
  127. package/front_end/panels/animation/AnimationUI.ts +22 -23
  128. package/front_end/panels/application/ApplicationPanelSidebar.ts +12 -12
  129. package/front_end/panels/application/DOMStorageModel.ts +23 -23
  130. package/front_end/panels/application/ExtensionStorageModel.ts +31 -31
  131. package/front_end/panels/application/IndexedDBModel.ts +1 -0
  132. package/front_end/panels/application/PreloadingTreeElement.ts +8 -8
  133. package/front_end/panels/application/ServiceWorkersView.ts +0 -53
  134. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +2 -2
  135. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +2 -2
  136. package/front_end/panels/common/BadgeNotification.ts +24 -4
  137. package/front_end/panels/common/GdpSignUpDialog.ts +5 -0
  138. package/front_end/panels/common/badgeNotification.css +26 -9
  139. package/front_end/panels/console/ConsoleContextSelector.ts +9 -9
  140. package/front_end/panels/console/ConsolePrompt.ts +8 -5
  141. package/front_end/panels/console/ConsoleView.ts +13 -13
  142. package/front_end/panels/console/ConsoleViewport.ts +29 -29
  143. package/front_end/panels/coverage/CoverageModel.ts +22 -22
  144. package/front_end/panels/elements/ClassesPaneWidget.ts +1 -1
  145. package/front_end/panels/elements/ComputedStyleModel.ts +17 -18
  146. package/front_end/panels/elements/DOMPath.ts +2 -2
  147. package/front_end/panels/elements/ElementsPanel.ts +13 -13
  148. package/front_end/panels/elements/ElementsTreeElement.ts +18 -18
  149. package/front_end/panels/elements/ElementsTreeOutline.ts +41 -48
  150. package/front_end/panels/elements/ShortcutTreeElement.ts +4 -4
  151. package/front_end/panels/elements/StylePropertiesSection.ts +4 -4
  152. package/front_end/panels/elements/StylePropertyTreeElement.ts +49 -50
  153. package/front_end/panels/elements/StylesSidebarPane.ts +19 -19
  154. package/front_end/panels/emulation/DeviceModeToolbar.ts +7 -7
  155. package/front_end/panels/emulation/DeviceModeView.ts +6 -6
  156. package/front_end/panels/emulation/MediaQueryInspector.ts +18 -18
  157. package/front_end/panels/event_listeners/EventListenersView.ts +13 -14
  158. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +3 -3
  159. package/front_end/panels/layer_viewer/LayerViewHost.ts +13 -13
  160. package/front_end/panels/layer_viewer/PaintProfilerView.ts +9 -10
  161. package/front_end/panels/layer_viewer/TransformController.ts +34 -36
  162. package/front_end/panels/layers/LayerTreeModel.ts +41 -40
  163. package/front_end/panels/lighthouse/LighthouseReportSelector.ts +13 -13
  164. package/front_end/panels/lighthouse/LighthouseStartView.ts +7 -7
  165. package/front_end/panels/media/PlayerMessagesView.ts +5 -5
  166. package/front_end/panels/media/TickingFlameChart.ts +24 -24
  167. package/front_end/panels/media/TickingFlameChartHelpers.ts +32 -32
  168. package/front_end/panels/network/NetworkItemView.ts +4 -4
  169. package/front_end/panels/network/NetworkLogViewColumns.ts +29 -29
  170. package/front_end/panels/network/NetworkPanel.ts +8 -5
  171. package/front_end/panels/network/ResourceWebSocketFrameView.ts +10 -10
  172. package/front_end/panels/profiler/HeapDetachedElementsView.ts +3 -3
  173. package/front_end/panels/profiler/HeapProfileView.ts +1 -1
  174. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +3 -4
  175. package/front_end/panels/profiler/ProfileHeader.ts +25 -25
  176. package/front_end/panels/profiler/ProfileLauncherView.ts +5 -6
  177. package/front_end/panels/recorder/components/ReplaySection.ts +3 -1
  178. package/front_end/panels/security/OriginTreeElement.ts +8 -8
  179. package/front_end/panels/security/SecurityPanel.ts +5 -5
  180. package/front_end/panels/settings/SettingsScreen.ts +18 -12
  181. package/front_end/panels/settings/components/SyncSection.ts +20 -6
  182. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +3 -0
  183. package/front_end/panels/sources/DebuggerPausedMessage.ts +8 -9
  184. package/front_end/panels/sources/NavigatorView.ts +43 -46
  185. package/front_end/panels/sources/SourcesPanel.ts +35 -35
  186. package/front_end/panels/sources/SourcesView.ts +13 -13
  187. package/front_end/panels/sources/TabbedEditorContainer.ts +19 -22
  188. package/front_end/panels/sources/UISourceCodeFrame.ts +4 -4
  189. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +34 -36
  190. package/front_end/panels/timeline/AnimationsTrackAppender.ts +3 -3
  191. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +8 -8
  192. package/front_end/panels/timeline/CountersGraph.ts +16 -16
  193. package/front_end/panels/timeline/EntriesFilter.ts +4 -3
  194. package/front_end/panels/timeline/EventsTimelineTreeView.ts +3 -3
  195. package/front_end/panels/timeline/GPUTrackAppender.ts +3 -3
  196. package/front_end/panels/timeline/Initiators.ts +10 -10
  197. package/front_end/panels/timeline/InteractionsTrackAppender.ts +5 -5
  198. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +7 -7
  199. package/front_end/panels/timeline/ModificationsManager.ts +8 -15
  200. package/front_end/panels/timeline/TargetForEvent.ts +2 -2
  201. package/front_end/panels/timeline/ThirdPartyTreeView.ts +1 -1
  202. package/front_end/panels/timeline/ThreadAppender.ts +13 -13
  203. package/front_end/panels/timeline/TimelineDetailsView.ts +6 -14
  204. package/front_end/panels/timeline/TimelineEventOverview.ts +27 -26
  205. package/front_end/panels/timeline/TimelineFilters.ts +5 -5
  206. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +54 -53
  207. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +34 -34
  208. package/front_end/panels/timeline/TimelineFlameChartView.ts +18 -31
  209. package/front_end/panels/timeline/TimelineHistoryManager.ts +17 -18
  210. package/front_end/panels/timeline/TimelineMiniMap.ts +6 -6
  211. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +6 -6
  212. package/front_end/panels/timeline/TimelinePanel.ts +52 -59
  213. package/front_end/panels/timeline/TimelineSelectorStatsView.ts +7 -5
  214. package/front_end/panels/timeline/TimelineTreeView.ts +10 -10
  215. package/front_end/panels/timeline/TimelineUIUtils.ts +43 -43
  216. package/front_end/panels/timeline/TimingsTrackAppender.ts +12 -12
  217. package/front_end/panels/timeline/TracingLayerTree.ts +43 -43
  218. package/front_end/panels/timeline/TrackConfigBanner.ts +6 -6
  219. package/front_end/panels/timeline/TrackConfiguration.ts +1 -1
  220. package/front_end/panels/timeline/components/DetailsView.ts +4 -4
  221. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +12 -21
  222. package/front_end/panels/timeline/components/LiveMetricsView.ts +2 -1
  223. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +5 -5
  224. package/front_end/panels/timeline/components/Sidebar.ts +4 -14
  225. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +13 -36
  226. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +21 -19
  227. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +1 -1
  228. package/front_end/panels/timeline/components/insights/Cache.ts +4 -0
  229. package/front_end/panels/timeline/components/insights/DOMSize.ts +5 -1
  230. package/front_end/panels/timeline/components/insights/Helpers.ts +19 -0
  231. package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +1 -1
  232. package/front_end/panels/timeline/components/insights/Viewport.ts +4 -0
  233. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +1 -1
  234. package/front_end/panels/timeline/utils/AICallTree.ts +11 -11
  235. package/front_end/panels/timeline/utils/AIContext.ts +17 -19
  236. package/front_end/panels/timeline/utils/EntityMapper.ts +6 -5
  237. package/front_end/panels/timeline/utils/EntryName.ts +2 -2
  238. package/front_end/panels/timeline/utils/EntryNodes.ts +5 -5
  239. package/front_end/panels/timeline/utils/EntryStyles.ts +4 -4
  240. package/front_end/panels/timeline/utils/FreshRecording.ts +3 -3
  241. package/front_end/panels/timeline/utils/Helpers.ts +0 -18
  242. package/front_end/panels/timeline/utils/InsightAIContext.ts +6 -6
  243. package/front_end/panels/timeline/utils/SourceMapsResolver.ts +7 -7
  244. package/front_end/panels/webauthn/WebauthnPane.ts +1 -0
  245. package/front_end/third_party/chromium/README.chromium +1 -1
  246. package/front_end/third_party/codemirror.next/chunk/angular.js +1 -1
  247. package/front_end/third_party/codemirror.next/chunk/angular.js.map +1 -1
  248. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  249. package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
  250. package/front_end/third_party/codemirror.next/chunk/cpp.js +1 -1
  251. package/front_end/third_party/codemirror.next/chunk/cpp.js.map +1 -1
  252. package/front_end/third_party/codemirror.next/chunk/java.js +1 -1
  253. package/front_end/third_party/codemirror.next/chunk/java.js.map +1 -1
  254. package/front_end/third_party/codemirror.next/chunk/legacy.js +1 -1
  255. package/front_end/third_party/codemirror.next/chunk/legacy.js.map +1 -1
  256. package/front_end/third_party/codemirror.next/chunk/less.js +1 -1
  257. package/front_end/third_party/codemirror.next/chunk/less.js.map +1 -1
  258. package/front_end/third_party/codemirror.next/chunk/markdown.js +1 -1
  259. package/front_end/third_party/codemirror.next/chunk/markdown.js.map +1 -1
  260. package/front_end/third_party/codemirror.next/chunk/php.js +1 -1
  261. package/front_end/third_party/codemirror.next/chunk/php.js.map +1 -1
  262. package/front_end/third_party/codemirror.next/chunk/python.js +1 -1
  263. package/front_end/third_party/codemirror.next/chunk/python.js.map +1 -1
  264. package/front_end/third_party/codemirror.next/chunk/sass.js +1 -1
  265. package/front_end/third_party/codemirror.next/chunk/sass.js.map +1 -1
  266. package/front_end/third_party/codemirror.next/chunk/svelte.js +1 -1
  267. package/front_end/third_party/codemirror.next/chunk/svelte.js.map +1 -1
  268. package/front_end/third_party/codemirror.next/chunk/vue.js +1 -1
  269. package/front_end/third_party/codemirror.next/chunk/vue.js.map +1 -1
  270. package/front_end/third_party/codemirror.next/chunk/wast.js +1 -1
  271. package/front_end/third_party/codemirror.next/chunk/wast.js.map +1 -1
  272. package/front_end/third_party/codemirror.next/chunk/xml.js +1 -1
  273. package/front_end/third_party/codemirror.next/chunk/xml.js.map +1 -1
  274. package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
  275. package/front_end/third_party/codemirror.next/package.json +1 -1
  276. package/front_end/third_party/codemirror.next/rebuild.sh +1 -1
  277. package/front_end/third_party/json5/rebuild.sh +1 -1
  278. package/front_end/third_party/legacy-javascript/{update.sh → rebuild.sh} +1 -1
  279. package/front_end/third_party/lit/lib/decorators.d.ts +26 -9
  280. package/front_end/third_party/lit/lib/decorators.js +5 -5
  281. package/front_end/third_party/lit/lib/decorators.js.map +1 -1
  282. package/front_end/third_party/lit/lib/directive.js.map +1 -1
  283. package/front_end/third_party/lit/lib/directives.js +8 -13
  284. package/front_end/third_party/lit/lib/directives.js.map +1 -1
  285. package/front_end/third_party/lit/lib/lit.d.ts +26 -9
  286. package/front_end/third_party/lit/lib/lit.js +5 -5
  287. package/front_end/third_party/lit/lib/lit.js.map +1 -1
  288. package/front_end/third_party/lit/lib/static-html.js +2 -2
  289. package/front_end/third_party/lit/lib/static-html.js.map +1 -1
  290. package/front_end/third_party/lit/rebuild.sh +1 -1
  291. package/front_end/third_party/third-party-web/rebuild.sh +1 -1
  292. package/front_end/ui/components/dialogs/Dialog.ts +6 -7
  293. package/front_end/ui/legacy/ActionRegistration.ts +9 -9
  294. package/front_end/ui/legacy/DockController.ts +18 -18
  295. package/front_end/ui/legacy/FilterBar.ts +7 -7
  296. package/front_end/ui/legacy/Fragment.ts +4 -4
  297. package/front_end/ui/legacy/GlassPane.ts +12 -12
  298. package/front_end/ui/legacy/InspectorView.ts +5 -15
  299. package/front_end/ui/legacy/ListControl.ts +27 -27
  300. package/front_end/ui/legacy/ListWidget.ts +4 -4
  301. package/front_end/ui/legacy/PopoverHelper.ts +4 -4
  302. package/front_end/ui/legacy/ShortcutRegistry.ts +17 -17
  303. package/front_end/ui/legacy/TabbedPane.ts +74 -75
  304. package/front_end/ui/legacy/TextPrompt.ts +31 -31
  305. package/front_end/ui/legacy/Toolbar.ts +13 -14
  306. package/front_end/ui/legacy/ViewManager.ts +30 -31
  307. package/front_end/ui/legacy/Widget.ts +6 -6
  308. package/front_end/ui/legacy/XLink.ts +9 -9
  309. package/front_end/ui/legacy/ZoomManager.ts +9 -9
  310. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +27 -27
  311. package/front_end/ui/legacy/components/color_picker/ContrastInfo.ts +30 -32
  312. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +15 -15
  313. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +64 -64
  314. package/front_end/ui/legacy/components/data_grid/ShowMoreDataGridNode.ts +2 -2
  315. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +10 -11
  316. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +12 -12
  317. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +3 -3
  318. package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +14 -14
  319. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +8 -8
  320. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +5 -5
  321. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +4 -4
  322. package/front_end/ui/legacy/theme_support/ThemeSupport.ts +4 -4
  323. package/front_end/ui/visual_logging/KnownContextValues.ts +2 -2
  324. package/package.json +1 -1
@@ -130,9 +130,7 @@ export class TimelineFlameChartView extends Common.ObjectWrapper.eventMixin<Even
130
130
  private needsResizeToPreferredHeights?: boolean;
131
131
  private selectedSearchResult?: PerfUI.FlameChart.DataProviderSearchResult;
132
132
  private searchRegex?: RegExp;
133
- #parsedTrace: Trace.Handlers.Types.ParsedTrace|null;
134
- #traceMetadata: Trace.Types.File.MetaData|null;
135
- #traceInsightSets: Trace.Insights.Types.TraceInsightSets|null = null;
133
+ #parsedTrace: Trace.TraceModel.ParsedTrace|null;
136
134
  #eventToRelatedInsightsMap: TimelineComponents.RelatedInsightChips.EventToRelatedInsightsMap|null = null;
137
135
  #selectedGroupName: string|null = null;
138
136
  #onTraceBoundsChangeBound = this.#onTraceBoundsChange.bind(this);
@@ -203,7 +201,6 @@ export class TimelineFlameChartView extends Common.ObjectWrapper.eventMixin<Even
203
201
  this.delegate = delegate;
204
202
  this.eventListeners = [];
205
203
  this.#parsedTrace = null;
206
- this.#traceMetadata = null;
207
204
 
208
205
  const flameChartsContainer = new UI.Widget.VBox();
209
206
  flameChartsContainer.element.classList.add('flame-charts-container');
@@ -617,17 +614,19 @@ export class TimelineFlameChartView extends Common.ObjectWrapper.eventMixin<Even
617
614
  }
618
615
 
619
616
  #amendMarkerWithFieldData(): void {
620
- if (!this.#traceMetadata?.cruxFieldData || !this.#traceInsightSets) {
617
+ const metadata = this.#parsedTrace?.metadata;
618
+ const insights = this.#parsedTrace?.insights;
619
+ if (!metadata?.cruxFieldData || !insights) {
621
620
  return;
622
621
  }
623
622
 
624
623
  const fieldMetricResultsByNavigationId = new Map<string, Trace.Insights.Common.CrUXFieldMetricResults|null>();
625
- for (const [key, insightSet] of this.#traceInsightSets) {
624
+ for (const [key, insightSet] of insights) {
626
625
  if (insightSet.navigation) {
627
626
  fieldMetricResultsByNavigationId.set(
628
627
  key,
629
628
  Trace.Insights.Common.getFieldMetricsForInsightSet(
630
- insightSet, this.#traceMetadata, CrUXManager.CrUXManager.instance().getSelectedScope()));
629
+ insightSet, metadata, CrUXManager.CrUXManager.instance().getSelectedScope()));
631
630
  }
632
631
  }
633
632
 
@@ -659,13 +658,13 @@ export class TimelineFlameChartView extends Common.ObjectWrapper.eventMixin<Even
659
658
  }
660
659
  }
661
660
 
662
- setMarkers(parsedTrace: Trace.Handlers.Types.ParsedTrace|null): void {
661
+ setMarkers(parsedTrace: Trace.TraceModel.ParsedTrace|null): void {
663
662
  if (!parsedTrace) {
664
663
  return;
665
664
  }
666
665
  // Clear out any markers.
667
666
  this.bulkRemoveOverlays(this.#markers);
668
- const markerEvents = parsedTrace.PageLoadMetrics.allMarkerEvents;
667
+ const markerEvents = parsedTrace.data.PageLoadMetrics.allMarkerEvents;
669
668
  // Set markers for Navigations, LCP, FCP, DCL, L.
670
669
  const markers = markerEvents.filter(
671
670
  event => event.name === Trace.Types.Events.Name.NAVIGATION_START ||
@@ -679,9 +678,9 @@ export class TimelineFlameChartView extends Common.ObjectWrapper.eventMixin<Even
679
678
  markers.forEach(marker => {
680
679
  const adjustedTimestamp = Trace.Helpers.Timing.timeStampForEventAdjustedByClosestNavigation(
681
680
  marker,
682
- parsedTrace.Meta.traceBounds,
683
- parsedTrace.Meta.navigationsByNavigationId,
684
- parsedTrace.Meta.navigationsByFrameId,
681
+ parsedTrace.data.Meta.traceBounds,
682
+ parsedTrace.data.Meta.navigationsByNavigationId,
683
+ parsedTrace.data.Meta.navigationsByFrameId,
685
684
  );
686
685
  // If any of the markers overlap in timing, lets put them on the same marker.
687
686
  let matchingOverlay = false;
@@ -1190,13 +1189,15 @@ export class TimelineFlameChartView extends Common.ObjectWrapper.eventMixin<Even
1190
1189
  this.#updateDetailViews();
1191
1190
  }
1192
1191
 
1193
- setModel(newParsedTrace: Trace.Handlers.Types.ParsedTrace, traceMetadata: Trace.Types.File.MetaData|null): void {
1192
+ setModel(
1193
+ newParsedTrace: Trace.TraceModel.ParsedTrace,
1194
+ eventToRelatedInsightsMap: TimelineComponents.RelatedInsightChips.EventToRelatedInsightsMap): void {
1194
1195
  if (newParsedTrace === this.#parsedTrace) {
1195
1196
  return;
1196
1197
  }
1197
1198
 
1198
1199
  this.#parsedTrace = newParsedTrace;
1199
- this.#traceMetadata = traceMetadata;
1200
+ this.#eventToRelatedInsightsMap = eventToRelatedInsightsMap;
1200
1201
  for (const dimmer of this.#flameChartDimmers) {
1201
1202
  dimmer.active = false;
1202
1203
  dimmer.mainChartIndices = [];
@@ -1263,19 +1264,6 @@ export class TimelineFlameChartView extends Common.ObjectWrapper.eventMixin<Even
1263
1264
  return {main, network};
1264
1265
  }
1265
1266
 
1266
- setInsights(
1267
- insights: Trace.Insights.Types.TraceInsightSets|null,
1268
- eventToRelatedInsightsMap: TimelineComponents.RelatedInsightChips.EventToRelatedInsightsMap): void {
1269
- if (this.#traceInsightSets === insights) {
1270
- return;
1271
- }
1272
-
1273
- this.#traceInsightSets = insights;
1274
- this.#eventToRelatedInsightsMap = eventToRelatedInsightsMap;
1275
- // The DetailsView is provided with the InsightSets, so make sure we update it.
1276
- this.#updateDetailViews();
1277
- }
1278
-
1279
1267
  reset(): void {
1280
1268
  if (this.networkDataProvider.isEmpty()) {
1281
1269
  this.mainFlameChart.enableRuler(true);
@@ -1315,7 +1303,6 @@ export class TimelineFlameChartView extends Common.ObjectWrapper.eventMixin<Even
1315
1303
  void this.detailsView.setModel({
1316
1304
  parsedTrace: this.#parsedTrace,
1317
1305
  selectedEvents: this.#selectedEvents,
1318
- traceInsightsSets: this.#traceInsightSets,
1319
1306
  eventToRelatedInsightsMap: this.#eventToRelatedInsightsMap,
1320
1307
  entityMapper: this.#entityMapper,
1321
1308
  });
@@ -1926,17 +1913,17 @@ export const FlameChartStyle = {
1926
1913
  };
1927
1914
 
1928
1915
  export class TimelineFlameChartMarker implements PerfUI.FlameChart.FlameChartMarker {
1929
- private readonly startTimeInternal: number;
1916
+ readonly #startTime: number;
1930
1917
  private readonly startOffset: number;
1931
1918
  private style: TimelineMarkerStyle;
1932
1919
  constructor(startTime: number, startOffset: number, style: TimelineMarkerStyle) {
1933
- this.startTimeInternal = startTime;
1920
+ this.#startTime = startTime;
1934
1921
  this.startOffset = startOffset;
1935
1922
  this.style = style;
1936
1923
  }
1937
1924
 
1938
1925
  startTime(): number {
1939
- return this.startTimeInternal;
1926
+ return this.#startTime;
1940
1927
  }
1941
1928
 
1942
1929
  color(): string {
@@ -88,8 +88,7 @@ export interface NewHistoryRecordingData {
88
88
  // We do not store this, but need it to build the thumbnail preview.
89
89
  filmStripForPreview: Trace.Extras.FilmStrip.Data|null;
90
90
  // Also not stored, but used to create the preview overview for a new trace.
91
- parsedTrace: Trace.Handlers.Types.ParsedTrace;
92
- metadata: Trace.Types.File.MetaData|null;
91
+ parsedTrace: Trace.TraceModel.ParsedTrace;
93
92
  }
94
93
 
95
94
  // Lazily instantiate the formatter as the constructor takes 50ms+
@@ -111,9 +110,9 @@ export class TimelineHistoryManager {
111
110
  private recordings: TraceRecordingHistoryItem[];
112
111
  private readonly action: UI.ActionRegistration.Action;
113
112
  private readonly nextNumberByDomain: Map<string, number>;
114
- private readonly buttonInternal: ToolbarButton;
113
+ readonly #button: ToolbarButton;
115
114
  private readonly allOverviews: Array<{
116
- constructor: (parsedTrace: Trace.Handlers.Types.ParsedTrace) => TimelineEventOverview,
115
+ constructor: (parsedTrace: Trace.TraceModel.ParsedTrace) => TimelineEventOverview,
117
116
  height: number,
118
117
  }>;
119
118
  private totalHeight: number;
@@ -127,12 +126,12 @@ export class TimelineHistoryManager {
127
126
  this.#minimapComponent = minimapComponent;
128
127
  this.action = UI.ActionRegistry.ActionRegistry.instance().getAction('timeline.show-history');
129
128
  this.nextNumberByDomain = new Map();
130
- this.buttonInternal = new ToolbarButton(this.action);
129
+ this.#button = new ToolbarButton(this.action);
131
130
 
132
131
  this.#landingPageTitle =
133
132
  isNode ? i18nString(UIStrings.nodeLandingPageTitle) : i18nString(UIStrings.landingPageTitle);
134
133
 
135
- UI.ARIAUtils.markAsMenuButton(this.buttonInternal.element);
134
+ UI.ARIAUtils.markAsMenuButton(this.#button.element);
136
135
  this.clear();
137
136
 
138
137
  // Attempt to reuse the overviews coming from the panel's minimap
@@ -182,13 +181,13 @@ export class TimelineHistoryManager {
182
181
 
183
182
  // Order is important: this needs to happen first because lots of the
184
183
  // subsequent code depends on us storing the preview data into the map.
185
- this.#buildAndStorePreviewData(newInput.data.parsedTraceIndex, newInput.parsedTrace, newInput.metadata, filmStrip);
184
+ this.#buildAndStorePreviewData(newInput.data.parsedTraceIndex, newInput.parsedTrace, filmStrip);
186
185
 
187
186
  const modelTitle = this.title(newInput.data);
188
- this.buttonInternal.setText(modelTitle);
187
+ this.#button.setText(modelTitle);
189
188
  const buttonTitle = this.action.title();
190
189
  UI.ARIAUtils.setLabel(
191
- this.buttonInternal.element, i18nString(UIStrings.currentSessionSS, {PH1: modelTitle, PH2: buttonTitle}));
190
+ this.#button.element, i18nString(UIStrings.currentSessionSS, {PH1: modelTitle, PH2: buttonTitle}));
192
191
  this.updateState();
193
192
  if (this.recordings.length <= maxRecordings) {
194
193
  return;
@@ -212,14 +211,14 @@ export class TimelineHistoryManager {
212
211
  }
213
212
 
214
213
  button(): ToolbarButton {
215
- return this.buttonInternal;
214
+ return this.#button;
216
215
  }
217
216
 
218
217
  clear(): void {
219
218
  this.recordings = [];
220
219
  this.lastActiveTrace = null;
221
220
  this.updateState();
222
- this.buttonInternal.setText(this.#landingPageTitle);
221
+ this.#button.setText(this.#landingPageTitle);
223
222
  this.nextNumberByDomain.clear();
224
223
  }
225
224
 
@@ -241,7 +240,7 @@ export class TimelineHistoryManager {
241
240
  // DropDown.show() function finishes when the dropdown menu is closed via selection or losing focus
242
241
  const activeTraceIndex = await DropDown.show(
243
242
  this.recordings.map(recording => recording.parsedTraceIndex), this.#getActiveTraceIndexForListControl(),
244
- this.buttonInternal.element, this.#landingPageTitle);
243
+ this.#button.element, this.#landingPageTitle);
245
244
 
246
245
  if (activeTraceIndex === null) {
247
246
  return null;
@@ -311,9 +310,9 @@ export class TimelineHistoryManager {
311
310
  this.lastActiveTrace = item;
312
311
  const modelTitle = this.title(item);
313
312
  const buttonTitle = this.action.title();
314
- this.buttonInternal.setText(modelTitle);
313
+ this.#button.setText(modelTitle);
315
314
  UI.ARIAUtils.setLabel(
316
- this.buttonInternal.element, i18nString(UIStrings.currentSessionSS, {PH1: modelTitle, PH2: buttonTitle}));
315
+ this.#button.element, i18nString(UIStrings.currentSessionSS, {PH1: modelTitle, PH2: buttonTitle}));
317
316
  }
318
317
 
319
318
  private updateState(): void {
@@ -341,9 +340,9 @@ export class TimelineHistoryManager {
341
340
  }
342
341
 
343
342
  #buildAndStorePreviewData(
344
- parsedTraceIndex: number, parsedTrace: Trace.Handlers.Types.ParsedTrace, metadata: Trace.Types.File.MetaData|null,
343
+ parsedTraceIndex: number, parsedTrace: Trace.TraceModel.ParsedTrace,
345
344
  filmStrip: Trace.Extras.FilmStrip.Data|null): HTMLDivElement {
346
- const parsedURL = Common.ParsedURL.ParsedURL.fromString(parsedTrace.Meta.mainFrameURL);
345
+ const parsedURL = Common.ParsedURL.ParsedURL.fromString(parsedTrace.data.Meta.mainFrameURL);
347
346
  const domain = parsedURL ? parsedURL.host : '';
348
347
 
349
348
  const sequenceNumber = this.nextNumberByDomain.get(domain) || 1;
@@ -362,7 +361,7 @@ export class TimelineHistoryManager {
362
361
  };
363
362
  parsedTraceIndexToPerformancePreviewData.set(parsedTraceIndex, data);
364
363
 
365
- preview.appendChild(this.#buildTextDetails(metadata, domain));
364
+ preview.appendChild(this.#buildTextDetails(parsedTrace.metadata, domain));
366
365
  const screenshotAndOverview = preview.createChild('div', 'hbox');
367
366
  screenshotAndOverview.appendChild(this.#buildScreenshotThumbnail(filmStrip));
368
367
  screenshotAndOverview.appendChild(this.#buildOverview(parsedTrace));
@@ -412,7 +411,7 @@ export class TimelineHistoryManager {
412
411
  return container;
413
412
  }
414
413
 
415
- #buildOverview(parsedTrace: Trace.Handlers.Types.ParsedTrace): Element {
414
+ #buildOverview(parsedTrace: Trace.TraceModel.ParsedTrace): Element {
416
415
  const container = document.createElement('div');
417
416
  const dPR = window.devicePixelRatio;
418
417
  container.style.width = previewWidth + 'px';
@@ -23,7 +23,7 @@ import miniMapStyles from './timelineMiniMap.css.js';
23
23
  import {TimelineUIUtils} from './TimelineUIUtils.js';
24
24
 
25
25
  export interface OverviewData {
26
- parsedTrace: Trace.Handlers.Types.ParsedTrace;
26
+ parsedTrace: Trace.TraceModel.ParsedTrace;
27
27
  isCpuProfile?: boolean;
28
28
  settings: {
29
29
  showScreenshots: boolean,
@@ -244,10 +244,10 @@ export class TimelineMiniMap extends
244
244
  this.#overviewComponent.reset();
245
245
  }
246
246
 
247
- #setMarkers(parsedTrace: Trace.Handlers.Types.ParsedTrace): void {
247
+ #setMarkers(parsedTrace: Trace.TraceModel.ParsedTrace): void {
248
248
  const markers = new Map<number, HTMLDivElement>();
249
249
 
250
- const {Meta} = parsedTrace;
250
+ const {Meta} = parsedTrace.data;
251
251
 
252
252
  // Only add markers for navigation start times.
253
253
  const navStartEvents = Meta.mainFrameNavigations;
@@ -261,8 +261,8 @@ export class TimelineMiniMap extends
261
261
  this.#overviewComponent.setMarkers(markers);
262
262
  }
263
263
 
264
- #setNavigationStartEvents(parsedTrace: Trace.Handlers.Types.ParsedTrace): void {
265
- this.#overviewComponent.setNavStartTimes(parsedTrace.Meta.mainFrameNavigations);
264
+ #setNavigationStartEvents(parsedTrace: Trace.TraceModel.ParsedTrace): void {
265
+ this.#overviewComponent.setNavStartTimes(parsedTrace.data.Meta.mainFrameNavigations);
266
266
  }
267
267
 
268
268
  getControls(): TimelineEventOverview[] {
@@ -291,7 +291,7 @@ export class TimelineMiniMap extends
291
291
 
292
292
  this.#controls.push(new TimelineEventOverviewNetwork(data.parsedTrace));
293
293
  if (data.settings.showScreenshots) {
294
- const filmStrip = Trace.Extras.FilmStrip.fromParsedTrace(data.parsedTrace);
294
+ const filmStrip = Trace.Extras.FilmStrip.fromHandlerData(data.parsedTrace.data);
295
295
  if (filmStrip.frames.length) {
296
296
  this.#controls.push(new TimelineFilmStripOverview(filmStrip));
297
297
  }
@@ -23,9 +23,9 @@ export class TimelinePaintProfilerView extends UI.SplitWidget.SplitWidget {
23
23
  private event: Trace.Types.Events.Event|null;
24
24
  private paintProfilerModel: SDK.PaintProfiler.PaintProfilerModel|null;
25
25
  private lastLoadedSnapshot: SDK.PaintProfiler.PaintProfilerSnapshot|null;
26
- #parsedTrace: Trace.Handlers.Types.ParsedTrace;
26
+ #parsedTrace: Trace.TraceModel.ParsedTrace;
27
27
 
28
- constructor(parsedTrace: Trace.Handlers.Types.ParsedTrace) {
28
+ constructor(parsedTrace: Trace.TraceModel.ParsedTrace) {
29
29
  super(false, false);
30
30
  this.element.classList.add('timeline-paint-profiler-view');
31
31
  this.setSidebarSize(60);
@@ -76,7 +76,7 @@ export class TimelinePaintProfilerView extends UI.SplitWidget.SplitWidget {
76
76
  return false;
77
77
  }
78
78
 
79
- const frame = this.#parsedTrace.Frames.framesById[data.sourceFrameNumber];
79
+ const frame = this.#parsedTrace.data.Frames.framesById[data.sourceFrameNumber];
80
80
  if (!frame?.layerTree) {
81
81
  return false;
82
82
  }
@@ -91,7 +91,7 @@ export class TimelinePaintProfilerView extends UI.SplitWidget.SplitWidget {
91
91
 
92
92
  this.updateWhenVisible();
93
93
  if (Trace.Types.Events.isPaint(event)) {
94
- const snapshot = this.#parsedTrace.LayerTree.paintsToSnapshots.get(event);
94
+ const snapshot = this.#parsedTrace.data.LayerTree.paintsToSnapshots.get(event);
95
95
  return Boolean(snapshot);
96
96
  }
97
97
  if (Trace.Types.Events.isRasterTask(event)) {
@@ -126,7 +126,7 @@ export class TimelinePaintProfilerView extends UI.SplitWidget.SplitWidget {
126
126
  return null;
127
127
  }
128
128
 
129
- const frame = this.#parsedTrace.Frames.framesById[data.sourceFrameNumber];
129
+ const frame = this.#parsedTrace.data.Frames.framesById[data.sourceFrameNumber];
130
130
  if (!frame?.layerTree) {
131
131
  return null;
132
132
  }
@@ -155,7 +155,7 @@ export class TimelinePaintProfilerView extends UI.SplitWidget.SplitWidget {
155
155
  // snapshot to that paint event. That is why here if the event is a Paint
156
156
  // event, we look to see if it has had a matching picture event set for
157
157
  // it.
158
- const snapshotEvent = this.#parsedTrace.LayerTree.paintsToSnapshots.get(this.event);
158
+ const snapshotEvent = this.#parsedTrace.data.LayerTree.paintsToSnapshots.get(this.event);
159
159
  if (snapshotEvent) {
160
160
  const encodedData = snapshotEvent.args.snapshot.skp64;
161
161
  snapshotPromise = this.paintProfilerModel.loadSnapshot(encodedData).then(snapshot => {
@@ -369,7 +369,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
369
369
  );
370
370
  private readonly statusPaneContainer: HTMLElement;
371
371
  private readonly flameChart: TimelineFlameChartView;
372
- private readonly searchableViewInternal: UI.SearchableView.SearchableView;
372
+ readonly #searchableView: UI.SearchableView.SearchableView;
373
373
  private showSettingsPaneButton!: UI.Toolbar.ToolbarSettingToggle;
374
374
  private showSettingsPaneSetting!: Common.Settings.Setting<boolean>;
375
375
  private settingsPane?: HTMLElement;
@@ -425,7 +425,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
425
425
  'flamechart-selected-navigation', 'Classic - scroll to zoom', 'timeline.select-classic-navigation');
426
426
 
427
427
  #onMainEntryHovered: (event: Common.EventTarget.EventTargetEvent<number>) => void;
428
- #hiddenTracksInfoBarPerTrace = new WeakMap<Trace.Handlers.Types.ParsedTrace, UI.Infobar.Infobar|'DISMISSED'>();
428
+ #hiddenTracksInfoBarByParsedTrace = new WeakMap<Trace.TraceModel.ParsedTrace, UI.Infobar.Infobar|'DISMISSED'>();
429
429
 
430
430
  constructor(traceModel?: Trace.TraceModel.Model) {
431
431
  super('timeline');
@@ -536,14 +536,14 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
536
536
  this.select(selection);
537
537
  });
538
538
 
539
- this.searchableViewInternal = new UI.SearchableView.SearchableView(this.flameChart, null);
540
- this.searchableViewInternal.setMinimumSize(0, 100);
541
- this.searchableViewInternal.setMinimalSearchQuerySize(2); // At 1 it can introduce a bit of jank.
542
- this.searchableViewInternal.element.classList.add('searchable-view');
543
- this.searchableViewInternal.show(this.timelinePane.element);
544
- this.flameChart.show(this.searchableViewInternal.element);
545
- this.flameChart.setSearchableView(this.searchableViewInternal);
546
- this.searchableViewInternal.hideWidget();
539
+ this.#searchableView = new UI.SearchableView.SearchableView(this.flameChart, null);
540
+ this.#searchableView.setMinimumSize(0, 100);
541
+ this.#searchableView.setMinimalSearchQuerySize(2); // At 1 it can introduce a bit of jank.
542
+ this.#searchableView.element.classList.add('searchable-view');
543
+ this.#searchableView.show(this.timelinePane.element);
544
+ this.flameChart.show(this.#searchableView.element);
545
+ this.flameChart.setSearchableView(this.#searchableView);
546
+ this.#searchableView.hideWidget();
547
547
 
548
548
  this.#splitWidget.setMainWidget(this.timelinePane);
549
549
  this.#splitWidget.setSidebarWidget(this.#sideBar);
@@ -729,7 +729,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
729
729
  return Common.Settings.Settings.instance().createSetting('timeline-show-extension-data', true);
730
730
  }
731
731
  override searchableView(): UI.SearchableView.SearchableView|null {
732
- return this.searchableViewInternal;
732
+ return this.#searchableView;
733
733
  }
734
734
 
735
735
  override wasShown(): void {
@@ -882,7 +882,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
882
882
 
883
883
  // Whilst we don't reset this, we hide it, mainly so the user cannot
884
884
  // hit Ctrl/Cmd-F and try to search when it isn't visible.
885
- this.searchableViewInternal.hideWidget();
885
+ this.#searchableView.hideWidget();
886
886
  return;
887
887
  }
888
888
 
@@ -970,13 +970,13 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
970
970
  * within DevTools you are warned when using the method.
971
971
  * @deprecated
972
972
  **/
973
- getParsedTraceForLayoutTests(): Trace.Handlers.Types.ParsedTrace {
973
+ getParsedTraceForLayoutTests(): Trace.Handlers.Types.HandlerData {
974
974
  const traceIndex = this.#activeTraceIndex();
975
975
  if (traceIndex === null) {
976
976
  throw new Error('No trace index active.');
977
977
  }
978
- const data = this.#traceEngineModel.parsedTrace(traceIndex);
979
- if (data === null) {
978
+ const data = this.#traceEngineModel.parsedTrace(traceIndex)?.data;
979
+ if (!data) {
980
980
  throw new Error('No trace engine data found.');
981
981
  }
982
982
  return data;
@@ -993,11 +993,11 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
993
993
  if (traceIndex === null) {
994
994
  throw new Error('No trace index active.');
995
995
  }
996
- const data = this.#traceEngineModel.rawTraceEvents(traceIndex);
997
- if (data === null) {
996
+ const data = this.#traceEngineModel.parsedTrace(traceIndex);
997
+ if (!data) {
998
998
  throw new Error('No trace engine data found.');
999
999
  }
1000
- return data;
1000
+ return data.traceEvents;
1001
1001
  }
1002
1002
 
1003
1003
  #onEntryHovered(dataProvider: TimelineFlameChartDataProvider, event: Common.EventTarget.EventTargetEvent<number>):
@@ -1377,12 +1377,9 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
1377
1377
  if (this.#viewMode.mode !== 'VIEWING_TRACE') {
1378
1378
  return;
1379
1379
  }
1380
- const trace = this.#traceEngineModel.parsedTrace(this.#viewMode.traceIndex);
1381
- if (!trace) {
1382
- return;
1383
- }
1384
- let traceEvents = this.#traceEngineModel.rawTraceEvents(this.#viewMode.traceIndex);
1385
- if (!traceEvents) {
1380
+
1381
+ const parsedTrace = this.#traceEngineModel.parsedTrace(this.#viewMode.traceIndex);
1382
+ if (!parsedTrace) {
1386
1383
  return;
1387
1384
  }
1388
1385
 
@@ -1394,9 +1391,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
1394
1391
  scriptByIdMap.set(`${mapScript.isolate}.${mapScript.scriptId}`, mapScript);
1395
1392
  }
1396
1393
 
1397
- const metadata = this.#traceEngineModel.metadata(this.#viewMode.traceIndex) ?? {};
1398
-
1399
- traceEvents = traceEvents.map(event => {
1394
+ const traceEvents = parsedTrace.traceEvents.map(event => {
1400
1395
  if (Trace.Types.Events.isAnyScriptCatchupEvent(event) && event.name !== 'StubScriptCatchup') {
1401
1396
  const mappedScript = scriptByIdMap.get(`${event.args.data.isolate}.${event.args.data.scriptId}`);
1402
1397
 
@@ -1422,6 +1417,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
1422
1417
  return event;
1423
1418
  });
1424
1419
 
1420
+ const metadata = parsedTrace.metadata;
1425
1421
  metadata.modifications = config.addModifications ? ModificationsManager.activeManager()?.toJSON() : undefined;
1426
1422
 
1427
1423
  // NOTE: we used to export the track configuration changes into the trace
@@ -1665,8 +1661,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
1665
1661
  }
1666
1662
 
1667
1663
  const parsedTrace = this.#traceEngineModel.parsedTrace(this.#viewMode.traceIndex);
1668
- const isCpuProfile = this.#traceEngineModel.metadata(this.#viewMode.traceIndex)?.dataOrigin ===
1669
- Trace.Types.File.DataOrigin.CPU_PROFILE;
1664
+ const isCpuProfile = parsedTrace?.metadata.dataOrigin === Trace.Types.File.DataOrigin.CPU_PROFILE;
1670
1665
  if (!parsedTrace) {
1671
1666
  return;
1672
1667
  }
@@ -2071,7 +2066,6 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2071
2066
  }
2072
2067
  const {traceIndex} = this.#viewMode;
2073
2068
  const parsedTrace = this.#traceEngineModel.parsedTrace(traceIndex);
2074
- const traceMetadata = this.#traceEngineModel.metadata(traceIndex);
2075
2069
  const syntheticEventsManager = this.#traceEngineModel.syntheticTraceEventsManager(traceIndex);
2076
2070
 
2077
2071
  if (!parsedTrace || !syntheticEventsManager) {
@@ -2091,8 +2085,9 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2091
2085
 
2092
2086
  // Order is important: the bounds must be set before we initiate any UI
2093
2087
  // rendering.
2088
+ const data = parsedTrace.data;
2094
2089
  TraceBounds.TraceBounds.BoundsManager.instance().resetWithNewBounds(
2095
- parsedTrace.Meta.traceBounds,
2090
+ data.Meta.traceBounds,
2096
2091
  );
2097
2092
 
2098
2093
  // Set up the modifications manager for the newly active trace.
@@ -2105,19 +2100,16 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2105
2100
  }
2106
2101
  this.statusDialog?.updateProgressBar(i18nString(UIStrings.processed), 70);
2107
2102
 
2108
- const traceInsightsSets = this.#traceEngineModel.traceInsights(traceIndex);
2109
- this.flameChart.setInsights(traceInsightsSets, this.#eventToRelatedInsights);
2110
-
2111
- this.flameChart.setModel(parsedTrace, traceMetadata);
2103
+ this.flameChart.setModel(parsedTrace, this.#eventToRelatedInsights);
2112
2104
  this.flameChart.resizeToPreferredHeights();
2113
2105
  // Reset the visual selection as we've just swapped to a new trace.
2114
2106
  this.flameChart.setSelectionAndReveal(null);
2115
- this.#sideBar.setParsedTrace(parsedTrace, traceMetadata);
2107
+ this.#sideBar.setParsedTrace(parsedTrace);
2116
2108
 
2117
- this.searchableViewInternal.showWidget();
2109
+ this.#searchableView.showWidget();
2118
2110
 
2119
2111
  const exclusiveFilter = this.#exclusiveFilterPerTrace.get(traceIndex) ?? null;
2120
- this.#applyActiveFilters(parsedTrace.Meta.traceIsGeneric, exclusiveFilter);
2112
+ this.#applyActiveFilters(parsedTrace.data.Meta.traceIsGeneric, exclusiveFilter);
2121
2113
  (this.saveButton.element as TimelineComponents.ExportTraceOptions.ExportTraceOptions)
2122
2114
  .updateContentVisibility(currentManager ? currentManager.getAnnotations()?.length > 0 : false);
2123
2115
 
@@ -2130,7 +2122,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2130
2122
  this.flameChart.getMainDataProvider().compatibilityTracksAppenderInstance().threadAppenders().at(0);
2131
2123
  if (topMostMainThreadAppender) {
2132
2124
  const zoomedInBounds = Trace.Extras.MainThreadActivity.calculateWindow(
2133
- parsedTrace.Meta.traceBounds, topMostMainThreadAppender.getEntries());
2125
+ parsedTrace.data.Meta.traceBounds, topMostMainThreadAppender.getEntries());
2134
2126
 
2135
2127
  TraceBounds.TraceBounds.BoundsManager.instance().setTimelineVisibleWindow(zoomedInBounds);
2136
2128
  }
@@ -2146,11 +2138,11 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2146
2138
 
2147
2139
  // Set up line level profiling with CPU profiles, if we found any.
2148
2140
  PerfUI.LineLevelProfile.Performance.instance().reset();
2149
- if (parsedTrace?.Samples.profilesInProcess.size) {
2141
+ if (parsedTrace.data.Samples.profilesInProcess.size) {
2150
2142
  const primaryPageTarget = SDK.TargetManager.TargetManager.instance().primaryPageTarget();
2151
2143
  // Gather up all CPU Profiles we found when parsing this trace.
2152
2144
  const cpuProfiles =
2153
- Array.from(parsedTrace.Samples.profilesInProcess).flatMap(([_processId, threadsInProcess]) => {
2145
+ Array.from(parsedTrace.data.Samples.profilesInProcess).flatMap(([_processId, threadsInProcess]) => {
2154
2146
  const profiles = Array.from(threadsInProcess.values()).map(profileData => profileData.parsedProfile);
2155
2147
  return profiles;
2156
2148
  });
@@ -2180,11 +2172,10 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2180
2172
  this.#maybeCreateHiddenTracksBanner(parsedTrace);
2181
2173
 
2182
2174
  this.#setActiveInsight(null);
2183
- this.#sideBar.setInsights(traceInsightsSets);
2184
2175
 
2185
2176
  this.#eventToRelatedInsights.clear();
2186
- if (traceInsightsSets) {
2187
- for (const [insightSetKey, insightSet] of traceInsightsSets) {
2177
+ if (parsedTrace.insights) {
2178
+ for (const [insightSetKey, insightSet] of parsedTrace.insights) {
2188
2179
  for (const model of Object.values(insightSet.model)) {
2189
2180
  let relatedEvents = model.relatedEvents;
2190
2181
  if (!relatedEvents) {
@@ -2295,16 +2286,16 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2295
2286
  * show a warning banner at the bottom. This can be dismissed by the user and
2296
2287
  * if that happens we do not want to bring it back again.
2297
2288
  */
2298
- #maybeCreateHiddenTracksBanner(trace: Trace.Handlers.Types.ParsedTrace): void {
2289
+ #maybeCreateHiddenTracksBanner(parsedTrace: Trace.TraceModel.ParsedTrace): void {
2299
2290
  const hasHiddenTracks = this.flameChart.hasHiddenTracks();
2300
2291
  if (!hasHiddenTracks) {
2301
2292
  return;
2302
2293
  }
2303
2294
 
2304
- const maybeOverlay = createHiddenTracksOverlay(trace, {
2295
+ const maybeOverlay = createHiddenTracksOverlay(parsedTrace, {
2305
2296
  onClose: () => {
2306
2297
  this.flameChart.overlays().removeOverlaysOfType('BOTTOM_INFO_BAR');
2307
- this.#hiddenTracksInfoBarPerTrace.set(trace, 'DISMISSED');
2298
+ this.#hiddenTracksInfoBarByParsedTrace.set(parsedTrace, 'DISMISSED');
2308
2299
  },
2309
2300
  onShowAllTracks: () => {
2310
2301
  this.flameChart.showAllMainChartTracks();
@@ -2542,9 +2533,8 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2542
2533
  parsedTraceIndex: traceIndex,
2543
2534
  type: 'TRACE_INDEX',
2544
2535
  },
2545
- filmStripForPreview: Trace.Extras.FilmStrip.fromParsedTrace(parsedTrace),
2536
+ filmStripForPreview: Trace.Extras.FilmStrip.fromHandlerData(parsedTrace.data),
2546
2537
  parsedTrace,
2547
- metadata,
2548
2538
  });
2549
2539
 
2550
2540
  this.dispatchEventToListeners(Events.RECORDING_COMPLETED, {
@@ -2593,7 +2583,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2593
2583
  * subsequent attempt will work).
2594
2584
  */
2595
2585
  async #retainSourceMapsForEnhancedTrace(
2596
- parsedTrace: Trace.Handlers.Types.ParsedTrace, metadata: Trace.Types.File.MetaData): Promise<void> {
2586
+ parsedTrace: Trace.TraceModel.ParsedTrace, metadata: Trace.Types.File.MetaData): Promise<void> {
2597
2587
  const handleScript = async(script: Trace.Handlers.ModelHandlers.Scripts.Script): Promise<void> => {
2598
2588
  if (script.sourceMapUrlElided) {
2599
2589
  if (metadata.sourceMaps?.find(m => m.url === script.url)) {
@@ -2638,7 +2628,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2638
2628
  metadata.sourceMaps = [];
2639
2629
 
2640
2630
  const promises = [];
2641
- for (const script of parsedTrace?.Scripts.scripts.values() ?? []) {
2631
+ for (const script of parsedTrace?.data.Scripts.scripts.values() ?? []) {
2642
2632
  promises.push(handleScript(script));
2643
2633
  }
2644
2634
  await Promise.all(promises);
@@ -2833,10 +2823,11 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2833
2823
  if (!parsedTrace) {
2834
2824
  return null;
2835
2825
  }
2826
+
2836
2827
  const endTime = rangeForSelection(selection).max;
2837
2828
  const lastFrameInSelection = Trace.Handlers.ModelHandlers.Frames
2838
2829
  .framesWithinWindow(
2839
- parsedTrace.Frames.frames,
2830
+ parsedTrace.data.Frames.frames,
2840
2831
  endTime,
2841
2832
  endTime,
2842
2833
  )
@@ -2856,10 +2847,11 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
2856
2847
  if (!parsedTrace) {
2857
2848
  return;
2858
2849
  }
2859
- let index = parsedTrace.Frames.frames.indexOf(currentFrame);
2850
+
2851
+ let index = parsedTrace.data.Frames.frames.indexOf(currentFrame);
2860
2852
  console.assert(index >= 0, 'Can\'t find current frame in the frame list');
2861
- index = Platform.NumberUtilities.clamp(index + offset, 0, parsedTrace.Frames.frames.length - 1);
2862
- const frame = parsedTrace.Frames.frames[index];
2853
+ index = Platform.NumberUtilities.clamp(index + offset, 0, parsedTrace.data.Frames.frames.length - 1);
2854
+ const frame = parsedTrace.data.Frames.frames[index];
2863
2855
  this.#revealTimeRange(
2864
2856
  Trace.Helpers.Timing.microToMilli(frame.startTime), Trace.Helpers.Timing.microToMilli(frame.endTime));
2865
2857
  this.select(selectionFromEvent(frame));
@@ -3019,16 +3011,16 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
3019
3011
  message: `Error running the trace: ${eventData.errorText}`,
3020
3012
  };
3021
3013
  }
3014
+
3022
3015
  const parsedTrace = panelInstance.model.parsedTrace(eventData.traceIndex);
3023
- const insights = panelInstance.model.traceInsights(eventData.traceIndex);
3024
- if (!parsedTrace || !insights || insights.size === 0) {
3016
+ if (!parsedTrace || !parsedTrace.insights || parsedTrace.insights.size === 0) {
3025
3017
  return {
3026
3018
  type: AiAssistanceModel.ExternalRequestResponseType.ERROR,
3027
3019
  message: 'The trace was loaded successfully but no Insights were detected.',
3028
3020
  };
3029
3021
  }
3030
3022
 
3031
- const navigationId = Array.from(insights.keys()).find(k => k !== 'NO_NAVIGATION');
3023
+ const navigationId = Array.from(parsedTrace.insights.keys()).find(k => k !== 'NO_NAVIGATION');
3032
3024
  if (!navigationId) {
3033
3025
  return {
3034
3026
  type: AiAssistanceModel.ExternalRequestResponseType.ERROR,
@@ -3036,7 +3028,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
3036
3028
  };
3037
3029
  }
3038
3030
 
3039
- const insightsForNav = insights.get(navigationId);
3031
+ const insightsForNav = parsedTrace.insights.get(navigationId);
3040
3032
  if (!insightsForNav) {
3041
3033
  return {
3042
3034
  type: AiAssistanceModel.ExternalRequestResponseType.ERROR,
@@ -3049,6 +3041,7 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
3049
3041
  // bottom of the response under a heading.
3050
3042
  let responseTextForPassedInsights = '';
3051
3043
 
3044
+ // TODO(b/442392194): use PerformanceTraceFormatter summary instead.
3052
3045
  for (const modelName in insightsForNav.model) {
3053
3046
  const model = modelName as keyof Trace.Insights.Types.InsightModelsType;
3054
3047
  const insight = insightsForNav.model[model];