chrome-devtools-frontend 1.0.1362775 → 1.0.1367881

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 (860) hide show
  1. package/.eslintrc.js +1 -0
  2. package/.stylelintrc.json +2 -1
  3. package/config/gni/devtools_grd_files.gni +14 -2
  4. package/config/gni/devtools_image_files.gni +2 -1
  5. package/docs/contributing/issues.md +15 -0
  6. package/extensions/cxx_debugging/src/ExtensionOptions.ts +0 -1
  7. package/extensions/cxx_debugging/third_party/llvm/README.chromium +1 -1
  8. package/front_end/.eslintrc.js +0 -5
  9. package/front_end/Images/src/button-magic.svg +3 -0
  10. package/front_end/Images/src/performance-panel-delete-annotation.svg +32 -0
  11. package/front_end/Images/src/performance-panel-diagram.svg +19 -14
  12. package/front_end/Images/src/performance-panel-entry-label.svg +9 -16
  13. package/front_end/Images/src/performance-panel-time-range.svg +2 -8
  14. package/front_end/core/common/AppProvider.ts +1 -1
  15. package/front_end/core/common/Object.ts +2 -7
  16. package/front_end/core/common/SettingRegistration.ts +1 -1
  17. package/front_end/core/common/Settings.ts +1 -1
  18. package/front_end/core/host/AidaClient.ts +7 -1
  19. package/front_end/core/host/InspectorFrontendHost.ts +1 -1
  20. package/front_end/core/host/ResourceLoader.ts +1 -1
  21. package/front_end/core/host/UserMetrics.ts +14 -2
  22. package/front_end/core/i18n/time-utilities.ts +7 -1
  23. package/front_end/core/platform/ArrayUtilities.ts +1 -0
  24. package/front_end/core/platform/DevToolsPath.ts +1 -1
  25. package/front_end/core/platform/Timing.ts +1 -1
  26. package/front_end/core/platform/UIString.ts +1 -1
  27. package/front_end/core/platform/UserVisibleError.ts +1 -1
  28. package/front_end/core/root/Runtime.ts +11 -2
  29. package/front_end/core/sdk/AccessibilityModel.ts +3 -4
  30. package/front_end/core/sdk/CPUProfilerModel.ts +3 -4
  31. package/front_end/core/sdk/CSSContainerQuery.ts +3 -3
  32. package/front_end/core/sdk/CSSLayer.ts +2 -2
  33. package/front_end/core/sdk/CSSMatchedStyles.test.ts +1 -0
  34. package/front_end/core/sdk/CSSMatchedStyles.ts +10 -2
  35. package/front_end/core/sdk/CSSMedia.ts +2 -2
  36. package/front_end/core/sdk/CSSMetadata.ts +21 -0
  37. package/front_end/core/sdk/CSSModel.ts +1 -0
  38. package/front_end/core/sdk/CSSProperty.ts +2 -2
  39. package/front_end/core/sdk/CSSQuery.ts +2 -2
  40. package/front_end/core/sdk/CSSRule.ts +2 -2
  41. package/front_end/core/sdk/CSSScope.ts +2 -2
  42. package/front_end/core/sdk/CSSStyleDeclaration.ts +3 -3
  43. package/front_end/core/sdk/CSSStyleSheetHeader.ts +4 -4
  44. package/front_end/core/sdk/CSSSupports.ts +2 -2
  45. package/front_end/core/sdk/CookieModel.ts +1 -1
  46. package/front_end/core/sdk/DOMDebuggerModel.ts +1 -1
  47. package/front_end/core/sdk/DebuggerModel.ts +9 -3
  48. package/front_end/core/sdk/EnhancedTracesParser.test.ts +1 -5
  49. package/front_end/core/sdk/EnhancedTracesParser.ts +2 -6
  50. package/front_end/core/sdk/EventBreakpointsModel.ts +1 -2
  51. package/front_end/core/sdk/FrameAssociated.ts +1 -1
  52. package/front_end/core/sdk/FrameManager.ts +9 -7
  53. package/front_end/core/sdk/HeapProfilerModel.ts +3 -4
  54. package/front_end/core/sdk/IsolateManager.ts +2 -3
  55. package/front_end/core/sdk/LayerTreeBase.ts +2 -2
  56. package/front_end/core/sdk/NetworkManager.ts +1 -1
  57. package/front_end/core/sdk/OverlayModel.ts +2 -2
  58. package/front_end/core/sdk/OverlayPersistentHighlighter.ts +1 -1
  59. package/front_end/core/sdk/PageLoad.ts +1 -1
  60. package/front_end/core/sdk/PageResourceLoader.ts +1 -1
  61. package/front_end/core/sdk/RemoteObject.ts +3 -3
  62. package/front_end/core/sdk/Resource.ts +2 -2
  63. package/front_end/core/sdk/ResourceTreeModel.ts +1 -1
  64. package/front_end/core/sdk/SDKModel.ts +1 -1
  65. package/front_end/core/sdk/Script.ts +5 -5
  66. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +5 -7
  67. package/front_end/core/sdk/SourceMap.ts +1 -1
  68. package/front_end/core/sdk/SourceMapManager.ts +1 -1
  69. package/front_end/core/sdk/SourceMapScopeChainEntry.ts +2 -2
  70. package/front_end/core/sdk/SourceMapScopesInfo.ts +2 -2
  71. package/front_end/core/sdk/Target.ts +3 -2
  72. package/front_end/core/sdk/TargetManager.ts +4 -1
  73. package/front_end/core/sdk/WebAuthnModel.ts +20 -0
  74. package/front_end/core/sdk/sdk-meta.ts +7 -0
  75. package/front_end/devtools_compatibility.js +3 -3
  76. package/front_end/entrypoints/formatter_worker/CSSFormatter.ts +1 -1
  77. package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +1 -1
  78. package/front_end/entrypoints/formatter_worker/IdentityFormatter.ts +1 -1
  79. package/front_end/entrypoints/formatter_worker/JSONFormatter.ts +1 -1
  80. package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.ts +1 -1
  81. package/front_end/entrypoints/heap_snapshot_worker/AllocationProfile.ts +1 -1
  82. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +12 -12
  83. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotLoader.ts +1 -1
  84. package/front_end/entrypoints/main/MainImpl.ts +11 -1
  85. package/front_end/generated/InspectorBackendCommands.js +5 -3
  86. package/front_end/generated/SupportedCSSProperties.js +20 -14
  87. package/front_end/generated/protocol-mapping.d.ts +10 -0
  88. package/front_end/generated/protocol-proxy-api.d.ts +12 -0
  89. package/front_end/generated/protocol.ts +32 -1
  90. package/front_end/legacy_test_runner/sdk_test_runner/sdk_test_runner.js +4 -2
  91. package/front_end/models/bindings/CSSWorkspaceBinding.ts +2 -2
  92. package/front_end/models/bindings/CompilerScriptMapping.ts +1 -2
  93. package/front_end/models/bindings/DebuggerLanguagePlugins.test.ts +1 -1
  94. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +2 -2
  95. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +1 -1
  96. package/front_end/models/bindings/DefaultScriptMapping.ts +1 -1
  97. package/front_end/models/bindings/IgnoreListManager.test.ts +49 -12
  98. package/front_end/models/bindings/IgnoreListManager.ts +79 -5
  99. package/front_end/models/bindings/ResourceMapping.ts +1 -1
  100. package/front_end/models/bindings/StylesSourceMapping.ts +11 -6
  101. package/front_end/models/breakpoints/BreakpointManager.test.ts +1 -1
  102. package/front_end/models/extensions/ExtensionPanel.ts +1 -1
  103. package/front_end/models/extensions/ExtensionServer.test.ts +1 -1
  104. package/front_end/models/extensions/ExtensionServer.ts +1 -1
  105. package/front_end/models/extensions/ExtensionView.ts +1 -1
  106. package/front_end/models/extensions/LanguageExtensionEndpoint.ts +1 -1
  107. package/front_end/models/extensions/RecorderPluginManager.ts +1 -1
  108. package/front_end/models/har/Importer.ts +1 -1
  109. package/front_end/models/issues_manager/AttributionReportingIssue.ts +1 -1
  110. package/front_end/models/issues_manager/BounceTrackingIssue.ts +1 -2
  111. package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +1 -1
  112. package/front_end/models/issues_manager/CorsIssue.ts +1 -1
  113. package/front_end/models/issues_manager/HeavyAdIssue.ts +1 -1
  114. package/front_end/models/issues_manager/Issue.ts +1 -1
  115. package/front_end/models/issues_manager/IssueResolver.ts +2 -2
  116. package/front_end/models/issues_manager/IssuesManager.ts +1 -1
  117. package/front_end/models/issues_manager/LowTextContrastIssue.ts +1 -1
  118. package/front_end/models/issues_manager/MixedContentIssue.ts +1 -1
  119. package/front_end/models/issues_manager/PropertyRuleIssue.ts +1 -1
  120. package/front_end/models/issues_manager/QuirksModeIssue.ts +1 -1
  121. package/front_end/models/issues_manager/RelatedIssue.ts +1 -1
  122. package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +3 -3
  123. package/front_end/models/issues_manager/SourceFrameIssuesManager.ts +1 -1
  124. package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +1 -1
  125. package/front_end/models/javascript_metadata/NativeFunctions.js +69 -61
  126. package/front_end/models/live-metrics/LiveMetrics.ts +41 -34
  127. package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +1 -1
  128. package/front_end/models/persistence/EditFileSystemView.ts +1 -1
  129. package/front_end/models/persistence/FileSystemWorkspaceBinding.ts +2 -3
  130. package/front_end/models/persistence/IsolatedFileSystemManager.ts +2 -3
  131. package/front_end/models/persistence/WorkspaceSettingsTab.ts +2 -2
  132. package/front_end/models/text_utils/ContentProvider.ts +3 -3
  133. package/front_end/models/text_utils/StaticContentProvider.ts +1 -5
  134. package/front_end/models/text_utils/TextUtils.ts +1 -1
  135. package/front_end/models/text_utils/WasmDisassembly.ts +1 -1
  136. package/front_end/models/timeline_model/TimelineProfileTree.test.ts +21 -21
  137. package/front_end/models/timeline_model/TimelineProfileTree.ts +1 -1
  138. package/front_end/models/trace/ModelImpl.test.ts +1 -1
  139. package/front_end/models/trace/ModelImpl.ts +10 -27
  140. package/front_end/models/trace/Processor.test.ts +16 -15
  141. package/front_end/models/trace/Processor.ts +33 -9
  142. package/front_end/models/trace/extras/FilmStrip.ts +2 -2
  143. package/front_end/models/trace/handlers/LayoutShiftsHandler.test.ts +2 -2
  144. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +10 -1
  145. package/front_end/models/trace/handlers/MetaHandler.ts +4 -0
  146. package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +1 -1
  147. package/front_end/models/trace/handlers/RendererHandler.test.ts +1 -1
  148. package/front_end/models/trace/handlers/SamplesHandler.test.ts +2 -2
  149. package/front_end/models/trace/handlers/ScreenshotsHandler.test.ts +5 -4
  150. package/front_end/models/trace/handlers/ScreenshotsHandler.ts +7 -5
  151. package/front_end/models/trace/handlers/Threads.ts +2 -2
  152. package/front_end/models/trace/handlers/WarningsHandler.ts +1 -1
  153. package/front_end/models/trace/helpers/Network.ts +20 -2
  154. package/front_end/models/trace/helpers/SyntheticEvents.test.ts +1 -1
  155. package/front_end/models/trace/helpers/Trace.test.ts +34 -3
  156. package/front_end/models/trace/helpers/Trace.ts +12 -0
  157. package/front_end/models/trace/helpers/TreeHelpers.test.ts +52 -0
  158. package/front_end/models/trace/helpers/TreeHelpers.ts +80 -1
  159. package/front_end/models/trace/insights/Common.ts +1 -1
  160. package/front_end/models/trace/insights/CumulativeLayoutShift.test.ts +24 -2
  161. package/front_end/models/trace/insights/CumulativeLayoutShift.ts +102 -27
  162. package/front_end/models/trace/insights/DocumentLatency.test.ts +22 -11
  163. package/front_end/models/trace/insights/DocumentLatency.ts +9 -6
  164. package/front_end/models/trace/insights/FontDisplay.ts +5 -1
  165. package/front_end/models/trace/insights/InteractionToNextPaint.ts +4 -3
  166. package/front_end/models/trace/insights/LargestContentfulPaint.test.ts +9 -1
  167. package/front_end/models/trace/insights/LargestContentfulPaint.ts +26 -6
  168. package/front_end/models/trace/insights/RenderBlocking.test.ts +10 -16
  169. package/front_end/models/trace/insights/RenderBlocking.ts +6 -4
  170. package/front_end/models/trace/insights/SlowCSSSelector.ts +3 -1
  171. package/front_end/models/trace/insights/ThirdPartyWeb.ts +15 -2
  172. package/front_end/models/trace/insights/Viewport.ts +1 -0
  173. package/front_end/models/trace/insights/types.ts +14 -11
  174. package/front_end/models/trace/lantern/graph/BaseNode.ts +2 -2
  175. package/front_end/models/trace/lantern/graph/PageDependencyGraph.ts +4 -3
  176. package/front_end/models/trace/lantern/simulation/TCPConnection.ts +1 -1
  177. package/front_end/models/trace/lantern/testing/MetricTestUtils.ts +1 -1
  178. package/front_end/models/trace/root-causes/LayoutShift.ts +3 -20
  179. package/front_end/models/trace/types/Extensions.ts +3 -7
  180. package/front_end/models/trace/types/File.ts +2 -8
  181. package/front_end/models/trace/types/TraceEvents.ts +10 -4
  182. package/front_end/models/workspace/UISourceCode.test.ts +3 -3
  183. package/front_end/models/workspace/WorkspaceImpl.ts +1 -1
  184. package/front_end/panels/accessibility/AXBreadcrumbsPane.ts +1 -1
  185. package/front_end/panels/animation/AnimationGroupPreviewUI.ts +1 -1
  186. package/front_end/panels/animation/AnimationModel.ts +1 -1
  187. package/front_end/panels/animation/AnimationTimeline.ts +1 -1
  188. package/front_end/panels/animation/AnimationUI.ts +1 -1
  189. package/front_end/panels/application/ApplicationPanelSidebar.test.ts +90 -0
  190. package/front_end/panels/application/ApplicationPanelSidebar.ts +123 -20
  191. package/front_end/panels/application/ApplicationPanelTreeElement.ts +1 -1
  192. package/front_end/panels/application/BackForwardCacheTreeElement.ts +1 -1
  193. package/front_end/panels/application/BounceTrackingMitigationsTreeElement.ts +1 -1
  194. package/front_end/panels/application/DOMStorageItemsView.ts +4 -2
  195. package/front_end/panels/application/ExtensionStorageItemsView.test.ts +89 -0
  196. package/front_end/panels/application/ExtensionStorageItemsView.ts +219 -0
  197. package/front_end/panels/application/ExtensionStorageModel.test.ts +12 -0
  198. package/front_end/panels/application/ExtensionStorageModel.ts +56 -13
  199. package/front_end/panels/application/IndexedDBViews.ts +14 -19
  200. package/front_end/panels/application/InterestGroupTreeElement.ts +1 -1
  201. package/front_end/panels/application/PreloadingTreeElement.ts +1 -1
  202. package/front_end/panels/application/ReportingApiTreeElement.ts +1 -1
  203. package/front_end/panels/application/ResourcesPanel.ts +18 -1
  204. package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +1 -1
  205. package/front_end/panels/application/SharedStorageListTreeElement.ts +1 -1
  206. package/front_end/panels/application/SharedStorageTreeElement.ts +2 -2
  207. package/front_end/panels/application/StorageBucketsTreeElement.ts +1 -1
  208. package/front_end/panels/application/TrustTokensTreeElement.ts +1 -1
  209. package/front_end/panels/application/application.ts +2 -0
  210. package/front_end/panels/application/components/BackForwardCacheView.ts +76 -72
  211. package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +32 -29
  212. package/front_end/panels/application/components/EndpointsGrid.ts +5 -4
  213. package/front_end/panels/application/components/FrameDetailsView.ts +110 -127
  214. package/front_end/panels/application/components/InterestGroupAccessGrid.ts +11 -11
  215. package/front_end/panels/application/components/OriginTrialTreeView.ts +36 -34
  216. package/front_end/panels/application/components/PermissionsPolicySection.ts +31 -33
  217. package/front_end/panels/application/components/ProtocolHandlersView.ts +15 -14
  218. package/front_end/panels/application/components/ReportsGrid.ts +11 -9
  219. package/front_end/panels/application/components/ServiceWorkerRouterView.ts +0 -1
  220. package/front_end/panels/application/components/SharedStorageAccessGrid.ts +11 -11
  221. package/front_end/panels/application/components/SharedStorageMetadataView.ts +16 -14
  222. package/front_end/panels/application/components/StackTrace.ts +18 -17
  223. package/front_end/panels/application/components/StorageMetadataView.ts +19 -18
  224. package/front_end/panels/application/components/TrustTokensView.ts +17 -16
  225. package/front_end/panels/application/preloading/PreloadingView.ts +14 -11
  226. package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +7 -6
  227. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +42 -45
  228. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +13 -11
  229. package/front_end/panels/application/preloading/components/PreloadingGrid.ts +11 -9
  230. package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.ts +5 -4
  231. package/front_end/panels/application/preloading/components/PreloadingString.ts +2 -0
  232. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +10 -8
  233. package/front_end/panels/application/preloading/components/RuleSetGrid.ts +20 -16
  234. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +50 -57
  235. package/front_end/panels/application/resourcesSidebar.css +0 -3
  236. package/front_end/panels/autofill/AutofillView.ts +19 -14
  237. package/front_end/panels/console/ConsoleFilter.ts +1 -1
  238. package/front_end/panels/console/ConsoleSidebar.ts +1 -1
  239. package/front_end/panels/console/ConsoleViewMessage.ts +2 -2
  240. package/front_end/panels/console/consoleView.css +4 -3
  241. package/front_end/panels/coverage/CoverageDecorationManager.ts +1 -1
  242. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +1 -1
  243. package/front_end/panels/css_overview/CSSOverviewController.ts +2 -2
  244. package/front_end/panels/css_overview/CSSOverviewModel.ts +2 -3
  245. package/front_end/panels/css_overview/CSSOverviewPanel.ts +5 -7
  246. package/front_end/panels/css_overview/components/CSSOverviewStartView.ts +12 -10
  247. package/front_end/panels/elements/AccessibilityTreeUtils.ts +9 -4
  248. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +3 -3
  249. package/front_end/panels/elements/ComputedStyleWidget.ts +6 -4
  250. package/front_end/panels/elements/ElementsPanel.ts +7 -6
  251. package/front_end/panels/elements/ElementsTreeElement.ts +35 -0
  252. package/front_end/panels/elements/ElementsTreeOutline.ts +1 -1
  253. package/front_end/panels/elements/PropertyMatchers.test.ts +57 -0
  254. package/front_end/panels/elements/PropertyMatchers.ts +78 -1
  255. package/front_end/panels/elements/StyleEditorWidget.ts +2 -2
  256. package/front_end/panels/elements/StylePropertiesSection.test.ts +1 -0
  257. package/front_end/panels/elements/StylePropertyHighlighter.test.ts +1 -0
  258. package/front_end/panels/elements/StylePropertyHighlighter.ts +2 -2
  259. package/front_end/panels/elements/StylePropertyTreeElement.test.ts +36 -3
  260. package/front_end/panels/elements/StylePropertyTreeElement.ts +72 -26
  261. package/front_end/panels/elements/StylesSidebarPane.test.ts +2 -0
  262. package/front_end/panels/elements/TopLayerContainer.ts +1 -2
  263. package/front_end/panels/elements/components/AccessibilityTreeNode.ts +8 -7
  264. package/front_end/panels/elements/components/AdornerSettingsPane.ts +3 -4
  265. package/front_end/panels/elements/components/AnchorFunctionLinkSwatch.ts +8 -7
  266. package/front_end/panels/elements/components/CSSHintDetailsView.ts +3 -2
  267. package/front_end/panels/elements/components/CSSPropertyDocsView.ts +3 -2
  268. package/front_end/panels/elements/components/CSSQuery.ts +0 -1
  269. package/front_end/panels/elements/components/CSSVariableValueView.ts +1 -3
  270. package/front_end/panels/elements/components/ComputedStyleProperty.ts +0 -1
  271. package/front_end/panels/elements/components/ComputedStyleTrace.ts +0 -1
  272. package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +15 -11
  273. package/front_end/panels/elements/components/ElementsBreadcrumbsUtils.ts +1 -1
  274. package/front_end/panels/elements/components/ElementsTreeExpandButton.ts +6 -4
  275. package/front_end/panels/elements/components/LayoutPane.ts +8 -7
  276. package/front_end/panels/elements/components/QueryContainer.test.ts +2 -3
  277. package/front_end/panels/elements/components/QueryContainer.ts +10 -9
  278. package/front_end/panels/elements/components/StylePropertyEditor.ts +4 -4
  279. package/front_end/panels/elements/components/computedStyleProperty.css +2 -1
  280. package/front_end/panels/elements/components/cssPropertyDocsView.css +3 -2
  281. package/front_end/panels/elements/elementsTreeOutline.css +17 -0
  282. package/front_end/panels/elements/stylesSidebarPane.css +2 -2
  283. package/front_end/panels/emulation/DeviceModeWrapper.ts +1 -1
  284. package/front_end/panels/emulation/components/DeviceSizeInputElement.ts +3 -1
  285. package/front_end/panels/explain/components/ConsoleInsight.ts +47 -46
  286. package/front_end/panels/explain/components/consoleInsight.css +0 -9
  287. package/front_end/panels/freestyler/AiAgent.ts +8 -2
  288. package/front_end/panels/freestyler/DrJonesFileAgent.test.ts +201 -0
  289. package/front_end/panels/freestyler/DrJonesFileAgent.ts +196 -0
  290. package/front_end/panels/freestyler/DrJonesNetworkAgent.test.ts +1 -1
  291. package/front_end/panels/freestyler/DrJonesNetworkAgent.ts +34 -31
  292. package/front_end/panels/freestyler/DrJonesPerformanceAgent.test.ts +195 -0
  293. package/front_end/panels/freestyler/DrJonesPerformanceAgent.ts +193 -0
  294. package/front_end/panels/freestyler/FreestylerAgent.test.ts +177 -12
  295. package/front_end/panels/freestyler/FreestylerAgent.ts +83 -8
  296. package/front_end/panels/freestyler/FreestylerEvaluateAction.test.ts +21 -1
  297. package/front_end/panels/freestyler/FreestylerEvaluateAction.ts +3 -0
  298. package/front_end/panels/freestyler/FreestylerPanel.test.ts +16 -2
  299. package/front_end/panels/freestyler/FreestylerPanel.ts +126 -15
  300. package/front_end/panels/freestyler/components/FreestylerChatUi.test.ts +21 -2
  301. package/front_end/panels/freestyler/components/FreestylerChatUi.ts +294 -145
  302. package/front_end/panels/freestyler/components/ProvideFeedback.ts +16 -13
  303. package/front_end/panels/freestyler/components/freestylerChatUi.css +78 -26
  304. package/front_end/panels/freestyler/freestyler-meta.ts +64 -9
  305. package/front_end/panels/freestyler/freestyler.ts +2 -0
  306. package/front_end/panels/issues/AffectedResourcesView.ts +2 -2
  307. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +5 -4
  308. package/front_end/panels/issues/CorsIssueDetailsView.ts +6 -6
  309. package/front_end/panels/issues/GenericIssueDetailsView.ts +3 -3
  310. package/front_end/panels/issues/IssueView.ts +2 -2
  311. package/front_end/panels/issues/components/ElementsPanelLink.ts +3 -1
  312. package/front_end/panels/issues/components/HideIssuesMenu.ts +6 -5
  313. package/front_end/panels/lighthouse/LighthouseController.ts +2 -2
  314. package/front_end/panels/lighthouse/LighthousePanel.ts +1 -1
  315. package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +2 -6
  316. package/front_end/panels/lighthouse/LighthouseStartView.ts +1 -1
  317. package/front_end/panels/lighthouse/LighthouseStatusView.ts +1 -1
  318. package/front_end/panels/lighthouse/LighthouseTimespanView.ts +1 -1
  319. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +8 -2
  320. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +6 -6
  321. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.test.ts +11 -0
  322. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +26 -31
  323. package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +5 -5
  324. package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +11 -14
  325. package/front_end/panels/linear_memory_inspector/components/LinearMemoryViewer.ts +1 -3
  326. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +5 -4
  327. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +0 -1
  328. package/front_end/panels/media/EventDisplayTable.ts +1 -1
  329. package/front_end/panels/media/EventTimelineView.ts +1 -1
  330. package/front_end/panels/media/PlayerDetailView.ts +3 -3
  331. package/front_end/panels/media/PlayerListView.ts +2 -2
  332. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +23 -29
  333. package/front_end/panels/network/NetworkConfigView.ts +1 -2
  334. package/front_end/panels/network/NetworkDataGridNode.ts +4 -153
  335. package/front_end/panels/network/NetworkFrameGrouper.ts +1 -1
  336. package/front_end/panels/network/NetworkItemView.ts +1 -1
  337. package/front_end/panels/network/NetworkLogView.ts +1 -1
  338. package/front_end/panels/network/NetworkLogViewColumns.ts +4 -6
  339. package/front_end/panels/network/NetworkWaterfallColumn.ts +5 -8
  340. package/front_end/panels/network/RequestBinaryResponseView.test.ts +69 -0
  341. package/front_end/panels/network/RequestBinaryResponseView.ts +67 -0
  342. package/front_end/panels/network/RequestResponseView.test.ts +28 -1
  343. package/front_end/panels/network/RequestResponseView.ts +14 -7
  344. package/front_end/panels/network/components/EditableSpan.ts +0 -1
  345. package/front_end/panels/network/components/HeaderSectionRow.test.ts +1 -1
  346. package/front_end/panels/network/components/HeaderSectionRow.ts +22 -21
  347. package/front_end/panels/network/components/RequestHeaderSection.ts +7 -7
  348. package/front_end/panels/network/components/RequestHeadersView.ts +25 -26
  349. package/front_end/panels/network/components/RequestTrustTokensView.ts +32 -35
  350. package/front_end/panels/network/components/ResponseHeaderSection.ts +8 -10
  351. package/front_end/panels/network/components/WebBundleInfoView.ts +13 -11
  352. package/front_end/panels/network/network.ts +2 -0
  353. package/front_end/panels/network/networkConfigView.css +12 -5
  354. package/front_end/panels/network/networkLogView.css +4 -15
  355. package/front_end/panels/network/requestHTMLView.css +1 -0
  356. package/front_end/panels/profiler/BottomUpProfileDataGrid.ts +3 -3
  357. package/front_end/panels/profiler/HeapProfileView.ts +1 -1
  358. package/front_end/panels/profiler/HeapProfilerPanel.ts +2 -2
  359. package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +3 -3
  360. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +3 -3
  361. package/front_end/panels/profiler/HeapSnapshotProxy.ts +1 -1
  362. package/front_end/panels/profiler/ProfileLauncherView.ts +3 -3
  363. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +4 -2
  364. package/front_end/panels/protocol_monitor/components/JSONEditor.ts +22 -15
  365. package/front_end/panels/protocol_monitor/components/Toolbar.ts +4 -4
  366. package/front_end/panels/recorder/RecorderController.ts +39 -43
  367. package/front_end/panels/recorder/components/ControlButton.ts +1 -1
  368. package/front_end/panels/recorder/components/CreateRecordingView.ts +15 -15
  369. package/front_end/panels/recorder/components/ExtensionView.ts +9 -8
  370. package/front_end/panels/recorder/components/RecordingListView.ts +15 -13
  371. package/front_end/panels/recorder/components/RecordingView.ts +92 -84
  372. package/front_end/panels/recorder/components/ReplaySection.ts +6 -6
  373. package/front_end/panels/recorder/components/SelectButton.ts +21 -20
  374. package/front_end/panels/recorder/components/StartView.ts +14 -18
  375. package/front_end/panels/recorder/components/StepEditor.ts +3 -3
  376. package/front_end/panels/recorder/components/StepView.ts +20 -20
  377. package/front_end/panels/recorder/components/TimelineSection.ts +3 -2
  378. package/front_end/panels/recorder/converters/ExtensionConverter.ts +2 -2
  379. package/front_end/panels/recorder/converters/JSONConverter.ts +1 -1
  380. package/front_end/panels/recorder/converters/LighthouseConverter.ts +1 -1
  381. package/front_end/panels/recorder/converters/PuppeteerConverter.ts +1 -1
  382. package/front_end/panels/recorder/converters/PuppeteerReplayConverter.ts +1 -1
  383. package/front_end/panels/recorder/injected/RecordingClient.ts +7 -10
  384. package/front_end/panels/recorder/injected/SelectorComputer.ts +5 -5
  385. package/front_end/panels/recorder/injected/SelectorPicker.ts +2 -2
  386. package/front_end/panels/recorder/injected/Step.ts +1 -1
  387. package/front_end/panels/recorder/injected/injected.ts +1 -1
  388. package/front_end/panels/recorder/injected/selectors/ARIASelector.ts +1 -1
  389. package/front_end/panels/recorder/injected/selectors/PierceSelector.ts +6 -7
  390. package/front_end/panels/recorder/injected/selectors/TextSelector.ts +3 -5
  391. package/front_end/panels/recorder/injected/util.ts +1 -1
  392. package/front_end/panels/recorder/models/RecordingPlayer.ts +1 -1
  393. package/front_end/panels/recorder/models/RecordingSettings.ts +1 -4
  394. package/front_end/panels/recorder/models/RecordingStorage.ts +1 -1
  395. package/front_end/panels/recorder/models/SDKUtils.ts +3 -2
  396. package/front_end/panels/recorder/models/ScreenshotUtils.ts +1 -1
  397. package/front_end/panels/recorder/models/Section.ts +2 -2
  398. package/front_end/panels/search/SearchResultsPane.ts +1 -2
  399. package/front_end/panels/search/SearchView.ts +1 -1
  400. package/front_end/panels/security/OriginTreeElement.ts +1 -1
  401. package/front_end/panels/security/SecurityAndPrivacyPanelSidebar.ts +1 -1
  402. package/front_end/panels/security/SecurityPanelSidebarTreeElement.ts +1 -1
  403. package/front_end/panels/sensors/SensorsView.ts +16 -0
  404. package/front_end/panels/sensors/sensors.css +16 -0
  405. package/front_end/panels/settings/AISettingsTab.test.ts +41 -11
  406. package/front_end/panels/settings/AISettingsTab.ts +103 -58
  407. package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +9 -0
  408. package/front_end/panels/settings/SettingsScreen.ts +1 -1
  409. package/front_end/panels/settings/components/SyncSection.ts +18 -13
  410. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +33 -30
  411. package/front_end/panels/settings/settings-meta.ts +2 -2
  412. package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
  413. package/front_end/panels/sources/EditingLocationHistoryManager.ts +2 -2
  414. package/front_end/panels/sources/GoToLineQuickOpen.ts +1 -1
  415. package/front_end/panels/sources/InplaceFormatterEditorAction.ts +1 -1
  416. package/front_end/panels/sources/OutlineQuickOpen.ts +1 -1
  417. package/front_end/panels/sources/SourcesNavigator.test.ts +1 -0
  418. package/front_end/panels/sources/SourcesPanel.ts +7 -0
  419. package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
  420. package/front_end/panels/sources/UISourceCodeFrame.ts +1 -1
  421. package/front_end/panels/sources/components/BreakpointsView.ts +25 -26
  422. package/front_end/panels/sources/components/HeadersView.ts +17 -15
  423. package/front_end/panels/timeline/AnimationsTrackAppender.ts +18 -3
  424. package/front_end/panels/timeline/AnnotationHelpers.ts +1 -1
  425. package/front_end/panels/timeline/AppenderUtils.ts +1 -1
  426. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +27 -10
  427. package/front_end/panels/timeline/CountersGraph.ts +1 -1
  428. package/front_end/panels/timeline/EntriesFilter.test.ts +68 -0
  429. package/front_end/panels/timeline/EntriesFilter.ts +13 -0
  430. package/front_end/panels/timeline/EventsTimelineTreeView.ts +1 -1
  431. package/front_end/panels/timeline/InteractionsTrackAppender.ts +10 -0
  432. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +135 -1
  433. package/front_end/panels/timeline/ModificationsManager.test.ts +160 -0
  434. package/front_end/panels/timeline/ModificationsManager.ts +31 -0
  435. package/front_end/panels/timeline/TimelineDetailsView.test.ts +4 -2
  436. package/front_end/panels/timeline/TimelineDetailsView.ts +34 -12
  437. package/front_end/panels/timeline/TimelineEventOverview.ts +1 -0
  438. package/front_end/panels/timeline/TimelineFlameChartDataProvider.test.ts +53 -0
  439. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +50 -20
  440. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.test.ts +57 -0
  441. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +18 -0
  442. package/front_end/panels/timeline/TimelineFlameChartView.ts +90 -29
  443. package/front_end/panels/timeline/TimelineHistoryManager.ts +3 -1
  444. package/front_end/panels/timeline/TimelineLoader.ts +1 -1
  445. package/front_end/panels/timeline/TimelinePanel.ts +49 -37
  446. package/front_end/panels/timeline/TimelineSelectorStatsView.ts +16 -12
  447. package/front_end/panels/timeline/TimelineTreeView.test.ts +9 -9
  448. package/front_end/panels/timeline/TimelineTreeView.ts +1 -1
  449. package/front_end/panels/timeline/TimelineUIUtils.ts +116 -41
  450. package/front_end/panels/timeline/TimingsTrackAppender.ts +1 -1
  451. package/front_end/panels/timeline/components/BreadcrumbsUI.ts +2 -3
  452. package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +8 -7
  453. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +28 -27
  454. package/front_end/panels/timeline/components/InteractionBreakdown.ts +3 -2
  455. package/front_end/panels/timeline/components/LayoutShiftDetails.test.ts +13 -11
  456. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +217 -87
  457. package/front_end/panels/timeline/components/LiveMetricsView.test.ts +194 -69
  458. package/front_end/panels/timeline/components/LiveMetricsView.ts +327 -141
  459. package/front_end/panels/timeline/components/MetricCard.test.ts +8 -8
  460. package/front_end/panels/timeline/components/MetricCard.ts +6 -4
  461. package/front_end/panels/timeline/components/MetricCompareStrings.ts +1 -1
  462. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +16 -13
  463. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +12 -10
  464. package/front_end/panels/timeline/components/NetworkThrottlingSelector.test.ts +35 -2
  465. package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +30 -13
  466. package/front_end/panels/timeline/components/RelatedInsightChips.test.ts +74 -0
  467. package/front_end/panels/timeline/components/RelatedInsightChips.ts +92 -0
  468. package/front_end/panels/timeline/components/Sidebar.test.ts +74 -0
  469. package/front_end/panels/timeline/components/Sidebar.ts +32 -13
  470. package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +66 -0
  471. package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +108 -39
  472. package/front_end/panels/timeline/components/SidebarInsightsTab.test.ts +11 -1
  473. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +70 -37
  474. package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +59 -1
  475. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +90 -34
  476. package/front_end/panels/timeline/components/Utils.test.ts +65 -0
  477. package/front_end/panels/timeline/components/Utils.ts +117 -0
  478. package/front_end/panels/timeline/components/components.ts +2 -0
  479. package/front_end/panels/timeline/components/insights/CLSCulprits.ts +67 -53
  480. package/front_end/panels/timeline/components/insights/DocumentLatency.ts +98 -14
  481. package/front_end/panels/timeline/components/insights/EventRef.ts +92 -0
  482. package/front_end/panels/timeline/components/insights/FontDisplay.ts +24 -13
  483. package/front_end/panels/timeline/components/insights/Helpers.ts +48 -43
  484. package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +20 -18
  485. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +93 -48
  486. package/front_end/panels/timeline/components/insights/LCPPhases.ts +28 -9
  487. package/front_end/panels/timeline/components/insights/NodeLink.ts +3 -1
  488. package/front_end/panels/timeline/components/insights/RenderBlocking.ts +33 -25
  489. package/front_end/panels/timeline/components/insights/SidebarInsight.ts +92 -15
  490. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +26 -39
  491. package/front_end/panels/timeline/components/insights/Table.ts +12 -9
  492. package/front_end/panels/timeline/components/insights/ThirdParties.ts +20 -12
  493. package/front_end/panels/timeline/components/insights/Viewport.ts +23 -20
  494. package/front_end/panels/timeline/components/insights/insights.ts +2 -0
  495. package/front_end/panels/timeline/components/insights/sidebarInsight.css +54 -9
  496. package/front_end/panels/timeline/components/insights/table.css +9 -1
  497. package/front_end/panels/timeline/components/layoutShiftDetails.css +22 -20
  498. package/front_end/panels/timeline/components/liveMetricsView.css +46 -16
  499. package/front_end/panels/timeline/components/networkRequestDetails.css +2 -1
  500. package/front_end/panels/timeline/components/relatedInsightChips.css +45 -0
  501. package/front_end/panels/timeline/components/sidebarInsightsTab.css +24 -6
  502. package/front_end/panels/timeline/components/sidebarSingleInsightSet.css +18 -4
  503. package/front_end/panels/timeline/extensions/ExtensionUI.ts +4 -1
  504. package/front_end/panels/timeline/fixtures/traces/basic.json.gz +0 -0
  505. package/front_end/panels/timeline/fixtures/traces/many-redirects.json.gz +0 -0
  506. package/front_end/panels/timeline/fixtures/traces/missing-url.json.gz +0 -0
  507. package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +40 -51
  508. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +87 -39
  509. package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +13 -11
  510. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +24 -32
  511. package/front_end/panels/timeline/overlays/components/TimeRangeOverlay.ts +23 -24
  512. package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.test.ts +42 -0
  513. package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.ts +25 -19
  514. package/front_end/panels/timeline/overlays/components/entryLabelOverlay.css +0 -14
  515. package/front_end/panels/timeline/overlays/components/timeRangeOverlay.css +16 -13
  516. package/front_end/panels/timeline/overlays/components/timespanBreakdownOverlay.css +59 -20
  517. package/front_end/panels/timeline/timelineFlameChartView.css +3 -2
  518. package/front_end/panels/timeline/timelineFlamechartPopover.css +19 -0
  519. package/front_end/panels/timeline/timelineHistoryManager.css +4 -0
  520. package/front_end/panels/timeline/timelinePanel.css +2 -10
  521. package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +7 -7
  522. package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +1 -1
  523. package/front_end/panels/timeline/utils/Helpers.test.ts +38 -0
  524. package/front_end/panels/timeline/utils/Helpers.ts +94 -0
  525. package/front_end/panels/timeline/utils/ImageCache.test.ts +106 -0
  526. package/front_end/panels/timeline/utils/ImageCache.ts +55 -0
  527. package/front_end/panels/timeline/utils/SourceMapsResolver.test.ts +13 -1
  528. package/front_end/panels/timeline/utils/SourceMapsResolver.ts +11 -2
  529. package/front_end/panels/timeline/utils/utils.ts +4 -0
  530. package/front_end/panels/utils/utils.ts +1 -1
  531. package/front_end/panels/web_audio/graph_visualizer/EdgeView.ts +1 -1
  532. package/front_end/panels/web_audio/graph_visualizer/GraphView.ts +3 -9
  533. package/front_end/panels/webauthn/WebauthnPane.test.ts +75 -4
  534. package/front_end/panels/webauthn/WebauthnPane.ts +24 -3
  535. package/front_end/testing/EnvironmentHelpers.ts +19 -4
  536. package/front_end/testing/ExtensionHelpers.ts +1 -1
  537. package/front_end/testing/LanguagePluginHelpers.ts +1 -1
  538. package/front_end/testing/MockConnection.ts +1 -1
  539. package/front_end/testing/MockIssuesManager.ts +1 -1
  540. package/front_end/testing/MockScopeChain.ts +1 -1
  541. package/front_end/testing/MutationHelpers.test.ts +6 -8
  542. package/front_end/testing/TraceHelpers.ts +3 -1
  543. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  544. package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
  545. package/front_end/third_party/codemirror.next/chunk/java.js +1 -1
  546. package/front_end/third_party/codemirror.next/chunk/java.js.map +1 -1
  547. package/front_end/third_party/codemirror.next/chunk/sass.js +1 -1
  548. package/front_end/third_party/codemirror.next/chunk/sass.js.map +1 -1
  549. package/front_end/third_party/codemirror.next/codemirror.next.d.ts +11 -3
  550. package/front_end/third_party/codemirror.next/package.json +5 -5
  551. package/front_end/third_party/i18n/localized-string-set.ts +1 -1
  552. package/front_end/third_party/puppeteer/README.chromium +2 -2
  553. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
  554. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
  555. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts.map +1 -1
  556. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js.map +1 -1
  557. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +9 -9
  558. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts.map +1 -1
  559. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js +84 -84
  560. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js.map +1 -1
  561. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  562. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  563. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
  564. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js +1 -2
  565. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js.map +1 -1
  566. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.d.ts.map +1 -1
  567. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Browser.js.map +1 -1
  568. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  569. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  570. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Navigation.d.ts.map +1 -1
  571. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Navigation.js.map +1 -1
  572. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.d.ts.map +1 -1
  573. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Realm.js.map +1 -1
  574. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.d.ts.map +1 -1
  575. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.js.map +1 -1
  576. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Session.d.ts.map +1 -1
  577. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Session.js.map +1 -1
  578. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserContext.d.ts.map +1 -1
  579. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserContext.js.map +1 -1
  580. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserPrompt.d.ts.map +1 -1
  581. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserPrompt.js.map +1 -1
  582. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts.map +1 -1
  583. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +7 -4
  584. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
  585. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
  586. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js +2 -3
  587. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js.map +1 -1
  588. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.d.ts.map +1 -1
  589. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ExecutionContext.js.map +1 -1
  590. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.d.ts +2 -0
  591. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.d.ts.map +1 -1
  592. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js +17 -0
  593. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js.map +1 -1
  594. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.d.ts.map +1 -1
  595. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/IsolatedWorld.js.map +1 -1
  596. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.d.ts.map +1 -1
  597. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js +1 -2
  598. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js.map +1 -1
  599. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.d.ts.map +1 -1
  600. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js +1 -1
  601. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js.map +1 -1
  602. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.d.ts +1 -1
  603. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.d.ts.map +1 -1
  604. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.js +1 -1
  605. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/injected.js.map +1 -1
  606. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
  607. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
  608. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/PQuerySelector.js +1 -1
  609. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/PQuerySelector.js.map +1 -1
  610. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  611. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
  612. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ScreenRecorder.js.map +1 -1
  613. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +2 -2
  614. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +2 -2
  615. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  616. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +2 -1
  617. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +114 -97
  618. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
  619. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
  620. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts.map +1 -1
  621. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js.map +1 -1
  622. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +9 -9
  623. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts.map +1 -1
  624. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js +82 -83
  625. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js.map +1 -1
  626. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  627. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  628. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
  629. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js +2 -3
  630. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js.map +1 -1
  631. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.d.ts.map +1 -1
  632. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Browser.js.map +1 -1
  633. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  634. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  635. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Navigation.d.ts.map +1 -1
  636. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Navigation.js.map +1 -1
  637. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.d.ts.map +1 -1
  638. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Realm.js.map +1 -1
  639. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.d.ts.map +1 -1
  640. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.js.map +1 -1
  641. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Session.d.ts.map +1 -1
  642. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Session.js.map +1 -1
  643. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserContext.d.ts.map +1 -1
  644. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserContext.js.map +1 -1
  645. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserPrompt.d.ts.map +1 -1
  646. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserPrompt.js.map +1 -1
  647. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts.map +1 -1
  648. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +7 -4
  649. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
  650. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
  651. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js +3 -4
  652. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js.map +1 -1
  653. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.d.ts.map +1 -1
  654. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ExecutionContext.js.map +1 -1
  655. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.d.ts +2 -0
  656. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.d.ts.map +1 -1
  657. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js +17 -0
  658. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js.map +1 -1
  659. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.d.ts.map +1 -1
  660. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/IsolatedWorld.js.map +1 -1
  661. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.d.ts.map +1 -1
  662. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js +1 -2
  663. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js.map +1 -1
  664. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.d.ts.map +1 -1
  665. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js +1 -1
  666. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js.map +1 -1
  667. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.d.ts +1 -1
  668. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.d.ts.map +1 -1
  669. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.js +1 -1
  670. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/injected.js.map +1 -1
  671. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
  672. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
  673. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/PQuerySelector.js +1 -1
  674. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/injected/PQuerySelector.js.map +1 -1
  675. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ScreenRecorder.d.ts.map +1 -1
  676. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ScreenRecorder.js.map +1 -1
  677. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +2 -2
  678. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +2 -2
  679. package/front_end/third_party/puppeteer/package/lib/types.d.ts +2 -1
  680. package/front_end/third_party/puppeteer/package/package.json +2 -2
  681. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +1 -1
  682. package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +1 -1
  683. package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +89 -89
  684. package/front_end/third_party/puppeteer/package/src/api/Page.ts +1 -1
  685. package/front_end/third_party/puppeteer/package/src/bidi/ElementHandle.ts +6 -2
  686. package/front_end/third_party/puppeteer/package/src/bidi/core/Browser.ts +1 -1
  687. package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +1 -1
  688. package/front_end/third_party/puppeteer/package/src/bidi/core/Navigation.ts +1 -1
  689. package/front_end/third_party/puppeteer/package/src/bidi/core/Realm.ts +2 -2
  690. package/front_end/third_party/puppeteer/package/src/bidi/core/Request.ts +1 -1
  691. package/front_end/third_party/puppeteer/package/src/bidi/core/Session.ts +1 -1
  692. package/front_end/third_party/puppeteer/package/src/bidi/core/UserContext.ts +1 -1
  693. package/front_end/third_party/puppeteer/package/src/bidi/core/UserPrompt.ts +1 -1
  694. package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +9 -5
  695. package/front_end/third_party/puppeteer/package/src/cdp/ElementHandle.ts +7 -3
  696. package/front_end/third_party/puppeteer/package/src/cdp/ExecutionContext.ts +1 -1
  697. package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +22 -1
  698. package/front_end/third_party/puppeteer/package/src/cdp/IsolatedWorld.ts +1 -1
  699. package/front_end/third_party/puppeteer/package/src/common/QueryHandler.ts +1 -3
  700. package/front_end/third_party/puppeteer/package/src/common/util.ts +2 -1
  701. package/front_end/third_party/puppeteer/package/src/generated/injected.ts +1 -1
  702. package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
  703. package/front_end/third_party/puppeteer/package/src/injected/PQuerySelector.ts +1 -1
  704. package/front_end/third_party/puppeteer/package/src/node/ScreenRecorder.ts +1 -1
  705. package/front_end/third_party/puppeteer/package/src/revisions.ts +2 -2
  706. package/front_end/third_party/puppeteer/puppeteer.ts +1 -1
  707. package/front_end/ui/components/buttons/Button.ts +18 -17
  708. package/front_end/ui/components/buttons/button.css +0 -4
  709. package/front_end/ui/components/cards/Card.test.ts +66 -0
  710. package/front_end/ui/components/cards/Card.ts +57 -0
  711. package/front_end/ui/components/cards/card.css +32 -0
  712. package/front_end/ui/components/cards/cards.ts +9 -0
  713. package/front_end/ui/components/chrome_link/ChromeLink.test.ts +5 -3
  714. package/front_end/ui/components/chrome_link/ChromeLink.ts +3 -1
  715. package/front_end/ui/components/data_grid/DataGrid.test.ts +3 -1
  716. package/front_end/ui/components/data_grid/DataGrid.ts +25 -23
  717. package/front_end/ui/components/data_grid/DataGridContextMenuUtils.ts +2 -2
  718. package/front_end/ui/components/data_grid/DataGridController.ts +9 -5
  719. package/front_end/ui/components/data_grid/DataGridEvents.ts +1 -1
  720. package/front_end/ui/components/data_grid/DataGridRenderers.ts +7 -4
  721. package/front_end/ui/components/dialogs/Dialog.ts +4 -2
  722. package/front_end/ui/components/dialogs/IconDialog.ts +9 -7
  723. package/front_end/ui/components/dialogs/ShortcutDialog.ts +10 -8
  724. package/front_end/ui/components/diff_view/DiffView.ts +9 -8
  725. package/front_end/ui/components/docs/create_breadcrumbs.ts +3 -1
  726. package/front_end/ui/components/docs/expandable_list/basic.ts +4 -2
  727. package/front_end/ui/components/docs/floating_button/basic.html +26 -0
  728. package/front_end/ui/components/docs/floating_button/basic.ts +20 -0
  729. package/front_end/ui/components/docs/freestyler/basic.ts +5 -0
  730. package/front_end/ui/components/docs/freestyler/empty_state.ts +5 -0
  731. package/front_end/ui/components/docs/icon_dialog/basic.ts +5 -3
  732. package/front_end/ui/components/docs/panel_introduction_steps/basic.ts +7 -4
  733. package/front_end/ui/components/docs/performance_panel/flamechart.html +4 -0
  734. package/front_end/ui/components/docs/performance_panel/flamechart.ts +45 -0
  735. package/front_end/ui/components/docs/recorder_select_button/basic.ts +21 -18
  736. package/front_end/ui/components/docs/report/basic.ts +19 -23
  737. package/front_end/ui/components/docs/theme_colors/basic.ts +4 -2
  738. package/front_end/ui/components/docs/tree_outline/custom-renderers.ts +4 -2
  739. package/front_end/ui/components/expandable_list/ExpandableList.test.ts +5 -3
  740. package/front_end/ui/components/expandable_list/ExpandableList.ts +6 -4
  741. package/front_end/ui/components/floating_button/FloatingButton.ts +51 -0
  742. package/front_end/ui/components/floating_button/floatingButton.css +63 -0
  743. package/front_end/ui/components/floating_button/floating_button.ts +7 -0
  744. package/front_end/ui/components/helpers/helpers.test.ts +18 -14
  745. package/front_end/ui/components/icon_button/Icon.ts +2 -2
  746. package/front_end/ui/components/icon_button/IconButton.ts +15 -10
  747. package/front_end/ui/components/issue_counter/IssueCounter.ts +5 -1
  748. package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +7 -4
  749. package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +0 -1
  750. package/front_end/ui/components/linkifier/LinkifierImpl.ts +3 -1
  751. package/front_end/ui/components/markdown_view/CodeBlock.test.ts +7 -7
  752. package/front_end/ui/components/markdown_view/CodeBlock.ts +33 -41
  753. package/front_end/ui/components/markdown_view/MarkdownImage.ts +12 -9
  754. package/front_end/ui/components/markdown_view/MarkdownLink.ts +3 -1
  755. package/front_end/ui/components/markdown_view/MarkdownView.test.ts +51 -3
  756. package/front_end/ui/components/markdown_view/MarkdownView.ts +39 -22
  757. package/front_end/ui/components/markdown_view/codeBlock.css +6 -28
  758. package/front_end/ui/components/markdown_view/markdownLink.css +1 -1
  759. package/front_end/ui/components/markdown_view/markdownView.css +4 -0
  760. package/front_end/ui/components/menus/Menu.ts +7 -5
  761. package/front_end/ui/components/menus/SelectMenu.test.ts +3 -1
  762. package/front_end/ui/components/menus/SelectMenu.ts +17 -15
  763. package/front_end/ui/components/panel_feedback/FeedbackButton.ts +5 -3
  764. package/front_end/ui/components/panel_feedback/PanelFeedback.ts +8 -4
  765. package/front_end/ui/components/panel_feedback/PreviewToggle.ts +6 -4
  766. package/front_end/ui/components/panel_introduction_steps/PanelIntroductionSteps.ts +3 -1
  767. package/front_end/ui/components/report_view/ReportView.test.ts +5 -3
  768. package/front_end/ui/components/report_view/ReportView.ts +9 -7
  769. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +8 -5
  770. package/front_end/ui/components/settings/SettingCheckbox.ts +14 -12
  771. package/front_end/ui/components/settings/SettingDeprecationWarning.ts +7 -4
  772. package/front_end/ui/components/spinners/Spinner.ts +3 -1
  773. package/front_end/ui/components/split_view/SplitView.ts +3 -1
  774. package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +3 -1
  775. package/front_end/ui/components/suggestion_input/SuggestionInput.ts +3 -2
  776. package/front_end/ui/components/survey_link/SurveyLink.ts +7 -3
  777. package/front_end/ui/components/switch/SwitchImpl.ts +3 -1
  778. package/front_end/ui/components/text_editor/TextEditorHistory.ts +2 -2
  779. package/front_end/ui/components/text_prompt/TextPrompt.ts +3 -1
  780. package/front_end/ui/components/tree_outline/TreeOutline.test.ts +8 -6
  781. package/front_end/ui/components/tree_outline/TreeOutline.ts +9 -8
  782. package/front_end/ui/components/two_states_counter/TwoStatesCounter.ts +5 -3
  783. package/front_end/ui/legacy/Context.ts +1 -1
  784. package/front_end/ui/legacy/Dialog.ts +2 -2
  785. package/front_end/ui/legacy/DockController.ts +2 -2
  786. package/front_end/ui/legacy/FilterBar.ts +1 -1
  787. package/front_end/ui/legacy/FilterSuggestionBuilder.ts +1 -1
  788. package/front_end/ui/legacy/GlassPane.ts +1 -1
  789. package/front_end/ui/legacy/Infobar.ts +1 -1
  790. package/front_end/ui/legacy/InspectorView.ts +5 -5
  791. package/front_end/ui/legacy/Panel.ts +1 -1
  792. package/front_end/ui/legacy/ShortcutRegistry.ts +1 -1
  793. package/front_end/ui/legacy/SplitWidget.test.ts +33 -1
  794. package/front_end/ui/legacy/SplitWidget.ts +62 -7
  795. package/front_end/ui/legacy/TabbedPane.ts +24 -0
  796. package/front_end/ui/legacy/Toolbar.test.ts +39 -0
  797. package/front_end/ui/legacy/Toolbar.ts +16 -17
  798. package/front_end/ui/legacy/UIUtils.ts +1 -1
  799. package/front_end/ui/legacy/View.ts +2 -2
  800. package/front_end/ui/legacy/ViewManager.ts +3 -2
  801. package/front_end/ui/legacy/ViewRegistration.ts +2 -2
  802. package/front_end/ui/legacy/Widget.ts +62 -14
  803. package/front_end/ui/legacy/XElement.ts +0 -1
  804. package/front_end/ui/legacy/XLink.test.ts +3 -1
  805. package/front_end/ui/legacy/XLink.ts +6 -4
  806. package/front_end/ui/legacy/checkboxTextLabel.css +4 -0
  807. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +1 -1
  808. package/front_end/ui/legacy/components/data_grid/DataGridWithPreview.ts +21 -10
  809. package/front_end/ui/legacy/components/inline_editor/AnimationTimingUI.ts +1 -1
  810. package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +10 -7
  811. package/front_end/ui/legacy/components/inline_editor/ColorMixSwatch.ts +3 -1
  812. package/front_end/ui/legacy/components/inline_editor/ColorSwatch.ts +3 -1
  813. package/front_end/ui/legacy/components/inline_editor/LinkSwatch.ts +9 -9
  814. package/front_end/ui/legacy/components/inline_editor/Swatches.ts +5 -4
  815. package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +2 -2
  816. package/front_end/ui/legacy/components/perf_ui/FilmStripView.test.ts +9 -9
  817. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +49 -13
  818. package/front_end/ui/legacy/components/perf_ui/PieChart.ts +1 -0
  819. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.ts +1 -1
  820. package/front_end/ui/legacy/inspectorCommon.css +0 -1
  821. package/front_end/ui/legacy/themeColors.css +10 -0
  822. package/front_end/ui/legacy/toolbar.css +4 -0
  823. package/front_end/ui/legacy/treeoutline.css +0 -3
  824. package/front_end/ui/lit-html/static.test.ts +8 -8
  825. package/front_end/ui/visual_logging/Debugging.ts +1 -1
  826. package/front_end/ui/visual_logging/KnownContextValues.ts +32 -3
  827. package/front_end/ui/visual_logging/LoggingDriver.ts +1 -1
  828. package/front_end/ui/visual_logging/LoggingEvents.ts +28 -28
  829. package/front_end/ui/visual_logging/LoggingState.ts +1 -1
  830. package/front_end/ui/visual_logging/NonDomState.ts +2 -2
  831. package/front_end/ui/visual_logging/visual_logging.ts +3 -1
  832. package/inspector_overlay/css_grid_label_helpers.test.ts +103 -0
  833. package/inspector_overlay/css_grid_label_helpers.ts +63 -12
  834. package/inspector_overlay/highlight_common.ts +2 -2
  835. package/inspector_overlay/highlight_container_query.ts +1 -2
  836. package/inspector_overlay/highlight_flex_common.test.ts +1 -1
  837. package/inspector_overlay/highlight_flex_common.ts +2 -3
  838. package/inspector_overlay/highlight_grid_common.ts +10 -4
  839. package/inspector_overlay/highlight_isolated_element.ts +1 -1
  840. package/inspector_overlay/highlight_scroll_snap.ts +1 -2
  841. package/inspector_overlay/testing/InspectorOverlayHelpers.ts +1 -1
  842. package/inspector_overlay/tool_highlight.ts +4 -8
  843. package/package.json +4 -3
  844. package/scripts/devtools_paths.js +9 -2
  845. package/scripts/eslint_rules/lib/avoid_assert_equal.js +34 -7
  846. package/scripts/eslint_rules/lib/html_tagged_template.js +55 -0
  847. package/scripts/eslint_rules/lib/inline_type_imports.js +22 -23
  848. package/scripts/eslint_rules/tests/avoid_assert_equal_test.js +61 -2
  849. package/scripts/eslint_rules/tests/html_tagged_template_test.js +96 -0
  850. package/scripts/eslint_rules/tests/inline_type_imports_test.js +5 -25
  851. package/scripts/freestyler/eval/index.js +83 -47
  852. package/scripts/protocol_typescript/protocol_dts_generator.ts +1 -1
  853. package/scripts/stylelint_rules/lib/use_theme_colors.js +2 -1
  854. package/scripts/stylelint_rules/tests/use_theme_colors_test.js +16 -0
  855. package/front_end/Images/src/spark.svg +0 -3
  856. package/front_end/panels/timeline/components/insights/lcpDiscovery.css +0 -13
  857. package/scripts/eslint_rules/lib/ban_literal_devtools_component_tag_names.js +0 -40
  858. package/scripts/eslint_rules/lib/check_component_naming.js +0 -214
  859. package/scripts/eslint_rules/tests/ban_literal_devtools_component_tag_names_test.js +0 -38
  860. package/scripts/eslint_rules/tests/check_component_naming_test.js +0 -246
@@ -281,21 +281,21 @@ describeWithEnvironment('Overlays', () => {
281
281
  });
282
282
  const currManager = Timeline.ModificationsManager.ModificationsManager.activeManager();
283
283
  // The Annotations Overlays are added through the ModificationsManager listener
284
- currManager?.addEventListener(Timeline.ModificationsManager.AnnotationModifiedEvent.eventName, event => {
284
+ currManager?.addEventListener(Timeline.ModificationsManager.AnnotationModifiedEvent.eventName, async event => {
285
285
  const {overlay, action} = (event as Timeline.ModificationsManager.AnnotationModifiedEvent);
286
286
  if (action === 'Add') {
287
287
  overlays.add(overlay);
288
288
  }
289
- overlays.update();
289
+ await overlays.update();
290
290
  });
291
291
 
292
292
  // When an annotation overlay is remomved, this event is dispatched to the Modifications Manager.
293
- overlays.addEventListener(Overlays.Overlays.AnnotationOverlayActionEvent.eventName, event => {
293
+ overlays.addEventListener(Overlays.Overlays.AnnotationOverlayActionEvent.eventName, async event => {
294
294
  const {overlay, action} = (event as Overlays.Overlays.AnnotationOverlayActionEvent);
295
295
  if (action === 'Remove') {
296
296
  overlays.remove(overlay);
297
297
  }
298
- overlays.update();
298
+ await overlays.update();
299
299
  });
300
300
 
301
301
  overlays.updateChartDimensions('main', {
@@ -327,7 +327,7 @@ describeWithEnvironment('Overlays', () => {
327
327
  type: 'ENTRY_SELECTED',
328
328
  entry: event,
329
329
  });
330
- overlays.update();
330
+ await overlays.update();
331
331
 
332
332
  // Ensure that the overlay was created.
333
333
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_SELECTED');
@@ -344,7 +344,7 @@ describeWithEnvironment('Overlays', () => {
344
344
  entry: event,
345
345
  outlineReason: 'ERROR',
346
346
  });
347
- overlays.update();
347
+ await overlays.update();
348
348
 
349
349
  const outlineVisible =
350
350
  container.querySelector<HTMLElement>('.overlay-type-ENTRY_OUTLINE')?.style.display === 'block';
@@ -355,7 +355,7 @@ describeWithEnvironment('Overlays', () => {
355
355
  type: 'ENTRY_SELECTED',
356
356
  entry: event,
357
357
  });
358
- overlays.update();
358
+ await overlays.update();
359
359
  const outlineNowHidden =
360
360
  container.querySelector<HTMLElement>('.overlay-type-ENTRY_OUTLINE')?.style.display === 'none';
361
361
  assert.isTrue(outlineNowHidden, 'The ENTRY_OUTLINE should be hidden');
@@ -373,12 +373,12 @@ describeWithEnvironment('Overlays', () => {
373
373
  type: 'ENTRY_SELECTED',
374
374
  entry: event1,
375
375
  });
376
- overlays.update();
376
+ await overlays.update();
377
377
  overlays.add({
378
378
  type: 'ENTRY_SELECTED',
379
379
  entry: event2,
380
380
  });
381
- overlays.update();
381
+ await overlays.update();
382
382
 
383
383
  // There should only be one of these
384
384
  const entrySelectedOverlays = container.querySelectorAll<HTMLElement>('.overlay-type-ENTRY_SELECTED');
@@ -397,7 +397,7 @@ describeWithEnvironment('Overlays', () => {
397
397
  entry: event,
398
398
  label: 'entry label',
399
399
  });
400
- overlays.update();
400
+ await overlays.update();
401
401
 
402
402
  // Ensure that the overlay was created.
403
403
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
@@ -415,7 +415,7 @@ describeWithEnvironment('Overlays', () => {
415
415
  type: 'CURSOR_TIMESTAMP_MARKER',
416
416
  timestamp: parsedTrace.Meta.traceBounds.max,
417
417
  });
418
- overlays.update();
418
+ await overlays.update();
419
419
  assert.lengthOf(container.children, 1);
420
420
  });
421
421
 
@@ -431,7 +431,7 @@ describeWithEnvironment('Overlays', () => {
431
431
  entry: event,
432
432
  label: 'entry label',
433
433
  });
434
- overlays.update();
434
+ await overlays.update();
435
435
 
436
436
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
437
437
  assert.isOk(overlayDOM);
@@ -441,10 +441,7 @@ describeWithEnvironment('Overlays', () => {
441
441
  const elementsWrapper = component.shadowRoot.querySelector<HTMLElement>('.label-parts-wrapper');
442
442
  assert.isOk(elementsWrapper);
443
443
 
444
- const labelBox = elementsWrapper.querySelector<HTMLElement>('.label-box');
445
- assert.isOk(labelBox);
446
-
447
- const inputField = labelBox.querySelector<HTMLElement>('.input-field');
444
+ const inputField = elementsWrapper.querySelector<HTMLElement>('.input-field');
448
445
  assert.isOk(inputField);
449
446
 
450
447
  assert.strictEqual(inputField?.innerText, 'entry label');
@@ -463,7 +460,7 @@ describeWithEnvironment('Overlays', () => {
463
460
  entry: event,
464
461
  label: 'label',
465
462
  });
466
- overlays.update();
463
+ await overlays.update();
467
464
 
468
465
  // Ensure that the overlay was created.
469
466
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
@@ -475,9 +472,7 @@ describeWithEnvironment('Overlays', () => {
475
472
  const elementsWrapper = component.shadowRoot.querySelector<HTMLElement>('.label-parts-wrapper');
476
473
  assert.isOk(elementsWrapper);
477
474
 
478
- const label = elementsWrapper.querySelector<HTMLElement>('.label-box');
479
- assert.isOk(label);
480
- const inputField = label.querySelector<HTMLElement>('.input-field');
475
+ const inputField = elementsWrapper.querySelector<HTMLElement>('.input-field');
481
476
  assert.isOk(inputField);
482
477
 
483
478
  // Double click on the label box to make it editable and focus on it
@@ -508,7 +503,7 @@ describeWithEnvironment('Overlays', () => {
508
503
  // Make this overlay the entire span of the trace
509
504
  bounds: parsedTrace.Meta.traceBounds,
510
505
  });
511
- overlays.update();
506
+ await overlays.update();
512
507
 
513
508
  // Ensure that the overlay was created.
514
509
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-TIME_RANGE');
@@ -549,7 +544,7 @@ describeWithEnvironment('Overlays', () => {
549
544
  // Make this overlay the entire span of the trace
550
545
  bounds: parsedTrace.Meta.traceBounds,
551
546
  });
552
- overlays.update();
547
+ await overlays.update();
553
548
 
554
549
  // Ensure that the overlay was created.
555
550
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-TIME_RANGE');
@@ -592,7 +587,7 @@ describeWithEnvironment('Overlays', () => {
592
587
  label: 'label2',
593
588
  bounds: parsedTrace.Meta.traceBounds,
594
589
  });
595
- overlays.update();
590
+ await overlays.update();
596
591
 
597
592
  assert.strictEqual(overlays.overlaysOfType('TIME_RANGE').length, 2);
598
593
  });
@@ -609,7 +604,7 @@ describeWithEnvironment('Overlays', () => {
609
604
  entry: event as Trace.Types.Events.Event,
610
605
  label: '',
611
606
  });
612
- overlays.update();
607
+ await overlays.update();
613
608
 
614
609
  // Ensure that the overlay was created.
615
610
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
@@ -621,9 +616,6 @@ describeWithEnvironment('Overlays', () => {
621
616
  const elementsWrapper = component.shadowRoot.querySelector<HTMLElement>('.label-parts-wrapper');
622
617
  assert.isOk(elementsWrapper);
623
618
 
624
- const label = elementsWrapper.querySelector<HTMLElement>('.label-box');
625
- assert.isOk(label);
626
-
627
619
  const inputField = elementsWrapper.querySelector<HTMLElement>('.input-field');
628
620
  assert.isOk(inputField);
629
621
 
@@ -653,7 +645,7 @@ describeWithEnvironment('Overlays', () => {
653
645
  entry: event as Trace.Types.Events.Event,
654
646
  label: '',
655
647
  });
656
- overlays.update();
648
+ await overlays.update();
657
649
 
658
650
  // Ensure that the overlay was created.
659
651
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
@@ -681,7 +673,7 @@ describeWithEnvironment('Overlays', () => {
681
673
  // Make this overlay the entire span of the trace
682
674
  bounds: parsedTrace.Meta.traceBounds,
683
675
  });
684
- overlays.update();
676
+ await overlays.update();
685
677
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-TIME_RANGE');
686
678
  assert.isOk(overlayDOM);
687
679
  });
@@ -696,7 +688,7 @@ describeWithEnvironment('Overlays', () => {
696
688
  // Make this overlay the entire span of the trace
697
689
  bounds: parsedTrace.Meta.traceBounds,
698
690
  });
699
- overlays.update();
691
+ await overlays.update();
700
692
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-TIME_RANGE');
701
693
  assert.isOk(overlayDOM);
702
694
  });
@@ -711,7 +703,7 @@ describeWithEnvironment('Overlays', () => {
711
703
  // Make this overlay the entire span of the trace
712
704
  bounds: parsedTrace.Meta.traceBounds,
713
705
  });
714
- overlays.update();
706
+ await overlays.update();
715
707
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-TIME_RANGE');
716
708
  assert.isOk(overlayDOM);
717
709
  const firstWidth = window.parseInt(overlayDOM.style.width);
@@ -722,7 +714,7 @@ describeWithEnvironment('Overlays', () => {
722
714
  rangeOverlay.bounds.max,
723
715
  );
724
716
  overlays.updateExisting(rangeOverlay, {bounds: newBounds});
725
- overlays.update();
717
+ await overlays.update();
726
718
  const secondWidth = window.parseInt(overlayDOM.style.width);
727
719
  // The new time range is smaller so the DOM element should have less width
728
720
  assert.isTrue(secondWidth < firstWidth);
@@ -742,7 +734,7 @@ describeWithEnvironment('Overlays', () => {
742
734
  const boundsRange = Trace.Types.Timing.MicroSeconds(20_000);
743
735
  const boundsMax = Trace.Types.Timing.MicroSeconds(layoutShiftEvent.ts + boundsRange);
744
736
  overlays.updateVisibleWindow({min: layoutShiftEvent.ts, max: boundsMax, range: boundsRange});
745
- overlays.update();
737
+ await overlays.update();
746
738
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_SELECTED');
747
739
  assert.isOk(overlayDOM);
748
740
  assert.strictEqual(window.parseInt(overlayDOM.style.width), 2);
@@ -758,7 +750,7 @@ describeWithEnvironment('Overlays', () => {
758
750
  // Make this overlay the entire span of the trace
759
751
  bounds: parsedTrace.Meta.traceBounds,
760
752
  });
761
- overlays.update();
753
+ await overlays.update();
762
754
  await coordinator.done();
763
755
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-TIME_RANGE');
764
756
  const component = overlayDOM?.querySelector('devtools-time-range-overlay');
@@ -781,11 +773,11 @@ describeWithEnvironment('Overlays', () => {
781
773
  type: 'ENTRY_SELECTED',
782
774
  entry: event,
783
775
  });
784
- overlays.update();
776
+ await overlays.update();
785
777
  assert.lengthOf(container.children, 1);
786
778
 
787
779
  overlays.remove(selectedOverlay);
788
- overlays.update();
780
+ await overlays.update();
789
781
  assert.lengthOf(container.children, 0);
790
782
  });
791
783
 
@@ -800,7 +792,7 @@ describeWithEnvironment('Overlays', () => {
800
792
  type: 'ENTRY_SELECTED',
801
793
  entry: timelineFrame,
802
794
  });
803
- overlays.update();
795
+ await overlays.update();
804
796
 
805
797
  // Ensure that the overlay was created.
806
798
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_SELECTED');
@@ -838,7 +830,7 @@ describeWithEnvironment('Overlays', () => {
838
830
  type: 'ENTRY_SELECTED',
839
831
  entry: event,
840
832
  });
841
- overlays.update();
833
+ await overlays.update();
842
834
 
843
835
  assert.lengthOf(container.children, 1);
844
836
  const removedCount = overlays.removeOverlaysOfType('ENTRY_SELECTED');
@@ -860,16 +852,14 @@ describeWithEnvironment('Overlays', () => {
860
852
  entry: event as Trace.Types.Events.Event,
861
853
  });
862
854
 
863
- overlays.update();
855
+ await overlays.update();
864
856
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
865
857
  assert.isOk(overlayDOM);
866
858
  const component = overlayDOM?.querySelector('devtools-entry-label-overlay');
867
859
  assert.isOk(component?.shadowRoot);
868
860
 
869
861
  const elementsWrapper = component.shadowRoot.querySelector<HTMLElement>('.label-parts-wrapper');
870
- const labelBox = elementsWrapper?.querySelector<HTMLElement>('.label-box') as HTMLSpanElement;
871
-
872
- const inputField = labelBox.querySelector<HTMLElement>('.input-field');
862
+ const inputField = elementsWrapper?.querySelector<HTMLElement>('.input-field') as HTMLSpanElement;
873
863
  assert.isOk(inputField);
874
864
  // The label input box should be editable after it is created and before anything else happened
875
865
  assert.isTrue(inputField.isContentEditable);
@@ -889,7 +879,7 @@ describeWithEnvironment('Overlays', () => {
889
879
  entry: event as Trace.Types.Events.Event,
890
880
  });
891
881
 
892
- overlays.update();
882
+ await overlays.update();
893
883
  const overlayDOM = container.querySelector<HTMLElement>('.overlay-type-ENTRY_LABEL');
894
884
  assert.isOk(overlayDOM);
895
885
  const component = overlayDOM?.querySelector('devtools-entry-label-overlay');
@@ -897,22 +887,21 @@ describeWithEnvironment('Overlays', () => {
897
887
 
898
888
  const elementsWrapper = component.shadowRoot.querySelector<HTMLElement>('.label-parts-wrapper');
899
889
  assert.isOk(elementsWrapper);
900
- const labelBox = elementsWrapper.querySelector<HTMLElement>('.label-box') as HTMLSpanElement;
890
+ const labelBox = elementsWrapper.querySelector<HTMLElement>('.input-field') as HTMLSpanElement;
901
891
 
902
- const inputField = labelBox.querySelector<HTMLElement>('.input-field');
903
- assert.isOk(inputField);
892
+ assert.isOk(labelBox);
904
893
 
905
894
  // The label input box should be editable after it is created and before anything else happened
906
- assert.isTrue(inputField.isContentEditable);
895
+ assert.isTrue(labelBox.isContentEditable);
907
896
 
908
897
  // Make the content to editable by changing the element blur like when clicking outside of it.
909
898
  // When that happens, the content should be set to not editable.
910
- inputField.dispatchEvent(new FocusEvent('blur', {bubbles: true}));
911
- assert.isFalse(inputField.isContentEditable);
899
+ labelBox.dispatchEvent(new FocusEvent('blur', {bubbles: true}));
900
+ assert.isFalse(labelBox.isContentEditable);
912
901
 
913
902
  // Double click on the label to make it editable again
914
- inputField.dispatchEvent(new FocusEvent('dblclick', {bubbles: true}));
915
- assert.isTrue(inputField.isContentEditable);
903
+ labelBox.dispatchEvent(new FocusEvent('dblclick', {bubbles: true}));
904
+ assert.isTrue(labelBox.isContentEditable);
916
905
  });
917
906
  });
918
907
 
@@ -252,6 +252,7 @@ export interface TimespanBreakdown {
252
252
  type: 'TIMESPAN_BREAKDOWN';
253
253
  sections: Array<Components.TimespanBreakdownOverlay.EntryBreakdown>;
254
254
  entry?: Trace.Types.Events.Event;
255
+ renderLocation?: 'BOTTOM_OF_TIMELINE'|'BELOW_EVENT'|'ABOVE_EVENT';
255
256
  }
256
257
 
257
258
  export interface CursorTimestampMarker {
@@ -623,7 +624,7 @@ export class Overlays extends EventTarget {
623
624
  * existing overlays will have their positions changed to ensure they are
624
625
  * rendered in the right place.
625
626
  */
626
- update(): void {
627
+ async update(): Promise<void> {
627
628
  const timeRangeOverlays: TimeRangeLabel[] = [];
628
629
  for (const [overlay, existingElement] of this.#overlaysToElements) {
629
630
  const element = existingElement || this.#createElementForNewOverlay(overlay);
@@ -633,11 +634,17 @@ export class Overlays extends EventTarget {
633
634
  this.#overlaysContainer.appendChild(element);
634
635
  }
635
636
 
637
+ // A chance to update the overlay before we re-position it. If an
638
+ // overlay's data changed, this is where we can pass that data into the
639
+ // overlay's component so it has the latest data.
640
+ this.#updateOverlayBeforePositioning(overlay, element);
641
+
636
642
  // Now we position the overlay on the timeline.
637
643
  this.#positionOverlay(overlay, element);
638
644
 
639
- // And now we give every overlay a chance to react to its new position, if it needs to
640
- this.#updateOverlayElementAfterPositioning(overlay, element);
645
+ // And now we give every overlay a chance to react to its new position,
646
+ // if it needs to
647
+ this.#updateOverlayAfterPositioning(overlay, element);
641
648
 
642
649
  if (overlay.type === 'TIME_RANGE') {
643
650
  timeRangeOverlays.push(overlay);
@@ -758,13 +765,12 @@ export class Overlays extends EventTarget {
758
765
  // chart, so we figure out the best visible entry pairs to draw
759
766
  // between.
760
767
  const entriesToConnect = this.#calculateFromAndToForEntriesLink(overlay);
761
- if (entriesToConnect === null) {
762
- // Unexpected situation: hide the overlay and move on
763
- this.#setOverlayElementVisibility(element, false);
764
- break;
765
- }
766
- this.#positionEntriesLinkOverlay(overlay, element, entriesToConnect);
768
+ const isVisible = entriesToConnect !== null && !annotationsAreHidden;
769
+ this.#setOverlayElementVisibility(element, isVisible);
767
770
 
771
+ if (isVisible) {
772
+ this.#positionEntriesLinkOverlay(overlay, element, entriesToConnect);
773
+ }
768
774
  break;
769
775
  }
770
776
  case 'TIMESPAN_BREAKDOWN': {
@@ -828,13 +834,13 @@ export class Overlays extends EventTarget {
828
834
  }
829
835
 
830
836
  #positionTimespanBreakdownOverlay(overlay: TimespanBreakdown, element: HTMLElement): void {
831
- const component = element.querySelector<HTMLElement>('devtools-timespan-breakdown-overlay');
832
- const shadow = component?.shadowRoot;
833
- const elementSections = shadow?.querySelectorAll<HTMLElement>('.timespan-breakdown-overlay-section');
834
-
835
837
  if (overlay.sections.length === 0) {
836
838
  return;
837
839
  }
840
+
841
+ const component = element.querySelector('devtools-timespan-breakdown-overlay');
842
+ const elementSections = component?.renderedSections() ?? [];
843
+
838
844
  // Handle horizontal positioning.
839
845
  const leftEdgePixel = this.#xPixelForMicroSeconds('main', overlay.sections[0].bounds.min);
840
846
  const rightEdgePixel =
@@ -847,7 +853,7 @@ export class Overlays extends EventTarget {
847
853
  element.style.left = `${leftEdgePixel}px`;
848
854
  element.style.width = `${rangeWidth}px`;
849
855
 
850
- if (!(elementSections?.length)) {
856
+ if (elementSections.length === 0) {
851
857
  return;
852
858
  }
853
859
 
@@ -867,30 +873,38 @@ export class Overlays extends EventTarget {
867
873
  }
868
874
 
869
875
  // Handle vertical positioning based on the entry's vertical position.
870
- if (overlay.entry) {
876
+ if (overlay.entry && (overlay.renderLocation === 'BELOW_EVENT' || overlay.renderLocation === 'ABOVE_EVENT')) {
877
+ // Max height for the overlay box when attached to an entry.
878
+ const MAX_BOX_HEIGHT = 50;
879
+ element.style.maxHeight = `${MAX_BOX_HEIGHT}px`;
880
+
871
881
  const y = this.yPixelForEventOnChart(overlay.entry);
872
882
  if (y === null) {
873
883
  return;
874
884
  }
885
+ const eventHeight = this.pixelHeightForEventOnChart(overlay.entry);
886
+ if (eventHeight === null) {
887
+ return;
888
+ }
875
889
 
876
- // Max height for the overlay box.
877
- const MAX_BOX_HEIGHT = 50;
878
- // Some padding so the box hovers just on top.
879
- const PADDING = 7;
880
-
881
- // Where the timespan breakdown should sit. Slightly on top of the entry.
882
- const bottom = y - PADDING;
890
+ if (overlay.renderLocation === 'BELOW_EVENT') {
891
+ const top = y + eventHeight;
892
+ element.style.top = `${top}px`;
893
+ } else {
894
+ // Some padding so the box hovers just on top.
895
+ const PADDING = 7;
883
896
 
884
- // Available space between the bottom of the overlay and top of the chart.
885
- const minSpace = Math.max(bottom, 0);
886
- // Contrain height to available space.
887
- const height = Math.min(MAX_BOX_HEIGHT, minSpace);
897
+ // Where the timespan breakdown should sit. Slightly on top of the entry.
898
+ const bottom = y - PADDING;
888
899
 
889
- elementSections[0].style.maxHeight = `${MAX_BOX_HEIGHT}px`;
890
- elementSections[0].style.height = `${height}px`;
900
+ // Available space between the bottom of the overlay and top of the chart.
901
+ const minSpace = Math.max(bottom, 0);
902
+ // Contrain height to available space.
903
+ const height = Math.min(MAX_BOX_HEIGHT, minSpace);
891
904
 
892
- const top = bottom - height;
893
- element.style.top = `${top}px`;
905
+ const top = bottom - height;
906
+ element.style.top = `${top}px`;
907
+ }
894
908
  }
895
909
  }
896
910
 
@@ -1037,7 +1051,7 @@ export class Overlays extends EventTarget {
1037
1051
  }
1038
1052
 
1039
1053
  // The event is off the bottom of the network chart. In this case return the bottom of the network chart.
1040
- if (y > this.#dimensions.charts.network.heightPixels ?? 0) {
1054
+ if (y > this.#dimensions.charts.network.heightPixels) {
1041
1055
  return this.#dimensions.charts.network.heightPixels;
1042
1056
  }
1043
1057
  }
@@ -1384,6 +1398,7 @@ export class Overlays extends EventTarget {
1384
1398
  const component = new Components.TimespanBreakdownOverlay.TimespanBreakdownOverlay();
1385
1399
  component.sections = overlay.sections;
1386
1400
  component.canvasRect = this.#charts.mainChart.canvasBoundingClientRect();
1401
+ component.isBelowEntry = overlay.renderLocation === 'BELOW_EVENT';
1387
1402
  div.appendChild(component);
1388
1403
  return div;
1389
1404
  }
@@ -1394,20 +1409,21 @@ export class Overlays extends EventTarget {
1394
1409
  }
1395
1410
 
1396
1411
  /**
1397
- * Some of the HTML elements for overlays might need updating between each render
1398
- * (for example, if a time range has changed, we update its duration text)
1412
+ * Some overlays store data in their components that needs to be updated
1413
+ * before we position an overlay. Else, we might position an overlay based on
1414
+ * stale data. This method is used to update an overlay BEFORE it is then
1415
+ * positioned onto the canvas. It is the right place to ensure an overlay has
1416
+ * the latest data it needs.
1399
1417
  */
1400
- #updateOverlayElementAfterPositioning(overlay: TimelineOverlay, element: HTMLElement): void {
1418
+ #updateOverlayBeforePositioning(overlay: TimelineOverlay, element: HTMLElement): void {
1401
1419
  switch (overlay.type) {
1402
1420
  case 'ENTRY_SELECTED':
1403
- // Nothing to do here.
1404
1421
  break;
1405
1422
  case 'TIME_RANGE': {
1406
1423
  const component = element.querySelector('devtools-time-range-overlay');
1407
1424
  if (component) {
1408
1425
  component.duration = overlay.showDuration ? overlay.bounds.range : null;
1409
1426
  component.canvasRect = this.#charts.mainChart.canvasBoundingClientRect();
1410
- component.updateLabelPositioning();
1411
1427
  }
1412
1428
  break;
1413
1429
  }
@@ -1425,12 +1441,44 @@ export class Overlays extends EventTarget {
1425
1441
  if (component) {
1426
1442
  component.sections = overlay.sections;
1427
1443
  component.canvasRect = this.#charts.mainChart.canvasBoundingClientRect();
1428
- component.checkSectionLabelPositioning();
1429
1444
  }
1430
1445
  break;
1431
1446
  }
1432
1447
  case 'CURSOR_TIMESTAMP_MARKER':
1433
- // No contents within this that need updating.
1448
+ break;
1449
+ case 'CANDY_STRIPED_TIME_RANGE':
1450
+ break;
1451
+ default:
1452
+ Platform.TypeScriptUtilities.assertNever(overlay, `Unexpected overlay ${overlay}`);
1453
+ }
1454
+ }
1455
+ /**
1456
+ * Some overlays have custom logic within them to manage visibility of
1457
+ * labels/etc that can be impacted if the positioning or size of the overlay
1458
+ * has changed. This method can be used to run code after an overlay has
1459
+ * been updated + repositioned on the timeline.
1460
+ */
1461
+ #updateOverlayAfterPositioning(overlay: TimelineOverlay, element: HTMLElement): void {
1462
+ switch (overlay.type) {
1463
+ case 'ENTRY_SELECTED':
1464
+ break;
1465
+ case 'TIME_RANGE': {
1466
+ const component = element.querySelector('devtools-time-range-overlay');
1467
+ component?.updateLabelPositioning();
1468
+ break;
1469
+ }
1470
+ case 'ENTRY_LABEL':
1471
+ break;
1472
+ case 'ENTRY_OUTLINE':
1473
+ break;
1474
+ case 'ENTRIES_LINK':
1475
+ break;
1476
+ case 'TIMESPAN_BREAKDOWN': {
1477
+ const component = element.querySelector('devtools-timespan-breakdown-overlay');
1478
+ component?.checkSectionLabelPositioning();
1479
+ break;
1480
+ }
1481
+ case 'CURSOR_TIMESTAMP_MARKER':
1434
1482
  break;
1435
1483
  case 'CANDY_STRIPED_TIME_RANGE':
1436
1484
  break;
@@ -1540,7 +1588,7 @@ export class Overlays extends EventTarget {
1540
1588
  return false;
1541
1589
  }
1542
1590
 
1543
- if (y > this.#dimensions.charts.network.heightPixels ?? 0) {
1591
+ if (y > this.#dimensions.charts.network.heightPixels) {
1544
1592
  // The event is off the bottom of the network chart.
1545
1593
  return false;
1546
1594
  }
@@ -1,13 +1,13 @@
1
-
2
1
  // Copyright 2024 The Chromium Authors. All rights reserved.
3
2
  // Use of this source code is governed by a BSD-style license that can be
4
3
  // found in the LICENSE file.
4
+ import '../../../../ui/components/icon_button/icon_button.js';
5
+
5
6
  import * as i18n from '../../../../core/i18n/i18n.js';
6
7
  import * as Trace from '../../../../models/trace/trace.js';
7
- import * as ComponentHelpers from '../../../../ui/components/helpers/helpers.js';
8
- import * as IconButton from '../../../../ui/components/icon_button/icon_button.js';
9
8
  import * as ThemeSupport from '../../../../ui/legacy/theme_support/theme_support.js';
10
9
  import * as LitHtml from '../../../../ui/lit-html/lit-html.js';
10
+ import * as VisualLogging from '../../../../ui/visual_logging/visual_logging.js';
11
11
 
12
12
  const UIStrings = {
13
13
  /**
@@ -20,18 +20,18 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
20
20
 
21
21
  import styles from './entriesLinkOverlay.css.js';
22
22
 
23
+ const {html} = LitHtml;
24
+
23
25
  export class EntryLinkStartCreating extends Event {
24
26
  static readonly eventName = 'entrylinkstartcreating';
25
27
 
26
28
  constructor() {
27
- super(EntryLinkStartCreating.eventName);
29
+ super(EntryLinkStartCreating.eventName, {bubbles: true, composed: true});
28
30
  }
29
31
  }
30
32
 
31
33
  export class EntriesLinkOverlay extends HTMLElement {
32
- static readonly litTagName = LitHtml.literal`devtools-entries-link-overlay`;
33
34
  readonly #shadow = this.attachShadow({mode: 'open'});
34
- readonly #boundRender = this.#render.bind(this);
35
35
  #coordinateFrom: {x: number, y: number};
36
36
  #fromEntryDimentions: {width: number, height: number};
37
37
  #coordinateTo: {x: number, y: number};
@@ -84,7 +84,7 @@ export class EntriesLinkOverlay extends HTMLElement {
84
84
  return;
85
85
  }
86
86
  this.#canvasRect = rect;
87
- void ComponentHelpers.ScheduledRender.scheduleRender(this, this.#boundRender);
87
+ this.#render();
88
88
  }
89
89
 
90
90
  entryFromWrapper(): HTMLElement|null {
@@ -160,6 +160,8 @@ export class EntriesLinkOverlay extends HTMLElement {
160
160
  }
161
161
 
162
162
  if (this.#linkState === Trace.Types.File.EntriesLinkState.CREATION_NOT_STARTED) {
163
+ this.#entryFromConnector.setAttribute('visibility', 'hidden');
164
+ this.#entryToConnector.setAttribute('visibility', 'hidden');
163
165
  return;
164
166
  }
165
167
 
@@ -234,7 +236,6 @@ export class EntriesLinkOverlay extends HTMLElement {
234
236
  }
235
237
 
236
238
  this.#render();
237
- void ComponentHelpers.ScheduledRender.scheduleRender(this, this.#boundRender);
238
239
  }
239
240
 
240
241
  /*
@@ -306,7 +307,7 @@ export class EntriesLinkOverlay extends HTMLElement {
306
307
  const arrowColor = ThemeSupport.ThemeSupport.instance().getComputedValue('--color-text-primary');
307
308
  // clang-format off
308
309
  LitHtml.render(
309
- LitHtml.html`
310
+ html`
310
311
  <svg class="connectorContainer" width="100%" height="100%" role="region" aria-label=${i18nString(UIStrings.diagram)}>
311
312
  <defs>
312
313
  <linearGradient
@@ -357,11 +358,12 @@ export class EntriesLinkOverlay extends HTMLElement {
357
358
  <div class="entry-wrapper from-highlight-wrapper ${this.#fromEntryIsSource ? '' : 'entry-is-not-source'}"></div>
358
359
  <div class="entry-wrapper to-highlight-wrapper ${this.#toEntryIsSource ? '' : 'entry-is-not-source'}"></div>
359
360
  <div class="create-link-box ${this.#linkState ? 'visible' : 'hidden'}">
360
- <${IconButton.Icon.Icon.litTagName}
361
+ <devtools-icon
361
362
  class='create-link-icon'
363
+ jslog=${VisualLogging.action('timeline.annotations.create-entry-link').track({click: true})}
362
364
  @click=${this.#startCreatingConnection}
363
365
  name='arrow-right-circle'>
364
- </${IconButton.Icon.Icon.litTagName}>
366
+ </devtools-icon>
365
367
  </div>
366
368
  `,
367
369
  this.#shadow, {host: this});