chrome-devtools-frontend 1.0.1548980 → 1.0.1550444

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 (323) hide show
  1. package/docs/contributing/settings-experiments-features.md +35 -0
  2. package/docs/styleguide/ux/components.md +53 -12
  3. package/docs/styleguide/ux/images/cards.png +0 -0
  4. package/docs/styleguide/ux/patterns.md +27 -0
  5. package/docs/ui_engineering.md +2 -2
  6. package/eslint.config.mjs +1 -0
  7. package/front_end/Tests.js +2 -0
  8. package/front_end/core/host/InspectorFrontendHost.ts +26 -558
  9. package/front_end/core/host/InspectorFrontendHostAPI.ts +6 -3
  10. package/front_end/core/host/InspectorFrontendHostStub.ts +558 -0
  11. package/front_end/core/host/ResourceLoader.ts +9 -23
  12. package/front_end/core/host/UserMetrics.ts +4 -4
  13. package/front_end/core/root/DevToolsContext.ts +4 -0
  14. package/front_end/core/root/Runtime.ts +10 -0
  15. package/front_end/core/sdk/CSSMatchedStyles.ts +2 -2
  16. package/front_end/core/sdk/CSSModel.ts +24 -24
  17. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +11 -11
  18. package/front_end/core/sdk/CSSQuery.ts +1 -1
  19. package/front_end/core/sdk/CSSRule.ts +2 -2
  20. package/front_end/core/sdk/CSSStyleDeclaration.ts +1 -1
  21. package/front_end/core/sdk/CSSStyleSheetHeader.ts +1 -1
  22. package/front_end/core/sdk/DOMModel.ts +3 -0
  23. package/front_end/core/sdk/NetworkManager.ts +41 -41
  24. package/front_end/core/sdk/NetworkRequest.ts +4 -0
  25. package/front_end/core/sdk/OverlayModel.ts +2 -2
  26. package/front_end/core/sdk/PageResourceLoader.ts +71 -38
  27. package/front_end/core/sdk/SourceMap.ts +6 -0
  28. package/front_end/core/sdk/SourceMapCache.ts +21 -0
  29. package/front_end/core/sdk/SourceMapManager.ts +14 -7
  30. package/front_end/core/sdk/SourceMapScopesInfo.ts +6 -2
  31. package/front_end/core/sdk/TargetManager.ts +14 -2
  32. package/front_end/core/sdk/sdk-meta.ts +13 -0
  33. package/front_end/entrypoints/formatter_worker/FormatterActions.ts +1 -0
  34. package/front_end/entrypoints/formatter_worker/ScopeParser.ts +1 -1
  35. package/front_end/entrypoints/main/MainImpl.ts +5 -4
  36. package/front_end/foundation/Universe.ts +8 -1
  37. package/front_end/generated/Deprecation.ts +18 -4
  38. package/front_end/generated/InspectorBackendCommands.ts +38 -33
  39. package/front_end/generated/SupportedCSSProperties.js +41 -41
  40. package/front_end/generated/protocol-mapping.d.ts +20 -0
  41. package/front_end/generated/protocol-proxy-api.d.ts +17 -0
  42. package/front_end/generated/protocol.ts +146 -35
  43. package/front_end/models/ai_assistance/AiConversation.ts +5 -4
  44. package/front_end/models/ai_assistance/BuiltInAi.ts +79 -5
  45. package/front_end/models/ai_assistance/ChangeManager.ts +4 -4
  46. package/front_end/models/ai_assistance/ConversationHandler.ts +0 -15
  47. package/front_end/models/ai_assistance/agents/AiAgent.ts +9 -6
  48. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +135 -3
  49. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +24 -0
  50. package/front_end/models/bindings/CompilerScriptMapping.ts +43 -0
  51. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +19 -0
  52. package/front_end/models/bindings/ResourceMapping.ts +73 -0
  53. package/front_end/models/bindings/ResourceScriptMapping.ts +50 -0
  54. package/front_end/models/issues_manager/AttributionReportingIssue.ts +6 -8
  55. package/front_end/models/issues_manager/BounceTrackingIssue.ts +4 -14
  56. package/front_end/models/issues_manager/ClientHintIssue.ts +5 -12
  57. package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +5 -12
  58. package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +7 -14
  59. package/front_end/models/issues_manager/CookieIssue.ts +27 -30
  60. package/front_end/models/issues_manager/CorsIssue.ts +8 -17
  61. package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +5 -8
  62. package/front_end/models/issues_manager/DeprecationIssue.ts +7 -14
  63. package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +7 -14
  64. package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +4 -11
  65. package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +4 -11
  66. package/front_end/models/issues_manager/GenericIssue.ts +28 -16
  67. package/front_end/models/issues_manager/HeavyAdIssue.ts +4 -11
  68. package/front_end/models/issues_manager/Issue.ts +12 -4
  69. package/front_end/models/issues_manager/IssueAggregator.ts +8 -2
  70. package/front_end/models/issues_manager/LowTextContrastIssue.ts +3 -10
  71. package/front_end/models/issues_manager/MixedContentIssue.ts +7 -13
  72. package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +4 -11
  73. package/front_end/models/issues_manager/PropertyRuleIssue.ts +6 -12
  74. package/front_end/models/issues_manager/QuirksModeIssue.ts +3 -10
  75. package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +7 -13
  76. package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +4 -11
  77. package/front_end/models/issues_manager/SharedDictionaryIssue.ts +6 -13
  78. package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +8 -13
  79. package/front_end/models/issues_manager/UnencodedDigestIssue.ts +2 -9
  80. package/front_end/models/issues_manager/descriptions/genericNavigationEntryMarkedSkippable.md +7 -0
  81. package/front_end/models/javascript_metadata/NativeFunctions.js +7 -16
  82. package/front_end/models/source_map_scopes/FunctionCodeResolver.snapshot.txt +98 -0
  83. package/front_end/models/source_map_scopes/FunctionCodeResolver.ts +270 -0
  84. package/front_end/models/source_map_scopes/source_map_scopes.ts +2 -0
  85. package/front_end/models/workspace/UISourceCode.ts +51 -44
  86. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +76 -34
  87. package/front_end/panels/ai_assistance/aiAssistancePanel.css +1 -0
  88. package/front_end/panels/ai_assistance/components/ChatView.ts +23 -11
  89. package/front_end/panels/application/AppManifestView.ts +7 -6
  90. package/front_end/panels/application/ApplicationPanelSidebar.ts +21 -21
  91. package/front_end/panels/application/BackForwardCacheTreeElement.ts +2 -2
  92. package/front_end/panels/application/BounceTrackingMitigationsTreeElement.ts +2 -2
  93. package/front_end/panels/application/FrameDetailsView.ts +5 -6
  94. package/front_end/panels/application/InterestGroupTreeElement.ts +2 -2
  95. package/front_end/panels/application/OpenedWindowDetailsView.ts +2 -2
  96. package/front_end/panels/application/OriginTrialTreeView.ts +1 -1
  97. package/front_end/panels/application/PreloadingTreeElement.ts +3 -3
  98. package/front_end/panels/application/ReportingApiTreeElement.ts +2 -2
  99. package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +3 -3
  100. package/front_end/panels/application/ServiceWorkersView.ts +2 -2
  101. package/front_end/panels/application/SharedStorageListTreeElement.ts +2 -2
  102. package/front_end/panels/application/StorageBucketsTreeElement.ts +3 -3
  103. package/front_end/panels/application/StorageView.ts +2 -2
  104. package/front_end/panels/application/TrustTokensTreeElement.ts +4 -8
  105. package/front_end/panels/application/components/PermissionsPolicySection.ts +202 -158
  106. package/front_end/panels/application/components/ProtocolHandlersView.ts +118 -81
  107. package/front_end/panels/application/components/ServiceWorkerRouterView.ts +47 -41
  108. package/front_end/panels/application/components/SharedStorageMetadataView.ts +1 -1
  109. package/front_end/panels/application/components/StorageMetadataView.ts +31 -34
  110. package/front_end/panels/application/components/TrustTokensView.ts +77 -69
  111. package/front_end/panels/application/preloading/components/PreloadingGrid.ts +1 -1
  112. package/front_end/panels/application/preloading/components/RuleSetGrid.ts +1 -1
  113. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +1 -1
  114. package/front_end/panels/changes/ChangesSidebar.ts +2 -0
  115. package/front_end/panels/changes/CombinedDiffView.ts +2 -0
  116. package/front_end/panels/common/AnnotationManager.ts +71 -0
  117. package/front_end/panels/common/PersistenceUtils.ts +6 -7
  118. package/front_end/panels/common/common.ts +1 -0
  119. package/front_end/panels/console/ConsolePrompt.ts +4 -4
  120. package/front_end/panels/console/ConsoleView.ts +5 -4
  121. package/front_end/panels/console/ConsoleViewMessage.ts +16 -15
  122. package/front_end/panels/console/console-meta.ts +0 -13
  123. package/front_end/panels/console_counters/WarningErrorCounter.ts +2 -0
  124. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +1 -1
  125. package/front_end/panels/developer_resources/DeveloperResourcesView.ts +3 -1
  126. package/front_end/panels/elements/CSSRuleValidator.ts +7 -7
  127. package/front_end/panels/elements/CSSRuleValidatorHelper.ts +2 -2
  128. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +3 -3
  129. package/front_end/panels/elements/ElementsPanel.ts +49 -0
  130. package/front_end/panels/elements/ElementsTreeElement.ts +172 -121
  131. package/front_end/panels/elements/ElementsTreeOutline.ts +11 -3
  132. package/front_end/panels/elements/LayoutPane.ts +12 -10
  133. package/front_end/panels/elements/ShortcutTreeElement.ts +2 -2
  134. package/front_end/panels/elements/StyleEditorWidget.ts +2 -2
  135. package/front_end/panels/elements/StylePropertyTreeElement.ts +18 -18
  136. package/front_end/panels/elements/StylesSidebarPane.ts +4 -5
  137. package/front_end/panels/elements/TopLayerContainer.ts +2 -2
  138. package/front_end/panels/elements/components/AdornerManager.ts +3 -3
  139. package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +1 -1
  140. package/front_end/panels/elements/components/ElementsTreeExpandButton.ts +1 -1
  141. package/front_end/panels/elements/components/QueryContainer.ts +1 -1
  142. package/front_end/panels/elements/components/StylePropertyEditor.ts +7 -7
  143. package/front_end/panels/emulation/DeviceModeWrapper.ts +48 -3
  144. package/front_end/panels/explain/components/ConsoleInsight.ts +6 -4
  145. package/front_end/panels/issues/AffectedResourcesView.ts +2 -2
  146. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +2 -2
  147. package/front_end/panels/issues/IssueKindView.ts +2 -2
  148. package/front_end/panels/issues/IssueView.ts +4 -4
  149. package/front_end/panels/js_timeline/js_timeline-meta.ts +4 -2
  150. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +28 -50
  151. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +15 -11
  152. package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +1 -1
  153. package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +1 -1
  154. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +1 -1
  155. package/front_end/panels/media/PlayerListView.ts +100 -73
  156. package/front_end/panels/media/playerListView.css +5 -0
  157. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +2 -2
  158. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +4 -5
  159. package/front_end/panels/network/NetworkDataGridNode.ts +3 -3
  160. package/front_end/panels/network/NetworkFrameGrouper.ts +2 -2
  161. package/front_end/panels/network/NetworkItemView.ts +4 -4
  162. package/front_end/panels/network/NetworkLogViewColumns.ts +3 -3
  163. package/front_end/panels/network/RequestConditionsDrawer.ts +5 -5
  164. package/front_end/panels/network/RequestCookiesView.ts +2 -2
  165. package/front_end/panels/network/SignedExchangeInfoView.ts +2 -2
  166. package/front_end/panels/network/components/DirectSocketConnectionView.ts +17 -0
  167. package/front_end/panels/network/components/RequestTrustTokensView.ts +5 -6
  168. package/front_end/panels/network/resourceChunkView.css +4 -0
  169. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +3 -3
  170. package/front_end/panels/profiler/ProfileDataGrid.ts +2 -2
  171. package/front_end/panels/profiler/ProfilesPanel.ts +2 -2
  172. package/front_end/panels/protocol_monitor/JSONEditor.ts +1 -1
  173. package/front_end/panels/recorder/components/CreateRecordingView.ts +1 -1
  174. package/front_end/panels/recorder/components/ExtensionView.ts +1 -1
  175. package/front_end/panels/recorder/components/RecordingListView.ts +1 -1
  176. package/front_end/panels/recorder/components/RecordingView.ts +1 -1
  177. package/front_end/panels/recorder/components/StepView.ts +1 -1
  178. package/front_end/panels/screencast/ScreencastView.ts +8 -8
  179. package/front_end/panels/search/SearchView.ts +1 -1
  180. package/front_end/panels/security/CookieControlsTreeElement.ts +2 -2
  181. package/front_end/panels/security/CookieControlsView.ts +1 -1
  182. package/front_end/panels/security/CookieReportTreeElement.ts +2 -2
  183. package/front_end/panels/security/SecurityPanel.ts +5 -5
  184. package/front_end/panels/security/SecurityPanelSidebar.ts +3 -4
  185. package/front_end/panels/sensors/LocationsSettingsTab.ts +1 -1
  186. package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +1 -1
  187. package/front_end/panels/settings/KeybindsSettingsTab.ts +5 -5
  188. package/front_end/panels/settings/SettingsScreen.ts +7 -8
  189. package/front_end/panels/settings/WorkspaceSettingsTab.ts +1 -1
  190. package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +1 -1
  191. package/front_end/panels/snippets/SnippetsQuickOpen.ts +16 -6
  192. package/front_end/panels/sources/BreakpointEditDialog.ts +3 -3
  193. package/front_end/panels/sources/BreakpointsView.ts +1 -1
  194. package/front_end/panels/sources/CSSPlugin.ts +4 -4
  195. package/front_end/panels/sources/CallStackSidebarPane.ts +4 -4
  196. package/front_end/panels/sources/DebuggerPausedMessage.ts +3 -3
  197. package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +40 -23
  198. package/front_end/panels/sources/GoToLineQuickOpen.ts +11 -5
  199. package/front_end/panels/sources/NavigatorView.ts +4 -4
  200. package/front_end/panels/sources/OpenFileQuickOpen.ts +11 -16
  201. package/front_end/panels/sources/OutlineQuickOpen.ts +23 -23
  202. package/front_end/panels/sources/ProfilePlugin.ts +21 -12
  203. package/front_end/panels/sources/SourcesView.ts +2 -2
  204. package/front_end/panels/sources/TabbedEditorContainer.ts +4 -5
  205. package/front_end/panels/sources/ThreadsSidebarPane.ts +2 -2
  206. package/front_end/panels/sources/UISourceCodeFrame.ts +5 -6
  207. package/front_end/panels/sources/filteredUISourceCodeListProvider.css +41 -0
  208. package/front_end/panels/timeline/TimelineHistoryManager.ts +2 -2
  209. package/front_end/panels/timeline/TimelinePanel.ts +29 -25
  210. package/front_end/panels/timeline/TimelineSelectorStatsView.ts +3 -3
  211. package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +1 -1
  212. package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -1
  213. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +1 -1
  214. package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +1 -1
  215. package/front_end/panels/timeline/components/OriginMap.ts +1 -1
  216. package/front_end/panels/timeline/components/insights/Checklist.ts +1 -1
  217. package/front_end/panels/timeline/components/insights/DOMSize.ts +1 -1
  218. package/front_end/panels/timeline/components/insights/ImageDelivery.ts +1 -1
  219. package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +1 -1
  220. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +2 -2
  221. package/front_end/panels/timeline/docs/flame_chart_migration.md +11 -16
  222. package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +1 -1
  223. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +1 -1
  224. package/front_end/panels/timeline/timeline-meta.ts +3 -2
  225. package/front_end/panels/utils/utils.ts +18 -3
  226. package/front_end/panels/whats_new/ReleaseNoteText.ts +10 -20
  227. package/front_end/panels/whats_new/resources/WNDT.md +8 -8
  228. package/front_end/third_party/chromium/README.chromium +1 -1
  229. package/front_end/third_party/puppeteer/third_party/mitt/README.chromium +1 -0
  230. package/front_end/third_party/puppeteer/third_party/parsel/README.chromium +1 -0
  231. package/front_end/third_party/puppeteer/third_party/rxjs/README.chromium +1 -0
  232. package/front_end/ui/components/adorners/Adorner.ts +21 -1
  233. package/front_end/ui/components/annotations/AnnotationRepository.ts +98 -0
  234. package/front_end/ui/components/annotations/AnnotationType.ts +10 -0
  235. package/front_end/ui/components/annotations/annotations.ts +6 -0
  236. package/front_end/ui/components/buttons/Button.ts +2 -2
  237. package/front_end/ui/components/buttons/FloatingButton.ts +2 -2
  238. package/front_end/ui/components/chrome_link/ChromeLink.ts +1 -1
  239. package/front_end/ui/components/dialogs/ButtonDialog.ts +1 -1
  240. package/front_end/ui/components/dialogs/Dialog.ts +1 -1
  241. package/front_end/ui/components/dialogs/ShortcutDialog.ts +1 -0
  242. package/front_end/ui/components/diff_view/DiffView.ts +1 -1
  243. package/front_end/ui/components/expandable_list/ExpandableList.ts +1 -1
  244. package/front_end/ui/components/highlighting/HighlightElement.ts +16 -2
  245. package/front_end/ui/components/highlighting/MarkupHighlight.ts +162 -0
  246. package/front_end/ui/components/highlighting/highlighting.ts +7 -0
  247. package/front_end/ui/components/icon_button/FileSourceIcon.ts +2 -2
  248. package/front_end/ui/components/icon_button/IconButton.ts +2 -2
  249. package/front_end/ui/components/icon_button/icon_button.ts +0 -2
  250. package/front_end/ui/components/issue_counter/IssueCounter.ts +2 -2
  251. package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +2 -2
  252. package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +1 -1
  253. package/front_end/ui/components/linkifier/LinkifierImpl.ts +1 -1
  254. package/front_end/ui/components/list/List.ts +184 -0
  255. package/front_end/ui/components/list/list.css +90 -0
  256. package/front_end/ui/components/{cards/cards.ts → list/lists.ts} +3 -3
  257. package/front_end/ui/components/markdown_view/CodeBlock.ts +1 -1
  258. package/front_end/ui/components/markdown_view/MarkdownImage.ts +4 -4
  259. package/front_end/ui/components/markdown_view/MarkdownLink.ts +1 -1
  260. package/front_end/ui/components/markdown_view/MarkdownView.ts +1 -1
  261. package/front_end/ui/components/menus/Menu.ts +1 -1
  262. package/front_end/ui/components/menus/SelectMenu.ts +1 -1
  263. package/front_end/ui/components/node_text/NodeText.ts +1 -1
  264. package/front_end/ui/components/panel_feedback/FeedbackButton.ts +1 -1
  265. package/front_end/ui/components/panel_feedback/PanelFeedback.ts +1 -1
  266. package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -1
  267. package/front_end/ui/components/panel_introduction_steps/PanelIntroductionSteps.ts +1 -1
  268. package/front_end/ui/components/report_view/ReportView.ts +1 -1
  269. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +2 -2
  270. package/front_end/ui/components/settings/SettingCheckbox.ts +1 -1
  271. package/front_end/ui/components/settings/SettingDeprecationWarning.ts +2 -2
  272. package/front_end/ui/components/snackbars/Snackbar.ts +1 -1
  273. package/front_end/ui/components/spinners/Spinner.ts +1 -1
  274. package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +1 -1
  275. package/front_end/ui/components/suggestion_input/SuggestionInput.ts +1 -0
  276. package/front_end/ui/components/survey_link/SurveyLink.ts +2 -2
  277. package/front_end/ui/components/switch/SwitchImpl.ts +1 -1
  278. package/front_end/ui/components/text_editor/TextEditor.ts +1 -0
  279. package/front_end/ui/components/text_editor/config.ts +2 -2
  280. package/front_end/ui/components/text_prompt/TextPrompt.ts +1 -1
  281. package/front_end/ui/components/tooltips/Tooltip.ts +1 -1
  282. package/front_end/ui/components/tree_outline/TreeOutline.ts +1 -1
  283. package/front_end/ui/kit/cards/Card.docs.ts +43 -0
  284. package/front_end/ui/{components/icon_button → kit/icons}/Icon.docs.ts +3 -4
  285. package/front_end/ui/{components/icon_button → kit/icons}/Icon.ts +6 -4
  286. package/front_end/ui/kit/kit.ts +6 -0
  287. package/front_end/ui/legacy/Infobar.ts +3 -3
  288. package/front_end/ui/legacy/InspectorView.ts +3 -3
  289. package/front_end/ui/legacy/SearchableView.ts +2 -2
  290. package/front_end/ui/legacy/SoftContextMenu.ts +5 -5
  291. package/front_end/ui/legacy/SoftDropDown.ts +2 -2
  292. package/front_end/ui/legacy/TabbedPane.ts +106 -8
  293. package/front_end/ui/legacy/Toolbar.ts +3 -3
  294. package/front_end/ui/legacy/Treeoutline.ts +2 -2
  295. package/front_end/ui/legacy/UIUtils.ts +4 -188
  296. package/front_end/ui/legacy/ViewManager.ts +27 -12
  297. package/front_end/ui/legacy/ViewRegistration.ts +21 -22
  298. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +8 -8
  299. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +4 -4
  300. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +4 -4
  301. package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +2 -2
  302. package/front_end/ui/legacy/components/inline_editor/Swatches.ts +5 -5
  303. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +3 -3
  304. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +5 -4
  305. package/front_end/ui/legacy/components/perf_ui/LineLevelProfile.ts +73 -35
  306. package/front_end/ui/legacy/components/perf_ui/LiveHeapProfile.ts +11 -2
  307. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +3 -3
  308. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +23 -31
  309. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +11 -27
  310. package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +11 -15
  311. package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +18 -65
  312. package/front_end/ui/legacy/components/source_frame/JSONView.ts +2 -1
  313. package/front_end/ui/legacy/components/utils/Linkifier.ts +3 -3
  314. package/front_end/ui/legacy/tabbedPane.css +10 -0
  315. package/front_end/ui/visual_logging/KnownContextValues.ts +3 -0
  316. package/inspector_overlay/README.md +3 -3
  317. package/mcp/HostBindings.ts +310 -0
  318. package/mcp/mcp.ts +18 -0
  319. package/mcp/tsconfig.json +6 -1
  320. package/package.json +26 -24
  321. /package/front_end/ui/{components → kit}/cards/Card.ts +0 -0
  322. /package/front_end/ui/{components → kit}/cards/card.css +0 -0
  323. /package/front_end/ui/{components/icon_button → kit/icons}/icon.css +0 -0
@@ -35,8 +35,8 @@ export type IconData = IconWithName|{
35
35
  *
36
36
  * ```js
37
37
  * // Instantiate programmatically via the `create()` helper:
38
- * const icon = IconButton.Icon.create('bin');
39
- * const iconWithClassName = IconButton.Icon.create('bin', 'delete-icon');
38
+ * const icon = createIcon('bin');
39
+ * const iconWithClassName = createIcon('bin', 'delete-icon');
40
40
  *
41
41
  * // Use within a template:
42
42
  * Lit.html`
@@ -74,7 +74,9 @@ export class Icon extends HTMLElement {
74
74
 
75
75
  constructor() {
76
76
  super();
77
- this.role = 'presentation';
77
+ if (!this.role) {
78
+ this.role = 'presentation';
79
+ }
78
80
  const style = document.createElement('style');
79
81
  style.textContent = iconStyles;
80
82
  this.#icon = document.createElement('span');
@@ -165,7 +167,7 @@ export class Icon extends HTMLElement {
165
167
  * @param className optional CSS class name(s) to put onto the element.
166
168
  * @returns the newly created `Icon` instance.
167
169
  */
168
- export const create = (name: string, className?: string): Icon => {
170
+ export const createIcon = (name: string, className?: string): Icon => {
169
171
  const icon = new Icon();
170
172
  icon.name = name;
171
173
  if (className !== undefined) {
@@ -0,0 +1,6 @@
1
+ // Copyright 2025 The Chromium Authors
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+
5
+ export * from './cards/Card.js';
6
+ export * from './icons/Icon.js';
@@ -7,7 +7,7 @@ import type * as Common from '../../core/common/common.js';
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
8
  import * as Buttons from '../../ui/components/buttons/buttons.js';
9
9
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
10
- import * as IconButton from '../components/icon_button/icon_button.js';
10
+ import {createIcon} from '../kit/kit.js';
11
11
 
12
12
  import * as ARIAUtils from './ARIAUtils.js';
13
13
  import infobarStyles from './infobar.css.js';
@@ -55,7 +55,7 @@ export class Infobar {
55
55
  this.shadowRoot = createShadowRootWithCoreStyles(this.element, {cssFile: infobarStyles});
56
56
 
57
57
  this.contentElement = this.shadowRoot.createChild('div', 'infobar infobar-' + type);
58
- const icon = IconButton.Icon.create(TYPE_TO_ICON[type], type + '-icon');
58
+ const icon = createIcon(TYPE_TO_ICON[type], type + '-icon');
59
59
  this.contentElement.createChild('div', 'icon-container').appendChild(icon);
60
60
 
61
61
  this.mainRow = this.contentElement.createChild('div', 'infobar-main-row');
@@ -180,7 +180,7 @@ export class Infobar {
180
180
  if (!this.detailsRows) {
181
181
  const details = document.createElement('details');
182
182
  const summary = details.createChild('summary');
183
- const triangleIcon = IconButton.Icon.create('arrow-drop-down');
183
+ const triangleIcon = createIcon('arrow-drop-down');
184
184
  summary.createChild('div', 'icon-container').appendChild(triangleIcon);
185
185
  this.contentElement.insertBefore(details, this.mainRow);
186
186
  summary.appendChild(this.mainRow);
@@ -9,7 +9,7 @@ import * as i18n from '../../core/i18n/i18n.js';
9
9
  import * as Root from '../../core/root/root.js';
10
10
  import * as SDK from '../../core/sdk/sdk.js';
11
11
  import * as Buttons from '../../ui/components/buttons/buttons.js';
12
- import * as IconButton from '../components/icon_button/icon_button.js';
12
+ import {createIcon, type Icon} from '../kit/kit.js';
13
13
  import * as VisualLogging from '../visual_logging/visual_logging.js';
14
14
 
15
15
  import type {ActionDelegate as ActionDelegateInterface} from './ActionRegistration.js';
@@ -429,10 +429,10 @@ export class InspectorView extends VBox implements ViewLocationResolver {
429
429
  // Find the tabbed location where the panel lives
430
430
  const tabbedPane = this.getTabbedPaneForTabId(tabId);
431
431
  if (tabbedPane) {
432
- let icon: IconButton.Icon.Icon|null = null;
432
+ let icon: Icon|null = null;
433
433
  if (warnings.length !== 0) {
434
434
  const warning = warnings.length === 1 ? warnings[0] : '· ' + warnings.join('\n· ');
435
- icon = IconButton.Icon.create('warning-filled', 'small');
435
+ icon = createIcon('warning-filled', 'small');
436
436
  icon.classList.add('warning');
437
437
  Tooltip.install(icon, warning);
438
438
  }
@@ -41,7 +41,7 @@ import * as i18n from '../../core/i18n/i18n.js';
41
41
  import * as Platform from '../../core/platform/platform.js';
42
42
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
43
43
  import * as Buttons from '../components/buttons/buttons.js';
44
- import * as IconButton from '../components/icon_button/icon_button.js';
44
+ import {createIcon} from '../kit/kit.js';
45
45
 
46
46
  import * as ARIAUtils from './ARIAUtils.js';
47
47
  import {InspectorView} from './InspectorView.js';
@@ -189,7 +189,7 @@ export class SearchableView extends VBox {
189
189
  // Elements within `searchInputElements` are added according to their expected tab order.
190
190
  const searchInputElements = this.footerElement.createChild('div', 'search-inputs');
191
191
  const iconAndInput = searchInputElements.createChild('div', 'icon-and-input');
192
- const searchIcon = IconButton.Icon.create('search');
192
+ const searchIcon = createIcon('search');
193
193
  iconAndInput.appendChild(searchIcon);
194
194
 
195
195
  this.searchInputElement = createHistoryInput('search', 'search-replace search');
@@ -6,7 +6,7 @@
6
6
 
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
8
  import type * as Platform from '../../core/platform/platform.js';
9
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
9
+ import {createIcon} from '../../ui/kit/kit.js';
10
10
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
11
11
 
12
12
  import * as ARIAUtils from './ARIAUtils.js';
@@ -218,7 +218,7 @@ export class SoftContextMenu {
218
218
 
219
219
  // If the menu contains a checkbox, add checkbox space in front of the label to align the items
220
220
  if (menuContainsCheckbox) {
221
- const checkMarkElement = IconButton.Icon.create('checkmark', 'checkmark');
221
+ const checkMarkElement = createIcon('checkmark', 'checkmark');
222
222
  menuItemElement.appendChild(checkMarkElement);
223
223
  }
224
224
  if (item.tooltip) {
@@ -293,7 +293,7 @@ export class SoftContextMenu {
293
293
  ARIAUtils.setLabel(menuItemElement, accessibleName);
294
294
 
295
295
  if (item.isExperimentalFeature) {
296
- const experimentIcon = IconButton.Icon.create('experiment');
296
+ const experimentIcon = createIcon('experiment');
297
297
  menuItemElement.appendChild(experimentIcon);
298
298
  }
299
299
 
@@ -317,14 +317,14 @@ export class SoftContextMenu {
317
317
 
318
318
  // If the menu contains a checkbox, add checkbox space in front of the label to align the items
319
319
  if (menuContainsCheckbox) {
320
- const checkMarkElement = IconButton.Icon.create('checkmark', 'checkmark soft-context-menu-item-checkmark');
320
+ const checkMarkElement = createIcon('checkmark', 'checkmark soft-context-menu-item-checkmark');
321
321
  menuItemElement.appendChild(checkMarkElement);
322
322
  }
323
323
 
324
324
  createTextChild(menuItemElement, item.label || '');
325
325
  ARIAUtils.setExpanded(menuItemElement, false);
326
326
 
327
- const subMenuArrowElement = IconButton.Icon.create('keyboard-arrow-right', 'soft-context-menu-item-submenu-arrow');
327
+ const subMenuArrowElement = createIcon('keyboard-arrow-right', 'soft-context-menu-item-submenu-arrow');
328
328
  menuItemElement.appendChild(subMenuArrowElement);
329
329
 
330
330
  menuItemElement.addEventListener('mousedown', this.menuItemMouseDown.bind(this), false);
@@ -6,7 +6,7 @@
6
6
  import type * as Common from '../../core/common/common.js';
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
8
  import * as Geometry from '../../models/geometry/geometry.js';
9
- import * as IconButton from '../components/icon_button/icon_button.js';
9
+ import {createIcon} from '../kit/kit.js';
10
10
  import * as VisualLogging from '../visual_logging/visual_logging.js';
11
11
 
12
12
  import * as ARIAUtils from './ARIAUtils.js';
@@ -56,7 +56,7 @@ export class SoftDropDown<T> implements ListDelegate<T> {
56
56
  this.element.classList.add('soft-dropdown');
57
57
  appendStyle(this.element, softDropDownButtonStyles);
58
58
  this.titleElement = this.element.createChild('span', 'title');
59
- const dropdownArrowIcon = IconButton.Icon.create('triangle-down');
59
+ const dropdownArrowIcon = createIcon('triangle-down');
60
60
  this.element.appendChild(dropdownArrowIcon);
61
61
  ARIAUtils.setExpanded(this.element, false);
62
62
 
@@ -10,9 +10,10 @@ import * as Common from '../../core/common/common.js';
10
10
  import * as i18n from '../../core/i18n/i18n.js';
11
11
  import * as Platform from '../../core/platform/platform.js';
12
12
  import * as Geometry from '../../models/geometry/geometry.js';
13
+ import * as Annotations from '../../ui/components/annotations/annotations.js';
13
14
  import * as Buttons from '../../ui/components/buttons/buttons.js';
14
15
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
15
- import * as IconButton from '../components/icon_button/icon_button.js';
16
+ import {createIcon, Icon} from '../kit/kit.js';
16
17
 
17
18
  import * as ARIAUtils from './ARIAUtils.js';
18
19
  import {ContextMenu} from './ContextMenu.js';
@@ -53,6 +54,10 @@ const UIStrings = {
53
54
  * @description Indicates that a tab contains a preview feature (i.e., a beta / experimental feature).
54
55
  */
55
56
  previewFeature: 'Preview feature',
57
+ /**
58
+ * @description Indicates that a tab contains annotation(s).
59
+ */
60
+ panelContainsAnnotation: 'This panel has one or more annotations',
56
61
  /**
57
62
  * @description Text to move a tab forwar.
58
63
  */
@@ -121,6 +126,11 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
121
126
  this.currentDevicePixelRatio = window.devicePixelRatio;
122
127
  ZoomManager.instance().addEventListener(ZoomManagerEvents.ZOOM_CHANGED, this.zoomChanged, this);
123
128
  this.makeTabSlider();
129
+
130
+ if (Annotations.AnnotationRepository.annotationsEnabled()) {
131
+ Annotations.AnnotationRepository.instance().addEventListener(
132
+ Annotations.Events.ANNOTATION_ADDED, this.#onAnnotationAdded, this);
133
+ }
124
134
  }
125
135
 
126
136
  setAccessibleName(name: string): void {
@@ -392,7 +402,7 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
392
402
  return this.tabsHistory.slice(0, tabsCount).map(tabToTabId);
393
403
  }
394
404
 
395
- setTabIcon(id: string, icon: IconButton.Icon.Icon|null): void {
405
+ setTabIcon(id: string, icon: Icon|null): void {
396
406
  const tab = this.tabsById.get(id);
397
407
  if (!tab) {
398
408
  return;
@@ -401,7 +411,7 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
401
411
  this.requestUpdate();
402
412
  }
403
413
 
404
- setTrailingTabIcon(id: string, icon: IconButton.Icon.Icon|null): void {
414
+ setTrailingTabIcon(id: string, icon: Icon|null): void {
405
415
  const tab = this.tabsById.get(id);
406
416
  if (!tab) {
407
417
  return;
@@ -555,6 +565,36 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
555
565
  this.performUpdate();
556
566
  }
557
567
 
568
+ updateTabAnnotationIcons(): void {
569
+ if (!Annotations.AnnotationRepository.annotationsEnabled()) {
570
+ return;
571
+ }
572
+
573
+ const annotations = Annotations.AnnotationRepository.instance();
574
+ if (!annotations) {
575
+ return;
576
+ }
577
+
578
+ for (const tab of this.tabs) {
579
+ let primaryType = -1;
580
+ let secondaryType = -1;
581
+ switch (tab.id) {
582
+ case 'elements':
583
+ primaryType = Annotations.AnnotationType.ELEMENT_NODE;
584
+ secondaryType = Annotations.AnnotationType.STYLE_RULE;
585
+ break;
586
+ case 'network':
587
+ primaryType = Annotations.AnnotationType.NETWORK_REQUEST;
588
+ secondaryType = Annotations.AnnotationType.NETWORK_REQUEST_SUBPANEL_HEADERS;
589
+ break;
590
+ }
591
+
592
+ const showTabAnnotationIcon = annotations.getAnnotationsByType(primaryType).length > 0 ||
593
+ annotations.getAnnotationsByType(secondaryType).length > 0;
594
+ this.setTabAnnotationIcon(tab.id, showTabAnnotationIcon);
595
+ }
596
+ }
597
+
558
598
  override performUpdate(): void {
559
599
  if (!this.isShowing()) {
560
600
  return;
@@ -583,6 +623,7 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
583
623
  this.updateWidths();
584
624
  this.updateTabsDropDown();
585
625
  this.updateTabSlider();
626
+ this.updateTabAnnotationIcons();
586
627
  }
587
628
 
588
629
  private adjustToolbarWidth(): void {
@@ -621,7 +662,7 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
621
662
  const dropDownContainer = document.createElement('div');
622
663
  dropDownContainer.classList.add('tabbed-pane-header-tabs-drop-down-container');
623
664
  dropDownContainer.setAttribute('jslog', `${VisualLogging.dropDown('more-tabs').track({click: true})}`);
624
- const chevronIcon = IconButton.Icon.create('chevron-double-right', 'chevron-icon');
665
+ const chevronIcon = createIcon('chevron-double-right', 'chevron-icon');
625
666
  const moreTabsString = i18nString(UIStrings.moreTabs);
626
667
  dropDownContainer.title = moreTabsString;
627
668
  ARIAUtils.markAsMenuButton(dropDownContainer);
@@ -939,6 +980,17 @@ export class TabbedPane extends Common.ObjectWrapper.eventMixin<EventTypes, type
939
980
  this.automaticReorder = automatic;
940
981
  }
941
982
 
983
+ setTabAnnotationIcon(id: string, iconVisible: boolean): void {
984
+ const tab = this.tabsById.get(id);
985
+ if (tab) {
986
+ tab.tabAnnotationIcon = iconVisible;
987
+ }
988
+ }
989
+
990
+ #onAnnotationAdded(): void {
991
+ this.updateTabAnnotationIcons();
992
+ }
993
+
942
994
  private keyDown(event: KeyboardEvent): void {
943
995
  if (!this.currentTab) {
944
996
  return;
@@ -1009,6 +1061,7 @@ export interface EventTypes {
1009
1061
  export class TabbedPaneTab {
1010
1062
  closeable: boolean;
1011
1063
  previewFeature = false;
1064
+ #tabAnnotationIcon = false;
1012
1065
  private readonly tabbedPane: TabbedPane;
1013
1066
  #id: string;
1014
1067
  #title: string;
@@ -1017,7 +1070,7 @@ export class TabbedPaneTab {
1017
1070
  shown: boolean;
1018
1071
  measuredWidth!: number|undefined;
1019
1072
  #tabElement!: HTMLElement|undefined;
1020
- private icon: IconButton.Icon.Icon|null = null;
1073
+ private icon: Icon|null = null;
1021
1074
  private suffixElement: HTMLElement|null = null;
1022
1075
  #width?: number;
1023
1076
  private delegate?: TabbedPaneTabDelegate;
@@ -1064,11 +1117,37 @@ export class TabbedPaneTab {
1064
1117
  return this.#jslogContext ?? (this.#id === 'console-view' ? 'console' : this.#id);
1065
1118
  }
1066
1119
 
1120
+ get tabAnnotationIcon(): boolean {
1121
+ return this.#tabAnnotationIcon;
1122
+ }
1123
+
1124
+ set tabAnnotationIcon(iconVisible: boolean) {
1125
+ if (this.#tabAnnotationIcon === iconVisible) {
1126
+ return;
1127
+ }
1128
+ this.#tabAnnotationIcon = iconVisible;
1129
+ if (!this.#tabElement) {
1130
+ return;
1131
+ }
1132
+ const iconElement = this.#tabElement.querySelector('.ai-icon');
1133
+ if (iconVisible) {
1134
+ if (!iconElement) {
1135
+ const closeButton = this.#tabElement.querySelector('.close-button');
1136
+ this.#tabElement.insertBefore(this.createTabAnnotationIcon(), closeButton);
1137
+ }
1138
+ } else {
1139
+ iconElement?.remove();
1140
+ }
1141
+ this.#tabElement.classList.toggle('ai', iconVisible);
1142
+ delete this.measuredWidth;
1143
+ this.tabbedPane.requestUpdate();
1144
+ }
1145
+
1067
1146
  isCloseable(): boolean {
1068
1147
  return this.closeable;
1069
1148
  }
1070
1149
 
1071
- setIcon(icon: IconButton.Icon.Icon|null): void {
1150
+ setIcon(icon: Icon|null): void {
1072
1151
  this.icon = icon;
1073
1152
  if (this.#tabElement && this.titleElement) {
1074
1153
  this.createIconElement(this.#tabElement, this.titleElement, false);
@@ -1171,7 +1250,7 @@ export class TabbedPaneTab {
1171
1250
  tabSuffixElements.set(tabElement, suffixElementContainer);
1172
1251
  }
1173
1252
 
1174
- private createMeasureClone(original: IconButton.Icon.Icon): Element {
1253
+ private createMeasureClone(original: Icon): Element {
1175
1254
  // Cloning doesn't work for the icon component because the shadow
1176
1255
  // root isn't copied, but it is sufficient to create a div styled
1177
1256
  // to be the same size.
@@ -1204,6 +1283,12 @@ export class TabbedPaneTab {
1204
1283
  tabElement.classList.add('preview');
1205
1284
  }
1206
1285
 
1286
+ if (this.tabAnnotationIcon) {
1287
+ const tabAnnotationIcon = this.createTabAnnotationIcon();
1288
+ tabElement.appendChild(tabAnnotationIcon);
1289
+ tabElement.classList.add('ai');
1290
+ }
1291
+
1207
1292
  if (this.closeable) {
1208
1293
  const closeIcon = this.createCloseIconButton();
1209
1294
  tabElement.appendChild(closeIcon);
@@ -1230,6 +1315,19 @@ export class TabbedPaneTab {
1230
1315
  return tabElement as HTMLElement;
1231
1316
  }
1232
1317
 
1318
+ private createTabAnnotationIcon(): HTMLDivElement {
1319
+ // TODO(finnur): Replace the ai-icon with the squiggly svg once it becomes available.
1320
+ const iconContainer = document.createElement('div');
1321
+ iconContainer.classList.add('ai-icon');
1322
+ const tabAnnotationIcon = new Icon();
1323
+ tabAnnotationIcon.name = 'smart-assistant';
1324
+ tabAnnotationIcon.classList.add('small');
1325
+ iconContainer.appendChild(tabAnnotationIcon);
1326
+ iconContainer.setAttribute('title', i18nString(UIStrings.panelContainsAnnotation));
1327
+ iconContainer.setAttribute('aria-label', i18nString(UIStrings.panelContainsAnnotation));
1328
+ return iconContainer;
1329
+ }
1330
+
1233
1331
  private createCloseIconButton(): Buttons.Button.Button {
1234
1332
  const closeButton = new Buttons.Button.Button();
1235
1333
  closeButton.data = {
@@ -1248,7 +1346,7 @@ export class TabbedPaneTab {
1248
1346
  private createPreviewIcon(): HTMLDivElement {
1249
1347
  const iconContainer = document.createElement('div');
1250
1348
  iconContainer.classList.add('preview-icon');
1251
- const previewIcon = new IconButton.Icon.Icon();
1349
+ const previewIcon = new Icon();
1252
1350
  previewIcon.name = 'experiment';
1253
1351
  previewIcon.classList.add('small');
1254
1352
  iconContainer.appendChild(previewIcon);
@@ -10,7 +10,7 @@ import * as Platform from '../../core/platform/platform.js';
10
10
  import * as Root from '../../core/root/root.js';
11
11
  import * as Buttons from '../../ui/components/buttons/buttons.js';
12
12
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
13
- import * as IconButton from '../components/icon_button/icon_button.js';
13
+ import {createIcon} from '../kit/kit.js';
14
14
 
15
15
  import {type Action, Events as ActionEvents} from './ActionRegistration.js';
16
16
  import {ActionRegistry} from './ActionRegistry.js';
@@ -824,7 +824,7 @@ export class ToolbarFilter extends ToolbarInput {
824
824
  filterPlaceholder, filterPlaceholder, growFactor, shrinkFactor, tooltip, completions, dynamicCompletions,
825
825
  jslogContext || 'filter', element);
826
826
 
827
- const filterIcon = IconButton.Icon.create('filter');
827
+ const filterIcon = createIcon('filter');
828
828
  this.element.prepend(filterIcon);
829
829
  this.element.classList.add('toolbar-filter');
830
830
  }
@@ -997,7 +997,7 @@ export class ToolbarMenuButton extends ToolbarItem<ToolbarButton.EventTypes> {
997
997
  this.title = '';
998
998
  if (!isIconDropdown) {
999
999
  this.element.classList.add('toolbar-has-dropdown');
1000
- const dropdownArrowIcon = IconButton.Icon.create('triangle-down', 'toolbar-dropdown-arrow');
1000
+ const dropdownArrowIcon = createIcon('triangle-down', 'toolbar-dropdown-arrow');
1001
1001
  this.element.appendChild(dropdownArrowIcon);
1002
1002
  }
1003
1003
  if (jslogContext) {
@@ -40,7 +40,7 @@ import * as SDK from '../../core/sdk/sdk.js';
40
40
  import type * as TextUtils from '../../models/text_utils/text_utils.js';
41
41
  import type * as Buttons from '../components/buttons/buttons.js';
42
42
  import * as Highlighting from '../components/highlighting/highlighting.js';
43
- import type * as IconButton from '../components/icon_button/icon_button.js';
43
+ import type {Icon} from '../kit/kit.js';
44
44
  import * as Lit from '../lit/lit.js';
45
45
  import * as VisualLogging from '../visual_logging/visual_logging.js';
46
46
 
@@ -810,7 +810,7 @@ export class TreeElement {
810
810
  }
811
811
  }
812
812
 
813
- setLeadingIcons(icons: IconButton.Icon.Icon[]|Lit.TemplateResult[]): void {
813
+ setLeadingIcons(icons: Icon[]|Lit.TemplateResult[]): void {
814
814
  if (!this.leadingIconsElement && !icons.length) {
815
815
  return;
816
816
  }