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
@@ -68,6 +68,10 @@ const UIStrings = {
68
68
  * @description Text in Connection info View of the Network panel
69
69
  */
70
70
  directSocketStatusAborted: 'Aborted',
71
+ /**
72
+ * @description Text in Connection info View of the Network panel
73
+ */
74
+ joinedMulticastGroups: 'joinedMulticastGroups',
71
75
 
72
76
  } as const;
73
77
 
@@ -167,6 +171,10 @@ export const DEFAULT_VIEW: View = (input, _output, target) => {
167
171
  ${renderRow(i18nString(UIStrings.type), getDirectSocketTypeString(socketInfo.type))}
168
172
  ${renderRow(i18nString(UIStrings.status), getDirectSocketStatusString(socketInfo.status))}
169
173
  ${renderRow(i18nString(UIStrings.errorMessage), socketInfo.errorMessage)}
174
+ ${
175
+ renderRow(
176
+ i18nString(UIStrings.joinedMulticastGroups),
177
+ socketInfo.joinedMulticastGroups ? Array.from(socketInfo.joinedMulticastGroups).join(', ') : '')}
170
178
  </div>`;
171
179
 
172
180
  const optionsContent = html`
@@ -181,6 +189,15 @@ export const DEFAULT_VIEW: View = (input, _output, target) => {
181
189
  ${
182
190
  renderRow(i18n.i18n.lockedString('receiveBufferSize'), socketInfo.createOptions.receiveBufferSize?.toString(10))}
183
191
  ${renderRow(i18n.i18n.lockedString('dnsQueryType'), socketInfo.createOptions.dnsQueryType)}
192
+ ${
193
+ renderRow(
194
+ i18n.i18n.lockedString('multicastTimeToLive'), socketInfo.createOptions.multicastTimeToLive?.toString(10))}
195
+ ${
196
+ renderRow(i18n.i18n.lockedString('multicastLoopback'), socketInfo.createOptions.multicastLoopback?.toString())}
197
+ ${
198
+ renderRow(
199
+ i18n.i18n.lockedString('multicastAllowAddressSharing'),
200
+ socketInfo.createOptions.multicastAllowAddressSharing?.toString())}
184
201
  </div>`;
185
202
 
186
203
  let openInfoContent: Lit.LitTemplate = Lit.nothing;
@@ -4,13 +4,13 @@
4
4
  /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
5
 
6
6
  import '../../../ui/components/report_view/report_view.js';
7
- import '../../../ui/components/icon_button/icon_button.js';
7
+ import '../../../ui/kit/kit.js';
8
8
 
9
9
  import * as i18n from '../../../core/i18n/i18n.js';
10
10
  import * as SDK from '../../../core/sdk/sdk.js';
11
11
  import * as Protocol from '../../../generated/protocol.js';
12
- import type * as IconButton from '../../../ui/components/icon_button/icon_button.js';
13
12
  import * as LegacyWrapper from '../../../ui/components/legacy_wrapper/legacy_wrapper.js';
13
+ import type {IconWithName} from '../../../ui/kit/kit.js';
14
14
  import * as Lit from '../../../ui/lit/lit.js';
15
15
  import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
16
16
 
@@ -223,12 +223,12 @@ export class RequestTrustTokensView extends LegacyWrapper.LegacyWrapper.Wrappabl
223
223
  }
224
224
  }
225
225
 
226
- const SUCCESS_ICON_DATA: IconButton.Icon.IconWithName = {
226
+ const SUCCESS_ICON_DATA: IconWithName = {
227
227
  color: 'var(--icon-checkmark-green)',
228
228
  iconName: 'check-circle',
229
229
  };
230
230
 
231
- const FAILURE_ICON_DATA: IconButton.Icon.IconWithName = {
231
+ const FAILURE_ICON_DATA: IconWithName = {
232
232
  color: 'var(--icon-error)',
233
233
  iconName: 'cross-circle-filled',
234
234
  };
@@ -239,8 +239,7 @@ export function statusConsideredSuccess(status: Protocol.Network.TrustTokenOpera
239
239
  status === Protocol.Network.TrustTokenOperationDoneEventStatus.FulfilledLocally;
240
240
  }
241
241
 
242
- function getIconForStatusCode(status: Protocol.Network.TrustTokenOperationDoneEventStatus):
243
- IconButton.Icon.IconWithName {
242
+ function getIconForStatusCode(status: Protocol.Network.TrustTokenOperationDoneEventStatus): IconWithName {
244
243
  return statusConsideredSuccess(status) ? SUCCESS_ICON_DATA : FAILURE_ICON_DATA;
245
244
  }
246
245
 
@@ -12,6 +12,10 @@
12
12
  flex: auto;
13
13
  border: none;
14
14
 
15
+ .resource-chunk-view-td {
16
+ border-bottom: 1px solid var(--sys-color-divider);
17
+ }
18
+
15
19
  & tr {
16
20
  &.resource-chunk-view-row-send td:first-child::before {
17
21
  content: "\2B06";
@@ -10,7 +10,7 @@ import * as Platform from '../../core/platform/platform.js';
10
10
  import * as SDK from '../../core/sdk/sdk.js';
11
11
  import type * as Protocol from '../../generated/protocol.js';
12
12
  import * as HeapSnapshotModel from '../../models/heap_snapshot_model/heap_snapshot_model.js';
13
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
13
+ import {createIcon} from '../../ui/kit/kit.js';
14
14
  import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
15
15
  import * as UI from '../../ui/legacy/legacy.js';
16
16
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
@@ -631,12 +631,12 @@ export abstract class HeapSnapshotGenericObjectNode extends HeapSnapshotGridNode
631
631
  const div = fragment.$('container');
632
632
  this.prefixObjectCell(div);
633
633
  if (this.reachableFromWindow) {
634
- const frameIcon = IconButton.Icon.create('frame', 'heap-object-tag');
634
+ const frameIcon = createIcon('frame', 'heap-object-tag');
635
635
  UI.Tooltip.Tooltip.install(frameIcon, i18nString(UIStrings.userObjectReachableFromWindow));
636
636
  div.appendChild(frameIcon);
637
637
  }
638
638
  if (this.detachedDOMTreeNode) {
639
- const frameIcon = IconButton.Icon.create('scissors', 'heap-object-tag');
639
+ const frameIcon = createIcon('scissors', 'heap-object-tag');
640
640
  UI.Tooltip.Tooltip.install(frameIcon, i18nString(UIStrings.detachedFromDomTree));
641
641
  div.appendChild(frameIcon);
642
642
  }
@@ -31,7 +31,7 @@
31
31
  import * as i18n from '../../core/i18n/i18n.js';
32
32
  import * as Platform from '../../core/platform/platform.js';
33
33
  import type * as CPUProfile from '../../models/cpu_profile/cpu_profile.js';
34
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
34
+ import {Icon} from '../../ui/kit/kit.js';
35
35
  import * as DataGrid from '../../ui/legacy/components/data_grid/data_grid.js';
36
36
  import * as UI from '../../ui/legacy/legacy.js';
37
37
 
@@ -203,7 +203,7 @@ export class ProfileDataGridNode extends DataGrid.DataGrid.DataGridNode<unknown>
203
203
  cell.classList.toggle('highlight', this.searchMatchedFunctionColumn);
204
204
  if (this.deoptReason) {
205
205
  cell.classList.add('not-optimized');
206
- const warningIcon = new IconButton.Icon.Icon();
206
+ const warningIcon = new Icon();
207
207
  warningIcon.name = 'warning-filled';
208
208
  warningIcon.classList.add('profile-warn-marker', 'small');
209
209
  UI.Tooltip.Tooltip.install(warningIcon, i18nString(UIStrings.notOptimizedS, {PH1: this.deoptReason}));
@@ -33,7 +33,7 @@ import '../../ui/legacy/legacy.js';
33
33
  import * as Common from '../../core/common/common.js';
34
34
  import * as i18n from '../../core/i18n/i18n.js';
35
35
  import * as SDK from '../../core/sdk/sdk.js';
36
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
36
+ import {createIcon} from '../../ui/kit/kit.js';
37
37
  // eslint-disable-next-line @devtools/es-modules-import
38
38
  import objectValueStyles from '../../ui/legacy/components/object_ui/objectValue.css.js';
39
39
  import * as UI from '../../ui/legacy/legacy.js';
@@ -668,7 +668,7 @@ export class ProfilesSidebarTreeElement extends UI.TreeOutline.TreeElement {
668
668
  .createChild('span', 'title-container')
669
669
  .createChild('span', 'title')
670
670
  .textContent = i18nString(UIStrings.profiles);
671
- this.setLeadingIcons([IconButton.Icon.create('tune')]);
671
+ this.setLeadingIcons([createIcon('tune')]);
672
672
  }
673
673
  }
674
674
 
@@ -2,7 +2,7 @@
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 '../../ui/components/icon_button/icon_button.js';
5
+ import '../../ui/kit/kit.js';
6
6
  import '../../ui/components/menus/menus.js';
7
7
 
8
8
  import * as Common from '../../core/common/common.js';
@@ -2,7 +2,7 @@
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 '../../../ui/components/icon_button/icon_button.js';
5
+ import '../../../ui/kit/kit.js';
6
6
  import './ControlButton.js';
7
7
 
8
8
  import * as i18n from '../../../core/i18n/i18n.js';
@@ -4,7 +4,7 @@
4
4
  /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
5
 
6
6
  import '../../../ui/legacy/legacy.js';
7
- import '../../../ui/components/icon_button/icon_button.js';
7
+ import '../../../ui/kit/kit.js';
8
8
 
9
9
  import * as i18n from '../../../core/i18n/i18n.js';
10
10
  import type * as PublicExtensions from '../../../models/extensions/extensions.js';
@@ -2,7 +2,7 @@
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 '../../../ui/components/icon_button/icon_button.js';
5
+ import '../../../ui/kit/kit.js';
6
6
 
7
7
  import * as i18n from '../../../core/i18n/i18n.js';
8
8
  import * as Buttons from '../../../ui/components/buttons/buttons.js';
@@ -2,7 +2,7 @@
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 '../../../ui/components/icon_button/icon_button.js';
5
+ import '../../../ui/kit/kit.js';
6
6
  import './ExtensionView.js';
7
7
  import './ControlButton.js';
8
8
  import './ReplaySection.js';
@@ -7,7 +7,7 @@
7
7
  do not define any host for Lit.render and the rule is not happy
8
8
  about it. */
9
9
 
10
- import '../../../ui/components/icon_button/icon_button.js';
10
+ import '../../../ui/kit/kit.js';
11
11
  import './StepEditor.js';
12
12
  import './TimelineSection.js';
13
13
 
@@ -10,7 +10,7 @@ import * as i18n from '../../core/i18n/i18n.js';
10
10
  import type * as Platform from '../../core/platform/platform.js';
11
11
  import * as SDK from '../../core/sdk/sdk.js';
12
12
  import * as Protocol from '../../generated/protocol.js';
13
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
13
+ import {createIcon, Icon} from '../../ui/kit/kit.js';
14
14
  import * as UI from '../../ui/legacy/legacy.js';
15
15
 
16
16
  import {InputModel} from './InputModel.js';
@@ -104,8 +104,8 @@ export class ScreencastView extends UI.Widget.VBox implements SDK.OverlayModel.H
104
104
  private navigationProgressBar?: ProgressTracker;
105
105
  private touchInputToggle?: HTMLButtonElement;
106
106
  private mouseInputToggle?: HTMLButtonElement;
107
- private touchInputToggleIcon?: IconButton.Icon.Icon;
108
- private mouseInputToggleIcon?: IconButton.Icon.Icon;
107
+ private touchInputToggleIcon?: Icon;
108
+ private mouseInputToggleIcon?: Icon;
109
109
  private historyIndex?: number;
110
110
  private historyEntries?: Protocol.Page.NavigationEntry[];
111
111
  private isCasting = false;
@@ -648,17 +648,17 @@ export class ScreencastView extends UI.Widget.VBox implements SDK.OverlayModel.H
648
648
  this.navigationBar = this.element.createChild('div', 'screencast-navigation');
649
649
 
650
650
  this.navigationBack = this.navigationBar.createChild('button', 'navigation');
651
- this.navigationBack.appendChild(IconButton.Icon.create('arrow-back'));
651
+ this.navigationBack.appendChild(createIcon('arrow-back'));
652
652
  this.navigationBack.disabled = true;
653
653
  UI.ARIAUtils.setLabel(this.navigationBack, i18nString(UIStrings.back));
654
654
 
655
655
  this.navigationForward = this.navigationBar.createChild('button', 'navigation');
656
- this.navigationForward.appendChild(IconButton.Icon.create('arrow-forward'));
656
+ this.navigationForward.appendChild(createIcon('arrow-forward'));
657
657
  this.navigationForward.disabled = true;
658
658
  UI.ARIAUtils.setLabel(this.navigationForward, i18nString(UIStrings.forward));
659
659
 
660
660
  this.navigationReload = this.navigationBar.createChild('button', 'navigation');
661
- this.navigationReload.appendChild(IconButton.Icon.create('refresh'));
661
+ this.navigationReload.appendChild(createIcon('refresh'));
662
662
  UI.ARIAUtils.setLabel(this.navigationReload, i18nString(UIStrings.reload));
663
663
 
664
664
  this.navigationUrl = this.navigationBar.appendChild(UI.UIUtils.createInput());
@@ -668,14 +668,14 @@ export class ScreencastView extends UI.Widget.VBox implements SDK.OverlayModel.H
668
668
  this.mouseInputToggle = this.navigationBar.createChild('button');
669
669
  this.mouseInputToggle.disabled = true;
670
670
  {
671
- this.mouseInputToggleIcon = this.mouseInputToggle.appendChild(new IconButton.Icon.Icon());
671
+ this.mouseInputToggleIcon = this.mouseInputToggle.appendChild(new Icon());
672
672
  this.mouseInputToggleIcon.name = 'mouse';
673
673
  this.mouseInputToggleIcon.classList.toggle('toggled', true);
674
674
  }
675
675
  UI.ARIAUtils.setLabel(this.mouseInputToggle, i18nString(UIStrings.mouseInput));
676
676
 
677
677
  this.touchInputToggle = this.navigationBar.createChild('button');
678
- this.touchInputToggleIcon = this.touchInputToggle.appendChild(IconButton.Icon.create('touch-app'));
678
+ this.touchInputToggleIcon = this.touchInputToggle.appendChild(createIcon('touch-app'));
679
679
  UI.ARIAUtils.setLabel(this.touchInputToggle, i18nString(UIStrings.touchInput));
680
680
 
681
681
  this.navigationProgressBar = new ProgressTracker(
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import '../../ui/legacy/legacy.js';
6
- import '../../ui/components/icon_button/icon_button.js';
6
+ import '../../ui/kit/kit.js';
7
7
 
8
8
  import * as Common from '../../core/common/common.js';
9
9
  import * as Host from '../../core/host/host.js';
@@ -1,14 +1,14 @@
1
1
  // Copyright 2024 The Chromium Authors
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 * as IconButton from '../../ui/components/icon_button/icon_button.js';
4
+ import {createIcon} from '../../ui/kit/kit.js';
5
5
 
6
6
  import {SecurityPanelSidebarTreeElement} from './SecurityPanelSidebarTreeElement.js';
7
7
 
8
8
  export class CookieControlsTreeElement extends SecurityPanelSidebarTreeElement {
9
9
  constructor(title: string, jslogContext: string|number) {
10
10
  super(title, false, jslogContext);
11
- this.setLeadingIcons([IconButton.Icon.create('gear', 'cookie-icon')]);
11
+ this.setLeadingIcons([createIcon('gear', 'cookie-icon')]);
12
12
  }
13
13
 
14
14
  override get elemId(): string {
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import '../../ui/components/switch/switch.js';
6
- import '../../ui/components/cards/cards.js';
6
+ import '../../ui/kit/kit.js';
7
7
  import '../../ui/components/chrome_link/chrome_link.js';
8
8
 
9
9
  import * as Common from '../../core/common/common.js';
@@ -1,14 +1,14 @@
1
1
  // Copyright 2024 The Chromium Authors
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 * as IconButton from '../../ui/components/icon_button/icon_button.js';
4
+ import {createIcon} from '../../ui/kit/kit.js';
5
5
 
6
6
  import {SecurityPanelSidebarTreeElement} from './SecurityPanelSidebarTreeElement.js';
7
7
 
8
8
  export class CookieReportTreeElement extends SecurityPanelSidebarTreeElement {
9
9
  constructor(title: string, jslogContext: string|number) {
10
10
  super(title, false, jslogContext);
11
- this.setLeadingIcons([IconButton.Icon.create('cookie', 'cookie-icon')]);
11
+ this.setLeadingIcons([createIcon('cookie', 'cookie-icon')]);
12
12
  }
13
13
 
14
14
  override get elemId(): string {
@@ -10,7 +10,7 @@ import type * as Platform from '../../core/platform/platform.js';
10
10
  import * as SDK from '../../core/sdk/sdk.js';
11
11
  import * as Protocol from '../../generated/protocol.js';
12
12
  import * as NetworkForward from '../../panels/network/forward/forward.js';
13
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
13
+ import {createIcon, type Icon} from '../../ui/kit/kit.js';
14
14
  import * as UI from '../../ui/legacy/legacy.js';
15
15
  import {html, render} from '../../ui/lit/lit.js';
16
16
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
@@ -470,7 +470,7 @@ const WARNING_ICON_NAME = 'warning';
470
470
  const UNKNOWN_ICON_NAME = 'indeterminate-question-box';
471
471
 
472
472
  export function getSecurityStateIconForDetailedView(
473
- securityState: Protocol.Security.SecurityState, className: string): IconButton.Icon.Icon {
473
+ securityState: Protocol.Security.SecurityState, className: string): Icon {
474
474
  let iconName: string;
475
475
 
476
476
  switch (securityState) {
@@ -488,11 +488,11 @@ export function getSecurityStateIconForDetailedView(
488
488
  break;
489
489
  }
490
490
 
491
- return IconButton.Icon.create(iconName, className);
491
+ return createIcon(iconName, className);
492
492
  }
493
493
 
494
494
  export function getSecurityStateIconForOverview(
495
- securityState: Protocol.Security.SecurityState, className: string): IconButton.Icon.Icon {
495
+ securityState: Protocol.Security.SecurityState, className: string): Icon {
496
496
  let iconName: string;
497
497
  switch (securityState) {
498
498
  case Protocol.Security.SecurityState.Unknown: // fallthrough
@@ -509,7 +509,7 @@ export function getSecurityStateIconForOverview(
509
509
  case Protocol.Security.SecurityState.Info:
510
510
  throw new Error(`Unexpected security state ${securityState}`);
511
511
  }
512
- return IconButton.Icon.create(iconName, className);
512
+ return createIcon(iconName, className);
513
513
  }
514
514
 
515
515
  export function createHighlightedUrl(url: Platform.DevToolsPath.UrlString, securityState: string): Element {
@@ -8,7 +8,7 @@ import * as i18n from '../../core/i18n/i18n.js';
8
8
  import * as Platform from '../../core/platform/platform.js';
9
9
  import * as Root from '../../core/root/root.js';
10
10
  import * as Protocol from '../../generated/protocol.js';
11
- import type * as IconButton from '../../ui/components/icon_button/icon_button.js';
11
+ import type {Icon} from '../../ui/kit/kit.js';
12
12
  import * as UI from '../../ui/legacy/legacy.js';
13
13
 
14
14
  import {CookieControlsTreeElement} from './CookieControlsTreeElement.js';
@@ -73,7 +73,7 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
73
73
  export class SecurityPanelSidebar extends UI.Widget.VBox {
74
74
  readonly #securitySidebarLastItemSetting: Common.Settings.Setting<string>;
75
75
  readonly sidebarTree: UI.TreeOutline.TreeOutlineInShadow;
76
- readonly #originGroupTitles: Map<OriginGroup, {title: string, icon?: IconButton.Icon.Icon}>;
76
+ readonly #originGroupTitles: Map<OriginGroup, {title: string, icon?: Icon}>;
77
77
  #originGroups: Map<OriginGroup, UI.TreeOutline.TreeElement>;
78
78
  securityOverviewElement: OriginTreeElement;
79
79
  readonly #cookieControlsTreeElement: CookieControlsTreeElement|undefined;
@@ -204,8 +204,7 @@ export class SecurityPanelSidebar extends UI.Widget.VBox {
204
204
  return this.#originGroups.get(originGroup) as UI.TreeOutline.TreeElement;
205
205
  }
206
206
 
207
- #createOriginGroupElement(originGroupTitle: string, originGroupIcon?: IconButton.Icon.Icon):
208
- UI.TreeOutline.TreeElement {
207
+ #createOriginGroupElement(originGroupTitle: string, originGroupIcon?: Icon): UI.TreeOutline.TreeElement {
209
208
  const originGroup = new UI.TreeOutline.TreeElement(originGroupTitle, true);
210
209
  originGroup.selectable = false;
211
210
  originGroup.expand();
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-imperative-dom-api */
5
5
 
6
- import '../../ui/components/cards/cards.js';
6
+ import '../../ui/kit/kit.js';
7
7
 
8
8
  import * as Common from '../../core/common/common.js';
9
9
  import * as i18n from '../../core/i18n/i18n.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-imperative-dom-api */
5
5
 
6
- import '../../ui/components/cards/cards.js';
6
+ import '../../ui/kit/kit.js';
7
7
 
8
8
  import * as Common from '../../core/common/common.js';
9
9
  import * as i18n from '../../core/i18n/i18n.js';
@@ -3,14 +3,14 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-imperative-dom-api */
5
5
 
6
- import '../../ui/components/cards/cards.js';
6
+ import '../../ui/kit/kit.js';
7
7
 
8
8
  import * as Common from '../../core/common/common.js';
9
9
  import * as Host from '../../core/host/host.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 Buttons from '../../ui/components/buttons/buttons.js';
13
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
13
+ import {createIcon, type Icon} from '../../ui/kit/kit.js';
14
14
  import * as SettingsUI from '../../ui/legacy/components/settings_ui/settings_ui.js';
15
15
  import * as UI from '../../ui/legacy/legacy.js';
16
16
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
@@ -383,7 +383,7 @@ export class ShortcutListItem {
383
383
 
384
384
  private createEmptyInfo(): void {
385
385
  if (UI.ShortcutRegistry.ShortcutRegistry.instance().actionHasDefaultShortcut(this.item.id())) {
386
- const icon = IconButton.Icon.create('keyboard-pen', 'keybinds-modified');
386
+ const icon = createIcon('keyboard-pen', 'keybinds-modified');
387
387
  UI.ARIAUtils.setLabel(icon, i18nString(UIStrings.shortcutModified));
388
388
  this.element.appendChild(icon);
389
389
  }
@@ -441,9 +441,9 @@ export class ShortcutListItem {
441
441
  if (this.editedShortcuts.has(shortcut) && !this.editedShortcuts.get(shortcut)) {
442
442
  return;
443
443
  }
444
- let icon: IconButton.Icon.Icon;
444
+ let icon: Icon;
445
445
  if (shortcut.type !== UI.KeyboardShortcut.Type.UNSET_SHORTCUT && !shortcut.isDefault()) {
446
- icon = IconButton.Icon.create('keyboard-pen', 'keybinds-modified');
446
+ icon = createIcon('keyboard-pen', 'keybinds-modified');
447
447
  UI.ARIAUtils.setLabel(icon, i18nString(UIStrings.shortcutModified));
448
448
  this.element.appendChild(icon);
449
449
  }
@@ -5,16 +5,15 @@
5
5
 
6
6
  /* eslint-disable @devtools/no-imperative-dom-api */
7
7
 
8
- import '../../ui/components/cards/cards.js';
8
+ import '../../ui/kit/kit.js';
9
9
 
10
10
  import * as Common from '../../core/common/common.js';
11
11
  import * as Host from '../../core/host/host.js';
12
12
  import * as i18n from '../../core/i18n/i18n.js';
13
13
  import * as Root from '../../core/root/root.js';
14
14
  import * as Buttons from '../../ui/components/buttons/buttons.js';
15
- import type * as Cards from '../../ui/components/cards/cards.js';
16
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
17
15
  import * as UIHelpers from '../../ui/helpers/helpers.js';
16
+ import {type Card, createIcon} from '../../ui/kit/kit.js';
18
17
  import * as SettingsUI from '../../ui/legacy/components/settings_ui/settings_ui.js';
19
18
  import * as Components from '../../ui/legacy/components/utils/utils.js';
20
19
  import * as UI from '../../ui/legacy/legacy.js';
@@ -83,7 +82,7 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
83
82
 
84
83
  let settingsScreenInstance: SettingsScreen;
85
84
 
86
- function createSettingsCard(heading: Common.UIString.LocalizedString, ...content: HTMLElement[]): Cards.Card.Card {
85
+ function createSettingsCard(heading: Common.UIString.LocalizedString, ...content: HTMLElement[]): Card {
87
86
  const card = document.createElement('devtools-card');
88
87
  card.heading = heading;
89
88
  card.append(...content);
@@ -382,8 +381,8 @@ export class GenericSettingsTab extends UI.Widget.VBox implements SettingsTab {
382
381
  }
383
382
 
384
383
  export class ExperimentsSettingsTab extends UI.Widget.VBox implements SettingsTab {
385
- #experimentsSection: Cards.Card.Card|undefined;
386
- #unstableExperimentsSection: Cards.Card.Card|undefined;
384
+ #experimentsSection: Card|undefined;
385
+ #unstableExperimentsSection: Card|undefined;
387
386
  private readonly experimentToControl = new Map<Root.Runtime.Experiment, HTMLElement>();
388
387
  private readonly containerElement: HTMLElement;
389
388
 
@@ -460,7 +459,7 @@ export class ExperimentsSettingsTab extends UI.Widget.VBox implements SettingsTa
460
459
  private createExperimentsWarningSubsection(warningMessage: string): HTMLElement {
461
460
  const subsection = document.createElement('div');
462
461
  subsection.classList.add('experiments-warning-subsection');
463
- const warningIcon = IconButton.Icon.create('warning');
462
+ const warningIcon = createIcon('warning');
464
463
  subsection.appendChild(warningIcon);
465
464
  const warning = subsection.createChild('span');
466
465
  warning.textContent = warningMessage;
@@ -581,7 +580,7 @@ export class Revealer implements Common.Revealer.Revealer<Root.Runtime.Experimen
581
580
  }
582
581
 
583
582
  // Reveal settings views
584
- for (const view of UI.ViewManager.getRegisteredViewExtensions()) {
583
+ for (const view of UI.ViewManager.ViewManager.instance().getRegisteredViewExtensions()) {
585
584
  const id = view.viewId();
586
585
  const location = view.location();
587
586
  if (location !== UI.ViewManager.ViewLocationValues.SETTINGS_VIEW) {
@@ -4,7 +4,7 @@
4
4
 
5
5
  import '../../ui/legacy/legacy.js';
6
6
  import '../../ui/components/buttons/buttons.js';
7
- import '../../ui/components/cards/cards.js';
7
+ import '../../ui/kit/kit.js';
8
8
 
9
9
  import * as Common from '../../core/common/common.js';
10
10
  import * as i18n from '../../core/i18n/i18n.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-imperative-dom-api */
5
5
 
6
- import '../../../ui/components/cards/cards.js';
6
+ import '../../../ui/kit/kit.js';
7
7
 
8
8
  import * as i18n from '../../../core/i18n/i18n.js';
9
9
  import * as EmulationModel from '../../../models/emulation/emulation.js';
@@ -2,10 +2,13 @@
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 '../../ui/kit/kit.js';
6
+ import '../../ui/components/highlighting/highlighting.js';
7
+
5
8
  import * as i18n from '../../core/i18n/i18n.js';
6
9
  import type * as Workspace from '../../models/workspace/workspace.js';
7
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
8
10
  import * as QuickOpen from '../../ui/legacy/components/quick_open/quick_open.js';
11
+ import {html, type TemplateResult} from '../../ui/lit/lit.js';
9
12
 
10
13
  import {evaluateScriptSnippet, findSnippetsProject} from './ScriptSnippetFileSystem.js';
11
14
 
@@ -81,11 +84,18 @@ export class SnippetsQuickOpen extends QuickOpen.FilteredListWidget.Provider {
81
84
  return this.snippets[itemIndex].name();
82
85
  }
83
86
 
84
- override renderItem(itemIndex: number, query: string, titleElement: Element, _subtitleElement: Element): void {
85
- const icon = IconButton.Icon.create('snippet', 'snippet');
86
- titleElement.parentElement?.parentElement?.insertBefore(icon, titleElement.parentElement);
87
- titleElement.textContent = this.snippets[itemIndex].name();
88
- QuickOpen.FilteredListWidget.FilteredListWidget.highlightRanges(titleElement, query, true);
87
+ override renderItem(itemIndex: number, query: string): TemplateResult {
88
+ // clang-format off
89
+ const snippet = this.snippets[itemIndex].name();
90
+ const highlightRanges = QuickOpen.FilteredListWidget.FilteredListWidget.getHighlightRanges(snippet, query, true);
91
+ return html`
92
+ <devtools-icon class="snippet" name="snippet"></devtools-icon>
93
+ <div>
94
+ <devtools-highlight type="markup" ranges=${highlightRanges}>
95
+ ${snippet}
96
+ </devtools-highlight>
97
+ </div>`;
98
+ // clang-format on
89
99
  }
90
100
  }
91
101
 
@@ -10,8 +10,8 @@ import * as i18n from '../../core/i18n/i18n.js';
10
10
  import * as SDK from '../../core/sdk/sdk.js';
11
11
  import type * as BreakpointManager from '../../models/breakpoints/breakpoints.js';
12
12
  import * as CodeMirror from '../../third_party/codemirror.next/codemirror.next.js';
13
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
14
13
  import * as TextEditor from '../../ui/components/text_editor/text_editor.js';
14
+ import {createIcon} from '../../ui/kit/kit.js';
15
15
  import * as UI from '../../ui/legacy/legacy.js';
16
16
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
17
17
 
@@ -181,7 +181,7 @@ export class BreakpointEditDialog extends UI.Widget.Widget {
181
181
  }));
182
182
  editorWrapper.appendChild(this.editor);
183
183
 
184
- const closeIcon = IconButton.Icon.create('cross');
184
+ const closeIcon = createIcon('cross');
185
185
  closeIcon.title = i18nString(UIStrings.closeDialog);
186
186
  closeIcon.setAttribute('jslog', `${VisualLogging.close().track({click: true})}`);
187
187
  closeIcon.onclick = () => this.finishEditing(true, this.editor.state.doc.toString());
@@ -196,7 +196,7 @@ export class BreakpointEditDialog extends UI.Widget.Widget {
196
196
  const link = UI.Fragment.html`<x-link class="link devtools-link" tabindex="0" href="https://goo.gle/devtools-loc"
197
197
  jslog="${VisualLogging.link('learn-more')}">${
198
198
  i18nString(UIStrings.learnMoreOnBreakpointTypes)}</x-link>` as UI.XLink.XLink;
199
- const linkIcon = IconButton.Icon.create('open-externally', 'link-icon');
199
+ const linkIcon = createIcon('open-externally', 'link-icon');
200
200
  link.prepend(linkIcon);
201
201
  linkWrapper.appendChild(link);
202
202
 
@@ -2,7 +2,7 @@
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 '../../ui/components/icon_button/icon_button.js';
5
+ import '../../ui/kit/kit.js';
6
6
 
7
7
  import * as Common from '../../core/common/common.js';
8
8
  import * as Host from '../../core/host/host.js';