chrome-devtools-frontend 1.0.1376716 → 1.0.1380117

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 (434) hide show
  1. package/config/gni/devtools_grd_files.gni +15 -7
  2. package/config/gni/devtools_image_files.gni +2 -0
  3. package/front_end/Images/src/animation.svg +3 -0
  4. package/front_end/Images/src/brush-2.svg +3 -0
  5. package/front_end/core/common/SettingRegistration.ts +1 -1
  6. package/front_end/core/host/AidaClient.ts +1 -0
  7. package/front_end/core/host/InspectorFrontendHost.ts +4 -0
  8. package/front_end/core/i18n/ByteUtilities.test.ts +34 -0
  9. package/front_end/core/i18n/ByteUtilities.ts +65 -0
  10. package/front_end/core/i18n/NumberFormatter.ts +75 -0
  11. package/front_end/core/i18n/i18n.ts +4 -0
  12. package/front_end/core/i18n/time-utilities.test.ts +20 -2
  13. package/front_end/core/i18n/time-utilities.ts +125 -86
  14. package/front_end/core/platform/NumberUtilities.test.ts +3 -26
  15. package/front_end/core/platform/NumberUtilities.ts +0 -20
  16. package/front_end/core/root/Runtime.ts +6 -3
  17. package/front_end/core/sdk/CPUThrottlingManager.ts +4 -0
  18. package/front_end/core/sdk/CSSContainerQuery.test.ts +10 -16
  19. package/front_end/core/sdk/CSSContainerQuery.ts +3 -15
  20. package/front_end/core/sdk/CSSMatchedStyles.test.ts +4 -0
  21. package/front_end/core/sdk/CSSMatchedStyles.ts +5 -5
  22. package/front_end/core/sdk/CSSModel.ts +18 -0
  23. package/front_end/core/sdk/CSSPropertyParser.test.ts +16 -1
  24. package/front_end/core/sdk/CSSPropertyParser.ts +2 -2
  25. package/front_end/core/sdk/sdk-meta.ts +8 -0
  26. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +3 -3
  27. package/front_end/generated/ARIAProperties.js +4 -0
  28. package/front_end/generated/InspectorBackendCommands.js +8 -6
  29. package/front_end/generated/SupportedCSSProperties.js +17 -4
  30. package/front_end/generated/protocol-mapping.d.ts +15 -1
  31. package/front_end/generated/protocol-proxy-api.d.ts +14 -1
  32. package/front_end/generated/protocol.ts +26 -2
  33. package/front_end/models/extensions/ExtensionAPI.ts +9 -1
  34. package/front_end/models/heap_snapshot_model/HeapSnapshotModel.ts +2 -0
  35. package/front_end/models/javascript_metadata/NativeFunctions.js +8 -21
  36. package/front_end/models/live-metrics/web-vitals-injected/{rollup.config.js → rollup.config.mjs} +1 -1
  37. package/front_end/models/persistence/EditFileSystemView.ts +19 -9
  38. package/front_end/models/persistence/WorkspaceSettingsTab.ts +50 -54
  39. package/front_end/models/persistence/editFileSystemView.css +35 -15
  40. package/front_end/models/persistence/workspaceSettingsTab.css +21 -87
  41. package/front_end/models/timeline_model/timeline_model.ts +0 -6
  42. package/front_end/models/trace/Processor.test.ts +18 -17
  43. package/front_end/models/trace/Processor.ts +10 -14
  44. package/front_end/models/trace/README.md +0 -1
  45. package/front_end/models/{timeline_model → trace/extras}/TimelineJSProfile.ts +19 -29
  46. package/front_end/models/{timeline_model/TimelineModelFilter.test.ts → trace/extras/TraceFilter.test.ts} +15 -17
  47. package/front_end/models/trace/extras/TraceFilter.ts +62 -0
  48. package/front_end/models/{timeline_model/TimelineProfileTree.test.ts → trace/extras/TraceTree.test.ts} +44 -43
  49. package/front_end/models/{timeline_model/TimelineProfileTree.ts → trace/extras/TraceTree.ts} +65 -59
  50. package/front_end/models/trace/extras/extras.ts +3 -0
  51. package/front_end/models/trace/handlers/AnimationHandler.ts +0 -8
  52. package/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +1 -11
  53. package/front_end/models/trace/handlers/FramesHandler.test.ts +1 -6
  54. package/front_end/models/trace/handlers/FramesHandler.ts +1 -14
  55. package/front_end/models/trace/handlers/GPUHandler.test.ts +0 -2
  56. package/front_end/models/trace/handlers/GPUHandler.ts +1 -25
  57. package/front_end/models/trace/handlers/ImagePaintingHandler.ts +3 -0
  58. package/front_end/models/trace/handlers/InitiatorsHandler.test.ts +0 -1
  59. package/front_end/models/trace/handlers/InitiatorsHandler.ts +0 -20
  60. package/front_end/models/trace/handlers/InvalidationsHandler.test.ts +0 -1
  61. package/front_end/models/trace/handlers/InvalidationsHandler.ts +0 -18
  62. package/front_end/models/trace/handlers/LargestImagePaintHandler.test.ts +2 -2
  63. package/front_end/models/trace/handlers/LargestImagePaintHandler.ts +63 -3
  64. package/front_end/models/trace/handlers/LargestTextPaintHandler.ts +3 -0
  65. package/front_end/models/trace/handlers/LayerTreeHandler.test.ts +0 -2
  66. package/front_end/models/trace/handlers/LayerTreeHandler.ts +1 -18
  67. package/front_end/models/trace/handlers/LayoutShiftsHandler.test.ts +0 -3
  68. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +1 -20
  69. package/front_end/models/trace/handlers/MemoryHandler.test.ts +0 -1
  70. package/front_end/models/trace/handlers/MemoryHandler.ts +3 -0
  71. package/front_end/models/trace/handlers/MetaHandler.test.ts +1 -32
  72. package/front_end/models/trace/handlers/MetaHandler.ts +2 -30
  73. package/front_end/models/trace/handlers/NetworkRequestsHandler.test.ts +0 -26
  74. package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +4 -23
  75. package/front_end/models/trace/handlers/PageFramesHandler.ts +3 -0
  76. package/front_end/models/trace/handlers/RendererHandler.test.ts +0 -4
  77. package/front_end/models/trace/handlers/RendererHandler.ts +1 -24
  78. package/front_end/models/trace/handlers/SamplesHandler.test.ts +0 -5
  79. package/front_end/models/trace/handlers/SamplesHandler.ts +0 -26
  80. package/front_end/models/trace/handlers/ScreenshotsHandler.test.ts +0 -1
  81. package/front_end/models/trace/handlers/SelectorStatsHandler.ts +3 -0
  82. package/front_end/models/trace/handlers/ServerTimingsHandler.ts +1 -16
  83. package/front_end/models/trace/handlers/Threads.test.ts +1 -2
  84. package/front_end/models/trace/handlers/UserInteractionsHandler.test.ts +4 -27
  85. package/front_end/models/trace/handlers/UserInteractionsHandler.ts +16 -25
  86. package/front_end/models/trace/handlers/UserTimingsHandler.ts +0 -17
  87. package/front_end/models/trace/handlers/WorkersHandler.test.ts +0 -1
  88. package/front_end/models/trace/handlers/WorkersHandler.ts +0 -23
  89. package/front_end/models/trace/handlers/types.ts +1 -8
  90. package/front_end/models/trace/insights/{CumulativeLayoutShift.test.ts → CLSCulprits.test.ts} +21 -21
  91. package/front_end/models/trace/insights/{CumulativeLayoutShift.ts → CLSCulprits.ts} +24 -5
  92. package/front_end/models/trace/insights/Common.ts +5 -55
  93. package/front_end/models/trace/insights/DocumentLatency.test.ts +2 -2
  94. package/front_end/models/trace/insights/DocumentLatency.ts +26 -6
  95. package/front_end/models/trace/insights/FontDisplay.ts +24 -5
  96. package/front_end/models/trace/insights/InteractionToNextPaint.test.ts +1 -1
  97. package/front_end/models/trace/insights/InteractionToNextPaint.ts +26 -6
  98. package/front_end/models/trace/insights/LCPDiscovery.test.ts +58 -0
  99. package/front_end/models/trace/insights/LCPDiscovery.ts +101 -0
  100. package/front_end/models/trace/insights/{LargestContentfulPaint.test.ts → LCPPhases.test.ts} +6 -28
  101. package/front_end/models/trace/insights/{LargestContentfulPaint.ts → LCPPhases.ts} +37 -38
  102. package/front_end/models/trace/insights/{InsightRunners.ts → Models.ts} +4 -3
  103. package/front_end/models/trace/insights/RenderBlocking.test.ts +1 -1
  104. package/front_end/models/trace/insights/RenderBlocking.ts +33 -28
  105. package/front_end/models/trace/insights/SlowCSSSelector.ts +26 -5
  106. package/front_end/models/trace/insights/{ThirdPartyWeb.test.ts → ThirdParties.test.ts} +3 -3
  107. package/front_end/models/trace/insights/{ThirdPartyWeb.ts → ThirdParties.ts} +24 -5
  108. package/front_end/models/trace/insights/Viewport.test.ts +1 -1
  109. package/front_end/models/trace/insights/Viewport.ts +27 -9
  110. package/front_end/models/trace/insights/insights.ts +1 -1
  111. package/front_end/models/trace/insights/types.ts +11 -9
  112. package/front_end/models/trace/types/TraceEvents.ts +51 -22
  113. package/front_end/panels/application/SharedStorageItemsView.test.ts +3 -3
  114. package/front_end/panels/application/SharedStorageItemsView.ts +5 -3
  115. package/front_end/panels/application/StorageView.ts +3 -3
  116. package/front_end/panels/application/components/StorageMetadataView.ts +1 -2
  117. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +34 -31
  118. package/front_end/panels/coverage/CoverageView.ts +3 -3
  119. package/front_end/panels/elements/ComputedStyleModel.ts +9 -2
  120. package/front_end/panels/elements/ComputedStyleWidget.test.ts +72 -0
  121. package/front_end/panels/elements/ComputedStyleWidget.ts +12 -0
  122. package/front_end/panels/elements/ElementStatePaneWidget.test.ts +84 -30
  123. package/front_end/panels/elements/ElementStatePaneWidget.ts +42 -24
  124. package/front_end/panels/elements/ElementsTreeElement.ts +24 -11
  125. package/front_end/panels/elements/MetricsSidebarPane.ts +12 -7
  126. package/front_end/panels/elements/PropertyMatchers.ts +3 -0
  127. package/front_end/panels/elements/StylePropertiesSection.ts +15 -6
  128. package/front_end/panels/elements/StylePropertyTreeElement.test.ts +3 -1
  129. package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -3
  130. package/front_end/panels/elements/stylePropertiesTreeOutline.css +2 -2
  131. package/front_end/panels/explain/components/ConsoleInsight.ts +8 -18
  132. package/front_end/panels/freestyler/AiAgent.test.ts +58 -1
  133. package/front_end/panels/freestyler/AiAgent.ts +58 -3
  134. package/front_end/panels/freestyler/DrJonesFileAgent.test.ts +99 -23
  135. package/front_end/panels/freestyler/DrJonesFileAgent.ts +53 -20
  136. package/front_end/panels/freestyler/DrJonesNetworkAgent.test.ts +15 -7
  137. package/front_end/panels/freestyler/DrJonesNetworkAgent.ts +36 -15
  138. package/front_end/panels/freestyler/DrJonesPerformanceAgent.test.ts +6 -6
  139. package/front_end/panels/freestyler/DrJonesPerformanceAgent.ts +48 -8
  140. package/front_end/panels/freestyler/FreestylerAgent.test.ts +15 -14
  141. package/front_end/panels/freestyler/FreestylerAgent.ts +52 -8
  142. package/front_end/panels/freestyler/FreestylerPanel.test.ts +539 -39
  143. package/front_end/panels/freestyler/FreestylerPanel.ts +349 -215
  144. package/front_end/panels/freestyler/components/FreestylerChatUi.test.ts +126 -34
  145. package/front_end/panels/freestyler/components/FreestylerChatUi.ts +320 -268
  146. package/front_end/panels/freestyler/components/UserActionRow.ts +156 -47
  147. package/front_end/panels/freestyler/components/freestylerChatUi.css +69 -34
  148. package/front_end/panels/freestyler/components/userActionRow.css +40 -67
  149. package/front_end/panels/freestyler/freestyler-meta.ts +3 -11
  150. package/front_end/panels/issues/components/HideIssuesMenu.ts +2 -11
  151. package/front_end/panels/layer_viewer/LayerDetailsView.ts +1 -2
  152. package/front_end/panels/layer_viewer/PaintProfilerView.ts +5 -5
  153. package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +46 -0
  154. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +26 -17
  155. package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +25 -19
  156. package/front_end/panels/network/BinaryResourceView.ts +6 -7
  157. package/front_end/panels/network/EventSourceMessagesView.ts +1 -1
  158. package/front_end/panels/network/NetworkDataGridNode.ts +3 -3
  159. package/front_end/panels/network/NetworkLogView.ts +7 -8
  160. package/front_end/panels/network/RequestTimingView.test.ts +35 -1
  161. package/front_end/panels/network/RequestTimingView.ts +96 -0
  162. package/front_end/panels/network/ResourceWebSocketFrameView.ts +2 -2
  163. package/front_end/panels/network/networkTimingTable.css +2 -1
  164. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +1 -1
  165. package/front_end/panels/profiler/HeapProfileView.ts +3 -3
  166. package/front_end/panels/profiler/HeapSnapshotView.ts +2 -2
  167. package/front_end/panels/profiler/HeapTimelineOverview.ts +12 -12
  168. package/front_end/panels/profiler/IsolateSelector.ts +3 -4
  169. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +1 -1
  170. package/front_end/panels/profiler/ProfileSidebarTreeElement.ts +7 -6
  171. package/front_end/panels/profiler/ProfileView.ts +1 -1
  172. package/front_end/panels/recorder/components/RecordingView.ts +2 -2
  173. package/front_end/panels/recorder/injected/{rollup.config.js → rollup.config.mjs} +1 -1
  174. package/front_end/panels/recorder/recorderController.css +0 -4
  175. package/front_end/panels/security/CookieReportTreeElement.ts +1 -9
  176. package/front_end/panels/security/CookieReportView.ts +120 -0
  177. package/front_end/panels/security/SecurityPanel.ts +8 -2
  178. package/front_end/panels/security/cookieReportView.css +46 -0
  179. package/front_end/panels/security/sidebar.css +1 -2
  180. package/front_end/panels/sensors/LocationsSettingsTab.ts +26 -11
  181. package/front_end/panels/sensors/locationsSettingsTab.css +18 -18
  182. package/front_end/panels/settings/AISettingsTab.ts +6 -15
  183. package/front_end/panels/settings/KeybindsSettingsTab.ts +1 -1
  184. package/front_end/panels/settings/SettingsScreen.ts +61 -56
  185. package/front_end/panels/settings/aiSettingsTab.css +3 -14
  186. package/front_end/panels/settings/components/SyncSection.ts +1 -2
  187. package/front_end/panels/settings/components/syncSection.css +0 -10
  188. package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +3 -1
  189. package/front_end/panels/settings/keybindsSettingsTab.css +7 -10
  190. package/front_end/panels/settings/settingsScreen.css +27 -125
  191. package/front_end/panels/sources/DebuggerPlugin.ts +9 -4
  192. package/front_end/panels/sources/NavigatorView.ts +11 -13
  193. package/front_end/panels/timeline/ActiveFilters.ts +3 -4
  194. package/front_end/panels/timeline/AnimationsTrackAppender.ts +1 -2
  195. package/front_end/panels/timeline/CountersGraph.ts +2 -4
  196. package/front_end/panels/timeline/EventsTimelineTreeView.ts +7 -8
  197. package/front_end/panels/timeline/README.md +2 -1
  198. package/front_end/panels/timeline/TimelineController.ts +14 -4
  199. package/front_end/panels/timeline/TimelineEventOverview.ts +3 -4
  200. package/front_end/panels/timeline/TimelineFilters.ts +3 -4
  201. package/front_end/panels/timeline/TimelineFlameChartDataProvider.test.ts +1 -1
  202. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +3 -10
  203. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +1 -2
  204. package/front_end/panels/timeline/TimelineFlameChartView.ts +21 -12
  205. package/front_end/panels/timeline/TimelineLoader.test.ts +1 -2
  206. package/front_end/panels/timeline/TimelineLoader.ts +3 -4
  207. package/front_end/panels/timeline/TimelineMiniMap.ts +10 -0
  208. package/front_end/panels/timeline/TimelinePanel.ts +20 -8
  209. package/front_end/panels/timeline/TimelineTreeView.test.ts +12 -13
  210. package/front_end/panels/timeline/TimelineTreeView.ts +35 -40
  211. package/front_end/panels/timeline/TimelineUIUtils.test.ts +2 -2
  212. package/front_end/panels/timeline/TimelineUIUtils.ts +12 -14
  213. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +6 -7
  214. package/front_end/panels/timeline/components/LiveMetricsView.test.ts +3 -3
  215. package/front_end/panels/timeline/components/LiveMetricsView.ts +14 -26
  216. package/front_end/panels/timeline/components/MetricCard.test.ts +1 -1
  217. package/front_end/panels/timeline/components/MetricCard.ts +46 -0
  218. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +3 -4
  219. package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +2 -0
  220. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +41 -36
  221. package/front_end/panels/timeline/components/insights/CLSCulprits.ts +19 -33
  222. package/front_end/panels/timeline/components/insights/DocumentLatency.ts +29 -40
  223. package/front_end/panels/timeline/components/insights/FontDisplay.ts +17 -23
  224. package/front_end/panels/timeline/components/insights/Helpers.ts +12 -16
  225. package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +14 -26
  226. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +25 -37
  227. package/front_end/panels/timeline/components/insights/LCPPhases.ts +20 -47
  228. package/front_end/panels/timeline/components/insights/RenderBlocking.ts +19 -28
  229. package/front_end/panels/timeline/components/insights/SidebarInsight.ts +1 -2
  230. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +18 -31
  231. package/front_end/panels/timeline/components/insights/Table.ts +5 -3
  232. package/front_end/panels/timeline/components/insights/ThirdParties.ts +18 -25
  233. package/front_end/panels/timeline/components/insights/Viewport.ts +14 -25
  234. package/front_end/panels/timeline/components/liveMetricsView.css +5 -13
  235. package/front_end/panels/timeline/components/metricCard.css +11 -0
  236. package/front_end/panels/timeline/components/sidebarInsightsTab.css +1 -1
  237. package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +5 -5
  238. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +13 -12
  239. package/front_end/panels/timeline/timelineFlameChartView.css +1 -1
  240. package/front_end/panels/timeline/utils/AICallTree.test.ts +105 -0
  241. package/front_end/panels/timeline/utils/AICallTree.ts +25 -24
  242. package/front_end/testing/EnvironmentHelpers.ts +5 -18
  243. package/front_end/testing/InsightHelpers.ts +4 -4
  244. package/front_end/testing/TraceHelpers.ts +1 -1
  245. package/front_end/third_party/puppeteer/README.chromium +2 -2
  246. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +2 -3
  247. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
  248. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
  249. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +14 -3
  250. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts.map +1 -1
  251. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js +16 -2
  252. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js.map +1 -1
  253. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.d.ts +34 -5
  254. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.d.ts.map +1 -1
  255. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.js +51 -2
  256. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Input.js.map +1 -1
  257. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
  258. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js +10 -8
  259. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js.map +1 -1
  260. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
  261. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js +1 -1
  262. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
  263. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.d.ts +14 -4
  264. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.d.ts.map +1 -1
  265. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.js +57 -23
  266. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Input.js.map +1 -1
  267. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts +1 -1
  268. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
  269. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js +13 -10
  270. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js.map +1 -1
  271. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.d.ts +15 -4
  272. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.d.ts.map +1 -1
  273. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.js +55 -26
  274. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Input.js.map +1 -1
  275. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts +0 -8
  276. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
  277. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js +2 -11
  278. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js.map +1 -1
  279. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.d.ts +2 -1
  280. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.d.ts.map +1 -1
  281. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.js +5 -2
  282. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConsoleMessage.js.map +1 -1
  283. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts +7 -0
  284. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.d.ts.map +1 -1
  285. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js +9 -1
  286. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Errors.js.map +1 -1
  287. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WaitTask.d.ts.map +1 -1
  288. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WaitTask.js +5 -3
  289. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/WaitTask.js.map +1 -1
  290. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.d.ts +1 -1
  291. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.d.ts.map +1 -1
  292. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.js +0 -3
  293. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/environment.js.map +1 -1
  294. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.d.ts +1 -1
  295. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.js +1 -1
  296. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
  297. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
  298. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  299. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  300. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
  301. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
  302. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  303. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/incremental-id-generator.d.ts +14 -0
  304. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/incremental-id-generator.d.ts.map +1 -0
  305. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/incremental-id-generator.js +18 -0
  306. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/incremental-id-generator.js.map +1 -0
  307. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +51 -10
  308. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +215 -97
  309. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +2 -3
  310. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
  311. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
  312. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +14 -3
  313. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts.map +1 -1
  314. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js +16 -2
  315. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js.map +1 -1
  316. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts +34 -5
  317. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.d.ts.map +1 -1
  318. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.js +51 -2
  319. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Input.js.map +1 -1
  320. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
  321. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js +10 -8
  322. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js.map +1 -1
  323. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
  324. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js +1 -1
  325. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
  326. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.d.ts +14 -4
  327. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.d.ts.map +1 -1
  328. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.js +57 -23
  329. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Input.js.map +1 -1
  330. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts +1 -1
  331. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
  332. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js +13 -10
  333. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js.map +1 -1
  334. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.d.ts +15 -4
  335. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.d.ts.map +1 -1
  336. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.js +55 -26
  337. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Input.js.map +1 -1
  338. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts +0 -8
  339. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
  340. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js +1 -9
  341. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js.map +1 -1
  342. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts +2 -1
  343. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.d.ts.map +1 -1
  344. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js +5 -2
  345. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConsoleMessage.js.map +1 -1
  346. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts +7 -0
  347. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.d.ts.map +1 -1
  348. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js +7 -0
  349. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Errors.js.map +1 -1
  350. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WaitTask.d.ts.map +1 -1
  351. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WaitTask.js +5 -3
  352. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/WaitTask.js.map +1 -1
  353. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts +1 -1
  354. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.d.ts.map +1 -1
  355. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.js +0 -3
  356. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/environment.js.map +1 -1
  357. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.d.ts +1 -1
  358. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.js +1 -1
  359. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
  360. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
  361. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
  362. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
  363. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
  364. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/incremental-id-generator.d.ts +14 -0
  365. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/incremental-id-generator.d.ts.map +1 -0
  366. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/incremental-id-generator.js +15 -0
  367. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/incremental-id-generator.js.map +1 -0
  368. package/front_end/third_party/puppeteer/package/lib/types.d.ts +51 -10
  369. package/front_end/third_party/puppeteer/package/package.json +4 -4
  370. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +2 -3
  371. package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +21 -3
  372. package/front_end/third_party/puppeteer/package/src/api/Input.ts +57 -8
  373. package/front_end/third_party/puppeteer/package/src/bidi/ElementHandle.ts +9 -7
  374. package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +1 -0
  375. package/front_end/third_party/puppeteer/package/src/bidi/Input.ts +72 -31
  376. package/front_end/third_party/puppeteer/package/src/cdp/ElementHandle.ts +14 -9
  377. package/front_end/third_party/puppeteer/package/src/cdp/Input.ts +71 -26
  378. package/front_end/third_party/puppeteer/package/src/common/CallbackRegistry.ts +1 -15
  379. package/front_end/third_party/puppeteer/package/src/common/ConsoleMessage.ts +8 -1
  380. package/front_end/third_party/puppeteer/package/src/common/Errors.ts +7 -0
  381. package/front_end/third_party/puppeteer/package/src/common/WaitTask.ts +9 -9
  382. package/front_end/third_party/puppeteer/package/src/environment.ts +1 -4
  383. package/front_end/third_party/puppeteer/package/src/generated/injected.ts +1 -1
  384. package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
  385. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  386. package/front_end/third_party/puppeteer/package/src/util/incremental-id-generator.ts +20 -0
  387. package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +1 -0
  388. package/front_end/ui/components/buttons/Button.test.ts +14 -0
  389. package/front_end/ui/components/buttons/Button.ts +27 -4
  390. package/front_end/ui/components/cards/card.css +7 -4
  391. package/front_end/ui/components/dialogs/Dialog.ts +2 -4
  392. package/front_end/ui/components/dialogs/ShortcutDialog.ts +15 -13
  393. package/front_end/ui/components/dialogs/dialog.css +2 -6
  394. package/front_end/ui/components/dialogs/shortcutDialog.css +33 -41
  395. package/front_end/ui/components/docs/freestyler/basic.ts +6 -8
  396. package/front_end/ui/components/docs/freestyler/empty_state.ts +6 -8
  397. package/front_end/ui/components/docs/performance_panel/track_example.html +1 -1
  398. package/front_end/ui/components/markdown_view/MarkdownView.test.ts +39 -17
  399. package/front_end/ui/components/markdown_view/MarkdownView.ts +77 -14
  400. package/front_end/ui/components/markdown_view/markdownView.css +15 -0
  401. package/front_end/ui/components/settings/SettingCheckbox.ts +3 -2
  402. package/front_end/ui/legacy/ContextMenu.ts +2 -2
  403. package/front_end/ui/legacy/InplaceEditor.ts +18 -14
  404. package/front_end/ui/legacy/TabbedPane.ts +0 -14
  405. package/front_end/ui/legacy/UIUtils.ts +0 -7
  406. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +7 -2
  407. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +8 -4
  408. package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +20 -11
  409. package/front_end/ui/legacy/components/inline_editor/LinkSwatch.test.ts +19 -0
  410. package/front_end/ui/legacy/components/inline_editor/LinkSwatch.ts +1 -1
  411. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +1 -1
  412. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +5 -22
  413. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +129 -100
  414. package/front_end/ui/legacy/components/perf_ui/TimelineGrid.ts +4 -2
  415. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.test.ts +9 -4
  416. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.ts +6 -6
  417. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +22 -4
  418. package/front_end/ui/legacy/components/perf_ui/flameChart.css +0 -2
  419. package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.test.ts +49 -0
  420. package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.ts +23 -46
  421. package/front_end/ui/legacy/components/source_frame/ImageView.ts +1 -1
  422. package/front_end/ui/legacy/components/utils/ImagePreview.ts +1 -1
  423. package/front_end/ui/legacy/textPrompt.css +1 -1
  424. package/front_end/ui/legacy/toolbar.css +4 -5
  425. package/front_end/ui/visual_logging/KnownContextValues.ts +174 -0
  426. package/front_end/ui/visual_logging/LoggingConfig.ts +6 -2
  427. package/package.json +7 -6
  428. package/scripts/build/ninja/bundle.gni +3 -3
  429. package/scripts/build/{rollup.config.js → rollup.config.mjs} +4 -4
  430. package/scripts/devtools_paths.py +8 -4
  431. package/scripts/eslint_rules/tests/check_test_definitions_test.js +8 -3
  432. package/scripts/tools/update_goldens_v2.py +1 -1
  433. package/front_end/models/timeline_model/TimelineModelFilter.ts +0 -61
  434. /package/front_end/Images/{rollup.config.js → rollup.config.mjs} +0 -0
@@ -1766,7 +1766,7 @@ export class NavigatorUISourceCodeTreeNode extends NavigatorTreeNode {
1766
1766
  }
1767
1767
  }
1768
1768
 
1769
- rename(callback?: ((arg0: boolean) => void)): void {
1769
+ rename(callback?: ((committed: boolean) => void)): void {
1770
1770
  if (!this.treeElement) {
1771
1771
  return;
1772
1772
  }
@@ -1781,21 +1781,19 @@ export class NavigatorUISourceCodeTreeNode extends NavigatorTreeNode {
1781
1781
  const treeOutlineElement = this.treeElement.treeOutline.element;
1782
1782
  UI.UIUtils.markBeingEdited(treeOutlineElement, true);
1783
1783
 
1784
- function commitHandler(
1785
- this: NavigatorUISourceCodeTreeNode, element: Element, newTitle: string, oldTitle: string): void {
1784
+ const commitHandler = (_element: Element, newTitle: string, oldTitle: string|null): void => {
1786
1785
  if (newTitle !== oldTitle) {
1787
1786
  if (this.treeElement) {
1788
1787
  this.treeElement.title = newTitle;
1789
1788
  }
1790
1789
  // necessary cast to RawPathString as alternative would be altering type of Config<T>
1791
- void this.uiSourceCodeInternal.rename(newTitle as Platform.DevToolsPath.RawPathString)
1792
- .then(renameCallback.bind(this));
1790
+ void this.uiSourceCodeInternal.rename(newTitle as Platform.DevToolsPath.RawPathString).then(renameCallback);
1793
1791
  return;
1794
1792
  }
1795
- afterEditing.call(this, true);
1796
- }
1793
+ afterEditing(true);
1794
+ };
1797
1795
 
1798
- function renameCallback(this: NavigatorUISourceCodeTreeNode, success: boolean): void {
1796
+ const renameCallback = (success: boolean): void => {
1799
1797
  if (!success) {
1800
1798
  UI.UIUtils.markBeingEdited(treeOutlineElement, false);
1801
1799
  this.updateTitle();
@@ -1810,20 +1808,20 @@ export class NavigatorUISourceCodeTreeNode extends NavigatorTreeNode {
1810
1808
  this.treeElement.select();
1811
1809
  }
1812
1810
  }
1813
- afterEditing.call(this, true);
1814
- }
1811
+ afterEditing(true);
1812
+ };
1815
1813
 
1816
- function afterEditing(this: NavigatorUISourceCodeTreeNode, committed: boolean): void {
1814
+ const afterEditing = (committed: boolean): void => {
1817
1815
  UI.UIUtils.markBeingEdited(treeOutlineElement, false);
1818
1816
  this.updateTitle();
1819
1817
  if (callback) {
1820
1818
  callback(committed);
1821
1819
  }
1822
- }
1820
+ };
1823
1821
 
1824
1822
  this.updateTitle(true);
1825
1823
  this.treeElement.startEditingTitle(
1826
- new UI.InplaceEditor.Config(commitHandler.bind(this), afterEditing.bind(this, false)));
1824
+ new UI.InplaceEditor.Config(commitHandler, () => afterEditing(false), undefined));
1827
1825
  }
1828
1826
  }
1829
1827
 
@@ -1,7 +1,6 @@
1
1
  // Copyright 2023 The Chromium Authors. All rights reserved.
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
- import type * as TimelineModel from '../../models/timeline_model/timeline_model.js';
5
4
  import type * as Trace from '../../models/trace/trace.js';
6
5
 
7
6
  let instance: ActiveFilters|null = null;
@@ -23,13 +22,13 @@ export class ActiveFilters {
23
22
  instance = null;
24
23
  }
25
24
 
26
- #activeFilters: TimelineModel.TimelineModelFilter.TimelineModelFilter[] = [];
25
+ #activeFilters: Trace.Extras.TraceFilter.TraceFilter[] = [];
27
26
 
28
- activeFilters(): readonly TimelineModel.TimelineModelFilter.TimelineModelFilter[] {
27
+ activeFilters(): readonly Trace.Extras.TraceFilter.TraceFilter[] {
29
28
  return this.#activeFilters;
30
29
  }
31
30
 
32
- setFilters(newFilters: TimelineModel.TimelineModelFilter.TimelineModelFilter[]): void {
31
+ setFilters(newFilters: Trace.Extras.TraceFilter.TraceFilter[]): void {
33
32
  this.#activeFilters = newFilters;
34
33
  }
35
34
 
@@ -58,8 +58,7 @@ export class AnimationsTrackAppender implements TrackAppender {
58
58
 
59
59
  #eventAppendedCallbackFunction(event: Trace.Types.Events.Event, index: number): void {
60
60
  if (event && Trace.Types.Events.isSyntheticAnimation(event)) {
61
- const CLSInsight = Trace.Insights.InsightRunners.CumulativeLayoutShift;
62
- const failures = CLSInsight.getNonCompositedFailure(event);
61
+ const failures = Trace.Insights.Models.CLSCulprits.getNonCompositedFailure(event);
63
62
  if (failures.length) {
64
63
  addDecorationToEvent(this.#compatibilityBuilder.getFlameChartTimelineData(), index, {
65
64
  type: PerfUI.FlameChart.FlameChartDecorationType.WARNING_TRIANGLE,
@@ -141,8 +141,7 @@ export class CountersGraph extends UI.Widget.VBox {
141
141
  this.countersByName.set(
142
142
  'jsHeapSizeUsed',
143
143
  this.createCounter(
144
- i18nString(UIStrings.jsHeap), 'js-heap-size-used', 'hsl(220, 90%, 43%)',
145
- Platform.NumberUtilities.bytesToString));
144
+ i18nString(UIStrings.jsHeap), 'js-heap-size-used', 'hsl(220, 90%, 43%)', i18n.ByteUtilities.bytesToString));
146
145
  this.countersByName.set(
147
146
  'documents', this.createCounter(i18nString(UIStrings.documents), 'documents', 'hsl(0, 90%, 43%)'));
148
147
  this.countersByName.set('nodes', this.createCounter(i18nString(UIStrings.nodes), 'nodes', 'hsl(120, 90%, 43%)'));
@@ -151,8 +150,7 @@ export class CountersGraph extends UI.Widget.VBox {
151
150
  this.createCounter(i18nString(UIStrings.listeners), 'js-event-listeners', 'hsl(38, 90%, 43%)'));
152
151
 
153
152
  this.gpuMemoryCounter = this.createCounter(
154
- i18nString(UIStrings.gpuMemory), 'gpu-memory-used-kb', 'hsl(300, 90%, 43%)',
155
- Platform.NumberUtilities.bytesToString);
153
+ i18nString(UIStrings.gpuMemory), 'gpu-memory-used-kb', 'hsl(300, 90%, 43%)', i18n.ByteUtilities.bytesToString);
156
154
  this.countersByName.set('gpuMemoryUsedKB', this.gpuMemoryCounter);
157
155
 
158
156
  TraceBounds.TraceBounds.onChange(this.#onTraceBoundsChangeBound);
@@ -4,7 +4,6 @@
4
4
 
5
5
  import * as Common from '../../core/common/common.js';
6
6
  import * as i18n from '../../core/i18n/i18n.js';
7
- import type * as TimelineModel from '../../models/timeline_model/timeline_model.js';
8
7
  import * as Trace from '../../models/trace/trace.js';
9
8
  import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
10
9
  import * as UI from '../../ui/legacy/legacy.js';
@@ -41,7 +40,7 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
41
40
  export class EventsTimelineTreeView extends TimelineTreeView {
42
41
  private readonly filtersControl: Filters;
43
42
  private readonly delegate: TimelineModeViewDelegate;
44
- private currentTree!: TimelineModel.TimelineProfileTree.Node;
43
+ private currentTree!: Trace.Extras.TraceTree.Node;
45
44
  constructor(delegate: TimelineModeViewDelegate) {
46
45
  super();
47
46
  this.element.setAttribute('jslog', `${VisualLogging.pane('event-log').track({resize: true})}`);
@@ -53,7 +52,7 @@ export class EventsTimelineTreeView extends TimelineTreeView {
53
52
  this.splitWidget.showBoth();
54
53
  }
55
54
 
56
- override filters(): TimelineModel.TimelineModelFilter.TimelineModelFilter[] {
55
+ override filters(): Trace.Extras.TraceFilter.TraceFilter[] {
57
56
  return [...super.filters(), ...this.filtersControl.filters()];
58
57
  }
59
58
 
@@ -64,7 +63,7 @@ export class EventsTimelineTreeView extends TimelineTreeView {
64
63
  }
65
64
  }
66
65
 
67
- override buildTree(): TimelineModel.TimelineProfileTree.Node {
66
+ override buildTree(): Trace.Extras.TraceTree.Node {
68
67
  this.currentTree = this.buildTopDownTree(true, null);
69
68
  return this.currentTree;
70
69
  }
@@ -78,7 +77,7 @@ export class EventsTimelineTreeView extends TimelineTreeView {
78
77
  }
79
78
  }
80
79
 
81
- private findNodeWithEvent(event: Trace.Types.Events.Event): TimelineModel.TimelineProfileTree.Node|null {
80
+ private findNodeWithEvent(event: Trace.Types.Events.Event): Trace.Extras.TraceTree.Node|null {
82
81
  if (event.name === Trace.Types.Events.Name.RUN_TASK) {
83
82
  // No node is ever created for the top level RunTask event, so
84
83
  // bail out preemptively
@@ -132,7 +131,7 @@ export class EventsTimelineTreeView extends TimelineTreeView {
132
131
  this.filtersControl.populateToolbar(toolbar);
133
132
  }
134
133
 
135
- override showDetailsForNode(node: TimelineModel.TimelineProfileTree.Node): boolean {
134
+ override showDetailsForNode(node: Trace.Extras.TraceTree.Node): boolean {
136
135
  const parsedTrace = this.parsedTrace();
137
136
  if (!parsedTrace) {
138
137
  return false;
@@ -146,7 +145,7 @@ export class EventsTimelineTreeView extends TimelineTreeView {
146
145
  return true;
147
146
  }
148
147
 
149
- override onHover(node: TimelineModel.TimelineProfileTree.Node|null): void {
148
+ override onHover(node: Trace.Extras.TraceTree.Node|null): void {
150
149
  this.delegate.highlightEvent(node && node.event);
151
150
  }
152
151
  }
@@ -162,7 +161,7 @@ export class Filters extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
162
161
  this.filtersInternal = [this.categoryFilter, this.durationFilter];
163
162
  }
164
163
 
165
- filters(): TimelineModel.TimelineModelFilter.TimelineModelFilter[] {
164
+ filters(): Trace.Extras.TraceFilter.TraceFilter[] {
166
165
  return this.filtersInternal;
167
166
  }
168
167
 
@@ -100,7 +100,7 @@ To remove one or some overlays, check out the `remove()` or `removeOverlaysOfTyp
100
100
 
101
101
  ### Creating a new overlay
102
102
 
103
- To create a new overlay, first define its type. This is done as an interface, and must contain a `type` field.
103
+ To create a new overlay, add it in the `OverlaysImpl.ts` file, first define its type. This is done as an interface, and must contain a `type` field.
104
104
 
105
105
  All other fields are completely custom and depend on the specifics of the overlay.
106
106
 
@@ -115,6 +115,7 @@ export interface EntrySelected {
115
115
  ```
116
116
 
117
117
  Once you have done this, add the interface to the union type `TimelineOverlay`. This will likely trigger some TypeScript errors because there are some places in the code where we check we have exhaustively dealt with every possible overlay type.
118
+ Also if you want to make this overlay a singleton, add the interface to the union type `SingletonOverlay`.
118
119
 
119
120
  When you create an overlay by default it will be created as a `div` with a class, and no contents. Sometimes this is all you need (for example, the `ENTRY_SELECTED` outline has no other HTML), but if you need more you can tell the Overlays class what DOM to create for your overlay. To do this, modify the `#createElementForNewOverlay` method. You will see examples there of how we use custom elements to build out overlays.
120
121
 
@@ -8,7 +8,6 @@ import * as SDK from '../../core/sdk/sdk.js';
8
8
  import type * as Protocol from '../../generated/protocol.js';
9
9
  import * as Extensions from '../../models/extensions/extensions.js';
10
10
  import * as LiveMetrics from '../../models/live-metrics/live-metrics.js';
11
- import type * as TimelineModel from '../../models/timeline_model/timeline_model.js';
12
11
  import * as Trace from '../../models/trace/trace.js';
13
12
 
14
13
  const UIStrings = {
@@ -144,11 +143,23 @@ export class TimelineController implements Trace.TracingManager.TracingManagerCl
144
143
  if (this.tracingManager) {
145
144
  this.tracingManager.stop();
146
145
  }
146
+ // When throttling is applied to the main renderer, it can slow down the
147
+ // collection of trace events once tracing has completed. Therefore we
148
+ // temporarily disable throttling whilst the final trace event collection
149
+ // takes place. Once it is done, we re-enable it (this is the existing
150
+ // behaviour within DevTools; the throttling settling is sticky + global).
151
+ const throttlingManager = SDK.CPUThrottlingManager.CPUThrottlingManager.instance();
152
+ const rateDuringRecording = throttlingManager.cpuThrottlingRate();
153
+ // 1 = no throttling (CPU is 1x'd)
154
+ throttlingManager.setCPUThrottlingRate(1);
147
155
 
148
156
  this.client.loadingStarted();
149
157
  await this.waitForTracingToStop();
150
158
  await this.allSourcesFinished();
151
159
 
160
+ // Now we re-enable throttling again to maintain the setting being persistent.
161
+ throttlingManager.setCPUThrottlingRate(rateDuringRecording);
162
+
152
163
  await LiveMetrics.LiveMetrics.instance().enable();
153
164
  }
154
165
 
@@ -228,9 +239,8 @@ export interface Client {
228
239
  processingStarted(): void;
229
240
  loadingProgress(progress?: number): void;
230
241
  loadingComplete(
231
- collectedEvents: Trace.Types.Events.Event[],
232
- exclusiveFilter: TimelineModel.TimelineModelFilter.TimelineModelFilter|null, isCpuProfile: boolean,
233
- recordingStartTime: number|null, metadata: Trace.Types.File.MetaData|null): Promise<void>;
242
+ collectedEvents: Trace.Types.Events.Event[], exclusiveFilter: Trace.Extras.TraceFilter.TraceFilter|null,
243
+ isCpuProfile: boolean, recordingStartTime: number|null, metadata: Trace.Types.File.MetaData|null): Promise<void>;
234
244
  loadingCompleteForTest(): void;
235
245
  }
236
246
  export interface RecordingOptions {
@@ -29,7 +29,6 @@
29
29
  */
30
30
 
31
31
  import * as i18n from '../../core/i18n/i18n.js';
32
- import * as Platform from '../../core/platform/platform.js';
33
32
  import * as Protocol from '../../generated/protocol.js';
34
33
  import * as Trace from '../../models/trace/trace.js';
35
34
  import * as TraceBounds from '../../services/trace_bounds/trace_bounds.js';
@@ -516,7 +515,7 @@ export class TimelineFilmStripOverview extends TimelineEventOverview {
516
515
  if (!calculator) {
517
516
  return null;
518
517
  }
519
- const timeMilliSeconds = Trace.Types.Timing.MilliSeconds(calculator.positionToTime(x));
518
+ const timeMilliSeconds = calculator.positionToTime(x);
520
519
  const timeMicroSeconds = Trace.Helpers.Timing.millisecondsToMicroseconds(timeMilliSeconds);
521
520
  const frame = Trace.Extras.FilmStrip.frameClosestToTimestamp(this.#filmStrip, timeMicroSeconds);
522
521
  if (frame === this.lastFrame) {
@@ -660,8 +659,8 @@ export class TimelineEventOverviewMemory extends TimelineEventOverview {
660
659
  ctx.stroke();
661
660
 
662
661
  this.heapSizeLabel.textContent = i18nString(UIStrings.sSDash, {
663
- PH1: Platform.NumberUtilities.bytesToString(minUsedHeapSize),
664
- PH2: Platform.NumberUtilities.bytesToString(maxUsedHeapSize),
662
+ PH1: i18n.ByteUtilities.bytesToString(minUsedHeapSize),
663
+ PH2: i18n.ByteUtilities.bytesToString(maxUsedHeapSize),
665
664
  });
666
665
  }
667
666
  }
@@ -2,12 +2,11 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
- import * as TimelineModel from '../../models/timeline_model/timeline_model.js';
6
5
  import * as Trace from '../../models/trace/trace.js';
7
6
 
8
7
  import {TimelineUIUtils} from './TimelineUIUtils.js';
9
8
 
10
- export class IsLong extends TimelineModel.TimelineModelFilter.TimelineModelFilter {
9
+ export class IsLong extends Trace.Extras.TraceFilter.TraceFilter {
11
10
  #minimumRecordDurationMilli = Trace.Types.Timing.MilliSeconds(0);
12
11
  constructor() {
13
12
  super();
@@ -23,7 +22,7 @@ export class IsLong extends TimelineModel.TimelineModelFilter.TimelineModelFilte
23
22
  }
24
23
  }
25
24
 
26
- export class Category extends TimelineModel.TimelineModelFilter.TimelineModelFilter {
25
+ export class Category extends Trace.Extras.TraceFilter.TraceFilter {
27
26
  constructor() {
28
27
  super();
29
28
  }
@@ -33,7 +32,7 @@ export class Category extends TimelineModel.TimelineModelFilter.TimelineModelFil
33
32
  }
34
33
  }
35
34
 
36
- export class TimelineRegExp extends TimelineModel.TimelineModelFilter.TimelineModelFilter {
35
+ export class TimelineRegExp extends Trace.Extras.TraceFilter.TraceFilter {
37
36
  private regExpInternal!: RegExp|null;
38
37
  constructor(regExp?: RegExp) {
39
38
  super();
@@ -214,7 +214,7 @@ describeWithEnvironment('TimelineFlameChartDataProvider', function() {
214
214
  const filter = new Timeline.TimelineFilters.TimelineRegExp(/Evaluate script/);
215
215
  const results = dataProvider.search(bounds, filter);
216
216
  assert.lengthOf(results, 12);
217
- assert.deepEqual(results[0], {index: 154, startTimeMilli: 122411041.395, provider: 'main'});
217
+ assert.deepEqual(results[0], {index: 153, startTimeMilli: 122411041.395, provider: 'main'});
218
218
  });
219
219
 
220
220
  it('delete annotations associated with an event', async function() {
@@ -32,7 +32,6 @@ import * as Common from '../../core/common/common.js';
32
32
  import * as i18n from '../../core/i18n/i18n.js';
33
33
  import * as Root from '../../core/root/root.js';
34
34
  import * as Bindings from '../../models/bindings/bindings.js';
35
- import type * as TimelineModel from '../../models/timeline_model/timeline_model.js';
36
35
  import * as Trace from '../../models/trace/trace.js';
37
36
  import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
38
37
  import * as UI from '../../ui/legacy/legacy.js';
@@ -218,8 +217,7 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
218
217
  return;
219
218
  }
220
219
 
221
- // TODO(crbug.com/368240754): Temporarily use soft menu for the shortcuts to show, till the accelerators backend CLs land.
222
- const contextMenu = new UI.ContextMenu.ContextMenu(event, {useSoftMenu: true});
220
+ const contextMenu = new UI.ContextMenu.ContextMenu(event);
223
221
 
224
222
  // This action and its 'execute' is defined in `freestyler-meta`
225
223
  const actionIdDrJ = 'drjones.performance-panel-context';
@@ -245,7 +243,6 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
245
243
  disabled: !possibleActions?.[PerfUI.FlameChart.FilterAction.MERGE_FUNCTION],
246
244
  jslogContext: 'hide-function',
247
245
  });
248
- hideEntryOption.setShortcut('H');
249
246
  hideEntryOption.setAccelerator(UI.KeyboardShortcut.Keys.H, [UI.KeyboardShortcut.Modifiers.None]);
250
247
  hideEntryOption.setIsDevToolsPerformanceMenuItem(true);
251
248
 
@@ -255,7 +252,6 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
255
252
  disabled: !possibleActions?.[PerfUI.FlameChart.FilterAction.COLLAPSE_FUNCTION],
256
253
  jslogContext: 'hide-children',
257
254
  });
258
- hideChildrenOption.setShortcut('C');
259
255
  hideChildrenOption.setAccelerator(UI.KeyboardShortcut.Keys.C, [UI.KeyboardShortcut.Modifiers.None]);
260
256
  hideChildrenOption.setIsDevToolsPerformanceMenuItem(true);
261
257
 
@@ -266,7 +262,6 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
266
262
  disabled: !possibleActions?.[PerfUI.FlameChart.FilterAction.COLLAPSE_REPEATING_DESCENDANTS],
267
263
  jslogContext: 'hide-repeating-children',
268
264
  });
269
- hideRepeatingChildrenOption.setShortcut('R');
270
265
  hideRepeatingChildrenOption.setAccelerator(UI.KeyboardShortcut.Keys.R, [UI.KeyboardShortcut.Modifiers.None]);
271
266
  hideRepeatingChildrenOption.setIsDevToolsPerformanceMenuItem(true);
272
267
 
@@ -276,7 +271,6 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
276
271
  disabled: !possibleActions?.[PerfUI.FlameChart.FilterAction.RESET_CHILDREN],
277
272
  jslogContext: 'reset-children',
278
273
  });
279
- resetChildrenOption.setShortcut('U');
280
274
  resetChildrenOption.setAccelerator(UI.KeyboardShortcut.Keys.U, [UI.KeyboardShortcut.Modifiers.None]);
281
275
  resetChildrenOption.setIsDevToolsPerformanceMenuItem(true);
282
276
 
@@ -643,9 +637,8 @@ export class TimelineFlameChartDataProvider extends Common.ObjectWrapper.ObjectW
643
637
  return this.timeSpan;
644
638
  }
645
639
 
646
- search(
647
- visibleWindow: Trace.Types.Timing.TraceWindowMicroSeconds,
648
- filter?: TimelineModel.TimelineModelFilter.TimelineModelFilter): PerfUI.FlameChart.DataProviderSearchResult[] {
640
+ search(visibleWindow: Trace.Types.Timing.TraceWindowMicroSeconds, filter?: Trace.Extras.TraceFilter.TraceFilter):
641
+ PerfUI.FlameChart.DataProviderSearchResult[] {
649
642
  const results: PerfUI.FlameChart.DataProviderSearchResult[] = [];
650
643
  this.timelineData();
651
644
  for (let i = 0; i < this.entryData.length; ++i) {
@@ -4,7 +4,6 @@
4
4
 
5
5
  import * as i18n from '../../core/i18n/i18n.js';
6
6
  import * as Platform from '../../core/platform/platform.js';
7
- import type * as TimelineModel from '../../models/timeline_model/timeline_model.js';
8
7
  import * as Trace from '../../models/trace/trace.js';
9
8
  import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
10
9
  import * as UI from '../../ui/legacy/legacy.js';
@@ -489,7 +488,7 @@ export class TimelineFlameChartNetworkDataProvider implements PerfUI.FlameChart.
489
488
  */
490
489
  search(
491
490
  visibleWindow: Trace.Types.Timing.TraceWindowMicroSeconds,
492
- filter?: TimelineModel.TimelineModelFilter.TimelineModelFilter,
491
+ filter?: Trace.Extras.TraceFilter.TraceFilter,
493
492
  ): PerfUI.FlameChart.DataProviderSearchResult[] {
494
493
  const results: PerfUI.FlameChart.DataProviderSearchResult[] = [];
495
494
  for (let i = 0; i < this.#events.length; i++) {
@@ -524,25 +524,33 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
524
524
  }
525
525
  }
526
526
 
527
+ addTimestampMarkerOverlay(timestamp: Trace.Types.Timing.MicroSeconds): void {
528
+ // TIMESTAMP_MARKER is a singleton. If one already exists, it will
529
+ // be updated instead of creating a new one.
530
+ this.addOverlay({
531
+ type: 'TIMESTAMP_MARKER',
532
+ timestamp,
533
+ });
534
+ }
535
+
536
+ async removeTimestampMarkerOverlay(): Promise<void> {
537
+ const removedCount = this.#overlays.removeOverlaysOfType('TIMESTAMP_MARKER');
538
+ if (removedCount > 0) {
539
+ // Don't trigger lots of updates on a mouse move if we didn't actually
540
+ // remove any overlays.
541
+ await this.#overlays.update();
542
+ }
543
+ }
544
+
527
545
  async #processFlameChartMouseMoveEvent(data: PerfUI.FlameChart.EventTypes['MouseMove']): Promise<void> {
528
546
  const {mouseEvent, timeInMicroSeconds} = data;
529
547
  // If the user is no longer holding shift, remove any existing marker.
530
548
  if (!mouseEvent.shiftKey) {
531
- const removedCount = this.#overlays.removeOverlaysOfType('CURSOR_TIMESTAMP_MARKER');
532
- if (removedCount > 0) {
533
- // Don't trigger lots of updates on a mouse move if we didn't actually
534
- // remove any overlays.
535
- await this.#overlays.update();
536
- }
549
+ await this.removeTimestampMarkerOverlay();
537
550
  }
538
551
 
539
552
  if (!mouseEvent.metaKey && mouseEvent.shiftKey) {
540
- // CURSOR_TIMESTAMP_MARKER is a singleton; if one already exists it will
541
- // be updated rather than create an entirely new one.
542
- this.addOverlay({
543
- type: 'CURSOR_TIMESTAMP_MARKER',
544
- timestamp: timeInMicroSeconds,
545
- });
553
+ this.addTimestampMarkerOverlay(timeInMicroSeconds);
546
554
  }
547
555
  }
548
556
 
@@ -1138,6 +1146,7 @@ export class TimelineFlameChartView extends UI.Widget.VBox implements PerfUI.Fla
1138
1146
  }
1139
1147
  void this.#overlays.update();
1140
1148
  }
1149
+
1141
1150
  removeOverlay(removedOverlay: Overlays.Overlays.TimelineOverlay): void {
1142
1151
  this.#overlays.remove(removedOverlay);
1143
1152
  void this.#overlays.update();
@@ -3,7 +3,6 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as Protocol from '../../generated/protocol.js';
6
- import type * as TimelineModel from '../../models/timeline_model/timeline_model.js';
7
6
  import type * as Trace from '../../models/trace/trace.js';
8
7
  import {describeWithEnvironment} from '../../testing/EnvironmentHelpers.js';
9
8
  import {makeInstantEvent} from '../../testing/TraceHelpers.js';
@@ -50,7 +49,7 @@ describeWithEnvironment('TimelineLoader', () => {
50
49
  },
51
50
  async loadingComplete(
52
51
  collectedEvents: Trace.Types.Events.Event[],
53
- exclusiveFilter: TimelineModel.TimelineModelFilter.TimelineModelFilter|null,
52
+ exclusiveFilter: Trace.Extras.TraceFilter.TraceFilter|null,
54
53
  isCpuProfile: boolean,
55
54
  ) {
56
55
  loadingCompleteSpy(collectedEvents, exclusiveFilter, isCpuProfile);
@@ -8,7 +8,6 @@ import * as i18n from '../../core/i18n/i18n.js';
8
8
  import type * as Platform from '../../core/platform/platform.js';
9
9
  import type * as Protocol from '../../generated/protocol.js';
10
10
  import * as Bindings from '../../models/bindings/bindings.js';
11
- import * as TimelineModel from '../../models/timeline_model/timeline_model.js';
12
11
  import * as Trace from '../../models/trace/trace.js';
13
12
 
14
13
  import type {Client} from './TimelineController.js';
@@ -36,7 +35,7 @@ export class TimelineLoader implements Common.StringOutputStream.OutputStream {
36
35
  private buffer: string;
37
36
  private firstRawChunk: boolean;
38
37
  private totalSize!: number;
39
- private filter: TimelineModel.TimelineModelFilter.TimelineModelFilter|null;
38
+ private filter: Trace.Extras.TraceFilter.TraceFilter|null;
40
39
  #traceIsCPUProfile: boolean;
41
40
  #collectedEvents: Trace.Types.Events.Event[] = [];
42
41
  #metadata: Trace.Types.File.MetaData|null;
@@ -88,7 +87,7 @@ export class TimelineLoader implements Common.StringOutputStream.OutputStream {
88
87
  loader.#traceIsCPUProfile = true;
89
88
 
90
89
  try {
91
- const events = TimelineModel.TimelineJSProfile.TimelineJSProfileProcessor.createFakeTraceFromCpuProfile(
90
+ const events = Trace.Extras.TimelineJSProfile.TimelineJSProfileProcessor.createFakeTraceFromCpuProfile(
92
91
  profile, Trace.Types.Events.ThreadID(1));
93
92
 
94
93
  window.setTimeout(async () => {
@@ -249,7 +248,7 @@ export class TimelineLoader implements Common.StringOutputStream.OutputStream {
249
248
  }
250
249
 
251
250
  #parseCPUProfileFormatFromFile(parsedTrace: Protocol.Profiler.Profile): void {
252
- const traceEvents = TimelineModel.TimelineJSProfile.TimelineJSProfileProcessor.createFakeTraceFromCpuProfile(
251
+ const traceEvents = Trace.Extras.TimelineJSProfile.TimelineJSProfileProcessor.createFakeTraceFromCpuProfile(
253
252
  parsedTrace, Trace.Types.Events.ThreadID(1));
254
253
 
255
254
  this.#collectEvents(traceEvents);
@@ -65,6 +65,16 @@ export class TimelineMiniMap extends
65
65
  this.addBreadcrumb(event.data);
66
66
  });
67
67
 
68
+ // We want to add/remove an overlay for these two events, and the overlay system is controlled by
69
+ // `TimelineFlameChartView`, so we need to dispatch them up to the `TimelinePanel` level to call
70
+ // `TimelineFlameChartView` -> `addOverlay()/removeOverlay()`.
71
+ this.#overviewComponent.addEventListener(PerfUI.TimelineOverviewPane.Events.OVERVIEW_PANE_MOUSE_MOVE, event => {
72
+ this.dispatchEventToListeners(PerfUI.TimelineOverviewPane.Events.OVERVIEW_PANE_MOUSE_MOVE, event.data);
73
+ });
74
+ this.#overviewComponent.addEventListener(PerfUI.TimelineOverviewPane.Events.OVERVIEW_PANE_MOUSE_LEAVE, () => {
75
+ this.dispatchEventToListeners(PerfUI.TimelineOverviewPane.Events.OVERVIEW_PANE_MOUSE_LEAVE);
76
+ });
77
+
68
78
  this.#breadcrumbsUI.addEventListener(TimelineComponents.BreadcrumbsUI.BreadcrumbActivatedEvent.eventName, event => {
69
79
  const {breadcrumb, childBreadcrumbsRemoved} =
70
80
  (event as TimelineComponents.BreadcrumbsUI.BreadcrumbActivatedEvent);
@@ -40,12 +40,12 @@ import * as Platform from '../../core/platform/platform.js';
40
40
  import * as Root from '../../core/root/root.js';
41
41
  import * as SDK from '../../core/sdk/sdk.js';
42
42
  import type * as Protocol from '../../generated/protocol.js';
43
- import type * as TimelineModel from '../../models/timeline_model/timeline_model.js';
44
43
  import * as Trace from '../../models/trace/trace.js';
45
44
  import * as Workspace from '../../models/workspace/workspace.js';
46
45
  import * as TraceBounds from '../../services/trace_bounds/trace_bounds.js';
47
46
  import * as Adorners from '../../ui/components/adorners/adorners.js';
48
47
  import type * as Buttons from '../../ui/components/buttons/buttons.js';
48
+ import * as ShortcutDialog from '../../ui/components/dialogs/dialogs.js';
49
49
  import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
50
50
  import * as UI from '../../ui/legacy/legacy.js';
51
51
  import * as ThemeSupport from '../../ui/legacy/theme_support/theme_support.js';
@@ -368,7 +368,7 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
368
368
  * we store the filters by the trace index, so if the user then navigates back
369
369
  * to a previous trace we can reinstate the filters from this map.
370
370
  */
371
- #exclusiveFilterPerTrace: Map<number, TimelineModel.TimelineModelFilter.TimelineModelFilter> = new Map();
371
+ #exclusiveFilterPerTrace: Map<number, Trace.Extras.TraceFilter.TraceFilter> = new Map();
372
372
  /**
373
373
  * This widget holds the timeline sidebar which shows Insights & Annotations,
374
374
  * and the main UI which shows the timeline
@@ -522,6 +522,12 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
522
522
  topPaneElement.id = 'timeline-overview-panel';
523
523
 
524
524
  this.#minimapComponent.show(topPaneElement);
525
+ this.#minimapComponent.addEventListener(PerfUI.TimelineOverviewPane.Events.OVERVIEW_PANE_MOUSE_MOVE, event => {
526
+ this.flameChart.addTimestampMarkerOverlay(event.data.timeInMicroSeconds);
527
+ });
528
+ this.#minimapComponent.addEventListener(PerfUI.TimelineOverviewPane.Events.OVERVIEW_PANE_MOUSE_LEAVE, async () => {
529
+ await this.flameChart.removeTimestampMarkerOverlay();
530
+ });
525
531
 
526
532
  this.statusPaneContainer = this.timelinePane.element.createChild('div', 'status-pane-container fill');
527
533
 
@@ -1065,6 +1071,14 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
1065
1071
  this.panelRightToolbar.appendSeparator();
1066
1072
  this.panelRightToolbar.appendToolbarItem(this.showSettingsPaneButton);
1067
1073
  }
1074
+
1075
+ if (Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_ALTERNATIVE_NAVIGATION)) {
1076
+ // TODO: Fill the shortcuts dialog with shortcuts for the cuttently selected navigation option
1077
+ const shortcutDialog = new ShortcutDialog.ShortcutDialog.ShortcutDialog();
1078
+ shortcutDialog.data = {shortcuts: [{title: 'Shortcut Title', bindings: ['Ctrl+E']}]};
1079
+ const dialogToolbarItem = new UI.Toolbar.ToolbarItem(shortcutDialog);
1080
+ this.panelRightToolbar.appendToolbarItem(dialogToolbarItem);
1081
+ }
1068
1082
  }
1069
1083
 
1070
1084
  private createSettingsPane(): void {
@@ -1663,9 +1677,8 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
1663
1677
  this.flameChart.runBrickBreakerGame();
1664
1678
  }
1665
1679
 
1666
- #applyActiveFilters(
1667
- traceIsGeneric: boolean,
1668
- exclusiveFilter: TimelineModel.TimelineModelFilter.TimelineModelFilter|null = null): void {
1680
+ #applyActiveFilters(traceIsGeneric: boolean, exclusiveFilter: Trace.Extras.TraceFilter.TraceFilter|null = null):
1681
+ void {
1669
1682
  if (traceIsGeneric || Root.Runtime.experiments.isEnabled('timeline-show-all-events')) {
1670
1683
  return;
1671
1684
  }
@@ -2051,9 +2064,8 @@ export class TimelinePanel extends UI.Panel.Panel implements Client, TimelineMod
2051
2064
  * code in there.
2052
2065
  **/
2053
2066
  async loadingComplete(
2054
- collectedEvents: Trace.Types.Events.Event[],
2055
- exclusiveFilter: TimelineModel.TimelineModelFilter.TimelineModelFilter|null = null, isCpuProfile: boolean,
2056
- recordingStartTime: number|null, metadata: Trace.Types.File.MetaData|null): Promise<void> {
2067
+ collectedEvents: Trace.Types.Events.Event[], exclusiveFilter: Trace.Extras.TraceFilter.TraceFilter|null = null,
2068
+ isCpuProfile: boolean, recordingStartTime: number|null, metadata: Trace.Types.File.MetaData|null): Promise<void> {
2057
2069
  this.#traceEngineModel.resetProcessor();
2058
2070
 
2059
2071
  delete this.loader;