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
@@ -47,6 +47,7 @@ import * as UI from '../../ui/legacy/legacy.js';
47
47
  import {html, nothing, render} from '../../ui/lit/lit.js';
48
48
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
49
49
 
50
+ import {AdoptedStyleSheetTreeElement} from './AdoptedStyleSheetTreeElement.js';
50
51
  import {getElementIssueDetails} from './ElementIssueUtils.js';
51
52
  import {ElementsPanel} from './ElementsPanel.js';
52
53
  import {ElementsTreeElement, InitialChildrenLimit, isOpeningTag} from './ElementsTreeElement.js';
@@ -119,8 +120,8 @@ export const DEFAULT_VIEW = (input: ViewInput, output: ViewOutput, target: HTMLE
119
120
  ElementsTreeOutline.Events.SelectedNodeChanged, input.onSelectedNodeChanged, this);
120
121
  output.elementsTreeOutline.addEventListener(
121
122
  ElementsTreeOutline.Events.ElementsTreeUpdated, input.onElementsTreeUpdated, this);
122
- output.elementsTreeOutline.addEventListener(UI.TreeOutline.Events.ElementExpanded, input.onElementCollapsed, this);
123
- output.elementsTreeOutline.addEventListener(UI.TreeOutline.Events.ElementCollapsed, input.onElementExpanded, this);
123
+ output.elementsTreeOutline.addEventListener(UI.TreeOutline.Events.ElementExpanded, input.onElementExpanded, this);
124
+ output.elementsTreeOutline.addEventListener(UI.TreeOutline.Events.ElementCollapsed, input.onElementCollapsed, this);
124
125
  target.appendChild(output.elementsTreeOutline.element);
125
126
  }
126
127
  if (input.visibleWidth !== undefined) {
@@ -198,6 +199,8 @@ export class DOMTreeWidget extends UI.Widget.Widget {
198
199
  Common.EventTarget.EventTargetEvent<{node: SDK.DOMModel.DOMNode | null, focus: boolean}>) => void = () => {};
199
200
  onElementsTreeUpdated: (event: Common.EventTarget.EventTargetEvent<SDK.DOMModel.DOMNode[]>) => void = () => {};
200
201
  onDocumentUpdated: (domModel: SDK.DOMModel.DOMModel) => void = () => {};
202
+ onElementExpanded: () => void = () => {};
203
+ onElementCollapsed: () => void = () => {};
201
204
 
202
205
  #visible = false;
203
206
  #visibleWidth?: number;
@@ -263,7 +266,7 @@ export class DOMTreeWidget extends UI.Widget.Widget {
263
266
  return;
264
267
  }
265
268
  this.#currentHighlightedNode = null;
266
- this.requestUpdate();
269
+ this.performUpdate();
267
270
  }
268
271
 
269
272
  selectDOMNode(node: SDK.DOMModel.DOMNode|null, focus?: boolean): void {
@@ -299,6 +302,10 @@ export class DOMTreeWidget extends UI.Widget.Widget {
299
302
  return this.#viewOutput.elementsTreeOutline;
300
303
  }
301
304
 
305
+ treeElementForNode(node: SDK.DOMModel.DOMNode): ElementsTreeElement|null {
306
+ return this.#viewOutput.elementsTreeOutline?.findTreeElement(node) || null;
307
+ }
308
+
302
309
  override performUpdate(): void {
303
310
  this.#view(
304
311
  {
@@ -318,8 +325,14 @@ export class DOMTreeWidget extends UI.Widget.Widget {
318
325
  this.#clearHighlightedNode();
319
326
  this.onSelectedNodeChanged(event);
320
327
  },
321
- onElementCollapsed: this.#clearHighlightedNode.bind(this),
322
- onElementExpanded: this.#clearHighlightedNode.bind(this),
328
+ onElementCollapsed: () => {
329
+ this.#clearHighlightedNode();
330
+ this.onElementCollapsed();
331
+ },
332
+ onElementExpanded: () => {
333
+ this.#clearHighlightedNode();
334
+ this.onElementExpanded();
335
+ },
323
336
  },
324
337
  this.#viewOutput, this.contentElement);
325
338
  }
@@ -358,7 +371,9 @@ export class DOMTreeWidget extends UI.Widget.Widget {
358
371
  * FIXME: adorners should be part of the view input.
359
372
  */
360
373
  updateNodeAdorners(node: SDK.DOMModel.DOMNode): void {
361
- void this.#viewOutput.elementsTreeOutline?.findTreeElement(node)?.updateStyleAdorners();
374
+ const element = this.#viewOutput.elementsTreeOutline?.findTreeElement(node);
375
+ void element?.updateStyleAdorners();
376
+ void element?.updateAdorners();
362
377
  }
363
378
 
364
379
  highlightMatch(node: SDK.DOMModel.DOMNode, query?: string): void {
@@ -939,7 +954,10 @@ export class ElementsTreeOutline extends
939
954
  this.dispatchEventToListeners(ElementsTreeOutline.Events.ElementsTreeUpdated, nodes);
940
955
  }
941
956
 
942
- findTreeElement(node: SDK.DOMModel.DOMNode): ElementsTreeElement|null {
957
+ findTreeElement(node: SDK.DOMModel.DOMNode|SDK.DOMModel.AdoptedStyleSheet): ElementsTreeElement|null {
958
+ if (node instanceof SDK.DOMModel.AdoptedStyleSheet) {
959
+ return null;
960
+ }
943
961
  let treeElement = this.lookUpTreeElement(node);
944
962
  if (!treeElement && node.nodeType() === Node.TEXT_NODE) {
945
963
  // The text node might have been inlined if it was short, so try to find the parent element.
@@ -1512,6 +1530,7 @@ export class ElementsTreeOutline extends
1512
1530
  domModel.addEventListener(SDK.DOMModel.Events.ScrollableFlagUpdated, this.scrollableFlagUpdated, this);
1513
1531
  domModel.addEventListener(
1514
1532
  SDK.DOMModel.Events.AffectedByStartingStylesFlagUpdated, this.affectedByStartingStylesFlagUpdated, this);
1533
+ domModel.addEventListener(SDK.DOMModel.Events.AdoptedStyleSheetsModified, this.adoptedStyleSheetsModified, this);
1515
1534
  }
1516
1535
 
1517
1536
  unwireFromDOMModel(domModel: SDK.DOMModel.DOMModel): void {
@@ -1528,6 +1547,7 @@ export class ElementsTreeOutline extends
1528
1547
  domModel.removeEventListener(SDK.DOMModel.Events.ScrollableFlagUpdated, this.scrollableFlagUpdated, this);
1529
1548
  domModel.removeEventListener(
1530
1549
  SDK.DOMModel.Events.AffectedByStartingStylesFlagUpdated, this.affectedByStartingStylesFlagUpdated, this);
1550
+ domModel.removeEventListener(SDK.DOMModel.Events.AdoptedStyleSheetsModified, this.adoptedStyleSheetsModified, this);
1531
1551
  elementsTreeOutlineByDOMModel.delete(domModel);
1532
1552
  }
1533
1553
 
@@ -1606,6 +1626,12 @@ export class ElementsTreeOutline extends
1606
1626
  this.updateModifiedNodesSoon();
1607
1627
  }
1608
1628
 
1629
+ private adoptedStyleSheetsModified(event: Common.EventTarget.EventTargetEvent<SDK.DOMModel.DOMNode>): void {
1630
+ const node = event.data;
1631
+ this.addUpdateRecord(node).childrenModified();
1632
+ this.updateModifiedNodesSoon();
1633
+ }
1634
+
1609
1635
  private updateModifiedNodesSoon(): void {
1610
1636
  if (!this.updateRecords.size) {
1611
1637
  return;
@@ -1705,7 +1731,11 @@ export class ElementsTreeOutline extends
1705
1731
  this.#topLayerContainerByParent.set(parent, container);
1706
1732
  }
1707
1733
 
1708
- private createElementTreeElement(node: SDK.DOMModel.DOMNode, isClosingTag?: boolean): ElementsTreeElement {
1734
+ private createElementTreeElement(node: SDK.DOMModel.DOMNode|SDK.DOMModel.AdoptedStyleSheet, isClosingTag?: boolean):
1735
+ UI.TreeOutline.TreeElement {
1736
+ if (node instanceof SDK.DOMModel.AdoptedStyleSheet) {
1737
+ return new AdoptedStyleSheetTreeElement(node);
1738
+ }
1709
1739
  const treeElement = new ElementsTreeElement(node, isClosingTag);
1710
1740
  treeElement.setExpandable(!isClosingTag && this.hasVisibleChildren(node));
1711
1741
  if (node.nodeType() === Node.ELEMENT_NODE && node.parentNode && node.parentNode.nodeType() === Node.DOCUMENT_NODE &&
@@ -1737,8 +1767,8 @@ export class ElementsTreeOutline extends
1737
1767
  return treeElement.childAt(index) as ElementsTreeElement;
1738
1768
  }
1739
1769
 
1740
- private visibleChildren(node: SDK.DOMModel.DOMNode): SDK.DOMModel.DOMNode[] {
1741
- let visibleChildren = ElementsTreeElement.visibleShadowRoots(node);
1770
+ private visibleChildren(node: SDK.DOMModel.DOMNode): Array<SDK.DOMModel.DOMNode|SDK.DOMModel.AdoptedStyleSheet> {
1771
+ let visibleChildren = [...node.adoptedStyleSheetsForNode, ...ElementsTreeElement.visibleShadowRoots(node)];
1742
1772
 
1743
1773
  const contentDocument = node.contentDocument();
1744
1774
  if (contentDocument) {
@@ -1864,8 +1894,8 @@ export class ElementsTreeOutline extends
1864
1894
  }
1865
1895
 
1866
1896
  insertChildElement(
1867
- treeElement: ElementsTreeElement|TopLayerContainer, child: SDK.DOMModel.DOMNode, index: number,
1868
- isClosingTag?: boolean): ElementsTreeElement {
1897
+ treeElement: ElementsTreeElement|TopLayerContainer, child: SDK.DOMModel.DOMNode|SDK.DOMModel.AdoptedStyleSheet,
1898
+ index: number, isClosingTag?: boolean): UI.TreeOutline.TreeElement {
1869
1899
  const newElement = this.createElementTreeElement(child, isClosingTag);
1870
1900
  treeElement.insertChild(newElement, index);
1871
1901
  if (child instanceof SDK.DOMModel.DOMDocument) {
@@ -1897,11 +1927,12 @@ export class ElementsTreeOutline extends
1897
1927
 
1898
1928
  const node = treeElement.node();
1899
1929
  const visibleChildren = this.visibleChildren(node);
1900
- const visibleChildrenSet = new Set<SDK.DOMModel.DOMNode>(visibleChildren);
1930
+ const visibleChildrenSet = new Set<SDK.DOMModel.DOMNode|SDK.DOMModel.AdoptedStyleSheet>(visibleChildren);
1901
1931
 
1902
1932
  // Remove any tree elements that no longer have this node as their parent and save
1903
1933
  // all existing elements that could be reused. This also removes closing tag element.
1904
- const existingTreeElements = new Map<SDK.DOMModel.DOMNode, UI.TreeOutline.TreeElement&ElementsTreeElement>();
1934
+ const existingTreeElements =
1935
+ new Map<SDK.DOMModel.DOMNode|SDK.DOMModel.AdoptedStyleSheet, UI.TreeOutline.TreeElement&ElementsTreeElement>();
1905
1936
  for (let i = treeElement.childCount() - 1; i >= 0; --i) {
1906
1937
  const existingTreeElement = treeElement.childAt(i);
1907
1938
  if (!(existingTreeElement instanceof ElementsTreeElement)) {
@@ -1920,6 +1951,7 @@ export class ElementsTreeOutline extends
1920
1951
  treeElement.removeChildAtIndex(i);
1921
1952
  }
1922
1953
 
1954
+ // Insert child nodes.
1923
1955
  for (let i = 0; i < visibleChildren.length && i < treeElement.expandedChildrenLimit(); ++i) {
1924
1956
  const child = visibleChildren[i];
1925
1957
  const existingTreeElement = existingTreeElements.get(child) || this.findTreeElement(child);
@@ -1929,7 +1961,7 @@ export class ElementsTreeOutline extends
1929
1961
  } else {
1930
1962
  // No existing element found, insert a new element.
1931
1963
  const newElement = this.insertChildElement(treeElement, child, i);
1932
- if (this.updateRecordForHighlight(node) && treeElement.expanded) {
1964
+ if (this.updateRecordForHighlight(node) && treeElement.expanded && newElement instanceof ElementsTreeElement) {
1933
1965
  ElementsTreeElement.animateOnDOMUpdate(newElement);
1934
1966
  }
1935
1967
  // If a node was inserted in the middle of existing list dynamically we might need to increase the limit.
@@ -2007,6 +2039,7 @@ export class ElementsTreeOutline extends
2007
2039
  const treeElement = this.treeElementByNode.get(node);
2008
2040
  if (treeElement && isOpeningTag(treeElement.tagTypeContext)) {
2009
2041
  void treeElement.updateStyleAdorners();
2042
+ void treeElement.updateAdorners();
2010
2043
  }
2011
2044
  }
2012
2045
  }
@@ -37,7 +37,7 @@ import * as Common from '../../core/common/common.js';
37
37
  import * as i18n from '../../core/i18n/i18n.js';
38
38
  import type * as SDK from '../../core/sdk/sdk.js';
39
39
  import * as Adorners from '../../ui/components/adorners/adorners.js';
40
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
40
+ import {createIcon} from '../../ui/kit/kit.js';
41
41
  import * as UI from '../../ui/legacy/legacy.js';
42
42
 
43
43
  import * as ElementsComponents from './components/components.js';
@@ -77,7 +77,7 @@ export class ShortcutTreeElement extends UI.TreeOutline.TreeElement {
77
77
  ElementsComponents.AdornerManager.RegisteredAdorners.REVEAL);
78
78
  const name = config.name;
79
79
  const adornerContent = document.createElement('span');
80
- const linkIcon = IconButton.Icon.create('select-element');
80
+ const linkIcon = createIcon('select-element');
81
81
  const slotText = document.createElement('span');
82
82
  slotText.textContent = name;
83
83
  adornerContent.append(linkIcon);
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-imperative-dom-api */
5
5
 
6
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
6
+ import {createIcon} from '../../ui/kit/kit.js';
7
7
  import * as UI from '../../ui/legacy/legacy.js';
8
8
 
9
9
  import type * as ElementsComponents from './components/components.js';
@@ -120,7 +120,7 @@ export class StyleEditorWidget extends UI.Widget.VBox {
120
120
  static createTriggerButton(
121
121
  pane: StylesSidebarPane, section: StylePropertiesSection, editorClass: {new(): Editor}, buttonTitle: string,
122
122
  triggerKey: string): HTMLElement {
123
- const triggerButton = IconButton.Icon.create('flex-wrap', 'styles-pane-button');
123
+ const triggerButton = createIcon('flex-wrap', 'styles-pane-button');
124
124
  triggerButton.title = buttonTitle;
125
125
  triggerButton.role = 'button';
126
126
 
@@ -14,8 +14,8 @@ import * as Badges from '../../models/badges/badges.js';
14
14
  import * as Bindings from '../../models/bindings/bindings.js';
15
15
  import * as TextUtils from '../../models/text_utils/text_utils.js';
16
16
  import type * as CodeMirror from '../../third_party/codemirror.next/codemirror.next.js';
17
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
18
17
  import * as Tooltips from '../../ui/components/tooltips/tooltips.js';
18
+ import {createIcon, Icon} from '../../ui/kit/kit.js';
19
19
  import * as ColorPicker from '../../ui/legacy/components/color_picker/color_picker.js';
20
20
  import * as InlineEditor from '../../ui/legacy/components/inline_editor/inline_editor.js';
21
21
  import * as UI from '../../ui/legacy/legacy.js';
@@ -398,7 +398,7 @@ export class VariableRenderer extends rendererBase(SDK.CSSPropertyParserMatchers
398
398
  if (fromFallback) {
399
399
  renderedFallback?.cssControls.get('color')?.forEach(
400
400
  innerSwatch => innerSwatch.addEventListener(InlineEditor.ColorSwatch.ColorChangedEvent.eventName, ev => {
401
- colorSwatch.setColor(ev.data.color);
401
+ colorSwatch.color = ev.data.color;
402
402
  }));
403
403
  }
404
404
 
@@ -516,7 +516,7 @@ export class AttributeRenderer extends rendererBase(SDK.CSSPropertyParserMatcher
516
516
  if (fromFallback) {
517
517
  renderedFallback?.cssControls.get('color')?.forEach(
518
518
  innerSwatch => innerSwatch.addEventListener(InlineEditor.ColorSwatch.ColorChangedEvent.eventName, ev => {
519
- colorSwatch.setColor(ev.data.color);
519
+ colorSwatch.color = ev.data.color;
520
520
  }));
521
521
  }
522
522
 
@@ -691,19 +691,19 @@ export class ColorRenderer extends rendererBase(SDK.CSSPropertyParserMatchers.Co
691
691
  context.ast.text(match.node.getChild('Callee')).match(/^(hsla?|hwba?)/)) {
692
692
  const [angle] = cssControls.get('angle') ?? [];
693
693
  if (angle instanceof InlineEditor.CSSAngle.CSSAngle) {
694
- angle.updateProperty(swatch.getColor()?.asString() ?? '');
694
+ angle.updateProperty(swatch.color?.asString() ?? '');
695
695
  angle.addEventListener(InlineEditor.InlineEditorUtils.ValueChangedEvent.eventName, ev => {
696
696
  const hue = Common.Color.parseHueNumeric(ev.data.value);
697
- const color = swatch.getColor();
697
+ const color = swatch.color;
698
698
  if (!hue || !color) {
699
699
  return;
700
700
  }
701
701
  if (color.is(Common.Color.Format.HSL) || color.is(Common.Color.Format.HSLA)) {
702
- swatch.setColor(new Common.Color.HSL(hue, color.s, color.l, color.alpha));
702
+ swatch.color = new Common.Color.HSL(hue, color.s, color.l, color.alpha);
703
703
  } else if (color.is(Common.Color.Format.HWB) || color.is(Common.Color.Format.HWBA)) {
704
- swatch.setColor(new Common.Color.HWB(hue, color.w, color.b, color.alpha));
704
+ swatch.color = new Common.Color.HWB(hue, color.w, color.b, color.alpha);
705
705
  }
706
- angle.updateProperty(swatch.getColor()?.asString() ?? '');
706
+ angle.updateProperty(swatch.color?.asString() ?? '');
707
707
  });
708
708
  }
709
709
  }
@@ -716,9 +716,9 @@ export class ColorRenderer extends rendererBase(SDK.CSSPropertyParserMatchers.Co
716
716
  const tooltip = editable ? i18nString(UIStrings.openColorPickerS, {PH1: shiftClickMessage}) : '';
717
717
 
718
718
  const swatch = new InlineEditor.ColorSwatch.ColorSwatch(tooltip);
719
- swatch.setReadonly(!editable);
719
+ swatch.readonly = !editable;
720
720
  if (color) {
721
- swatch.renderColor(color);
721
+ swatch.color = color;
722
722
  }
723
723
 
724
724
  if (this.#treeElement?.editable()) {
@@ -742,7 +742,7 @@ export class ColorRenderer extends rendererBase(SDK.CSSPropertyParserMatchers.Co
742
742
  new ColorSwatchPopoverIcon(treeElement, treeElement.parentPane().swatchPopoverHelper(), swatch);
743
743
  swatchIcon.addEventListener(ColorSwatchPopoverIconEvents.COLOR_CHANGED, ev => {
744
744
  valueChild.textContent = ev.data.getAuthoredText() ?? ev.data.asString();
745
- swatch.setColor(ev.data);
745
+ swatch.color = ev.data;
746
746
  });
747
747
  if (treeElement.property.name === 'color') {
748
748
  void this.#addColorContrastInfo(swatchIcon);
@@ -819,14 +819,15 @@ export class LightDarkColorRenderer extends rendererBase(SDK.CSSPropertyParserMa
819
819
 
820
820
  const activeColorSwatches = (activeColor === match.light ? lightControls : darkControls).get('color');
821
821
  activeColorSwatches?.forEach(
822
- swatch => swatch.addEventListener(
823
- InlineEditor.ColorSwatch.ColorChangedEvent.eventName, ev => colorSwatch.setColor(ev.data.color)));
822
+ swatch => swatch.addEventListener(InlineEditor.ColorSwatch.ColorChangedEvent.eventName, ev => {
823
+ colorSwatch.color = ev.data.color;
824
+ }));
824
825
  const inactiveColor = (activeColor === match.light) ? dark : light;
825
826
  const colorText = context.matchedResult.getComputedTextRange(activeColor[0], activeColor[activeColor.length - 1]);
826
827
  const color = colorText && Common.Color.parse(colorText);
827
828
  inactiveColor.classList.add('inactive-value');
828
829
  if (color) {
829
- colorSwatch.renderColor(color);
830
+ colorSwatch.color = color;
830
831
  }
831
832
  }
832
833
 
@@ -948,7 +949,7 @@ export class ColorMixRenderer extends rendererBase(SDK.CSSPropertyParserMatchers
948
949
  if (results) {
949
950
  const color = Common.Color.parse(results[0]);
950
951
  if (color) {
951
- swatch.setColor(color.as(Common.Color.Format.HEXA));
952
+ swatch.color = color.as(Common.Color.Format.HEXA);
952
953
  return true;
953
954
  }
954
955
  }
@@ -1134,7 +1135,7 @@ export class LinkableNameRenderer extends rendererBase(SDK.CSSPropertyParserMatc
1134
1135
  return;
1135
1136
  }
1136
1137
 
1137
- const icon = IconButton.Icon.create('animation', 'open-in-animations-panel');
1138
+ const icon = createIcon('animation', 'open-in-animations-panel');
1138
1139
  icon.setAttribute('jslog', `${VisualLogging.link('open-in-animations-panel').track({click: true})}`);
1139
1140
  icon.setAttribute('role', 'button');
1140
1141
  icon.setAttribute('title', i18nString(UIStrings.jumpToAnimationsPanel));
@@ -1170,7 +1171,7 @@ export class BezierRenderer extends rendererBase(SDK.CSSPropertyParserMatchers.B
1170
1171
  return nodes;
1171
1172
  }
1172
1173
  const swatchPopoverHelper = this.#treeElement.parentPane().swatchPopoverHelper();
1173
- const icon = IconButton.Icon.create('bezier-curve-filled', 'bezier-swatch-icon');
1174
+ const icon = createIcon('bezier-curve-filled', 'bezier-swatch-icon');
1174
1175
  icon.setAttribute('jslog', `${VisualLogging.showStyleEditor('bezier')}`);
1175
1176
  icon.tabIndex = -1;
1176
1177
  icon.addEventListener('click', () => {
@@ -1954,7 +1955,7 @@ export class StylePropertyTreeElement extends UI.TreeOutline.TreeElement {
1954
1955
  private expandedDueToFilter = false;
1955
1956
  valueElement: HTMLElement|null = null;
1956
1957
  nameElement: HTMLElement|null = null;
1957
- private expandElement: IconButton.Icon.Icon|null = null;
1958
+ private expandElement: Icon|null = null;
1958
1959
  private originalPropertyText = '';
1959
1960
  private hasBeenEditedIncrementally = false;
1960
1961
  private prompt: CSSPropertyPrompt|null = null;
@@ -2338,7 +2339,7 @@ export class StylePropertyTreeElement extends UI.TreeOutline.TreeElement {
2338
2339
  this.#tooltipKeyCounts.clear();
2339
2340
  this.updateState();
2340
2341
  if (this.isExpandable()) {
2341
- this.expandElement = IconButton.Icon.create('triangle-right', 'expand-icon');
2342
+ this.expandElement = createIcon('triangle-right', 'expand-icon');
2342
2343
  this.expandElement.setAttribute('jslog', `${VisualLogging.expand().track({click: true})}`);
2343
2344
  }
2344
2345
 
@@ -2641,7 +2642,7 @@ export class StylePropertyTreeElement extends UI.TreeOutline.TreeElement {
2641
2642
  if (hint) {
2642
2643
  const wrapper = document.createElement('span');
2643
2644
  wrapper.classList.add('hint-wrapper');
2644
- const hintIcon = new IconButton.Icon.Icon();
2645
+ const hintIcon = new Icon();
2645
2646
  hintIcon.name = 'info';
2646
2647
  hintIcon.classList.add('hint', 'small');
2647
2648
  hintIcon.tabIndex = -1;
@@ -44,7 +44,7 @@ import * as SDK from '../../core/sdk/sdk.js';
44
44
  import * as Protocol from '../../generated/protocol.js';
45
45
  import * as Bindings from '../../models/bindings/bindings.js';
46
46
  import * as TextUtils from '../../models/text_utils/text_utils.js';
47
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
47
+ import {createIcon, Icon} from '../../ui/kit/kit.js';
48
48
  import * as InlineEditor from '../../ui/legacy/components/inline_editor/inline_editor.js';
49
49
  import * as Components from '../../ui/legacy/components/utils/utils.js';
50
50
  import * as UI from '../../ui/legacy/legacy.js';
@@ -1504,15 +1504,14 @@ export class SectionBlock {
1504
1504
  readonly #titleElement: Element|null;
1505
1505
  sections: StylePropertiesSection[];
1506
1506
  #expanded = false;
1507
- #icon: IconButton.Icon.Icon|undefined;
1507
+ #icon: Icon|undefined;
1508
1508
  constructor(titleElement: Element|null, expandable?: boolean, expandedByDefault?: boolean) {
1509
1509
  this.#titleElement = titleElement;
1510
1510
  this.sections = [];
1511
1511
  this.#expanded = expandedByDefault ?? false;
1512
1512
 
1513
1513
  if (expandable && titleElement instanceof HTMLElement) {
1514
- this.#icon =
1515
- IconButton.Icon.create(this.#expanded ? 'triangle-down' : 'triangle-right', 'section-block-expand-icon');
1514
+ this.#icon = createIcon(this.#expanded ? 'triangle-down' : 'triangle-right', 'section-block-expand-icon');
1516
1515
  titleElement.classList.toggle('empty-section', !this.#expanded);
1517
1516
  UI.ARIAUtils.setExpanded(titleElement, this.#expanded);
1518
1517
  titleElement.appendChild(this.#icon);
@@ -1964,7 +1963,7 @@ export class CSSPropertyPrompt extends UI.TextPrompt.TextPrompt {
1964
1963
  if (!iconInfo) {
1965
1964
  continue;
1966
1965
  }
1967
- const icon = new IconButton.Icon.Icon();
1966
+ const icon = new Icon();
1968
1967
  icon.name = iconInfo.iconName;
1969
1968
  icon.classList.add('extra-small');
1970
1969
  icon.style.transform = `rotate(${iconInfo.rotate}deg) scale(${iconInfo.scaleX * 1.1}, ${iconInfo.scaleY * 1.1})`;
@@ -2024,7 +2023,7 @@ export class CSSPropertyPrompt extends UI.TextPrompt.TextPrompt {
2024
2023
 
2025
2024
  function colorSwatchRenderer(color: Common.Color.Color): Element {
2026
2025
  const swatch = new InlineEditor.ColorSwatch.ColorSwatch();
2027
- swatch.renderColor(color);
2026
+ swatch.color = color;
2028
2027
  swatch.style.pointerEvents = 'none';
2029
2028
  return swatch;
2030
2029
  }
@@ -6,7 +6,7 @@
6
6
  import * as Common from '../../core/common/common.js';
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
8
  import * as SDK from '../../core/sdk/sdk.js';
9
- import * as IconButton from '../../ui/components/icon_button/icon_button.js';
9
+ import {createIcon} from '../../ui/kit/kit.js';
10
10
  import * as UI from '../../ui/legacy/legacy.js';
11
11
 
12
12
  import * as ElementsComponents from './components/components.js';
@@ -97,7 +97,7 @@ export class TopLayerContainer extends UI.TreeOutline.TreeElement {
97
97
  ElementsComponents.AdornerManager.RegisteredAdorners.TOP_LAYER);
98
98
  const adornerContent = document.createElement('span');
99
99
  adornerContent.classList.add('adorner-with-icon');
100
- const linkIcon = IconButton.Icon.create('select-element');
100
+ const linkIcon = createIcon('select-element');
101
101
  const adornerText = document.createElement('span');
102
102
  adornerText.textContent = `top-layer (${topLayerElementIndex})`;
103
103
  adornerContent.append(linkIcon);
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
5
 
6
- import '../../../ui/components/icon_button/icon_button.js';
6
+ import '../../../ui/kit/kit.js';
7
7
  import '../../../ui/components/node_text/node_text.js';
8
8
 
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-lit-render-outside-of-view */
5
5
 
6
- import '../../../ui/components/icon_button/icon_button.js';
6
+ import '../../../ui/kit/kit.js';
7
7
 
8
8
  import * as i18n from '../../../core/i18n/i18n.js';
9
9
  import {html, render} from '../../../ui/lit/lit.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
5
 
6
- import '../../../ui/components/icon_button/icon_button.js';
6
+ import '../../../ui/kit/kit.js';
7
7
  import '../../../ui/components/node_text/node_text.js';
8
8
 
9
9
  import * as SDK from '../../../core/sdk/sdk.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
  /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
5
 
6
- import '../../../ui/components/icon_button/icon_button.js';
6
+ import '../../../ui/kit/kit.js';
7
7
 
8
8
  import * as i18n from '../../../core/i18n/i18n.js';
9
9
  import * as Lit from '../../../ui/lit/lit.js';
@@ -128,11 +128,56 @@ export class ActionDelegate implements UI.ActionRegistration.ActionDelegate {
128
128
  return;
129
129
  }
130
130
  const result = await object.callFunction(function(this: Element) {
131
+ function getFrameOffset(frame: Element|null): {x: number, y: number} {
132
+ if (!frame) {
133
+ return {x: 0, y: 0};
134
+ }
135
+
136
+ // The offset of the frame's content relative to the frame element
137
+ // contains the border width and the padding.
138
+ // The border width.
139
+ const borderTop = frame.clientTop;
140
+ const borderLeft = frame.clientLeft;
141
+
142
+ // The padding can be retrieved via computed styles.
143
+ const styles = window.getComputedStyle(frame);
144
+ const paddingTop = parseFloat(styles.paddingTop);
145
+ const paddingLeft = parseFloat(styles.paddingLeft);
146
+
147
+ // The position of the frame in it's parent.
148
+ const rect = frame.getBoundingClientRect();
149
+
150
+ // The offset of the parent frame's content relative to the
151
+ // document. If there is no parent frame, the offset is 0.
152
+ // In case of OOPiF, there is no access to the parent frame's
153
+ // offset.
154
+ const parentFrameOffset = getFrameOffset(frame.ownerDocument.defaultView?.frameElement ?? null);
155
+
156
+ // The scroll position of the frame.
157
+ const scrollX = frame.ownerDocument.defaultView?.scrollX ?? 0;
158
+ const scrollY = frame.ownerDocument.defaultView?.scrollY ?? 0;
159
+
160
+ return {
161
+ x: parentFrameOffset.x + rect.left + borderLeft + paddingLeft + scrollX,
162
+ y: parentFrameOffset.y + rect.top + borderTop + paddingTop + scrollY,
163
+ };
164
+ }
165
+
166
+ // The bounding client rect of the node relative to the viewport.
131
167
  const rect = this.getBoundingClientRect();
132
- const docRect = this.ownerDocument.documentElement.getBoundingClientRect();
168
+ const frameOffset = getFrameOffset(this.ownerDocument.defaultView?.frameElement ?? null);
169
+
170
+ // The scroll position of the frame.
171
+ const scrollX = this.ownerDocument.defaultView?.scrollX ?? 0;
172
+ const scrollY = this.ownerDocument.defaultView?.scrollY ?? 0;
173
+
174
+ // The offset of the node's content relative to the top-level
175
+ // document is the sum of the element offset relative to the
176
+ // document's viewport, the document's scroll position, and the
177
+ // parent's offset relative to the top-level document.
133
178
  return JSON.stringify({
134
- x: rect.left - docRect.left,
135
- y: rect.top - docRect.top,
179
+ x: rect.left + frameOffset.x + scrollX,
180
+ y: rect.top + frameOffset.y + scrollY,
136
181
  width: rect.width,
137
182
  height: rect.height,
138
183
  scale: 1,