chrome-devtools-frontend 1.0.1549484 → 1.0.1553956

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 (601) hide show
  1. package/docs/styleguide/ux/components.md +84 -17
  2. package/docs/styleguide/ux/images/cards.png +0 -0
  3. package/docs/ui_engineering.md +2 -2
  4. package/eslint.config.mjs +7 -0
  5. package/front_end/Images/generate-css-vars.js +8 -4
  6. package/front_end/core/common/Settings.ts +20 -8
  7. package/front_end/core/host/UserMetrics.ts +3 -1
  8. package/front_end/core/i18n/collect-ui-strings.js +19 -10
  9. package/front_end/core/i18n/generate-locales-js.js +4 -4
  10. package/front_end/core/protocol_client/CDPConnection.ts +1 -0
  11. package/front_end/core/protocol_client/InspectorBackend.ts +5 -1
  12. package/front_end/core/root/Runtime.ts +0 -12
  13. package/front_end/core/sdk/DOMModel.ts +38 -3
  14. package/front_end/core/sdk/DebuggerModel.ts +9 -4
  15. package/front_end/core/sdk/IsolateManager.ts +7 -0
  16. package/front_end/core/sdk/NetworkManager.ts +12 -10
  17. package/front_end/core/sdk/PageResourceLoader.ts +11 -4
  18. package/front_end/core/sdk/RehydratingConnection.ts +5 -2
  19. package/front_end/core/sdk/SourceMapManager.ts +12 -6
  20. package/front_end/entrypoints/main/MainImpl.ts +28 -19
  21. package/front_end/foundation/Universe.ts +7 -0
  22. package/front_end/generated/InspectorBackendCommands.ts +5 -2
  23. package/front_end/generated/SupportedCSSProperties.js +14 -0
  24. package/front_end/generated/protocol-mapping.d.ts +8 -0
  25. package/front_end/generated/protocol-proxy-api.d.ts +6 -0
  26. package/front_end/generated/protocol.ts +76 -0
  27. package/front_end/models/ai_assistance/AiConversation.ts +94 -4
  28. package/front_end/models/ai_assistance/BuiltInAi.ts +79 -5
  29. package/front_end/models/ai_assistance/agents/AiAgent.ts +30 -15
  30. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +179 -41
  31. package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +5 -0
  32. package/front_end/models/ai_assistance/agents/StylingAgent.ts +62 -0
  33. package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +2 -1
  34. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +1 -7
  35. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +124 -12
  36. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +125 -30
  37. package/front_end/models/ai_assistance/performance/AICallTree.ts +42 -0
  38. package/front_end/models/ai_code_generation/AiCodeGeneration.ts +12 -0
  39. package/front_end/models/issues_manager/AttributionReportingIssue.ts +6 -8
  40. package/front_end/models/issues_manager/BounceTrackingIssue.ts +4 -14
  41. package/front_end/models/issues_manager/ClientHintIssue.ts +5 -12
  42. package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +5 -12
  43. package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +7 -14
  44. package/front_end/models/issues_manager/CookieIssue.ts +27 -30
  45. package/front_end/models/issues_manager/CorsIssue.ts +8 -17
  46. package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +5 -8
  47. package/front_end/models/issues_manager/DeprecationIssue.ts +7 -14
  48. package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +7 -14
  49. package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +4 -11
  50. package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +4 -11
  51. package/front_end/models/issues_manager/GenericIssue.ts +11 -16
  52. package/front_end/models/issues_manager/HeavyAdIssue.ts +4 -11
  53. package/front_end/models/issues_manager/Issue.ts +13 -4
  54. package/front_end/models/issues_manager/IssueAggregator.ts +17 -2
  55. package/front_end/models/issues_manager/IssuesManager.ts +5 -0
  56. package/front_end/models/issues_manager/LowTextContrastIssue.ts +3 -10
  57. package/front_end/models/issues_manager/MixedContentIssue.ts +7 -13
  58. package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +4 -11
  59. package/front_end/models/issues_manager/PermissionElementIssue.ts +262 -0
  60. package/front_end/models/issues_manager/PropertyRuleIssue.ts +6 -12
  61. package/front_end/models/issues_manager/QuirksModeIssue.ts +3 -10
  62. package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +7 -13
  63. package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +4 -11
  64. package/front_end/models/issues_manager/SharedDictionaryIssue.ts +6 -13
  65. package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +8 -13
  66. package/front_end/models/issues_manager/UnencodedDigestIssue.ts +2 -9
  67. package/front_end/models/issues_manager/descriptions/permissionElementActivationDisabled.md +7 -0
  68. package/front_end/models/issues_manager/descriptions/permissionElementActivationDisabledWithOccluder.md +9 -0
  69. package/front_end/models/issues_manager/descriptions/permissionElementActivationDisabledWithOccluderParent.md +9 -0
  70. package/front_end/models/issues_manager/descriptions/permissionElementCspFrameAncestorsMissing.md +5 -0
  71. package/front_end/models/issues_manager/descriptions/permissionElementFencedFrameDisallowed.md +5 -0
  72. package/front_end/models/issues_manager/descriptions/permissionElementFontSizeTooLarge.md +5 -0
  73. package/front_end/models/issues_manager/descriptions/permissionElementFontSizeTooSmall.md +5 -0
  74. package/front_end/models/issues_manager/descriptions/permissionElementGeolocationDeprecated.md +5 -0
  75. package/front_end/models/issues_manager/descriptions/permissionElementInsetBoxShadowUnsupported.md +5 -0
  76. package/front_end/models/issues_manager/descriptions/permissionElementInvalidDisplayStyle.md +5 -0
  77. package/front_end/models/issues_manager/descriptions/permissionElementInvalidSizeValue.md +5 -0
  78. package/front_end/models/issues_manager/descriptions/permissionElementInvalidType.md +5 -0
  79. package/front_end/models/issues_manager/descriptions/permissionElementInvalidTypeActivation.md +5 -0
  80. package/front_end/models/issues_manager/descriptions/permissionElementLowContrast.md +5 -0
  81. package/front_end/models/issues_manager/descriptions/permissionElementNonOpaqueColor.md +5 -0
  82. package/front_end/models/issues_manager/descriptions/permissionElementPaddingBottomUnsupported.md +6 -0
  83. package/front_end/models/issues_manager/descriptions/permissionElementPaddingRightUnsupported.md +6 -0
  84. package/front_end/models/issues_manager/descriptions/permissionElementPermissionsPolicyBlocked.md +5 -0
  85. package/front_end/models/issues_manager/descriptions/permissionElementRegistrationFailed.md +5 -0
  86. package/front_end/models/issues_manager/descriptions/permissionElementRequestInProgress.md +5 -0
  87. package/front_end/models/issues_manager/descriptions/permissionElementSecurityChecksFailed.md +5 -0
  88. package/front_end/models/issues_manager/descriptions/permissionElementTypeNotSupported.md +5 -0
  89. package/front_end/models/issues_manager/descriptions/permissionElementUntrustedEvent.md +7 -0
  90. package/front_end/models/issues_manager/issues_manager.ts +2 -0
  91. package/front_end/models/javascript_metadata/NativeFunctions.js +8 -13
  92. package/front_end/models/stack_trace/StackTraceModel.ts +37 -18
  93. package/front_end/models/trace/Processor.ts +14 -15
  94. package/front_end/models/trace/insights/Common.ts +2 -8
  95. package/front_end/models/trace/insights/types.ts +12 -2
  96. package/front_end/models/trace/types/TraceEvents.ts +4 -1
  97. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +28 -6
  98. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +9 -23
  99. package/front_end/panels/ai_assistance/ai_assistance.ts +1 -0
  100. package/front_end/panels/ai_assistance/components/ChatView.ts +78 -2
  101. package/front_end/panels/ai_assistance/components/CollapsibleAssistanceContentWidget.ts +71 -0
  102. package/front_end/panels/ai_assistance/components/PerformanceAgentFlameChart.ts +126 -0
  103. package/front_end/panels/ai_assistance/components/PerformanceAgentMarkdownRenderer.ts +131 -2
  104. package/front_end/panels/ai_assistance/components/chatView.css +28 -0
  105. package/front_end/panels/ai_assistance/components/collapsibleAssistanceContentWidget.css +33 -0
  106. package/front_end/panels/application/AppManifestView.ts +1007 -521
  107. package/front_end/panels/application/ApplicationPanelSidebar.ts +22 -38
  108. package/front_end/panels/application/BackForwardCacheTreeElement.ts +2 -2
  109. package/front_end/panels/application/BounceTrackingMitigationsTreeElement.ts +2 -2
  110. package/front_end/panels/application/ExtensionStorageItemsView.ts +3 -5
  111. package/front_end/panels/application/InterestGroupTreeElement.ts +2 -2
  112. package/front_end/panels/application/KeyValueStorageItemsView.ts +3 -2
  113. package/front_end/panels/application/OpenedWindowDetailsView.ts +2 -2
  114. package/front_end/panels/application/OriginTrialTreeView.ts +1 -1
  115. package/front_end/panels/application/PreloadingTreeElement.ts +3 -3
  116. package/front_end/panels/application/ReportingApiTreeElement.ts +2 -2
  117. package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +3 -3
  118. package/front_end/panels/application/SharedStorageListTreeElement.ts +2 -2
  119. package/front_end/panels/application/StorageBucketsTreeElement.ts +3 -3
  120. package/front_end/panels/application/StorageView.ts +2 -2
  121. package/front_end/panels/application/TrustTokensTreeElement.ts +2 -2
  122. package/front_end/panels/application/components/BackForwardCacheView.ts +2 -2
  123. package/front_end/panels/application/components/PermissionsPolicySection.ts +1 -1
  124. package/front_end/panels/application/components/ProtocolHandlersView.ts +1 -1
  125. package/front_end/panels/application/components/SharedStorageMetadataView.ts +1 -1
  126. package/front_end/panels/application/components/TrustTokensView.ts +1 -1
  127. package/front_end/panels/application/preloading/PreloadingView.ts +46 -45
  128. package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +80 -75
  129. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +169 -133
  130. package/front_end/panels/application/preloading/components/PreloadingGrid.ts +1 -1
  131. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +74 -93
  132. package/front_end/panels/application/preloading/components/RuleSetGrid.ts +143 -118
  133. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +52 -12
  134. package/front_end/panels/application/preloading/components/components.ts +0 -2
  135. package/front_end/panels/changes/ChangesSidebar.ts +2 -0
  136. package/front_end/panels/changes/CombinedDiffView.ts +2 -0
  137. package/front_end/panels/common/Annotation.ts +184 -0
  138. package/front_end/panels/common/AnnotationManager.ts +208 -0
  139. package/front_end/panels/common/ExtensionView.ts +47 -0
  140. package/front_end/panels/common/PersistenceUtils.ts +22 -26
  141. package/front_end/panels/common/annotation.css +40 -0
  142. package/front_end/panels/common/common.ts +2 -0
  143. package/front_end/panels/console/ConsoleInsightTeaser.ts +187 -5
  144. package/front_end/panels/console/ConsolePinPane.ts +437 -217
  145. package/front_end/panels/console/ConsolePrompt.ts +36 -227
  146. package/front_end/panels/console/ConsoleView.ts +69 -68
  147. package/front_end/panels/console/ConsoleViewMessage.ts +18 -14
  148. package/front_end/panels/console/consoleInsightTeaser.css +23 -0
  149. package/front_end/panels/console/consoleView.css +1 -1
  150. package/front_end/panels/console_counters/WarningErrorCounter.ts +2 -0
  151. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +1 -1
  152. package/front_end/panels/elements/AdoptedStyleSheetTreeElement.ts +89 -0
  153. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +5 -5
  154. package/front_end/panels/elements/ComputedStyleWidget.ts +16 -5
  155. package/front_end/panels/elements/ElementsPanel.ts +75 -0
  156. package/front_end/panels/elements/ElementsSidebarPane.ts +1 -3
  157. package/front_end/panels/elements/ElementsTreeElement.ts +459 -451
  158. package/front_end/panels/elements/ElementsTreeOutline.ts +48 -15
  159. package/front_end/panels/elements/ShortcutTreeElement.ts +2 -2
  160. package/front_end/panels/elements/StyleEditorWidget.ts +2 -2
  161. package/front_end/panels/elements/StylePropertyTreeElement.ts +21 -20
  162. package/front_end/panels/elements/StylesSidebarPane.ts +5 -6
  163. package/front_end/panels/elements/TopLayerContainer.ts +2 -2
  164. package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +1 -1
  165. package/front_end/panels/elements/components/ElementsTreeExpandButton.ts +1 -1
  166. package/front_end/panels/elements/components/QueryContainer.ts +1 -1
  167. package/front_end/panels/elements/components/StylePropertyEditor.ts +1 -1
  168. package/front_end/panels/emulation/DeviceModeWrapper.ts +48 -3
  169. package/front_end/panels/emulation/MediaQueryInspector.ts +171 -125
  170. package/front_end/panels/explain/components/ConsoleInsight.ts +181 -154
  171. package/front_end/panels/explain/components/consoleInsight.css +348 -347
  172. package/front_end/panels/issues/AffectedPermissionElementsView.ts +46 -0
  173. package/front_end/panels/issues/AffectedResourcesView.ts +2 -2
  174. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +2 -2
  175. package/front_end/panels/issues/IssueKindView.ts +2 -2
  176. package/front_end/panels/issues/IssueView.ts +6 -4
  177. package/front_end/panels/issues/IssuesPane.ts +6 -0
  178. package/front_end/panels/js_timeline/js_timeline-meta.ts +4 -2
  179. package/front_end/panels/layer_viewer/LayerDetailsView.ts +165 -149
  180. package/front_end/panels/layer_viewer/Layers3DView.ts +131 -78
  181. package/front_end/panels/lighthouse/LighthouseStatusView.ts +149 -100
  182. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +91 -65
  183. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +25 -34
  184. package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +1 -1
  185. package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +61 -45
  186. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +171 -152
  187. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +50 -51
  188. package/front_end/panels/linear_memory_inspector/components/valueInterpreterDisplay.css +0 -13
  189. package/front_end/panels/linear_memory_inspector/components/valueInterpreterSettings.css +20 -18
  190. package/front_end/panels/media/PlayerListView.ts +1 -1
  191. package/front_end/panels/mobile_throttling/CalibrationController.ts +3 -1
  192. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +2 -2
  193. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +2 -3
  194. package/front_end/panels/network/NetworkDataGridNode.ts +17 -9
  195. package/front_end/panels/network/NetworkFrameGrouper.ts +2 -2
  196. package/front_end/panels/network/NetworkItemView.ts +46 -7
  197. package/front_end/panels/network/NetworkLogView.ts +10 -11
  198. package/front_end/panels/network/NetworkLogViewColumns.ts +3 -3
  199. package/front_end/panels/network/NetworkPanel.ts +63 -1
  200. package/front_end/panels/network/RequestCookiesView.ts +2 -2
  201. package/front_end/panels/network/RequestInitiatorView.ts +146 -113
  202. package/front_end/panels/network/SignedExchangeInfoView.ts +2 -2
  203. package/front_end/panels/network/components/RequestHeaderSection.css +51 -50
  204. package/front_end/panels/network/components/RequestHeaderSection.ts +81 -71
  205. package/front_end/panels/network/components/RequestHeadersView.css +1 -1
  206. package/front_end/panels/network/components/RequestHeadersView.ts +26 -11
  207. package/front_end/panels/network/components/RequestTrustTokensView.css +24 -14
  208. package/front_end/panels/network/components/RequestTrustTokensView.ts +145 -142
  209. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +3 -3
  210. package/front_end/panels/profiler/IsolateSelector.ts +2 -1
  211. package/front_end/panels/profiler/ProfileDataGrid.ts +2 -2
  212. package/front_end/panels/profiler/ProfilesPanel.ts +2 -2
  213. package/front_end/panels/protocol_monitor/JSONEditor.ts +1 -1
  214. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +49 -33
  215. package/front_end/panels/recorder/RecorderController.ts +2 -3
  216. package/front_end/panels/recorder/components/ControlButton.ts +68 -34
  217. package/front_end/panels/recorder/components/CreateRecordingView.ts +10 -7
  218. package/front_end/panels/recorder/components/ExtensionView.ts +1 -1
  219. package/front_end/panels/recorder/components/RecordingListView.ts +1 -1
  220. package/front_end/panels/recorder/components/RecordingView.ts +82 -89
  221. package/front_end/panels/recorder/components/ReplaySection.ts +226 -145
  222. package/front_end/panels/recorder/{controllers → components}/SelectorPicker.ts +129 -52
  223. package/front_end/panels/recorder/components/StepEditor.ts +21 -67
  224. package/front_end/panels/recorder/components/StepView.ts +223 -181
  225. package/front_end/panels/recorder/components/TimelineSection.ts +69 -48
  226. package/front_end/panels/recorder/components/components.ts +2 -2
  227. package/front_end/panels/recorder/components/selectorPicker.css +14 -0
  228. package/front_end/panels/recorder/components/stepEditor.css +0 -5
  229. package/front_end/panels/recorder/components/stepView.css +196 -198
  230. package/front_end/panels/recorder/extensions/ExtensionManager.ts +4 -48
  231. package/front_end/panels/recorder/models/ScreenshotUtils.ts +17 -11
  232. package/front_end/panels/screencast/ScreencastView.ts +8 -8
  233. package/front_end/panels/search/SearchView.ts +1 -1
  234. package/front_end/panels/security/CookieControlsTreeElement.ts +2 -2
  235. package/front_end/panels/security/CookieControlsView.ts +9 -16
  236. package/front_end/panels/security/CookieReportTreeElement.ts +2 -2
  237. package/front_end/panels/security/SecurityPanel.ts +5 -5
  238. package/front_end/panels/security/SecurityPanelSidebar.ts +3 -4
  239. package/front_end/panels/settings/KeybindsSettingsTab.ts +4 -4
  240. package/front_end/panels/settings/SettingsScreen.ts +2 -3
  241. package/front_end/panels/settings/components/SyncSection.ts +0 -1
  242. package/front_end/panels/snippets/SnippetsQuickOpen.ts +16 -8
  243. package/front_end/panels/sources/BreakpointEditDialog.ts +3 -3
  244. package/front_end/panels/sources/BreakpointsView.ts +1 -1
  245. package/front_end/panels/sources/CSSPlugin.ts +6 -6
  246. package/front_end/panels/sources/CallStackSidebarPane.ts +63 -78
  247. package/front_end/panels/sources/DebuggerPausedMessage.ts +3 -3
  248. package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +39 -30
  249. package/front_end/panels/sources/GoToLineQuickOpen.ts +11 -7
  250. package/front_end/panels/sources/NavigatorView.ts +2 -2
  251. package/front_end/panels/sources/OpenFileQuickOpen.ts +11 -15
  252. package/front_end/panels/sources/OutlineQuickOpen.ts +23 -26
  253. package/front_end/panels/sources/SourcesPanel.ts +1 -11
  254. package/front_end/panels/sources/SourcesView.ts +2 -2
  255. package/front_end/panels/sources/TabbedEditorContainer.ts +13 -11
  256. package/front_end/panels/sources/ThreadsSidebarPane.ts +96 -101
  257. package/front_end/panels/sources/UISourceCodeFrame.ts +5 -5
  258. package/front_end/panels/sources/threadsSidebarPane.css +6 -5
  259. package/front_end/panels/timeline/InteractionsTrackAppender.ts +2 -3
  260. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +23 -33
  261. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +4 -3
  262. package/front_end/panels/timeline/TimelineFlameChartView.ts +12 -0
  263. package/front_end/panels/timeline/TimelineHistoryManager.ts +2 -2
  264. package/front_end/panels/timeline/TimelinePanel.ts +17 -14
  265. package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +1 -1
  266. package/front_end/panels/timeline/components/IgnoreListSetting.ts +164 -142
  267. package/front_end/panels/timeline/components/InteractionBreakdown.ts +48 -28
  268. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +18 -23
  269. package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -1
  270. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +99 -74
  271. package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +1 -1
  272. package/front_end/panels/timeline/components/OriginMap.ts +1 -1
  273. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +9 -12
  274. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +262 -291
  275. package/front_end/panels/timeline/components/Utils.ts +25 -0
  276. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +210 -146
  277. package/front_end/panels/timeline/components/insights/CLSCulprits.ts +8 -20
  278. package/front_end/panels/timeline/components/insights/Cache.ts +0 -9
  279. package/front_end/panels/timeline/components/insights/Checklist.ts +1 -1
  280. package/front_end/panels/timeline/components/insights/DOMSize.ts +12 -34
  281. package/front_end/panels/timeline/components/insights/DocumentLatency.ts +0 -9
  282. package/front_end/panels/timeline/components/insights/DuplicatedJavaScript.ts +0 -9
  283. package/front_end/panels/timeline/components/insights/EventRef.ts +47 -109
  284. package/front_end/panels/timeline/components/insights/FontDisplay.ts +0 -9
  285. package/front_end/panels/timeline/components/insights/ForcedReflow.ts +0 -9
  286. package/front_end/panels/timeline/components/insights/INPBreakdown.ts +0 -9
  287. package/front_end/panels/timeline/components/insights/ImageDelivery.ts +2 -11
  288. package/front_end/panels/timeline/components/insights/ImageRef.ts +112 -0
  289. package/front_end/panels/timeline/components/insights/InsightRenderer.ts +91 -0
  290. package/front_end/panels/timeline/components/insights/LCPBreakdown.ts +0 -9
  291. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +4 -11
  292. package/front_end/panels/timeline/components/insights/LegacyJavaScript.ts +0 -9
  293. package/front_end/panels/timeline/components/insights/ModernHTTP.ts +0 -9
  294. package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +7 -22
  295. package/front_end/panels/timeline/components/insights/NodeLink.ts +68 -43
  296. package/front_end/panels/timeline/components/insights/README.md +2 -3
  297. package/front_end/panels/timeline/components/insights/RenderBlocking.ts +0 -9
  298. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +0 -9
  299. package/front_end/panels/timeline/components/insights/ThirdParties.ts +0 -9
  300. package/front_end/panels/timeline/components/insights/Viewport.ts +7 -19
  301. package/front_end/panels/timeline/components/insights/baseInsightComponent.css +5 -0
  302. package/front_end/panels/timeline/components/insights/insights.ts +2 -0
  303. package/front_end/panels/timeline/components/interactionBreakdown.css +15 -13
  304. package/front_end/panels/timeline/enable-easter-egg.js +7 -3
  305. package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +1 -1
  306. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +1 -1
  307. package/front_end/panels/timeline/timeline-meta.ts +3 -2
  308. package/front_end/panels/utils/utils.ts +1 -0
  309. package/front_end/third_party/chromium/README.chromium +1 -1
  310. package/front_end/third_party/puppeteer/README.chromium +2 -2
  311. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BluetoothEmulation.d.ts +96 -0
  312. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BluetoothEmulation.d.ts.map +1 -0
  313. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BluetoothEmulation.js +8 -0
  314. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BluetoothEmulation.js.map +1 -0
  315. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +87 -0
  316. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
  317. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
  318. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/DeviceRequestPrompt.d.ts +2 -6
  319. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/DeviceRequestPrompt.d.ts.map +1 -1
  320. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/DeviceRequestPrompt.js +5 -24
  321. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/DeviceRequestPrompt.js.map +1 -1
  322. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +5 -0
  323. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  324. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  325. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.d.ts +1 -0
  326. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.d.ts.map +1 -1
  327. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/api.js.map +1 -1
  328. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BluetoothEmulation.d.ts +18 -0
  329. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BluetoothEmulation.d.ts.map +1 -0
  330. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BluetoothEmulation.js +42 -0
  331. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BluetoothEmulation.js.map +1 -0
  332. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts +4 -1
  333. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.d.ts.map +1 -1
  334. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js +10 -0
  335. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Browser.js.map +1 -1
  336. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/DeviceRequestPrompt.d.ts +27 -0
  337. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/DeviceRequestPrompt.d.ts.map +1 -0
  338. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/DeviceRequestPrompt.js +90 -0
  339. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/DeviceRequestPrompt.js.map +1 -0
  340. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts +3 -1
  341. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
  342. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js +3 -2
  343. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
  344. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +4 -1
  345. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
  346. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +5 -2
  347. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
  348. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts +4 -0
  349. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  350. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js +14 -2
  351. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  352. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.d.ts.map +1 -1
  353. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.js +7 -0
  354. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/util.js.map +1 -1
  355. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +1 -1
  356. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
  357. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BluetoothEmulation.d.ts +18 -0
  358. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BluetoothEmulation.d.ts.map +1 -0
  359. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BluetoothEmulation.js +30 -0
  360. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BluetoothEmulation.js.map +1 -0
  361. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +5 -2
  362. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
  363. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +22 -3
  364. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
  365. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpSession.d.ts +1 -1
  366. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CdpSession.d.ts.map +1 -1
  367. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/DeviceRequestPrompt.d.ts +2 -3
  368. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/DeviceRequestPrompt.d.ts.map +1 -1
  369. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/DeviceRequestPrompt.js +4 -6
  370. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/DeviceRequestPrompt.js.map +1 -1
  371. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.d.ts +2 -2
  372. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.d.ts.map +1 -1
  373. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js +1 -1
  374. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/FrameManager.js.map +1 -1
  375. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +2 -0
  376. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
  377. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +8 -0
  378. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  379. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.d.ts.map +1 -1
  380. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.js +8 -3
  381. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/WebWorker.js.map +1 -1
  382. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.d.ts +1 -0
  383. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.d.ts.map +1 -1
  384. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.js +1 -0
  385. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/cdp.js.map +1 -1
  386. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +30 -0
  387. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
  388. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +15 -0
  389. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  390. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  391. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts +1 -1
  392. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  393. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +2 -13
  394. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
  395. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts +5 -3
  396. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  397. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.js +17 -0
  398. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.js.map +1 -1
  399. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  400. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
  401. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
  402. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  403. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.d.ts +1 -1
  404. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/version.js +1 -1
  405. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +221 -4
  406. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +182 -95
  407. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BluetoothEmulation.d.ts +96 -0
  408. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BluetoothEmulation.d.ts.map +1 -0
  409. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BluetoothEmulation.js +7 -0
  410. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BluetoothEmulation.js.map +1 -0
  411. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +87 -0
  412. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
  413. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
  414. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/DeviceRequestPrompt.d.ts +2 -6
  415. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/DeviceRequestPrompt.d.ts.map +1 -1
  416. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/DeviceRequestPrompt.js +4 -22
  417. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/DeviceRequestPrompt.js.map +1 -1
  418. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +5 -0
  419. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  420. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  421. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.d.ts +1 -0
  422. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.d.ts.map +1 -1
  423. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/api.js.map +1 -1
  424. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BluetoothEmulation.d.ts +18 -0
  425. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BluetoothEmulation.d.ts.map +1 -0
  426. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BluetoothEmulation.js +38 -0
  427. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BluetoothEmulation.js.map +1 -0
  428. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts +4 -1
  429. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.d.ts.map +1 -1
  430. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js +10 -0
  431. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Browser.js.map +1 -1
  432. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/DeviceRequestPrompt.d.ts +27 -0
  433. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/DeviceRequestPrompt.d.ts.map +1 -0
  434. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/DeviceRequestPrompt.js +85 -0
  435. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/DeviceRequestPrompt.js.map +1 -0
  436. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts +3 -1
  437. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
  438. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js +3 -2
  439. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
  440. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +4 -1
  441. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
  442. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +5 -2
  443. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
  444. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts +4 -0
  445. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  446. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js +14 -2
  447. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  448. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.d.ts.map +1 -1
  449. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.js +7 -0
  450. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/util.js.map +1 -1
  451. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +1 -1
  452. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
  453. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BluetoothEmulation.d.ts +18 -0
  454. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BluetoothEmulation.d.ts.map +1 -0
  455. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BluetoothEmulation.js +26 -0
  456. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BluetoothEmulation.js.map +1 -0
  457. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +5 -2
  458. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
  459. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +22 -3
  460. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
  461. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpSession.d.ts +1 -1
  462. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CdpSession.d.ts.map +1 -1
  463. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/DeviceRequestPrompt.d.ts +2 -3
  464. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/DeviceRequestPrompt.d.ts.map +1 -1
  465. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/DeviceRequestPrompt.js +2 -4
  466. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/DeviceRequestPrompt.js.map +1 -1
  467. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.d.ts +2 -2
  468. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.d.ts.map +1 -1
  469. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js +2 -2
  470. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/FrameManager.js.map +1 -1
  471. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +2 -0
  472. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
  473. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +8 -0
  474. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  475. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.d.ts.map +1 -1
  476. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.js +8 -3
  477. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/WebWorker.js.map +1 -1
  478. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.d.ts +1 -0
  479. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.d.ts.map +1 -1
  480. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.js +1 -0
  481. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/cdp.js.map +1 -1
  482. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js +31 -1
  483. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js.map +1 -1
  484. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +15 -0
  485. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  486. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts +1 -1
  487. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  488. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +2 -13
  489. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
  490. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +5 -3
  491. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  492. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.js +16 -1
  493. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.js.map +1 -1
  494. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
  495. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
  496. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
  497. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.d.ts +1 -1
  498. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/util/version.js +1 -1
  499. package/front_end/third_party/puppeteer/package/lib/types.d.ts +221 -4
  500. package/front_end/third_party/puppeteer/package/package.json +4 -4
  501. package/front_end/third_party/puppeteer/package/src/api/BluetoothEmulation.ts +103 -0
  502. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +96 -1
  503. package/front_end/third_party/puppeteer/package/src/api/DeviceRequestPrompt.ts +2 -10
  504. package/front_end/third_party/puppeteer/package/src/api/Page.ts +6 -0
  505. package/front_end/third_party/puppeteer/package/src/api/api.ts +1 -0
  506. package/front_end/third_party/puppeteer/package/src/bidi/BluetoothEmulation.ts +52 -0
  507. package/front_end/third_party/puppeteer/package/src/bidi/Browser.ts +15 -0
  508. package/front_end/third_party/puppeteer/package/src/bidi/DeviceRequestPrompt.ts +138 -0
  509. package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +7 -3
  510. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +10 -2
  511. package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +30 -2
  512. package/front_end/third_party/puppeteer/package/src/bidi/util.ts +8 -0
  513. package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +1 -1
  514. package/front_end/third_party/puppeteer/package/src/cdp/BluetoothEmulation.ts +47 -0
  515. package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +33 -3
  516. package/front_end/third_party/puppeteer/package/src/cdp/CdpSession.ts +1 -1
  517. package/front_end/third_party/puppeteer/package/src/cdp/DeviceRequestPrompt.ts +3 -8
  518. package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +2 -2
  519. package/front_end/third_party/puppeteer/package/src/cdp/FrameManager.ts +9 -4
  520. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +13 -0
  521. package/front_end/third_party/puppeteer/package/src/cdp/WebWorker.ts +8 -3
  522. package/front_end/third_party/puppeteer/package/src/cdp/cdp.ts +1 -0
  523. package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +45 -1
  524. package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +20 -0
  525. package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +5 -17
  526. package/front_end/third_party/puppeteer/package/src/node/LaunchOptions.ts +23 -7
  527. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  528. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  529. package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +4 -0
  530. package/front_end/ui/components/adorners/Adorner.ts +20 -0
  531. package/front_end/ui/components/annotations/AnnotationRepository.ts +154 -14
  532. package/front_end/ui/components/buttons/Button.ts +1 -1
  533. package/front_end/ui/components/buttons/FloatingButton.ts +1 -1
  534. package/front_end/ui/components/highlighting/HighlightElement.ts +15 -2
  535. package/front_end/ui/components/icon_button/FileSourceIcon.ts +1 -1
  536. package/front_end/ui/components/icon_button/IconButton.ts +1 -1
  537. package/front_end/ui/components/icon_button/icon_button.ts +0 -2
  538. package/front_end/ui/components/issue_counter/IssueCounter.ts +1 -1
  539. package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +1 -1
  540. package/front_end/ui/components/markdown_view/MarkdownImage.ts +3 -3
  541. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +1 -1
  542. package/front_end/ui/components/settings/SettingDeprecationWarning.ts +1 -1
  543. package/front_end/ui/components/snackbars/Snackbars.docs.ts +0 -1
  544. package/front_end/ui/components/survey_link/SurveyLink.ts +1 -1
  545. package/front_end/ui/components/text_editor/AiCodeCompletionTeaserPlaceholder.ts +12 -3
  546. package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +182 -0
  547. package/front_end/ui/components/text_editor/config.ts +2 -2
  548. package/front_end/ui/components/text_editor/text_editor.ts +1 -0
  549. package/front_end/ui/helpers/OpenInNewTab.ts +5 -1
  550. package/front_end/ui/i18n/i18n.ts +9 -9
  551. package/front_end/ui/kit/cards/Card.docs.ts +43 -0
  552. package/front_end/ui/kit/icons/Icon.docs.ts +34 -0
  553. package/front_end/ui/{components/icon_button → kit/icons}/Icon.ts +4 -4
  554. package/front_end/ui/kit/kit.ts +2 -0
  555. package/front_end/ui/kit/link/Link.docs.ts +15 -0
  556. package/front_end/ui/kit/link/Link.ts +151 -0
  557. package/front_end/ui/kit/link/link.css +27 -0
  558. package/front_end/ui/legacy/EmptyWidget.ts +6 -0
  559. package/front_end/ui/legacy/Floaty.ts +442 -0
  560. package/front_end/ui/legacy/Infobar.ts +3 -3
  561. package/front_end/ui/legacy/InspectorView.ts +15 -3
  562. package/front_end/ui/legacy/ReportView.ts +1 -1
  563. package/front_end/ui/legacy/SearchableView.ts +2 -2
  564. package/front_end/ui/legacy/SelectMenu.docs.ts +0 -1
  565. package/front_end/ui/legacy/SoftContextMenu.ts +5 -5
  566. package/front_end/ui/legacy/SoftDropDown.ts +2 -2
  567. package/front_end/ui/legacy/TabbedPane.ts +139 -61
  568. package/front_end/ui/legacy/Toolbar.ts +3 -3
  569. package/front_end/ui/legacy/Treeoutline.ts +2 -2
  570. package/front_end/ui/legacy/UIUtils.ts +4 -4
  571. package/front_end/ui/legacy/ViewManager.ts +4 -4
  572. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +8 -8
  573. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +4 -4
  574. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +5 -5
  575. package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +36 -36
  576. package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +2 -2
  577. package/front_end/ui/legacy/components/inline_editor/Swatches.ts +5 -5
  578. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +3 -3
  579. package/front_end/ui/legacy/components/object_ui/JavaScriptREPL.ts +22 -37
  580. package/front_end/ui/legacy/components/object_ui/RemoteObjectPreviewFormatter.ts +31 -1
  581. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +2 -2
  582. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +3 -3
  583. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +22 -29
  584. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +8 -15
  585. package/front_end/ui/legacy/components/quick_open/HelpQuickOpen.ts +11 -14
  586. package/front_end/ui/legacy/components/utils/Linkifier.ts +7 -11
  587. package/front_end/ui/legacy/floaty.css +77 -0
  588. package/front_end/ui/legacy/legacy.ts +2 -0
  589. package/front_end/ui/visual_logging/KnownContextValues.ts +6 -0
  590. package/inspector_overlay/loadCSS.rollup.js +5 -4
  591. package/mcp/mcp.ts +1 -0
  592. package/package.json +2 -2
  593. package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.ts +0 -99
  594. package/front_end/panels/recorder/components/SelectButton.ts +0 -304
  595. package/front_end/panels/recorder/controllers/controllers.ts +0 -7
  596. package/front_end/ui/components/chrome_link/ChromeLink.ts +0 -76
  597. package/front_end/ui/components/chrome_link/chromeLink.css +0 -12
  598. package/front_end/ui/components/chrome_link/chrome_link.ts +0 -9
  599. package/front_end/ui/components/icon_button/Icon.docs.ts +0 -78
  600. /package/front_end/panels/recorder/components/{selectButton.css → replaySection.css} +0 -0
  601. /package/front_end/ui/{components/icon_button → kit/icons}/icon.css +0 -0
@@ -2,6 +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
  /* eslint-disable @devtools/no-imperative-dom-api */
5
+ /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
6
 
6
7
  /*
7
8
  * Copyright (C) 2008 Apple Inc. All Rights Reserved.
@@ -38,8 +39,9 @@ import * as Bindings from '../../models/bindings/bindings.js';
38
39
  import * as Persistence from '../../models/persistence/persistence.js';
39
40
  import * as SourceMapScopes from '../../models/source_map_scopes/source_map_scopes.js';
40
41
  import * as Workspace from '../../models/workspace/workspace.js';
41
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
42
+ import {Icon} from '../../ui/kit/kit.js';
42
43
  import * as UI from '../../ui/legacy/legacy.js';
44
+ import {Directives, html, render} from '../../ui/lit/lit.js';
43
45
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
44
46
 
45
47
  import callStackSidebarPaneStyles from './callStackSidebarPane.css.js';
@@ -88,6 +90,8 @@ const UIStrings = {
88
90
  const str_ = i18n.i18n.registerUIStrings('panels/sources/CallStackSidebarPane.ts', UIStrings);
89
91
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
90
92
 
93
+ const {createRef, ref} = Directives;
94
+
91
95
  let callstackSidebarPaneInstance: CallStackSidebarPane;
92
96
 
93
97
  export class CallStackSidebarPane extends UI.View.SimpleView implements UI.ContextFlavorListener.ContextFlavorListener,
@@ -99,12 +103,11 @@ export class CallStackSidebarPane extends UI.View.SimpleView implements UI.Conte
99
103
  private readonly items: UI.ListModel.ListModel<Item>;
100
104
  private list: UI.ListControl.ListControl<Item>;
101
105
  private readonly showMoreMessageElement: Element;
102
- private showIgnoreListed: boolean;
103
- private readonly locationPool: Bindings.LiveLocation.LiveLocationPool;
104
- private readonly updateThrottler: Common.Throttler.Throttler;
105
- private maxAsyncStackChainDepth: number;
106
- private readonly updateItemThrottler: Common.Throttler.Throttler;
107
- private readonly scheduledForUpdateItems: Set<Item>;
106
+ private showIgnoreListed = false;
107
+ private readonly locationPool = new Bindings.LiveLocation.LiveLocationPool();
108
+ private maxAsyncStackChainDepth = defaultMaxAsyncStackChainDepth;
109
+ private readonly updateItemThrottler = new Common.Throttler.Throttler(100);
110
+ private readonly scheduledForUpdateItems = new Set<Item>();
108
111
  private muteActivateItem?: boolean;
109
112
  private lastDebuggerModel: SDK.DebuggerModel.DebuggerModel|null = null;
110
113
 
@@ -115,27 +118,23 @@ export class CallStackSidebarPane extends UI.View.SimpleView implements UI.Conte
115
118
  viewId: 'sources.callstack',
116
119
  useShadowDom: true,
117
120
  });
118
- this.registerRequiredCSS(callStackSidebarPaneStyles);
119
-
120
- ({element: this.ignoreListMessageElement, checkbox: this.ignoreListCheckboxElement} =
121
- this.createIgnoreListMessageElementAndCheckbox());
122
- this.contentElement.appendChild(this.ignoreListMessageElement);
123
121
 
124
- this.notPausedMessageElement = this.contentElement.createChild('div', 'gray-info-message');
125
- this.notPausedMessageElement.textContent = i18nString(UIStrings.notPaused);
126
- this.notPausedMessageElement.tabIndex = -1;
127
-
128
- this.callFrameWarningsElement = this.contentElement.createChild('div', 'call-frame-warnings-message');
129
- const icon = new IconButton.Icon.Icon();
130
- icon.name = 'warning-filled';
131
- icon.classList.add('call-frame-warning-icon', 'small');
132
- this.callFrameWarningsElement.appendChild(icon);
133
- this.callFrameWarningsElement.appendChild(document.createTextNode(i18nString(UIStrings.callFrameWarnings)));
134
- this.callFrameWarningsElement.tabIndex = -1;
122
+ const [ignoreListMessageRef, ignoreListCheckboxRef, notPausedRef, warningRef, showMoreRef] = [
123
+ createRef<HTMLElement>(),
124
+ createRef<HTMLInputElement>(),
125
+ createRef<HTMLElement>(),
126
+ createRef<HTMLElement>(),
127
+ createRef<HTMLElement>(),
128
+ ];
129
+ const ignoreListCheckboxChanged = (): void => {
130
+ this.showIgnoreListed = Boolean(ignoreListCheckboxRef.value?.checked);
131
+ for (const item of this.items) {
132
+ this.refreshItem(item);
133
+ }
134
+ };
135
135
 
136
136
  this.items = new UI.ListModel.ListModel();
137
137
  this.list = new UI.ListControl.ListControl(this.items, this, UI.ListControl.ListMode.NonViewport);
138
- this.contentElement.appendChild(this.list.element);
139
138
  this.list.element.addEventListener('contextmenu', this.onContextMenu.bind(this), false);
140
139
  self.onInvokeElement(this.list.element, event => {
141
140
  const item = this.list.itemForNode((event.target as Node | null));
@@ -145,19 +144,42 @@ export class CallStackSidebarPane extends UI.View.SimpleView implements UI.Conte
145
144
  }
146
145
  });
147
146
 
148
- this.showMoreMessageElement = this.createShowMoreMessageElement();
149
- this.showMoreMessageElement.classList.add('hidden');
150
- this.contentElement.appendChild(this.showMoreMessageElement);
151
-
152
- this.showIgnoreListed = false;
153
- this.locationPool = new Bindings.LiveLocation.LiveLocationPool();
154
-
155
- this.updateThrottler = new Common.Throttler.Throttler(100);
156
- this.maxAsyncStackChainDepth = defaultMaxAsyncStackChainDepth;
157
- this.update();
147
+ const onShowMoreClicked = (): void => {
148
+ this.maxAsyncStackChainDepth += defaultMaxAsyncStackChainDepth;
149
+ this.requestUpdate();
150
+ };
158
151
 
159
- this.updateItemThrottler = new Common.Throttler.Throttler(100);
160
- this.scheduledForUpdateItems = new Set();
152
+ // clang-format off
153
+ render(html`
154
+ <style>${callStackSidebarPaneStyles}</style>
155
+ <div class='ignore-listed-message' ${ref(ignoreListMessageRef)}>
156
+ <label class='ignore-listed-message-label'>
157
+ <input type='checkbox' tabindex=0 class='ignore-listed-checkbox'
158
+ @change=${ignoreListCheckboxChanged} ${ref(ignoreListCheckboxRef)}></input>
159
+ ${i18nString(UIStrings.showIgnorelistedFrames)}
160
+ </label>
161
+ </div>
162
+ <div class='gray-info-message' tabindex=-1 ${ref(notPausedRef)}>
163
+ ${i18nString(UIStrings.notPaused)}
164
+ </div>
165
+ <div class='call-frame-warnings-message' tabindex=-1 ${ref(warningRef)}>
166
+ <devtools-icon .name=${'warning-filled'} class='call-frame-warning-icon small'></devtools-icon>
167
+ ${i18nString(UIStrings.callFrameWarnings)}
168
+ </div>
169
+ ${this.list.element}
170
+ <div class='show-more-message hidden' ${ref(showMoreRef)}>
171
+ <span class='link' @click=${onShowMoreClicked}>${i18nString(UIStrings.showMore)}</span>
172
+ </div>
173
+ `, this.contentElement);
174
+ // clang-format on
175
+
176
+ this.ignoreListMessageElement = ignoreListMessageRef.value as HTMLElement;
177
+ this.ignoreListCheckboxElement = ignoreListCheckboxRef.value as HTMLInputElement;
178
+ this.notPausedMessageElement = notPausedRef.value as HTMLElement;
179
+ this.callFrameWarningsElement = warningRef.value as HTMLElement;
180
+ this.showMoreMessageElement = showMoreRef.value as HTMLElement;
181
+
182
+ this.requestUpdate();
161
183
 
162
184
  SDK.TargetManager.TargetManager.instance().addModelListener(
163
185
  SDK.DebuggerModel.DebuggerModel, SDK.DebuggerModel.Events.DebugInfoAttached, this.debugInfoAttached, this);
@@ -178,11 +200,11 @@ export class CallStackSidebarPane extends UI.View.SimpleView implements UI.Conte
178
200
  this.showIgnoreListed = false;
179
201
  this.ignoreListCheckboxElement.checked = false;
180
202
  this.maxAsyncStackChainDepth = defaultMaxAsyncStackChainDepth;
181
- this.update();
203
+ this.requestUpdate();
182
204
  }
183
205
 
184
206
  private debugInfoAttached(): void {
185
- this.update();
207
+ this.requestUpdate();
186
208
  }
187
209
 
188
210
  private setSourceMapSubscription(debuggerModel: SDK.DebuggerModel.DebuggerModel|null): void {
@@ -203,11 +225,7 @@ export class CallStackSidebarPane extends UI.View.SimpleView implements UI.Conte
203
225
  }
204
226
  }
205
227
 
206
- update(): void {
207
- void this.updateThrottler.schedule(() => this.doUpdate());
208
- }
209
-
210
- async doUpdate(): Promise<void> {
228
+ override async performUpdate(): Promise<void> {
211
229
  this.locationPool.disposeAll();
212
230
 
213
231
  this.callFrameWarningsElement.classList.add('hidden');
@@ -330,14 +348,14 @@ export class CallStackSidebarPane extends UI.View.SimpleView implements UI.Conte
330
348
  element.classList.toggle('selected', isSelected);
331
349
  UI.ARIAUtils.setSelected(element, isSelected);
332
350
  element.classList.toggle('hidden', !this.showIgnoreListed && item.isIgnoreListed);
333
- const icon = new IconButton.Icon.Icon();
351
+ const icon = new Icon();
334
352
  icon.name = 'large-arrow-right-filled';
335
353
  icon.classList.add('selected-call-frame-icon', 'small');
336
354
  element.appendChild(icon);
337
355
  element.tabIndex = item === this.list.selectedItem() ? 0 : -1;
338
356
 
339
357
  if (callframe?.missingDebugInfoDetails) {
340
- const icon = new IconButton.Icon.Icon();
358
+ const icon = new Icon();
341
359
  icon.name = 'warning-filled';
342
360
  icon.classList.add('call-frame-warning-icon', 'small');
343
361
  const messages = callframe.missingDebugInfoDetails.resources.map(
@@ -375,39 +393,6 @@ export class CallStackSidebarPane extends UI.View.SimpleView implements UI.Conte
375
393
  return true;
376
394
  }
377
395
 
378
- private createIgnoreListMessageElementAndCheckbox(): {element: Element, checkbox: HTMLInputElement} {
379
- const element = document.createElement('div');
380
- element.classList.add('ignore-listed-message');
381
- const label = element.createChild('label');
382
- label.classList.add('ignore-listed-message-label');
383
- const checkbox = label.createChild('input');
384
- checkbox.tabIndex = 0;
385
- checkbox.type = 'checkbox';
386
- checkbox.classList.add('ignore-listed-checkbox');
387
- label.append(i18nString(UIStrings.showIgnorelistedFrames));
388
- const showAll = (): void => {
389
- this.showIgnoreListed = checkbox.checked;
390
- for (const item of this.items) {
391
- this.refreshItem(item);
392
- }
393
- };
394
- checkbox.addEventListener('click', showAll);
395
- return {element, checkbox};
396
- }
397
-
398
- private createShowMoreMessageElement(): Element {
399
- const element = document.createElement('div');
400
- element.classList.add('show-more-message');
401
- element.createChild('span');
402
- const showAllLink = element.createChild('span', 'link');
403
- showAllLink.textContent = i18nString(UIStrings.showMore);
404
- showAllLink.addEventListener('click', () => {
405
- this.maxAsyncStackChainDepth += defaultMaxAsyncStackChainDepth;
406
- this.update();
407
- }, false);
408
- return element;
409
- }
410
-
411
396
  private onContextMenu(event: Event): void {
412
397
  const item = this.list.itemForNode((event.target as Node | null));
413
398
  if (!item) {
@@ -9,8 +9,8 @@ import * as SDK from '../../core/sdk/sdk.js';
9
9
  import * as Protocol from '../../generated/protocol.js';
10
10
  import type * as Bindings from '../../models/bindings/bindings.js';
11
11
  import type * as BreakpointManager from '../../models/breakpoints/breakpoints.js';
12
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
13
12
  import * as uiI18n from '../../ui/i18n/i18n.js';
13
+ import {Icon} from '../../ui/kit/kit.js';
14
14
  import * as UI from '../../ui/legacy/legacy.js';
15
15
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
16
16
  import * as PanelsCommon from '../common/common.js';
@@ -158,7 +158,7 @@ export class DebuggerPausedMessage {
158
158
  }
159
159
 
160
160
  const mainElement = messageWrapper.createChild('div', 'status-main');
161
- const mainIcon = new IconButton.Icon.Icon();
161
+ const mainIcon = new Icon();
162
162
  mainIcon.name = 'info';
163
163
  mainIcon.style.color = 'var(--sys-color-on-yellow-container)';
164
164
  mainIcon.classList.add('medium');
@@ -290,7 +290,7 @@ export class DebuggerPausedMessage {
290
290
  function buildWrapper(mainText: string, subText?: string, title?: string): Element {
291
291
  const messageWrapper = document.createElement('span');
292
292
  const mainElement = messageWrapper.createChild('div', 'status-main');
293
- const mainIcon = new IconButton.Icon.Icon();
293
+ const mainIcon = new Icon();
294
294
  mainIcon.name = errorLike ? 'cross-circle-filled' : 'info';
295
295
  mainIcon.style.color = errorLike ? 'var(--icon-error)' : 'var(--sys-color-on-yellow-container)';
296
296
  mainIcon.classList.add('medium');
@@ -2,14 +2,15 @@
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/highlighting/highlighting.js';
6
+
5
7
  import type * as Common from '../../core/common/common.js';
6
8
  import * as i18n from '../../core/i18n/i18n.js';
7
9
  import * as Root from '../../core/root/root.js';
8
10
  import * as Persistence from '../../models/persistence/persistence.js';
9
11
  import * as Workspace from '../../models/workspace/workspace.js';
10
- import * as Highlighting from '../../ui/components/highlighting/highlighting.js';
11
12
  import * as QuickOpen from '../../ui/legacy/components/quick_open/quick_open.js';
12
- import * as UI from '../../ui/legacy/legacy.js';
13
+ import {Directives, html, type TemplateResult} from '../../ui/lit/lit.js';
13
14
 
14
15
  import {FilePathScoreFunction} from './FilePathScoreFunction.js';
15
16
  import filteredUISourceCodeListProviderStyles from './filteredUISourceCodeListProvider.css.js';
@@ -25,8 +26,11 @@ const UIStrings = {
25
26
  */
26
27
  sIgnoreListed: '{PH1} (ignore listed)',
27
28
  } as const;
29
+
28
30
  const str_ = i18n.i18n.registerUIStrings('panels/sources/FilteredUISourceCodeListProvider.ts', UIStrings);
29
31
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
32
+ const {classMap} = Directives;
33
+
30
34
  export class FilteredUISourceCodeListProvider extends QuickOpen.FilteredListWidget.Provider {
31
35
  private queryLineNumberAndColumnNumber: string;
32
36
  private defaultScores: Map<Workspace.UISourceCode.UISourceCode, number>|null;
@@ -145,13 +149,7 @@ export class FilteredUISourceCodeListProvider extends QuickOpen.FilteredListWidg
145
149
  return score + multiplier * (contentTypeBonus + this.scorer.calculateScore(fullDisplayName, null));
146
150
  }
147
151
 
148
- override renderItem(itemIndex: number, query: string, wrapperElement: Element): void {
149
- wrapperElement.createChild('style').textContent = filteredUISourceCodeListProviderStyles;
150
- const itemElement = wrapperElement.createChild('div', 'filtered-ui-source-code-list-item');
151
-
152
- const titleElement = itemElement.createChild('div', 'filtered-ui-source-code-title');
153
-
154
- titleElement.classList.toggle('search-mode', Boolean(query));
152
+ override renderItem(itemIndex: number, query: string): TemplateResult {
155
153
  query = this.rewriteQuery(query);
156
154
  const uiSourceCode = this.uiSourceCodes[itemIndex];
157
155
  const fullDisplayName = uiSourceCode.fullDisplayName();
@@ -164,42 +162,53 @@ export class FilteredUISourceCodeListProvider extends QuickOpen.FilteredListWidg
164
162
  let tooltipText = fullDisplayName;
165
163
 
166
164
  if (isIgnoreListed) {
167
- itemElement.classList.add('is-ignore-listed');
168
165
  tooltipText = i18nString(UIStrings.sIgnoreListed, {PH1: tooltipText});
169
166
  }
170
167
 
171
- titleElement.textContent = uiSourceCode.displayName() + (this.queryLineNumberAndColumnNumber || '');
172
- const subtitleElement = itemElement.createChild('div', 'filtered-ui-source-code-subtitle');
173
- this.renderSubtitleElement(subtitleElement, fullDisplayName.substring(0, fileNameIndex + 1));
174
- UI.Tooltip.Tooltip.install((subtitleElement as HTMLElement), tooltipText);
175
-
176
- const ranges = [];
177
- for (let i = 0; i < indexes.length; ++i) {
178
- ranges.push({offset: indexes[i], length: 1});
179
- }
168
+ const titleRanges = [];
169
+ const subtitleRanges = [];
180
170
 
181
171
  if (indexes[0] > fileNameIndex) {
182
- for (let i = 0; i < ranges.length; ++i) {
183
- ranges[i].offset -= fileNameIndex + 1;
172
+ for (let i = 0; i < indexes.length; ++i) {
173
+ titleRanges.push({offset: indexes[i] - (fileNameIndex + 1), length: 1});
184
174
  }
185
- Highlighting.highlightRangesWithStyleClass(titleElement, ranges, 'highlight');
186
175
  } else {
187
- Highlighting.highlightRangesWithStyleClass(subtitleElement, ranges, 'highlight');
176
+ for (let i = 0; i < indexes.length; ++i) {
177
+ subtitleRanges.push({offset: indexes[i], length: 1});
178
+ }
188
179
  }
180
+ // clang-format off
181
+ return html`
182
+ <style>${filteredUISourceCodeListProviderStyles}</style>
183
+ <div class="filtered-ui-source-code-list-item
184
+ ${classMap({'is-ignore-listed': isIgnoreListed})}">
185
+ <devtools-highlight
186
+ type="markup"
187
+ ranges=${titleRanges.map(r => `${r.offset},${r.length}`).join(' ')}
188
+ class="filtered-ui-source-code-title ${classMap({'search-mode': Boolean(query)})}">
189
+ ${uiSourceCode.displayName() + (this.queryLineNumberAndColumnNumber || '')}
190
+ </devtools-highlight>
191
+ <devtools-highlight
192
+ type="markup"
193
+ ranges=${subtitleRanges.map(r => `${r.offset},${r.length}`).join(' ')}
194
+ class="filtered-ui-source-code-subtitle" title=${tooltipText}>
195
+ ${this.renderSubtitleElement(fullDisplayName.substring(0, fileNameIndex + 1))}
196
+ </devtools-highlight>
197
+ </div>`;
198
+ // clang-format on
189
199
  }
190
200
 
191
- private renderSubtitleElement(element: Element, text: string): void {
192
- element.removeChildren();
201
+ private renderSubtitleElement(text: string): TemplateResult {
193
202
  let splitPosition = text.lastIndexOf('/');
194
203
  const maxTextLength = 43;
195
204
  if (text.length > maxTextLength) {
196
205
  splitPosition = text.length - maxTextLength;
197
206
  }
198
- const first = element.createChild('div', 'first-part');
199
- first.textContent = text.substring(0, splitPosition);
200
- const second = element.createChild('div', 'second-part');
201
- second.textContent = text.substring(splitPosition);
202
- UI.Tooltip.Tooltip.install((element as HTMLElement), text);
207
+ // clang-format off
208
+ return html`
209
+ <div class="first-part">${text.substring(0, splitPosition)}</div>
210
+ <div class="second-part">${text.substring(splitPosition)}</div>`;
211
+ // clang-format on
203
212
  }
204
213
 
205
214
  override selectItem(itemIndex: number|null, promptValue: string): void {
@@ -2,10 +2,12 @@
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
+
5
7
  import * as i18n from '../../core/i18n/i18n.js';
6
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
7
8
  import * as QuickOpen from '../../ui/legacy/components/quick_open/quick_open.js';
8
9
  import * as UI from '../../ui/legacy/legacy.js';
10
+ import {html, type TemplateResult} from '../../ui/lit/lit.js';
9
11
 
10
12
  import {SourcesView} from './SourcesView.js';
11
13
  import type {UISourceCodeFrame} from './UISourceCodeFrame.js';
@@ -77,12 +79,14 @@ export class GoToLineQuickOpen extends QuickOpen.FilteredListWidget.Provider {
77
79
  return this.#goToLineStrings.length;
78
80
  }
79
81
 
80
- override renderItem(itemIndex: number, _query: string, wrapperElement: Element): void {
81
- const itemElement = wrapperElement.createChild('div');
82
- const titleElement = itemElement.createChild('div');
83
- const icon = IconButton.Icon.create('colon');
84
- wrapperElement.insertBefore(icon, itemElement);
85
- UI.UIUtils.createTextChild(titleElement, this.#goToLineStrings[itemIndex]);
82
+ override renderItem(itemIndex: number, _query: string): TemplateResult {
83
+ // clang-format off
84
+ return html`
85
+ <devtools-icon name="colon"></devtools-icon>
86
+ <div>
87
+ <div>${this.#goToLineStrings[itemIndex]}</div>
88
+ </div>`;
89
+ // clang-format on
86
90
  }
87
91
 
88
92
  override rewriteQuery(_query: string): string {
@@ -15,8 +15,8 @@ import * as Persistence from '../../models/persistence/persistence.js';
15
15
  import * as TextUtils from '../../models/text_utils/text_utils.js';
16
16
  import * as Workspace from '../../models/workspace/workspace.js';
17
17
  import * as Buttons from '../../ui/components/buttons/buttons.js';
18
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
19
18
  import * as Spinners from '../../ui/components/spinners/spinners.js';
19
+ import {createIcon} from '../../ui/kit/kit.js';
20
20
  import * as UI from '../../ui/legacy/legacy.js';
21
21
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
22
22
  import * as Snippets from '../snippets/snippets.js';
@@ -1287,7 +1287,7 @@ export class NavigatorFolderTreeElement extends UI.TreeOutline.TreeElement {
1287
1287
  iconType = 'folder-asterisk';
1288
1288
  }
1289
1289
 
1290
- const icon = IconButton.Icon.create(iconType);
1290
+ const icon = createIcon(iconType);
1291
1291
  this.setLeadingIcons([icon]);
1292
1292
  }
1293
1293
 
@@ -1,17 +1,20 @@
1
1
  // Copyright 2012 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
- /* eslint-disable @devtools/no-imperative-dom-api */
4
+
5
+ import '../../ui/kit/kit.js';
5
6
 
6
7
  import * as Common from '../../core/common/common.js';
7
8
  import * as Host from '../../core/host/host.js';
8
9
  import type * as Workspace from '../../models/workspace/workspace.js';
9
10
  import {PanelUtils} from '../../panels/utils/utils.js';
10
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
11
+ import {Directives, html, type TemplateResult} from '../../ui/lit/lit.js';
11
12
 
12
13
  import {FilteredUISourceCodeListProvider} from './FilteredUISourceCodeListProvider.js';
13
14
  import {SourcesView} from './SourcesView.js';
14
15
 
16
+ const {styleMap} = Directives;
17
+
15
18
  export class OpenFileQuickOpen extends FilteredUISourceCodeListProvider {
16
19
  constructor() {
17
20
  super('source-file');
@@ -40,19 +43,12 @@ export class OpenFileQuickOpen extends FilteredUISourceCodeListProvider {
40
43
  return !project.isServiceProject();
41
44
  }
42
45
 
43
- override renderItem(itemIndex: number, query: string, wrapperElement: Element): void {
44
- super.renderItem(itemIndex, query, wrapperElement);
45
- const itemElement = wrapperElement.firstChild;
46
- if (!itemElement) {
47
- return;
48
- }
49
- const iconElement = new IconButton.Icon.Icon();
46
+ override renderItem(itemIndex: number, query: string): TemplateResult {
50
47
  const {iconName, color} = PanelUtils.iconDataForResourceType(this.itemContentTypeAt(itemIndex));
51
- iconElement.name = iconName;
52
- if (color) {
53
- iconElement.style.color = color;
54
- }
55
- iconElement.classList.add('large');
56
- wrapperElement.insertBefore(iconElement, itemElement);
48
+ // clang-format off
49
+ return html`
50
+ <devtools-icon class="large" name=${iconName} style=${styleMap({color})}></devtools-icon>
51
+ ${super.renderItem(itemIndex, query)}`;
52
+ // clang-format on
57
53
  }
58
54
  }
@@ -2,11 +2,14 @@
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 * as CodeMirror from '../../third_party/codemirror.next/codemirror.next.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';
9
11
  import * as UI from '../../ui/legacy/legacy.js';
12
+ import {html, nothing, type TemplateResult} from '../../ui/lit/lit.js';
10
13
 
11
14
  import {SourcesView} from './SourcesView.js';
12
15
  import type {UISourceCodeFrame} from './UISourceCodeFrame.js';
@@ -317,34 +320,28 @@ export class OutlineQuickOpen extends QuickOpen.FilteredListWidget.Provider {
317
320
  return -item.lineNumber - 1;
318
321
  }
319
322
 
320
- override renderItem(itemIndex: number, query: string, wrapperElement: Element): void {
323
+ override renderItem(itemIndex: number, query: string): TemplateResult {
321
324
  const item = this.items[itemIndex];
322
- const itemElement = wrapperElement.createChild('div');
323
- const titleElement = itemElement.createChild('div');
324
-
325
- const icon = IconButton.Icon.create('deployed');
326
- wrapperElement.insertBefore(icon, itemElement);
327
- titleElement.textContent = item.title + (item.subtitle ? item.subtitle : '');
328
- QuickOpen.FilteredListWidget.FilteredListWidget.highlightRanges(titleElement, query);
329
-
325
+ let location: string|undefined;
330
326
  const sourceFrame = this.currentSourceFrame();
331
- if (!sourceFrame) {
332
- return;
333
- }
334
-
335
- const tagElement = wrapperElement.createChild('span', 'tag');
336
- if (!tagElement) {
337
- return;
338
- }
339
-
340
- const disassembly = sourceFrame.wasmDisassembly;
341
- if (disassembly) {
342
- const lastBytecodeOffset = disassembly.lineNumberToBytecodeOffset(disassembly.lineNumbers - 1);
343
- const bytecodeOffsetDigits = lastBytecodeOffset.toString(16).length;
344
- tagElement.textContent = `:0x${item.columnNumber.toString(16).padStart(bytecodeOffsetDigits, '0')}`;
345
- } else {
346
- tagElement.textContent = `:${item.lineNumber + 1}`;
327
+ if (sourceFrame) {
328
+ const disassembly = sourceFrame.wasmDisassembly;
329
+ if (disassembly) {
330
+ const lastBytecodeOffset = disassembly.lineNumberToBytecodeOffset(disassembly.lineNumbers - 1);
331
+ const bytecodeOffsetDigits = lastBytecodeOffset.toString(16).length;
332
+ location = `:0x${item.columnNumber.toString(16).padStart(bytecodeOffsetDigits, '0')}`;
333
+ } else {
334
+ location = `:${item.lineNumber + 1}`;
335
+ }
347
336
  }
337
+ const title = item.title + (item.subtitle ? item.subtitle : '');
338
+ const highlightRanges = QuickOpen.FilteredListWidget.FilteredListWidget.getHighlightRanges(title, query, true);
339
+ // clang-format off
340
+ return html`
341
+ <devtools-icon name="deployed"></devtools-icon>
342
+ <div><devtools-highlight type="markup" ranges=${highlightRanges}>${title}</devtools-highlight></div>
343
+ ${location ? html`<span class="tag">${location}</span>` : nothing}`;
344
+ // clang-format on
348
345
  }
349
346
 
350
347
  override selectItem(itemIndex: number|null, _promptValue: string): void {
@@ -977,11 +977,8 @@ export class SourcesPanel extends UI.Panel.Panel implements
977
977
  const editorElement = this.element.querySelector('devtools-text-editor');
978
978
  if (!eventTarget.isSelfOrDescendant(editorElement) && uiSourceCode.contentType().isTextType()) {
979
979
  UI.Context.Context.instance().setFlavor(Workspace.UISourceCode.UISourceCode, uiSourceCode);
980
- if (Root.Runtime.hostConfig.devToolsAiSubmenuPrompts?.enabled) {
981
980
  const action = UI.ActionRegistry.ActionRegistry.instance().getAction(openAiAssistanceId);
982
- const submenu = contextMenu.footerSection().appendSubMenuItem(
983
- action.title(), false, openAiAssistanceId,
984
- Root.Runtime.hostConfig.devToolsAiAssistanceFileAgent?.featureName);
981
+ const submenu = contextMenu.footerSection().appendSubMenuItem(action.title(), false, openAiAssistanceId);
985
982
  submenu.defaultSection().appendAction('drjones.sources-panel-context', i18nString(UIStrings.startAChat));
986
983
  appendSubmenuPromptAction(
987
984
  submenu, action, i18nString(UIStrings.assessPerformance), 'Is this script optimized for performance?',
@@ -992,13 +989,6 @@ export class SourcesPanel extends UI.Panel.Panel implements
992
989
  appendSubmenuPromptAction(
993
990
  submenu, action, i18nString(UIStrings.explainInputHandling), 'Does the script handle user input safely',
994
991
  openAiAssistanceId + '.input');
995
- } else if (Root.Runtime.hostConfig.devToolsAiDebugWithAi?.enabled) {
996
- contextMenu.footerSection().appendAction(
997
- openAiAssistanceId, undefined, false, undefined,
998
- Root.Runtime.hostConfig.devToolsAiAssistanceFileAgent?.featureName);
999
- } else {
1000
- contextMenu.footerSection().appendAction(openAiAssistanceId);
1001
- }
1002
992
  }
1003
993
  }
1004
994
 
@@ -13,7 +13,7 @@ import * as SDK from '../../core/sdk/sdk.js';
13
13
  import * as Bindings from '../../models/bindings/bindings.js';
14
14
  import * as Persistence from '../../models/persistence/persistence.js';
15
15
  import * as Workspace from '../../models/workspace/workspace.js';
16
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
16
+ import {createIcon} from '../../ui/kit/kit.js';
17
17
  import * as QuickOpen from '../../ui/legacy/components/quick_open/quick_open.js';
18
18
  import * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
19
19
  import * as UI from '../../ui/legacy/legacy.js';
@@ -149,7 +149,7 @@ export class SourcesView extends Common.ObjectWrapper.eventMixin<EventTypes, typ
149
149
  const workspaceElement = placeholder.createChild('div', 'tabbed-pane-placeholder-row');
150
150
  workspaceElement.classList.add('workspace');
151
151
 
152
- const icon = IconButton.Icon.create('sync', 'sync-icon');
152
+ const icon = createIcon('sync', 'sync-icon');
153
153
  workspaceElement.createChild('span', 'icon-container').appendChild(icon);
154
154
  const text = workspaceElement.createChild('span');
155
155
  text.textContent = UIStrings.workspaceDropInAFolderToSyncSources;