chrome-devtools-frontend 1.0.1512147 → 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 (337) hide show
  1. package/docs/cookbook/release_management.md +15 -13
  2. package/docs/get_the_code.md +114 -35
  3. package/front_end/Images/src/ai-explorer-badge.svg +114 -0
  4. package/front_end/Images/src/code-whisperer-badge.svg +166 -0
  5. package/front_end/Images/src/devtools-user-badge.svg +129 -0
  6. package/front_end/Images/src/dom-detective-badge.svg +136 -0
  7. package/front_end/Images/src/speedster-badge.svg +166 -0
  8. package/front_end/core/common/Color.ts +40 -44
  9. package/front_end/core/common/Console.ts +4 -4
  10. package/front_end/core/common/ParsedURL.ts +14 -14
  11. package/front_end/core/common/ResourceType.ts +20 -20
  12. package/front_end/core/common/SegmentedRange.ts +13 -14
  13. package/front_end/core/common/Settings.ts +4 -4
  14. package/front_end/core/common/StringOutputStream.ts +4 -4
  15. package/front_end/core/host/GdpClient.ts +76 -2
  16. package/front_end/core/host/InspectorFrontendHost.ts +4 -1
  17. package/front_end/core/host/InspectorFrontendHostAPI.ts +2 -0
  18. package/front_end/core/host/ResourceLoader.ts +2 -2
  19. package/front_end/core/host/UserMetrics.ts +0 -2
  20. package/front_end/core/i18n/NumberFormatter.ts +7 -0
  21. package/front_end/core/protocol_client/InspectorBackend.ts +9 -9
  22. package/front_end/core/root/Runtime.ts +5 -2
  23. package/front_end/core/sdk/AccessibilityModel.ts +48 -48
  24. package/front_end/core/sdk/AnimationModel.ts +78 -79
  25. package/front_end/core/sdk/CPUProfilerModel.ts +5 -5
  26. package/front_end/core/sdk/CPUThrottlingManager.ts +17 -17
  27. package/front_end/core/sdk/CSSMatchedStyles.ts +44 -44
  28. package/front_end/core/sdk/CSSMedia.ts +22 -22
  29. package/front_end/core/sdk/CSSModel.ts +4 -4
  30. package/front_end/core/sdk/CSSProperty.ts +9 -9
  31. package/front_end/core/sdk/CSSPropertyParser.ts +1 -2
  32. package/front_end/core/sdk/CSSRule.ts +3 -3
  33. package/front_end/core/sdk/CSSStyleDeclaration.ts +27 -28
  34. package/front_end/core/sdk/CSSStyleSheetHeader.ts +13 -13
  35. package/front_end/core/sdk/CategorizedBreakpoint.ts +4 -4
  36. package/front_end/core/sdk/ChildTargetManager.ts +6 -6
  37. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +4 -4
  38. package/front_end/core/sdk/ConsoleModel.ts +24 -24
  39. package/front_end/core/sdk/Cookie.ts +16 -16
  40. package/front_end/core/sdk/CookieParser.ts +6 -6
  41. package/front_end/core/sdk/DOMDebuggerModel.ts +88 -89
  42. package/front_end/core/sdk/DOMModel.ts +113 -113
  43. package/front_end/core/sdk/DebuggerModel.ts +102 -103
  44. package/front_end/core/sdk/EmulationModel.ts +6 -6
  45. package/front_end/core/sdk/EventBreakpointsModel.ts +5 -5
  46. package/front_end/core/sdk/HeapProfilerModel.ts +5 -5
  47. package/front_end/core/sdk/IsolateManager.ts +26 -26
  48. package/front_end/core/sdk/LayerTreeBase.ts +29 -30
  49. package/front_end/core/sdk/OverlayModel.ts +6 -6
  50. package/front_end/core/sdk/Resource.ts +43 -43
  51. package/front_end/core/sdk/ResourceTreeModel.ts +58 -61
  52. package/front_end/core/sdk/RuntimeModel.ts +12 -13
  53. package/front_end/core/sdk/SDKModel.ts +3 -3
  54. package/front_end/core/sdk/Script.ts +17 -17
  55. package/front_end/core/sdk/SecurityOriginManager.ts +14 -14
  56. package/front_end/core/sdk/ServerTiming.ts +2 -2
  57. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +15 -15
  58. package/front_end/core/sdk/ServiceWorkerManager.ts +19 -24
  59. package/front_end/core/sdk/SourceMap.ts +10 -10
  60. package/front_end/core/sdk/StorageKeyManager.ts +12 -12
  61. package/front_end/core/sdk/Target.ts +33 -34
  62. package/front_end/core/sdk/TargetManager.ts +20 -20
  63. package/front_end/entrypoints/formatter_worker/AcornTokenizer.ts +8 -8
  64. package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +7 -7
  65. package/front_end/entrypoints/heap_snapshot_worker/AllocationProfile.ts +7 -7
  66. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +24 -24
  67. package/front_end/entrypoints/main/GlobalAiButton.ts +3 -3
  68. package/front_end/entrypoints/main/MainImpl.ts +16 -14
  69. package/front_end/entrypoints/main/main-meta.ts +1 -2
  70. package/front_end/generated/InspectorBackendCommands.js +3 -2
  71. package/front_end/generated/SupportedCSSProperties.js +20 -0
  72. package/front_end/generated/protocol-mapping.d.ts +4 -0
  73. package/front_end/generated/protocol-proxy-api.d.ts +5 -0
  74. package/front_end/generated/protocol.ts +20 -0
  75. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +18 -35
  76. package/front_end/models/ai_assistance/ai_assistance.ts +1 -1
  77. package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +7 -6
  78. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +246 -119
  79. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +187 -73
  80. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +106 -100
  81. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +20 -27
  82. package/front_end/models/ai_assistance/data_formatters/UnitFormatters.ts +151 -0
  83. package/front_end/models/badges/AiExplorerBadge.ts +21 -0
  84. package/front_end/models/badges/Badge.ts +10 -9
  85. package/front_end/models/badges/CodeWhispererBadge.ts +21 -0
  86. package/front_end/models/badges/DOMDetectiveBadge.ts +21 -0
  87. package/front_end/models/badges/SpeedsterBadge.ts +7 -2
  88. package/front_end/models/badges/StarterBadge.ts +6 -1
  89. package/front_end/models/badges/UserBadges.ts +61 -9
  90. package/front_end/models/bindings/CSSWorkspaceBinding.ts +6 -6
  91. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +18 -18
  92. package/front_end/models/bindings/FileUtils.ts +15 -15
  93. package/front_end/models/bindings/ResourceScriptMapping.ts +14 -14
  94. package/front_end/models/elements/ElementUpdateRecord.ts +11 -11
  95. package/front_end/models/emulation/DeviceModeModel.ts +123 -131
  96. package/front_end/models/emulation/EmulatedDevices.ts +22 -22
  97. package/front_end/models/extensions/ExtensionPanel.ts +24 -24
  98. package/front_end/models/extensions/ExtensionServer.ts +4 -4
  99. package/front_end/models/javascript_metadata/NativeFunctions.js +14 -2
  100. package/front_end/models/persistence/IsolatedFileSystem.ts +18 -19
  101. package/front_end/models/persistence/IsolatedFileSystemManager.ts +13 -13
  102. package/front_end/models/trace/EventsSerializer.ts +5 -5
  103. package/front_end/models/trace/LanternComputationData.ts +10 -10
  104. package/front_end/models/trace/ModelImpl.ts +32 -54
  105. package/front_end/models/trace/Processor.ts +28 -30
  106. package/front_end/models/trace/extras/FilmStrip.ts +6 -6
  107. package/front_end/models/trace/extras/StackTraceForEvent.ts +22 -25
  108. package/front_end/models/trace/extras/ThirdParties.ts +16 -17
  109. package/front_end/models/trace/extras/TraceFilter.ts +1 -1
  110. package/front_end/models/trace/handlers/Threads.ts +10 -10
  111. package/front_end/models/trace/handlers/helpers.ts +9 -9
  112. package/front_end/models/trace/handlers/types.ts +3 -3
  113. package/front_end/models/trace/insights/CLSCulprits.ts +12 -14
  114. package/front_end/models/trace/insights/Cache.ts +8 -4
  115. package/front_end/models/trace/insights/DOMSize.ts +8 -5
  116. package/front_end/models/trace/insights/DocumentLatency.ts +2 -2
  117. package/front_end/models/trace/insights/DuplicatedJavaScript.ts +3 -3
  118. package/front_end/models/trace/insights/FontDisplay.ts +3 -4
  119. package/front_end/models/trace/insights/ForcedReflow.ts +3 -3
  120. package/front_end/models/trace/insights/INPBreakdown.ts +2 -2
  121. package/front_end/models/trace/insights/ImageDelivery.ts +11 -11
  122. package/front_end/models/trace/insights/LCPBreakdown.ts +4 -4
  123. package/front_end/models/trace/insights/LCPDiscovery.ts +4 -4
  124. package/front_end/models/trace/insights/LegacyJavaScript.ts +2 -2
  125. package/front_end/models/trace/insights/ModernHTTP.ts +4 -5
  126. package/front_end/models/trace/insights/NetworkDependencyTree.ts +12 -12
  127. package/front_end/models/trace/insights/RenderBlocking.ts +9 -10
  128. package/front_end/models/trace/insights/SlowCSSSelector.ts +2 -2
  129. package/front_end/models/trace/insights/ThirdParties.ts +4 -5
  130. package/front_end/models/trace/insights/Viewport.ts +8 -5
  131. package/front_end/models/trace/insights/types.ts +1 -0
  132. package/front_end/models/trace/lantern/testing/MetricTestUtils.ts +10 -10
  133. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +52 -52
  134. package/front_end/panels/accessibility/AccessibilitySidebarView.ts +8 -8
  135. package/front_end/panels/animation/AnimationTimeline.ts +5 -5
  136. package/front_end/panels/animation/AnimationUI.ts +22 -23
  137. package/front_end/panels/application/ApplicationPanelSidebar.ts +12 -12
  138. package/front_end/panels/application/DOMStorageModel.ts +23 -23
  139. package/front_end/panels/application/ExtensionStorageModel.ts +31 -31
  140. package/front_end/panels/application/IndexedDBModel.ts +1 -0
  141. package/front_end/panels/application/PreloadingTreeElement.ts +8 -8
  142. package/front_end/panels/application/ServiceWorkersView.ts +0 -53
  143. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +2 -2
  144. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +2 -2
  145. package/front_end/panels/common/BadgeNotification.ts +140 -10
  146. package/front_end/panels/common/GdpSignUpDialog.ts +5 -0
  147. package/front_end/panels/common/badgeNotification.css +30 -9
  148. package/front_end/panels/console/ConsoleContextSelector.ts +9 -9
  149. package/front_end/panels/console/ConsolePrompt.ts +8 -5
  150. package/front_end/panels/console/ConsoleView.ts +13 -13
  151. package/front_end/panels/console/ConsoleViewport.ts +29 -29
  152. package/front_end/panels/coverage/CoverageModel.ts +22 -22
  153. package/front_end/panels/elements/ClassesPaneWidget.ts +1 -1
  154. package/front_end/panels/elements/ComputedStyleModel.ts +17 -18
  155. package/front_end/panels/elements/DOMPath.ts +2 -2
  156. package/front_end/panels/elements/ElementsPanel.ts +13 -13
  157. package/front_end/panels/elements/ElementsTreeElement.ts +30 -18
  158. package/front_end/panels/elements/ElementsTreeOutline.ts +44 -48
  159. package/front_end/panels/elements/ShortcutTreeElement.ts +4 -4
  160. package/front_end/panels/elements/StylePropertiesSection.ts +7 -4
  161. package/front_end/panels/elements/StylePropertyTreeElement.ts +54 -50
  162. package/front_end/panels/elements/StylesSidebarPane.ts +19 -19
  163. package/front_end/panels/emulation/DeviceModeToolbar.ts +7 -7
  164. package/front_end/panels/emulation/DeviceModeView.ts +6 -6
  165. package/front_end/panels/emulation/MediaQueryInspector.ts +18 -18
  166. package/front_end/panels/event_listeners/EventListenersView.ts +13 -14
  167. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +3 -3
  168. package/front_end/panels/layer_viewer/LayerViewHost.ts +13 -13
  169. package/front_end/panels/layer_viewer/PaintProfilerView.ts +9 -10
  170. package/front_end/panels/layer_viewer/TransformController.ts +34 -36
  171. package/front_end/panels/layers/LayerTreeModel.ts +41 -40
  172. package/front_end/panels/lighthouse/LighthouseReportSelector.ts +13 -13
  173. package/front_end/panels/lighthouse/LighthouseStartView.ts +7 -7
  174. package/front_end/panels/media/PlayerMessagesView.ts +5 -5
  175. package/front_end/panels/media/TickingFlameChart.ts +24 -24
  176. package/front_end/panels/media/TickingFlameChartHelpers.ts +32 -32
  177. package/front_end/panels/network/NetworkItemView.ts +4 -4
  178. package/front_end/panels/network/NetworkLogViewColumns.ts +29 -29
  179. package/front_end/panels/network/NetworkPanel.ts +8 -5
  180. package/front_end/panels/network/ResourceWebSocketFrameView.ts +10 -10
  181. package/front_end/panels/profiler/HeapDetachedElementsView.ts +3 -3
  182. package/front_end/panels/profiler/HeapProfileView.ts +1 -1
  183. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +3 -4
  184. package/front_end/panels/profiler/ProfileHeader.ts +25 -25
  185. package/front_end/panels/profiler/ProfileLauncherView.ts +5 -6
  186. package/front_end/panels/recorder/components/ReplaySection.ts +3 -1
  187. package/front_end/panels/security/OriginTreeElement.ts +8 -8
  188. package/front_end/panels/security/SecurityPanel.ts +5 -5
  189. package/front_end/panels/settings/SettingsScreen.ts +18 -18
  190. package/front_end/panels/settings/components/SyncSection.ts +26 -8
  191. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +3 -0
  192. package/front_end/panels/sources/DebuggerPausedMessage.ts +8 -9
  193. package/front_end/panels/sources/NavigatorView.ts +43 -46
  194. package/front_end/panels/sources/SourcesPanel.ts +35 -35
  195. package/front_end/panels/sources/SourcesView.ts +13 -13
  196. package/front_end/panels/sources/TabbedEditorContainer.ts +19 -22
  197. package/front_end/panels/sources/UISourceCodeFrame.ts +4 -4
  198. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +34 -36
  199. package/front_end/panels/timeline/AnimationsTrackAppender.ts +3 -3
  200. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +8 -8
  201. package/front_end/panels/timeline/CountersGraph.ts +16 -16
  202. package/front_end/panels/timeline/EntriesFilter.ts +4 -3
  203. package/front_end/panels/timeline/EventsTimelineTreeView.ts +3 -3
  204. package/front_end/panels/timeline/GPUTrackAppender.ts +3 -3
  205. package/front_end/panels/timeline/Initiators.ts +10 -10
  206. package/front_end/panels/timeline/InteractionsTrackAppender.ts +5 -5
  207. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +7 -7
  208. package/front_end/panels/timeline/ModificationsManager.ts +8 -15
  209. package/front_end/panels/timeline/TargetForEvent.ts +2 -2
  210. package/front_end/panels/timeline/ThirdPartyTreeView.ts +1 -1
  211. package/front_end/panels/timeline/ThreadAppender.ts +13 -13
  212. package/front_end/panels/timeline/TimelineDetailsView.ts +6 -14
  213. package/front_end/panels/timeline/TimelineEventOverview.ts +27 -26
  214. package/front_end/panels/timeline/TimelineFilters.ts +5 -5
  215. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +54 -53
  216. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +34 -34
  217. package/front_end/panels/timeline/TimelineFlameChartView.ts +18 -31
  218. package/front_end/panels/timeline/TimelineHistoryManager.ts +17 -18
  219. package/front_end/panels/timeline/TimelineMiniMap.ts +6 -6
  220. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +6 -6
  221. package/front_end/panels/timeline/TimelinePanel.ts +73 -68
  222. package/front_end/panels/timeline/TimelineSelectorStatsView.ts +7 -5
  223. package/front_end/panels/timeline/TimelineTreeView.ts +10 -10
  224. package/front_end/panels/timeline/TimelineUIUtils.ts +47 -46
  225. package/front_end/panels/timeline/TimingsTrackAppender.ts +12 -12
  226. package/front_end/panels/timeline/TracingLayerTree.ts +43 -43
  227. package/front_end/panels/timeline/TrackConfigBanner.ts +6 -6
  228. package/front_end/panels/timeline/TrackConfiguration.ts +1 -1
  229. package/front_end/panels/timeline/components/DetailsView.ts +4 -4
  230. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +12 -21
  231. package/front_end/panels/timeline/components/LiveMetricsView.ts +2 -1
  232. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +5 -5
  233. package/front_end/panels/timeline/components/Sidebar.ts +4 -14
  234. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +13 -36
  235. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +21 -19
  236. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +1 -1
  237. package/front_end/panels/timeline/components/insights/Cache.ts +4 -0
  238. package/front_end/panels/timeline/components/insights/DOMSize.ts +5 -1
  239. package/front_end/panels/timeline/components/insights/Helpers.ts +19 -0
  240. package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +1 -1
  241. package/front_end/panels/timeline/components/insights/Viewport.ts +4 -0
  242. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +1 -1
  243. package/front_end/panels/timeline/utils/AICallTree.ts +11 -11
  244. package/front_end/panels/timeline/utils/AIContext.ts +17 -19
  245. package/front_end/panels/timeline/utils/EntityMapper.ts +6 -5
  246. package/front_end/panels/timeline/utils/EntryName.ts +2 -2
  247. package/front_end/panels/timeline/utils/EntryNodes.ts +5 -5
  248. package/front_end/panels/timeline/utils/EntryStyles.ts +4 -4
  249. package/front_end/panels/timeline/utils/FreshRecording.ts +3 -3
  250. package/front_end/panels/timeline/utils/Helpers.ts +0 -18
  251. package/front_end/panels/timeline/utils/InsightAIContext.ts +6 -6
  252. package/front_end/panels/timeline/utils/SourceMapsResolver.ts +7 -7
  253. package/front_end/panels/webauthn/WebauthnPane.ts +1 -0
  254. package/front_end/third_party/chromium/README.chromium +1 -1
  255. package/front_end/third_party/codemirror.next/chunk/angular.js +1 -1
  256. package/front_end/third_party/codemirror.next/chunk/angular.js.map +1 -1
  257. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  258. package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
  259. package/front_end/third_party/codemirror.next/chunk/cpp.js +1 -1
  260. package/front_end/third_party/codemirror.next/chunk/cpp.js.map +1 -1
  261. package/front_end/third_party/codemirror.next/chunk/java.js +1 -1
  262. package/front_end/third_party/codemirror.next/chunk/java.js.map +1 -1
  263. package/front_end/third_party/codemirror.next/chunk/legacy.js +1 -1
  264. package/front_end/third_party/codemirror.next/chunk/legacy.js.map +1 -1
  265. package/front_end/third_party/codemirror.next/chunk/less.js +1 -1
  266. package/front_end/third_party/codemirror.next/chunk/less.js.map +1 -1
  267. package/front_end/third_party/codemirror.next/chunk/markdown.js +1 -1
  268. package/front_end/third_party/codemirror.next/chunk/markdown.js.map +1 -1
  269. package/front_end/third_party/codemirror.next/chunk/php.js +1 -1
  270. package/front_end/third_party/codemirror.next/chunk/php.js.map +1 -1
  271. package/front_end/third_party/codemirror.next/chunk/python.js +1 -1
  272. package/front_end/third_party/codemirror.next/chunk/python.js.map +1 -1
  273. package/front_end/third_party/codemirror.next/chunk/sass.js +1 -1
  274. package/front_end/third_party/codemirror.next/chunk/sass.js.map +1 -1
  275. package/front_end/third_party/codemirror.next/chunk/svelte.js +1 -1
  276. package/front_end/third_party/codemirror.next/chunk/svelte.js.map +1 -1
  277. package/front_end/third_party/codemirror.next/chunk/vue.js +1 -1
  278. package/front_end/third_party/codemirror.next/chunk/vue.js.map +1 -1
  279. package/front_end/third_party/codemirror.next/chunk/wast.js +1 -1
  280. package/front_end/third_party/codemirror.next/chunk/wast.js.map +1 -1
  281. package/front_end/third_party/codemirror.next/chunk/xml.js +1 -1
  282. package/front_end/third_party/codemirror.next/chunk/xml.js.map +1 -1
  283. package/front_end/third_party/codemirror.next/codemirror.next.js +1 -1
  284. package/front_end/third_party/codemirror.next/package.json +1 -1
  285. package/front_end/third_party/codemirror.next/rebuild.sh +1 -1
  286. package/front_end/third_party/json5/rebuild.sh +1 -1
  287. package/front_end/third_party/legacy-javascript/{update.sh → rebuild.sh} +1 -1
  288. package/front_end/third_party/lit/lib/decorators.d.ts +26 -9
  289. package/front_end/third_party/lit/lib/decorators.js +5 -5
  290. package/front_end/third_party/lit/lib/decorators.js.map +1 -1
  291. package/front_end/third_party/lit/lib/directive.js.map +1 -1
  292. package/front_end/third_party/lit/lib/directives.js +8 -13
  293. package/front_end/third_party/lit/lib/directives.js.map +1 -1
  294. package/front_end/third_party/lit/lib/lit.d.ts +26 -9
  295. package/front_end/third_party/lit/lib/lit.js +5 -5
  296. package/front_end/third_party/lit/lib/lit.js.map +1 -1
  297. package/front_end/third_party/lit/lib/static-html.js +2 -2
  298. package/front_end/third_party/lit/lib/static-html.js.map +1 -1
  299. package/front_end/third_party/lit/rebuild.sh +1 -1
  300. package/front_end/third_party/third-party-web/rebuild.sh +1 -1
  301. package/front_end/ui/components/dialogs/Dialog.ts +6 -7
  302. package/front_end/ui/legacy/ActionRegistration.ts +9 -9
  303. package/front_end/ui/legacy/DockController.ts +18 -18
  304. package/front_end/ui/legacy/FilterBar.ts +7 -7
  305. package/front_end/ui/legacy/Fragment.ts +4 -4
  306. package/front_end/ui/legacy/GlassPane.ts +12 -12
  307. package/front_end/ui/legacy/InspectorView.ts +5 -15
  308. package/front_end/ui/legacy/ListControl.ts +27 -27
  309. package/front_end/ui/legacy/ListWidget.ts +4 -4
  310. package/front_end/ui/legacy/PopoverHelper.ts +4 -4
  311. package/front_end/ui/legacy/ShortcutRegistry.ts +17 -17
  312. package/front_end/ui/legacy/TabbedPane.ts +74 -75
  313. package/front_end/ui/legacy/TextPrompt.ts +31 -31
  314. package/front_end/ui/legacy/Toolbar.ts +13 -14
  315. package/front_end/ui/legacy/ViewManager.ts +30 -31
  316. package/front_end/ui/legacy/Widget.ts +6 -6
  317. package/front_end/ui/legacy/XLink.ts +9 -9
  318. package/front_end/ui/legacy/ZoomManager.ts +9 -9
  319. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +27 -27
  320. package/front_end/ui/legacy/components/color_picker/ContrastInfo.ts +30 -32
  321. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +15 -15
  322. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +64 -64
  323. package/front_end/ui/legacy/components/data_grid/ShowMoreDataGridNode.ts +2 -2
  324. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +10 -11
  325. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +12 -12
  326. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +3 -3
  327. package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +14 -14
  328. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +8 -8
  329. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +5 -5
  330. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +4 -4
  331. package/front_end/ui/legacy/filter.css +1 -1
  332. package/front_end/ui/legacy/inspectorCommon.css +1 -1
  333. package/front_end/ui/legacy/softDropDownButton.css +1 -1
  334. package/front_end/ui/legacy/theme_support/ThemeSupport.ts +4 -4
  335. package/front_end/ui/visual_logging/KnownContextValues.ts +2 -2
  336. package/package.json +1 -1
  337. package/front_end/models/ai_assistance/data_formatters/Types.ts +0 -9
@@ -476,6 +476,9 @@ const UIStrings = {
476
476
  const str_ = i18n.i18n.registerUIStrings('panels/timeline/TimelineUIUtils.ts', UIStrings);
477
477
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
478
478
 
479
+ // Look for scheme:// plus text and exclude any punctuation at the end.
480
+ export const URL_REGEX = /(?:[a-zA-Z][a-zA-Z0-9+.-]{2,}:\/\/)[^\s"]{2,}[^\s"'\)\}\],:;.!?]/u;
481
+
479
482
  let eventDispatchDesciptors: EventDispatchTypeDescriptor[];
480
483
 
481
484
  let colorGenerator: Common.Color.Generator;
@@ -524,7 +527,7 @@ export class TimelineUIUtils {
524
527
  }
525
528
 
526
529
  static testContentMatching(
527
- traceEvent: Trace.Types.Events.Event, regExp: RegExp, parsedTrace?: Trace.Handlers.Types.ParsedTrace): boolean {
530
+ traceEvent: Trace.Types.Events.Event, regExp: RegExp, handlerData?: Trace.Handlers.Types.HandlerData): boolean {
528
531
  const title = TimelineUIUtils.eventStyle(traceEvent).title;
529
532
  const tokens = [title];
530
533
 
@@ -535,14 +538,14 @@ export class TimelineUIUtils {
535
538
  // legacy model which does not have a reference to the new engine's data.
536
539
  // So if we are missing the data, we just fallback to the name from the
537
540
  // callFrame.
538
- if (!parsedTrace?.Samples) {
541
+ if (!handlerData?.Samples) {
539
542
  tokens.push(traceEvent.callFrame.functionName);
540
543
  } else {
541
- tokens.push(Trace.Handlers.ModelHandlers.Samples.getProfileCallFunctionName(parsedTrace.Samples, traceEvent));
544
+ tokens.push(Trace.Handlers.ModelHandlers.Samples.getProfileCallFunctionName(handlerData.Samples, traceEvent));
542
545
  }
543
546
  }
544
- if (parsedTrace) {
545
- const url = Trace.Handlers.Helpers.getNonResolvedURL(traceEvent, parsedTrace);
547
+ if (handlerData) {
548
+ const url = Trace.Handlers.Helpers.getNonResolvedURL(traceEvent, handlerData);
546
549
  if (url) {
547
550
  tokens.push(url);
548
551
  }
@@ -648,7 +651,7 @@ export class TimelineUIUtils {
648
651
 
649
652
  static async buildDetailsNodeForTraceEvent(
650
653
  event: Trace.Types.Events.Event, target: SDK.Target.Target|null, linkifier: LegacyComponents.Linkifier.Linkifier,
651
- isFreshRecording = false, parsedTrace: Trace.Handlers.Types.ParsedTrace): Promise<Node|null> {
654
+ isFreshRecording = false, parsedTrace: Trace.TraceModel.ParsedTrace): Promise<Node|null> {
652
655
  let details: HTMLElement|HTMLSpanElement|(Element | null)|Text|null = null;
653
656
  let detailsText;
654
657
  // TODO(40287735): update this code with type-safe data checks.
@@ -669,7 +672,7 @@ export class TimelineUIUtils {
669
672
  case Trace.Types.Events.Name.RESOURCE_RECEIVE_DATA:
670
673
  case Trace.Types.Events.Name.RESOURCE_RECEIVE_RESPONSE:
671
674
  case Trace.Types.Events.Name.RESOURCE_FINISH: {
672
- const url = Trace.Handlers.Helpers.getNonResolvedURL(event, parsedTrace);
675
+ const url = Trace.Handlers.Helpers.getNonResolvedURL(event, parsedTrace.data);
673
676
  if (url) {
674
677
  const options = {
675
678
  tabStop: true,
@@ -897,9 +900,7 @@ export class TimelineUIUtils {
897
900
  * of the link is the URL, so the visible string to the user is unchanged.
898
901
  */
899
902
  static parseStringForLinks(rawString: string): DocumentFragment {
900
- // Look for scheme:// plus text and exclude any punctuation at the end.
901
- const urlRegex = /(?:[a-zA-Z][a-zA-Z0-9+.-]{2,}:\/\/)[^\s"]{2,}[^\s"'\)\}\],:;.!?]/u;
902
- const results = TextUtils.TextUtils.Utils.splitStringByRegexes(rawString, [urlRegex]);
903
+ const results = TextUtils.TextUtils.Utils.splitStringByRegexes(rawString, [URL_REGEX]);
903
904
  const nodes = results.map(result => {
904
905
  if (result.regexIndex === -1) {
905
906
  return result.value;
@@ -913,7 +914,7 @@ export class TimelineUIUtils {
913
914
  }
914
915
 
915
916
  static async buildTraceEventDetails(
916
- parsedTrace: Trace.Handlers.Types.ParsedTrace,
917
+ parsedTrace: Trace.TraceModel.ParsedTrace,
917
918
  event: Trace.Types.Events.Event,
918
919
  linkifier: LegacyComponents.Linkifier.Linkifier,
919
920
  canShowPieChart: boolean,
@@ -932,7 +933,7 @@ export class TimelineUIUtils {
932
933
  // @ts-expect-error TODO(crbug.com/1011811): Remove symbol usage.
933
934
  if (typeof event[previewElementSymbol] === 'undefined') {
934
935
  let previewElement: (Element|null)|null = null;
935
- const url = Trace.Handlers.Helpers.getNonResolvedURL(event, parsedTrace);
936
+ const url = Trace.Handlers.Helpers.getNonResolvedURL(event, parsedTrace.data);
936
937
  if (url) {
937
938
  previewElement = await LegacyComponents.ImagePreview.ImagePreview.build(url, false, {
938
939
  imageAltText: LegacyComponents.ImagePreview.ImagePreview.defaultAltTextForImageURL(url),
@@ -964,8 +965,8 @@ export class TimelineUIUtils {
964
965
  const unsafeEventArgs = event.args as Record<string, any>;
965
966
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
966
967
  const unsafeEventData = event.args?.data as Record<string, any>;
967
- const initiator = parsedTrace.Initiators.eventToInitiator.get(event) ?? null;
968
- const initiatorFor = parsedTrace.Initiators.initiatorToEvents.get(event) ?? null;
968
+ const initiator = parsedTrace.data.Initiators.eventToInitiator.get(event) ?? null;
969
+ const initiatorFor = parsedTrace.data.Initiators.initiatorToEvents.get(event) ?? null;
969
970
 
970
971
  let url: Platform.DevToolsPath.UrlString|null = null;
971
972
 
@@ -1002,7 +1003,7 @@ export class TimelineUIUtils {
1002
1003
  contentHelper.appendElementRow(i18nString(UIStrings.details), detailContainer);
1003
1004
  }
1004
1005
 
1005
- if (parsedTrace.Meta.traceIsGeneric) {
1006
+ if (parsedTrace.data.Meta.traceIsGeneric) {
1006
1007
  TimelineUIUtils.renderEventJson(event, contentHelper);
1007
1008
  return contentHelper.fragment;
1008
1009
  }
@@ -1222,7 +1223,7 @@ export class TimelineUIUtils {
1222
1223
  case Trace.Types.Events.Name.DECODE_IMAGE:
1223
1224
  case Trace.Types.Events.Name.DRAW_LAZY_PIXEL_REF: {
1224
1225
  relatedNodeLabel = i18nString(UIStrings.ownerElement);
1225
- url = Trace.Handlers.Helpers.getNonResolvedURL(event, parsedTrace);
1226
+ url = Trace.Handlers.Helpers.getNonResolvedURL(event, parsedTrace.data);
1226
1227
  if (url) {
1227
1228
  const options = {
1228
1229
  tabStop: true,
@@ -1512,7 +1513,7 @@ export class TimelineUIUtils {
1512
1513
  const stackTrace = Trace.Helpers.Trace.getZeroIndexedStackTraceInEventPayload(event);
1513
1514
  if (Trace.Types.Events.isUserTiming(event) || Trace.Types.Extensions.isSyntheticExtensionEntry(event) ||
1514
1515
  Trace.Types.Events.isProfileCall(event) || initiator || initiatorFor || stackTrace ||
1515
- parsedTrace?.Invalidations.invalidationsForEvent.get(event)) {
1516
+ parsedTrace?.data.Invalidations.invalidationsForEvent.get(event)) {
1516
1517
  await TimelineUIUtils.generateCauses(event, contentHelper, parsedTrace);
1517
1518
  }
1518
1519
 
@@ -1698,11 +1699,11 @@ export class TimelineUIUtils {
1698
1699
 
1699
1700
  static async generateCauses(
1700
1701
  event: Trace.Types.Events.Event, contentHelper: TimelineDetailsContentHelper,
1701
- parsedTrace: Trace.Handlers.Types.ParsedTrace): Promise<void> {
1702
+ parsedTrace: Trace.TraceModel.ParsedTrace): Promise<void> {
1702
1703
  const {startTime} = Trace.Helpers.Timing.eventTimingsMilliSeconds(event);
1703
1704
  let initiatorStackLabel = i18nString(UIStrings.initiatorStackTrace);
1704
1705
  let stackLabel = i18nString(UIStrings.stackTrace);
1705
- const stackTraceForEvent = Trace.Extras.StackTraceForEvent.get(event, parsedTrace);
1706
+ const stackTraceForEvent = Trace.Extras.StackTraceForEvent.get(event, parsedTrace.data);
1706
1707
  if (stackTraceForEvent?.callFrames.length || stackTraceForEvent?.description || stackTraceForEvent?.parent) {
1707
1708
  contentHelper.addSection(i18nString(UIStrings.stackTrace));
1708
1709
  contentHelper.createChildStackTraceElement(stackTraceForEvent);
@@ -1735,9 +1736,9 @@ export class TimelineUIUtils {
1735
1736
  break;
1736
1737
  }
1737
1738
 
1738
- const initiator = parsedTrace.Initiators.eventToInitiator.get(event);
1739
- const initiatorFor = parsedTrace.Initiators.initiatorToEvents.get(event);
1740
- const invalidations = parsedTrace.Invalidations.invalidationsForEvent.get(event);
1739
+ const initiator = parsedTrace.data.Initiators.eventToInitiator.get(event);
1740
+ const initiatorFor = parsedTrace.data.Initiators.initiatorToEvents.get(event);
1741
+ const invalidations = parsedTrace.data.Invalidations.invalidationsForEvent.get(event);
1741
1742
 
1742
1743
  if (initiator) {
1743
1744
  // If we have an initiator for the event, we can show its stack trace, a link to reveal the initiator,
@@ -1775,7 +1776,7 @@ export class TimelineUIUtils {
1775
1776
  }
1776
1777
 
1777
1778
  if (invalidations?.length) {
1778
- const totalInvalidations = parsedTrace.Invalidations.invalidationCountForEvent.get(event) ??
1779
+ const totalInvalidations = parsedTrace.data.Invalidations.invalidationCountForEvent.get(event) ??
1779
1780
  0; // Won't be 0, but saves us dealing with undefined.
1780
1781
  contentHelper.addSection(i18nString(UIStrings.invalidations, {PH1: totalInvalidations}));
1781
1782
  await TimelineUIUtils.generateInvalidationsList(invalidations, contentHelper);
@@ -1907,9 +1908,9 @@ export class TimelineUIUtils {
1907
1908
 
1908
1909
  /** Populates the passed object then returns true/false if it makes sense to show the pie chart */
1909
1910
  private static aggregatedStatsForTraceEvent(
1910
- total: TimeRangeCategoryStats, parsedTrace: Trace.Handlers.Types.ParsedTrace,
1911
+ total: TimeRangeCategoryStats, parsedTrace: Trace.TraceModel.ParsedTrace,
1911
1912
  event: Trace.Types.Events.Event): boolean {
1912
- const node = parsedTrace.Renderer.entryToNode.get(event);
1913
+ const node = parsedTrace.data.Renderer.entryToNode.get(event);
1913
1914
  if (!node) {
1914
1915
  return false;
1915
1916
  }
@@ -1958,9 +1959,9 @@ export class TimelineUIUtils {
1958
1959
  }
1959
1960
 
1960
1961
  static async buildPicturePreviewContent(
1961
- parsedTrace: Trace.Handlers.Types.ParsedTrace, event: Trace.Types.Events.Paint,
1962
+ parsedTrace: Trace.TraceModel.ParsedTrace, event: Trace.Types.Events.Paint,
1962
1963
  target: SDK.Target.Target): Promise<Element|null> {
1963
- const snapshotEvent = parsedTrace.LayerTree.paintsToSnapshots.get(event);
1964
+ const snapshotEvent = parsedTrace.data.LayerTree.paintsToSnapshots.get(event);
1964
1965
  if (!snapshotEvent) {
1965
1966
  return null;
1966
1967
  }
@@ -2307,7 +2308,7 @@ export class TimelineUIUtils {
2307
2308
  }
2308
2309
 
2309
2310
  static getOriginWithEntity(
2310
- entityMapper: Utils.EntityMapper.EntityMapper|null, parsedTrace: Trace.Handlers.Types.ParsedTrace,
2311
+ entityMapper: Utils.EntityMapper.EntityMapper|null, parsedTrace: Trace.TraceModel.ParsedTrace,
2311
2312
  event: Trace.Types.Events.Event): string|null {
2312
2313
  const resolvedURL = Utils.SourceMapsResolver.SourceMapsResolver.resolvedURLForEntry(parsedTrace, event);
2313
2314
  if (!resolvedURL) {
@@ -2346,7 +2347,7 @@ export class EventDispatchTypeDescriptor {
2346
2347
 
2347
2348
  export class TimelineDetailsContentHelper {
2348
2349
  fragment: DocumentFragment;
2349
- private linkifierInternal: LegacyComponents.Linkifier.Linkifier|null;
2350
+ #linkifier: LegacyComponents.Linkifier.Linkifier|null;
2350
2351
  private target: SDK.Target.Target|null;
2351
2352
  element: HTMLDivElement;
2352
2353
  private tableElement: HTMLElement;
@@ -2354,7 +2355,7 @@ export class TimelineDetailsContentHelper {
2354
2355
  constructor(target: SDK.Target.Target|null, linkifier: LegacyComponents.Linkifier.Linkifier|null) {
2355
2356
  this.fragment = document.createDocumentFragment();
2356
2357
 
2357
- this.linkifierInternal = linkifier;
2358
+ this.#linkifier = linkifier;
2358
2359
  this.target = target;
2359
2360
 
2360
2361
  this.element = document.createElement('div');
@@ -2385,7 +2386,7 @@ export class TimelineDetailsContentHelper {
2385
2386
  }
2386
2387
 
2387
2388
  linkifier(): LegacyComponents.Linkifier.Linkifier|null {
2388
- return this.linkifierInternal;
2389
+ return this.#linkifier;
2389
2390
  }
2390
2391
 
2391
2392
  appendTextRow(title: string, value: string|number|boolean): void {
@@ -2415,7 +2416,7 @@ export class TimelineDetailsContentHelper {
2415
2416
 
2416
2417
  appendLocationRow(
2417
2418
  title: string, url: string, startLine: number, startColumn?: number, text?: string, omitOrigin?: boolean): void {
2418
- if (!this.linkifierInternal) {
2419
+ if (!this.#linkifier) {
2419
2420
  return;
2420
2421
  }
2421
2422
 
@@ -2427,7 +2428,7 @@ export class TimelineDetailsContentHelper {
2427
2428
  text,
2428
2429
  omitOrigin,
2429
2430
  };
2430
- const link = this.linkifierInternal.maybeLinkifyScriptLocation(
2431
+ const link = this.#linkifier.maybeLinkifyScriptLocation(
2431
2432
  this.target, null, url as Platform.DevToolsPath.UrlString, startLine, options);
2432
2433
  if (!link) {
2433
2434
  return;
@@ -2436,11 +2437,11 @@ export class TimelineDetailsContentHelper {
2436
2437
  }
2437
2438
 
2438
2439
  appendLocationRange(title: string, url: Platform.DevToolsPath.UrlString, startLine: number, endLine?: number): void {
2439
- if (!this.linkifierInternal || !this.target) {
2440
+ if (!this.#linkifier || !this.target) {
2440
2441
  return;
2441
2442
  }
2442
2443
  const locationContent = document.createElement('span');
2443
- const link = this.linkifierInternal.maybeLinkifyScriptLocation(
2444
+ const link = this.#linkifier.maybeLinkifyScriptLocation(
2444
2445
  this.target, null, url, startLine, {tabStop: true, inlineFrameIndex: 0});
2445
2446
  if (!link) {
2446
2447
  return;
@@ -2452,7 +2453,7 @@ export class TimelineDetailsContentHelper {
2452
2453
  }
2453
2454
 
2454
2455
  createChildStackTraceElement(stackTrace: Protocol.Runtime.StackTrace): void {
2455
- if (!this.linkifierInternal) {
2456
+ if (!this.#linkifier) {
2456
2457
  return;
2457
2458
  }
2458
2459
  const resolvedStackTrace: Protocol.Runtime.StackTrace = structuredClone(stackTrace);
@@ -2470,7 +2471,7 @@ export class TimelineDetailsContentHelper {
2470
2471
  const stackTraceElement =
2471
2472
  this.tableElement.createChild('div', 'timeline-details-view-row timeline-details-stack-values');
2472
2473
  const callFrameContents = new LegacyComponents.JSPresentationUtils.StackTracePreviewContent(
2473
- undefined, this.target ?? undefined, this.linkifierInternal,
2474
+ undefined, this.target ?? undefined, this.#linkifier,
2474
2475
  {stackTrace: resolvedStackTrace, tabStops: true, showColumnNumber: true});
2475
2476
  callFrameContents.markAsRoot();
2476
2477
  callFrameContents.show(stackTraceElement);
@@ -2494,7 +2495,7 @@ export interface TimelineMarkerStyle {
2494
2495
  * the LCP (for example) relative to the last navigation.
2495
2496
  **/
2496
2497
  export function timeStampForEventAdjustedForClosestNavigationIfPossible(
2497
- event: Trace.Types.Events.Event, parsedTrace: Trace.Handlers.Types.ParsedTrace|null): Trace.Types.Timing.Milli {
2498
+ event: Trace.Types.Events.Event, parsedTrace: Trace.TraceModel.ParsedTrace|null): Trace.Types.Timing.Milli {
2498
2499
  if (!parsedTrace) {
2499
2500
  const {startTime} = Trace.Helpers.Timing.eventTimingsMilliSeconds(event);
2500
2501
  return startTime;
@@ -2502,9 +2503,9 @@ export function timeStampForEventAdjustedForClosestNavigationIfPossible(
2502
2503
 
2503
2504
  const time = Trace.Helpers.Timing.timeStampForEventAdjustedByClosestNavigation(
2504
2505
  event,
2505
- parsedTrace.Meta.traceBounds,
2506
- parsedTrace.Meta.navigationsByNavigationId,
2507
- parsedTrace.Meta.navigationsByFrameId,
2506
+ parsedTrace.data.Meta.traceBounds,
2507
+ parsedTrace.data.Meta.navigationsByNavigationId,
2508
+ parsedTrace.data.Meta.navigationsByFrameId,
2508
2509
  );
2509
2510
  return Trace.Helpers.Timing.microToMilli(time);
2510
2511
  }
@@ -2515,7 +2516,7 @@ export function timeStampForEventAdjustedForClosestNavigationIfPossible(
2515
2516
  * the LCP time. This method does not filter out events: for example, it treats
2516
2517
  * every LCP Candidate event as a potential marker event.
2517
2518
  **/
2518
- export function isMarkerEvent(parsedTrace: Trace.Handlers.Types.ParsedTrace, event: Trace.Types.Events.Event): boolean {
2519
+ export function isMarkerEvent(parsedTrace: Trace.TraceModel.ParsedTrace, event: Trace.Types.Events.Event): boolean {
2519
2520
  const {Name} = Trace.Types.Events;
2520
2521
 
2521
2522
  if (event.name === Name.TIME_STAMP || event.name === Name.NAVIGATION_START) {
@@ -2523,7 +2524,7 @@ export function isMarkerEvent(parsedTrace: Trace.Handlers.Types.ParsedTrace, eve
2523
2524
  }
2524
2525
 
2525
2526
  if (Trace.Types.Events.isFirstContentfulPaint(event) || Trace.Types.Events.isFirstPaint(event)) {
2526
- return event.args.frame === parsedTrace.Meta.mainFrameId;
2527
+ return event.args.frame === parsedTrace.data.Meta.mainFrameId;
2527
2528
  }
2528
2529
 
2529
2530
  if (Trace.Types.Events.isMarkDOMContent(event) || Trace.Types.Events.isMarkLoad(event) ||
@@ -2547,10 +2548,10 @@ export function isMarkerEvent(parsedTrace: Trace.Handlers.Types.ParsedTrace, eve
2547
2548
  }
2548
2549
 
2549
2550
  function getEventSelfTime(
2550
- event: Trace.Types.Events.Event, parsedTrace: Trace.Handlers.Types.ParsedTrace): Trace.Types.Timing.Micro {
2551
+ event: Trace.Types.Events.Event, parsedTrace: Trace.TraceModel.ParsedTrace): Trace.Types.Timing.Micro {
2551
2552
  const mapToUse = Trace.Types.Extensions.isSyntheticExtensionEntry(event) ?
2552
- parsedTrace.ExtensionTraceData.entryToNode :
2553
- parsedTrace.Renderer.entryToNode;
2553
+ parsedTrace.data.ExtensionTraceData.entryToNode :
2554
+ parsedTrace.data.Renderer.entryToNode;
2554
2555
  const selfTime = mapToUse.get(event)?.selfTime;
2555
2556
  return selfTime ? selfTime : Trace.Types.Timing.Micro(0);
2556
2557
  }
@@ -48,16 +48,16 @@ export class TimingsTrackAppender implements TrackAppender {
48
48
 
49
49
  #colorGenerator: Common.Color.Generator;
50
50
  #compatibilityBuilder: CompatibilityTracksAppender;
51
- #parsedTrace: Readonly<Trace.Handlers.Types.ParsedTrace>;
51
+ #parsedTrace: Readonly<Trace.TraceModel.ParsedTrace>;
52
52
  #extensionMarkers: readonly Trace.Types.Extensions.SyntheticExtensionMarker[];
53
53
  constructor(
54
- compatibilityBuilder: CompatibilityTracksAppender, parsedTrace: Trace.Handlers.Types.ParsedTrace,
54
+ compatibilityBuilder: CompatibilityTracksAppender, parsedTrace: Trace.TraceModel.ParsedTrace,
55
55
  colorGenerator: Common.Color.Generator) {
56
56
  this.#compatibilityBuilder = compatibilityBuilder;
57
57
  this.#colorGenerator = colorGenerator;
58
58
  this.#parsedTrace = parsedTrace;
59
59
  const extensionDataEnabled = TimelinePanel.extensionDataVisibilitySetting().get();
60
- this.#extensionMarkers = extensionDataEnabled ? this.#parsedTrace.ExtensionTraceData.extensionMarkers : [];
60
+ this.#extensionMarkers = extensionDataEnabled ? this.#parsedTrace.data.ExtensionTraceData.extensionMarkers : [];
61
61
  }
62
62
 
63
63
  /**
@@ -71,14 +71,14 @@ export class TimingsTrackAppender implements TrackAppender {
71
71
  */
72
72
  appendTrackAtLevel(trackStartLevel: number, expanded?: boolean): number {
73
73
  const extensionMarkersAreEmpty = this.#extensionMarkers.length === 0;
74
- const performanceMarks = this.#parsedTrace.UserTimings.performanceMarks.filter(
74
+ const performanceMarks = this.#parsedTrace.data.UserTimings.performanceMarks.filter(
75
75
  m => !Trace.Handlers.ModelHandlers.ExtensionTraceData.extensionDataInPerformanceTiming(m).devtoolsObj);
76
- const performanceMeasures = this.#parsedTrace.UserTimings.performanceMeasures.filter(
76
+ const performanceMeasures = this.#parsedTrace.data.UserTimings.performanceMeasures.filter(
77
77
  m => !Trace.Handlers.ModelHandlers.ExtensionTraceData.extensionDataInPerformanceTiming(m).devtoolsObj);
78
- const timestampEvents = this.#parsedTrace.UserTimings.timestampEvents.filter(
78
+ const timestampEvents = this.#parsedTrace.data.UserTimings.timestampEvents.filter(
79
79
  timeStamp =>
80
80
  !Trace.Handlers.ModelHandlers.ExtensionTraceData.extensionDataInConsoleTimeStamp(timeStamp).devtoolsObj);
81
- const consoleTimings = this.#parsedTrace.UserTimings.consoleTimings;
81
+ const consoleTimings = this.#parsedTrace.data.UserTimings.consoleTimings;
82
82
  if (extensionMarkersAreEmpty && performanceMarks.length === 0 && performanceMeasures.length === 0 &&
83
83
  timestampEvents.length === 0 && consoleTimings.length === 0) {
84
84
  return trackStartLevel;
@@ -101,7 +101,7 @@ export class TimingsTrackAppender implements TrackAppender {
101
101
  * appended.
102
102
  */
103
103
  #appendTrackHeaderAtLevel(currentLevel: number, expanded?: boolean): void {
104
- const trackIsCollapsible = this.#parsedTrace.UserTimings.performanceMeasures.length > 0;
104
+ const trackIsCollapsible = this.#parsedTrace.data.UserTimings.performanceMeasures.length > 0;
105
105
  const style = buildGroupStyle({useFirstLineForOverview: true, collapsible: trackIsCollapsible});
106
106
  const group = buildTrackHeader(
107
107
  VisualLoggingTrackName.TIMINGS, currentLevel, i18nString(UIStrings.timings), style, /* selectable= */ true,
@@ -127,7 +127,7 @@ export class TimingsTrackAppender implements TrackAppender {
127
127
  this.#compatibilityBuilder.getFlameChartTimelineData().entryTotalTimes[index] = Number.NaN;
128
128
  }
129
129
 
130
- const minTimeMs = Trace.Helpers.Timing.microToMilli(this.#parsedTrace.Meta.traceBounds.min);
130
+ const minTimeMs = Trace.Helpers.Timing.microToMilli(this.#parsedTrace.data.Meta.traceBounds.min);
131
131
  const flameChartMarkers = markers.map(marker => {
132
132
  // The timestamp for user timing trace events is set to the
133
133
  // start time passed by the user at the call site of the timing
@@ -272,9 +272,9 @@ export class TimingsTrackAppender implements TrackAppender {
272
272
  Trace.Types.Events.isConsoleTimeStamp(event) || isExtensibilityMarker) {
273
273
  const timeOfEvent = Trace.Helpers.Timing.timeStampForEventAdjustedByClosestNavigation(
274
274
  event,
275
- this.#parsedTrace.Meta.traceBounds,
276
- this.#parsedTrace.Meta.navigationsByNavigationId,
277
- this.#parsedTrace.Meta.navigationsByFrameId,
275
+ this.#parsedTrace.data.Meta.traceBounds,
276
+ this.#parsedTrace.data.Meta.navigationsByNavigationId,
277
+ this.#parsedTrace.data.Meta.navigationsByFrameId,
278
278
  );
279
279
  info.formattedTime = getDurationString(timeOfEvent);
280
280
  }
@@ -149,61 +149,61 @@ export class TracingFrameLayerTree {
149
149
 
150
150
  export class TracingLayer implements SDK.LayerTreeBase.Layer {
151
151
  private parentLayerId: string|null;
152
- private parentInternal: SDK.LayerTreeBase.Layer|null;
152
+ parentInternal: SDK.LayerTreeBase.Layer|null;
153
153
  private layerId: string;
154
- private nodeInternal: SDK.DOMModel.DOMNode|null;
155
- private offsetXInternal: number;
156
- private offsetYInternal: number;
157
- private widthInternal: number;
158
- private heightInternal: number;
159
- private childrenInternal: SDK.LayerTreeBase.Layer[];
160
- private quadInternal: number[];
161
- private scrollRectsInternal: Protocol.LayerTree.ScrollRect[];
162
- private gpuMemoryUsageInternal: number;
154
+ #node: SDK.DOMModel.DOMNode|null;
155
+ #offsetX: number;
156
+ #offsetY: number;
157
+ #width: number;
158
+ #height: number;
159
+ #children: SDK.LayerTreeBase.Layer[];
160
+ #quad: number[];
161
+ #scrollRects: Protocol.LayerTree.ScrollRect[];
162
+ #gpuMemoryUsage: number;
163
163
  private paints: Trace.Types.Events.LegacyLayerPaintEvent[];
164
164
  private compositingReasons: string[];
165
165
  private compositingReasonIds: string[];
166
- private drawsContentInternal: boolean;
166
+ #drawsContent: boolean;
167
167
  private paintProfilerModel: SDK.PaintProfiler.PaintProfilerModel|null;
168
168
  constructor(paintProfilerModel: SDK.PaintProfiler.PaintProfilerModel|null, payload: TracingLayerPayload) {
169
169
  this.parentLayerId = null;
170
170
  this.parentInternal = null;
171
171
  this.layerId = '';
172
- this.nodeInternal = null;
173
- this.offsetXInternal = -1;
174
- this.offsetYInternal = -1;
175
- this.widthInternal = -1;
176
- this.heightInternal = -1;
177
- this.childrenInternal = [];
178
- this.quadInternal = [];
179
- this.scrollRectsInternal = [];
180
- this.gpuMemoryUsageInternal = -1;
172
+ this.#node = null;
173
+ this.#offsetX = -1;
174
+ this.#offsetY = -1;
175
+ this.#width = -1;
176
+ this.#height = -1;
177
+ this.#children = [];
178
+ this.#quad = [];
179
+ this.#scrollRects = [];
180
+ this.#gpuMemoryUsage = -1;
181
181
  this.paints = [];
182
182
  this.compositingReasons = [];
183
183
  this.compositingReasonIds = [];
184
- this.drawsContentInternal = false;
184
+ this.#drawsContent = false;
185
185
 
186
186
  this.paintProfilerModel = paintProfilerModel;
187
187
  this.reset(payload);
188
188
  }
189
189
 
190
190
  reset(payload: TracingLayerPayload): void {
191
- this.nodeInternal = null;
191
+ this.#node = null;
192
192
  this.layerId = String(payload.layer_id);
193
- this.offsetXInternal = payload.position[0];
194
- this.offsetYInternal = payload.position[1];
195
- this.widthInternal = payload.bounds.width;
196
- this.heightInternal = payload.bounds.height;
197
- this.childrenInternal = [];
193
+ this.#offsetX = payload.position[0];
194
+ this.#offsetY = payload.position[1];
195
+ this.#width = payload.bounds.width;
196
+ this.#height = payload.bounds.height;
197
+ this.#children = [];
198
198
  this.parentLayerId = null;
199
199
  this.parentInternal = null;
200
- this.quadInternal = payload.layer_quad || [];
200
+ this.#quad = payload.layer_quad || [];
201
201
  this.createScrollRects(payload);
202
202
 
203
203
  this.compositingReasons = payload.compositing_reasons || [];
204
204
  this.compositingReasonIds = payload.compositing_reason_ids || [];
205
- this.drawsContentInternal = Boolean(payload.draws_content);
206
- this.gpuMemoryUsageInternal = payload.gpu_memory_usage;
205
+ this.#drawsContent = Boolean(payload.draws_content);
206
+ this.#gpuMemoryUsage = payload.gpu_memory_usage;
207
207
  this.paints = [];
208
208
  }
209
209
 
@@ -224,7 +224,7 @@ export class TracingLayer implements SDK.LayerTreeBase.Layer {
224
224
  }
225
225
 
226
226
  children(): SDK.LayerTreeBase.Layer[] {
227
- return this.childrenInternal;
227
+ return this.#children;
228
228
  }
229
229
 
230
230
  addChild(childParam: SDK.LayerTreeBase.Layer): void {
@@ -232,17 +232,17 @@ export class TracingLayer implements SDK.LayerTreeBase.Layer {
232
232
  if (child.parentInternal) {
233
233
  console.assert(false, 'Child already has a parent');
234
234
  }
235
- this.childrenInternal.push(child);
235
+ this.#children.push(child);
236
236
  child.parentInternal = this;
237
237
  child.parentLayerId = this.layerId;
238
238
  }
239
239
 
240
240
  setNode(node: SDK.DOMModel.DOMNode|null): void {
241
- this.nodeInternal = node;
241
+ this.#node = node;
242
242
  }
243
243
 
244
244
  node(): SDK.DOMModel.DOMNode|null {
245
- return this.nodeInternal;
245
+ return this.#node;
246
246
  }
247
247
 
248
248
  nodeForSelfOrAncestor(): SDK.DOMModel.DOMNode|null {
@@ -256,19 +256,19 @@ export class TracingLayer implements SDK.LayerTreeBase.Layer {
256
256
  }
257
257
 
258
258
  offsetX(): number {
259
- return this.offsetXInternal;
259
+ return this.#offsetX;
260
260
  }
261
261
 
262
262
  offsetY(): number {
263
- return this.offsetYInternal;
263
+ return this.#offsetY;
264
264
  }
265
265
 
266
266
  width(): number {
267
- return this.widthInternal;
267
+ return this.#width;
268
268
  }
269
269
 
270
270
  height(): number {
271
- return this.heightInternal;
271
+ return this.#height;
272
272
  }
273
273
 
274
274
  transform(): number[]|null {
@@ -276,7 +276,7 @@ export class TracingLayer implements SDK.LayerTreeBase.Layer {
276
276
  }
277
277
 
278
278
  quad(): number[] {
279
- return this.quadInternal;
279
+ return this.#quad;
280
280
  }
281
281
 
282
282
  anchorPoint(): number[] {
@@ -296,7 +296,7 @@ export class TracingLayer implements SDK.LayerTreeBase.Layer {
296
296
  }
297
297
 
298
298
  scrollRects(): Protocol.LayerTree.ScrollRect[] {
299
- return this.scrollRectsInternal;
299
+ return this.#scrollRects;
300
300
  }
301
301
 
302
302
  stickyPositionConstraint(): SDK.LayerTreeBase.StickyPositionConstraint|null {
@@ -305,7 +305,7 @@ export class TracingLayer implements SDK.LayerTreeBase.Layer {
305
305
  }
306
306
 
307
307
  gpuMemoryUsage(): number {
308
- return this.gpuMemoryUsageInternal;
308
+ return this.#gpuMemoryUsage;
309
309
  }
310
310
 
311
311
  snapshots(): Array<Promise<SDK.PaintProfiler.SnapshotWithRect|null>> {
@@ -385,7 +385,7 @@ export class TracingLayer implements SDK.LayerTreeBase.Layer {
385
385
  // SDK.LayerBaseTree.Layer.ScrollRectType and Protocol.LayerTree.ScrollRectType are the
386
386
  // same type, but we need to use the indirection of the nonPayloadScrollRects since
387
387
  // the ScrollRectType is defined as a string in SDK.LayerBaseTree.Layer.ScrollRectType.
388
- this.scrollRectsInternal = nonPayloadScrollRects;
388
+ this.#scrollRects = nonPayloadScrollRects;
389
389
  }
390
390
 
391
391
  addPaintEvent(paint: Trace.Types.Events.LegacyLayerPaintEvent): void {
@@ -401,7 +401,7 @@ export class TracingLayer implements SDK.LayerTreeBase.Layer {
401
401
  }
402
402
 
403
403
  drawsContent(): boolean {
404
- return this.drawsContentInternal;
404
+ return this.#drawsContent;
405
405
  }
406
406
  }
407
407
 
@@ -35,12 +35,12 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
35
35
  * is no entry for a trace in this map it is assumed to be a new trace and the
36
36
  * banner will be shown if the user has any hidden track config.
37
37
  */
38
- const hiddenTracksInfoBarPerTrace = new WeakMap<Trace.Handlers.Types.ParsedTrace, UI.Infobar.Infobar|'DISMISSED'>();
38
+ const hiddenTracksInfoBarByParsedTrace = new WeakMap<Trace.TraceModel.ParsedTrace, UI.Infobar.Infobar|'DISMISSED'>();
39
39
 
40
40
  /**
41
41
  * Creates an overlay for the timeline that will show a banner informing the user that at least one track is hidden.
42
42
  *
43
- * @param trace The trace parsed data.
43
+ * @param parsedTrace The trace parsed data.
44
44
  * @param callbacks An object containing the callback functions to be executed
45
45
  * when the user interacts with the banner.
46
46
  * - `onShowAllTracks`: called when the user clicks the "Unhide all" button.
@@ -49,12 +49,12 @@ const hiddenTracksInfoBarPerTrace = new WeakMap<Trace.Handlers.Types.ParsedTrace
49
49
  * @returns A `Trace.Types.Overlays.Overlay` object to be rendered, or `null` if
50
50
  * no banner should be shown (because the user has already seen the banner)
51
51
  */
52
- export function createHiddenTracksOverlay(trace: Trace.Handlers.Types.ParsedTrace, callbacks: {
52
+ export function createHiddenTracksOverlay(parsedTrace: Trace.TraceModel.ParsedTrace, callbacks: {
53
53
  onShowAllTracks: () => void,
54
54
  onShowTrackConfigurationMode: () => void,
55
55
  onClose: () => void,
56
56
  }): Trace.Types.Overlays.BottomInfoBar|null {
57
- const status = hiddenTracksInfoBarPerTrace.get(trace);
57
+ const status = hiddenTracksInfoBarByParsedTrace.get(parsedTrace);
58
58
  if (status === 'DISMISSED') {
59
59
  // The user has already seen the banner + dismissed it for this trace, so
60
60
  // we don't need to do anything.
@@ -89,9 +89,9 @@ export function createHiddenTracksOverlay(trace: Trace.Handlers.Types.ParsedTrac
89
89
  );
90
90
  infobarForTrace.setCloseCallback(() => {
91
91
  callbacks.onClose();
92
- hiddenTracksInfoBarPerTrace.set(trace, 'DISMISSED');
92
+ hiddenTracksInfoBarByParsedTrace.set(parsedTrace, 'DISMISSED');
93
93
  });
94
94
 
95
- hiddenTracksInfoBarPerTrace.set(trace, infobarForTrace);
95
+ hiddenTracksInfoBarByParsedTrace.set(parsedTrace, infobarForTrace);
96
96
  return {type: 'BOTTOM_INFO_BAR', infobar: infobarForTrace};
97
97
  }
@@ -39,6 +39,6 @@ export function buildPersistedConfig(groups: readonly PerfUI.FlameChart.Group[],
39
39
  * trace with the exact same start time is very unlikely.
40
40
  * It's not impossible, but unlikely enough that we think the min trace bounds time is a good enough value to use as a uuid.
41
41
  */
42
- export function keyForTraceConfig(trace: Trace.Handlers.Types.ParsedTrace): Trace.Types.Timing.Micro {
42
+ export function keyForTraceConfig(trace: Trace.Handlers.Types.HandlerData): Trace.Types.Timing.Micro {
43
43
  return trace.Meta.traceBounds.min;
44
44
  }
@@ -72,8 +72,8 @@ const str_ = i18n.i18n.registerUIStrings('panels/timeline/components/DetailsView
72
72
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
73
73
 
74
74
  export function buildWarningElementsForEvent(
75
- event: Trace.Types.Events.Event, parsedTrace: Trace.Handlers.Types.ParsedTrace): HTMLSpanElement[] {
76
- const warnings = parsedTrace.Warnings.perEvent.get(event);
75
+ event: Trace.Types.Events.Event, parsedTrace: Trace.TraceModel.ParsedTrace): HTMLSpanElement[] {
76
+ const warnings = parsedTrace.data.Warnings.perEvent.get(event);
77
77
  const warningElements: HTMLSpanElement[] = [];
78
78
  if (!warnings) {
79
79
  return warningElements;
@@ -130,10 +130,10 @@ export interface DetailRow {
130
130
  }
131
131
  export function buildRowsForWebSocketEvent(
132
132
  event: Trace.Types.Events.WebSocketCreate|Trace.Types.Events.WebSocketInfo|Trace.Types.Events.WebSocketTransfer,
133
- parsedTrace: Trace.Handlers.Types.ParsedTrace): readonly DetailRow[] {
133
+ parsedTrace: Trace.TraceModel.ParsedTrace): readonly DetailRow[] {
134
134
  const rows: DetailRow[] = [];
135
135
 
136
- const initiator = parsedTrace.Initiators.eventToInitiator.get(event);
136
+ const initiator = parsedTrace.data.Initiators.eventToInitiator.get(event);
137
137
  if (initiator && Trace.Types.Events.isWebSocketCreate(initiator)) {
138
138
  // The initiator will be a WebSocketCreate, but this check helps TypeScript to understand.
139
139
  rows.push({key: i18n.i18n.lockedString('URL'), value: initiator.args.data.url});