chrome-devtools-frontend 1.0.1386602 → 1.0.1402249

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 (1404) hide show
  1. package/.git-blame-ignore-revs +3 -0
  2. package/.stylelintrc.json +1 -3
  3. package/AUTHORS +3 -1
  4. package/config/gni/devtools_grd_files.gni +38 -31
  5. package/config/gni/devtools_image_files.gni +4 -1
  6. package/docs/README.md +1 -0
  7. package/docs/contributing/issues.md +1 -1
  8. package/docs/policy/README.md +1 -0
  9. package/docs/policy/gar-page-zoom-policy.md +43 -0
  10. package/docs/policy/images/devtools-gar-testing.png +0 -0
  11. package/docs/policy/images/docked-devtools.webp +0 -0
  12. package/docs/policy/images/undocked-devtools.png +0 -0
  13. package/docs/styleguide/ux/components.md +98 -22
  14. package/docs/styleguide/ux/images/radio-buttons-variations.png +0 -0
  15. package/docs/styleguide/ux/images/sliders-variations.png +0 -0
  16. package/docs/styleguide/ux/styles.md +29 -7
  17. package/eslint.config.mjs +725 -0
  18. package/extensions/cxx_debugging/src/CreditsItem.ts +1 -1
  19. package/extensions/cxx_debugging/src/ExtensionOptions.ts +4 -4
  20. package/extensions/cxx_debugging/src/ModuleConfigurationList.ts +1 -1
  21. package/extensions/cxx_debugging/src/rollup.config.in.js +1 -3
  22. package/extensions/cxx_debugging/tests/Formatters_test.ts +2 -1
  23. package/front_end/Images/rollup.config.mjs +1 -1
  24. package/front_end/Images/src/compress.svg +8 -0
  25. package/front_end/Images/src/devtools-thumbnail.svg +57 -0
  26. package/front_end/Images/src/devtools-tips.svg +61 -0
  27. package/front_end/Images/src/whatsnew.svg +61 -0
  28. package/front_end/Tests.js +27 -33
  29. package/front_end/core/common/CharacterIdMap.test.ts +1 -1
  30. package/front_end/core/common/ColorUtils.test.ts +2 -2
  31. package/front_end/core/common/Console.test.ts +7 -7
  32. package/front_end/core/common/Lazy.test.ts +12 -14
  33. package/front_end/core/common/MapWithDefault.test.ts +61 -0
  34. package/front_end/core/common/MapWithDefault.ts +24 -0
  35. package/front_end/core/common/ParsedURL.test.ts +5 -5
  36. package/front_end/core/common/Progress.test.ts +7 -7
  37. package/front_end/core/common/ResolverBase.test.ts +2 -2
  38. package/front_end/core/common/ResourceType.test.ts +3 -3
  39. package/front_end/core/common/SettingRegistration.test.ts +2 -4
  40. package/front_end/core/common/SettingRegistration.ts +1 -1
  41. package/front_end/core/common/Settings.ts +7 -7
  42. package/front_end/core/common/common.ts +4 -3
  43. package/front_end/core/dom_extension/DOMExtension.test.ts +4 -2
  44. package/front_end/core/dom_extension/DOMExtension.ts +5 -4
  45. package/front_end/core/host/AidaClient.test.ts +92 -38
  46. package/front_end/core/host/AidaClient.ts +131 -28
  47. package/front_end/core/host/InspectorFrontendHost.ts +15 -5
  48. package/front_end/core/host/InspectorFrontendHostAPI.ts +1 -4
  49. package/front_end/core/host/UserMetrics.ts +27 -61
  50. package/front_end/core/i18n/i18n.test.ts +45 -0
  51. package/front_end/core/i18n/time-utilities.ts +17 -0
  52. package/front_end/core/platform/ArrayUtilities.test.ts +7 -8
  53. package/front_end/core/platform/MapUtilities.ts +1 -1
  54. package/front_end/core/platform/StringUtilities.test.ts +1 -1
  55. package/front_end/core/platform/TypedArrayUtilities.test.ts +6 -6
  56. package/front_end/core/root/Runtime.test.ts +5 -3
  57. package/front_end/core/root/Runtime.ts +21 -3
  58. package/front_end/core/sdk/AnimationModel.test.ts +4 -4
  59. package/front_end/core/sdk/AutofillModel.test.ts +1 -1
  60. package/front_end/core/sdk/CSSMatchedStyles.test.ts +44 -45
  61. package/front_end/core/sdk/CSSModel.test.ts +1 -1
  62. package/front_end/core/sdk/CSSStyleDeclaration.test.ts +7 -7
  63. package/front_end/core/sdk/ChildTargetManager.test.ts +10 -10
  64. package/front_end/core/sdk/Connections.ts +5 -0
  65. package/front_end/core/sdk/Cookie.test.ts +37 -37
  66. package/front_end/core/sdk/CookieModel.test.ts +5 -5
  67. package/front_end/core/sdk/DOMModel.ts +5 -0
  68. package/front_end/core/sdk/DebuggerModel.test.ts +2 -2
  69. package/front_end/core/sdk/EnhancedTracesParser.test.ts +7 -7
  70. package/front_end/core/sdk/EnhancedTracesParser.ts +3 -1
  71. package/front_end/core/sdk/FrameManager.test.ts +4 -4
  72. package/front_end/core/sdk/NetworkManager.test.ts +3 -3
  73. package/front_end/core/sdk/NetworkManager.ts +1 -1
  74. package/front_end/core/sdk/NetworkRequest.test.ts +5 -5
  75. package/front_end/core/sdk/PreloadingModel.test.ts +226 -10
  76. package/front_end/core/sdk/PreloadingModel.ts +184 -15
  77. package/front_end/core/sdk/RehydratingConnection.test.ts +3 -3
  78. package/front_end/core/sdk/RehydratingConnection.ts +49 -7
  79. package/front_end/core/sdk/RemoteObject.test.ts +60 -60
  80. package/front_end/core/sdk/ResourceTreeModel.test.ts +5 -5
  81. package/front_end/core/sdk/ServiceWorkerManager.test.ts +3 -3
  82. package/front_end/core/sdk/SourceMap.test.ts +30 -30
  83. package/front_end/core/sdk/SourceMapScopesInfo.test.ts +84 -0
  84. package/front_end/core/sdk/SourceMapScopesInfo.ts +63 -1
  85. package/front_end/core/sdk/TraceObject.test.ts +1 -1
  86. package/front_end/core/sdk/sdk-meta.ts +0 -27
  87. package/front_end/devtools_compatibility.js +1 -4
  88. package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.test.ts +1 -1
  89. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +1 -1
  90. package/front_end/entrypoints/inspector_main/InspectorMain.ts +1 -2
  91. package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +1 -2
  92. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +2 -2
  93. package/front_end/entrypoints/inspector_main/nodeIcon.css +1 -0
  94. package/front_end/entrypoints/main/MainImpl.ts +40 -22
  95. package/front_end/entrypoints/node_app/NodeConnectionsPanel.ts +1 -1
  96. package/front_end/entrypoints/node_app/NodeMain.ts +6 -0
  97. package/front_end/entrypoints/node_app/node_app.ts +2 -2
  98. package/front_end/entrypoints/shell/shell.ts +1 -1
  99. package/front_end/generated/ARIAProperties.js +1 -1
  100. package/front_end/generated/Deprecation.ts +8 -16
  101. package/front_end/generated/InspectorBackendCommands.js +22 -13
  102. package/front_end/generated/SupportedCSSProperties.js +51 -36
  103. package/front_end/generated/protocol-mapping.d.ts +25 -0
  104. package/front_end/generated/protocol-proxy-api.d.ts +19 -0
  105. package/front_end/generated/protocol.ts +184 -11
  106. package/front_end/legacy/legacy-defs.d.ts +4 -6
  107. package/front_end/models/autofill_manager/AutofillManager.test.ts +1 -1
  108. package/front_end/models/bindings/DebuggerLanguagePlugins.test.ts +3 -3
  109. package/front_end/models/bindings/DefaultScriptMapping.test.ts +3 -3
  110. package/front_end/models/bindings/FileUtils.test.ts +2 -2
  111. package/front_end/models/bindings/IgnoreListManager.ts +3 -3
  112. package/front_end/models/breakpoints/BreakpointManager.test.ts +24 -23
  113. package/front_end/models/crux-manager/CrUXManager.test.ts +77 -16
  114. package/front_end/models/crux-manager/CrUXManager.ts +57 -6
  115. package/front_end/models/emulation/DeviceModeModel.ts +15 -0
  116. package/front_end/models/emulation/EmulatedDevices.test.ts +20 -0
  117. package/front_end/models/emulation/EmulatedDevices.ts +22 -18
  118. package/front_end/models/extensions/ExtensionAPI.ts +1 -1
  119. package/front_end/models/extensions/ExtensionServer.test.ts +121 -40
  120. package/front_end/models/extensions/ExtensionServer.ts +6 -2
  121. package/front_end/models/extensions/LanguageExtensionEndpoint.test.ts +59 -0
  122. package/front_end/models/extensions/LanguageExtensionEndpoint.ts +25 -6
  123. package/front_end/models/extensions/RecorderPluginManager.test.ts +1 -1
  124. package/front_end/models/extensions/extensions.ts +4 -0
  125. package/front_end/models/formatter/FormatterWorkerPool.ts +2 -1
  126. package/front_end/models/har/Importer.test.ts +4 -4
  127. package/front_end/models/har/Log.test.ts +1 -1
  128. package/front_end/models/issues_manager/CookieIssue.ts +4 -3
  129. package/front_end/models/issues_manager/DeprecationIssue.test.ts +3 -3
  130. package/front_end/models/issues_manager/DeprecationIssue.ts +1 -1
  131. package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.test.ts +1 -1
  132. package/front_end/models/issues_manager/GenericIssue.test.ts +2 -2
  133. package/front_end/models/issues_manager/IssueResolver.test.ts +2 -2
  134. package/front_end/models/issues_manager/IssuesManager.test.ts +19 -19
  135. package/front_end/models/issues_manager/LowTextContrastIssue.test.ts +2 -2
  136. package/front_end/models/issues_manager/PropertyRuleIssue.test.ts +1 -1
  137. package/front_end/models/issues_manager/RelatedIssue.test.ts +7 -7
  138. package/front_end/models/issues_manager/SharedDictionaryIssue.test.ts +1 -1
  139. package/front_end/models/issues_manager/StylesheetLoadingIssue.test.ts +7 -7
  140. package/front_end/models/javascript_metadata/JavaScriptMetadata.test.ts +6 -6
  141. package/front_end/models/javascript_metadata/NativeFunctions.js +81 -69
  142. package/front_end/models/live-metrics/LiveMetrics.ts +92 -44
  143. package/front_end/models/live-metrics/web-vitals-injected/web-vitals-injected.ts +3 -3
  144. package/front_end/models/logs/NetworkLog.test.ts +3 -3
  145. package/front_end/models/logs/RequestResolver.test.ts +2 -2
  146. package/front_end/models/persistence/EditFileSystemView.ts +1 -1
  147. package/front_end/models/persistence/NetworkPersistenceManager.test.ts +2 -2
  148. package/front_end/models/persistence/WorkspaceSettingsTab.ts +2 -1
  149. package/front_end/models/persistence/editFileSystemView.css +13 -8
  150. package/front_end/models/text_utils/Text.test.ts +1 -1
  151. package/front_end/models/text_utils/TextRange.test.ts +2 -4
  152. package/front_end/models/text_utils/TextUtils.test.ts +29 -30
  153. package/front_end/models/trace/ModelImpl.test.ts +2 -2
  154. package/front_end/models/trace/ModelImpl.ts +1 -0
  155. package/front_end/models/trace/Processor.test.ts +75 -12
  156. package/front_end/models/trace/Processor.ts +108 -9
  157. package/front_end/models/trace/extras/Metadata.test.ts +3 -0
  158. package/front_end/models/trace/extras/Metadata.ts +4 -1
  159. package/front_end/models/trace/extras/StackTraceForEvent.test.ts +259 -0
  160. package/front_end/models/trace/extras/StackTraceForEvent.ts +173 -0
  161. package/front_end/models/trace/extras/ThirdParties.test.ts +0 -27
  162. package/front_end/models/trace/extras/ThirdParties.ts +3 -76
  163. package/front_end/models/trace/extras/extras.ts +1 -1
  164. package/front_end/models/trace/handlers/AnimationFramesHandler.test.ts +40 -0
  165. package/front_end/models/trace/handlers/AnimationFramesHandler.ts +119 -0
  166. package/front_end/models/trace/handlers/AsyncJSCallsHandler.test.ts +211 -0
  167. package/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +185 -0
  168. package/front_end/models/trace/handlers/ExtensionTraceDataHandler.test.ts +7 -7
  169. package/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +2 -2
  170. package/front_end/models/trace/handlers/FlowsHandler.test.ts +185 -0
  171. package/front_end/models/trace/handlers/FlowsHandler.ts +176 -0
  172. package/front_end/models/trace/handlers/InitiatorsHandler.test.ts +56 -49
  173. package/front_end/models/trace/handlers/InitiatorsHandler.ts +37 -25
  174. package/front_end/models/trace/handlers/LargestImagePaintHandler.test.ts +19 -1
  175. package/front_end/models/trace/handlers/LargestImagePaintHandler.ts +18 -6
  176. package/front_end/models/trace/handlers/LayoutShiftsHandler.test.ts +8 -8
  177. package/front_end/models/trace/handlers/MetaHandler.test.ts +10 -10
  178. package/front_end/models/trace/handlers/ModelHandlers.ts +3 -0
  179. package/front_end/models/trace/handlers/NetworkRequestsHandler.test.ts +116 -10
  180. package/front_end/models/trace/handlers/NetworkRequestsHandler.ts +23 -1
  181. package/front_end/models/trace/handlers/PageLoadMetricsHandler.test.ts +2 -2
  182. package/front_end/models/trace/handlers/PageLoadMetricsHandler.ts +2 -0
  183. package/front_end/models/trace/handlers/RendererHandler.test.ts +25 -6
  184. package/front_end/models/trace/handlers/RendererHandler.ts +39 -1
  185. package/front_end/models/trace/handlers/SamplesHandler.test.ts +1 -1
  186. package/front_end/models/trace/handlers/ScreenshotsHandler.test.ts +3 -3
  187. package/front_end/models/trace/handlers/Threads.test.ts +1 -1
  188. package/front_end/models/trace/handlers/UserInteractionsHandler.test.ts +3 -3
  189. package/front_end/models/trace/handlers/handlers.ts +1 -0
  190. package/front_end/models/trace/{extras/URLForEntry.test.ts → handlers/helpers.test.ts} +34 -7
  191. package/front_end/models/trace/handlers/helpers.ts +159 -0
  192. package/front_end/models/trace/helpers/SamplesIntegrator.test.ts +13 -13
  193. package/front_end/models/trace/helpers/Trace.test.ts +2 -2
  194. package/front_end/models/trace/helpers/Trace.ts +65 -16
  195. package/front_end/models/trace/helpers/TreeHelpers.test.ts +5 -5
  196. package/front_end/models/trace/helpers/TreeHelpers.ts +1 -1
  197. package/front_end/models/trace/insights/CLSCulprits.test.ts +9 -19
  198. package/front_end/models/trace/insights/CLSCulprits.ts +9 -2
  199. package/front_end/models/trace/insights/Common.test.ts +52 -0
  200. package/front_end/models/trace/insights/Common.ts +118 -1
  201. package/front_end/models/trace/insights/DOMSize.test.ts +31 -0
  202. package/front_end/models/trace/insights/DOMSize.ts +121 -0
  203. package/front_end/models/trace/insights/DocumentLatency.test.ts +6 -10
  204. package/front_end/models/trace/insights/FontDisplay.test.ts +3 -13
  205. package/front_end/models/trace/insights/ImageDelivery.test.ts +23 -18
  206. package/front_end/models/trace/insights/ImageDelivery.ts +99 -11
  207. package/front_end/models/trace/insights/InteractionToNextPaint.test.ts +1 -11
  208. package/front_end/models/trace/insights/LCPDiscovery.test.ts +4 -14
  209. package/front_end/models/trace/insights/LCPPhases.test.ts +4 -14
  210. package/front_end/models/trace/insights/Models.ts +1 -0
  211. package/front_end/models/trace/insights/RenderBlocking.test.ts +14 -25
  212. package/front_end/models/trace/insights/SlowCSSSelector.test.ts +5 -15
  213. package/front_end/models/trace/insights/Statistics.test.ts +145 -0
  214. package/front_end/models/trace/insights/Statistics.ts +93 -0
  215. package/front_end/models/trace/insights/ThirdParties.test.ts +1 -11
  216. package/front_end/models/trace/insights/ThirdParties.ts +2 -2
  217. package/front_end/models/trace/insights/Viewport.test.ts +8 -13
  218. package/front_end/models/trace/insights/Viewport.ts +2 -2
  219. package/front_end/models/trace/insights/insights.ts +1 -0
  220. package/front_end/models/trace/insights/types.ts +3 -1
  221. package/front_end/models/trace/lantern/core/NetworkAnalyzer.test.ts +21 -21
  222. package/front_end/models/trace/lantern/core/NetworkAnalyzer.ts +1 -1
  223. package/front_end/models/trace/lantern/graph/BaseNode.test.ts +24 -24
  224. package/front_end/models/trace/lantern/graph/PageDependencyGraph.test.ts +26 -26
  225. package/front_end/models/trace/lantern/metrics/FirstContentfulPaint.test.ts +3 -3
  226. package/front_end/models/trace/lantern/metrics/Interactive.test.ts +6 -6
  227. package/front_end/models/trace/lantern/metrics/LargestContentfulPaint.test.ts +3 -3
  228. package/front_end/models/trace/lantern/metrics/SpeedIndex.test.ts +3 -3
  229. package/front_end/models/trace/lantern/metrics/TBTUtils.test.ts +1 -1
  230. package/front_end/models/trace/lantern/simulation/ConnectionPool.test.ts +22 -22
  231. package/front_end/models/trace/lantern/simulation/Simulator.test.ts +1 -1
  232. package/front_end/models/trace/lantern/simulation/TCPConnection.test.ts +1 -1
  233. package/front_end/models/trace/root-causes/LayoutShift.test.ts +15 -15
  234. package/front_end/models/trace/types/Extensions.ts +4 -3
  235. package/front_end/models/trace/types/File.ts +3 -1
  236. package/front_end/models/trace/types/TraceEvents.ts +99 -11
  237. package/front_end/models/workspace/UISourceCode.test.ts +1 -1
  238. package/front_end/models/workspace/WorkspaceImpl.test.ts +6 -6
  239. package/front_end/panels/accessibility/AccessibilitySubPane.ts +1 -1
  240. package/front_end/panels/accessibility/accessibilityNode.css +2 -2
  241. package/front_end/panels/accessibility/axBreadcrumbs.css +1 -1
  242. package/front_end/panels/{freestyler/FreestylerPanel.test.ts → ai_assistance/AiAssistancePanel.test.ts} +155 -121
  243. package/front_end/panels/{freestyler/FreestylerPanel.ts → ai_assistance/AiAssistancePanel.ts} +204 -152
  244. package/front_end/panels/{freestyler → ai_assistance}/AiHistoryStorage.test.ts +53 -30
  245. package/front_end/panels/{freestyler → ai_assistance}/AiHistoryStorage.ts +8 -10
  246. package/front_end/panels/{freestyler → ai_assistance}/ChangeManager.test.ts +6 -6
  247. package/front_end/panels/{freestyler → ai_assistance}/ChangeManager.ts +2 -2
  248. package/front_end/panels/{freestyler/FreestylerEvaluateAction.test.ts → ai_assistance/EvaluateAction.test.ts} +37 -35
  249. package/front_end/panels/{freestyler/FreestylerEvaluateAction.ts → ai_assistance/EvaluateAction.ts} +10 -5
  250. package/front_end/panels/{freestyler → ai_assistance/agents}/AiAgent.test.ts +110 -75
  251. package/front_end/panels/{freestyler → ai_assistance/agents}/AiAgent.ts +152 -115
  252. package/front_end/panels/{freestyler/DrJonesFileAgent.test.ts → ai_assistance/agents/FileAgent.test.ts} +183 -83
  253. package/front_end/panels/{freestyler/DrJonesFileAgent.ts → ai_assistance/agents/FileAgent.ts} +30 -24
  254. package/front_end/panels/{freestyler/DrJonesNetworkAgent.test.ts → ai_assistance/agents/NetworkAgent.test.ts} +36 -37
  255. package/front_end/panels/{freestyler/DrJonesNetworkAgent.ts → ai_assistance/agents/NetworkAgent.ts} +14 -21
  256. package/front_end/panels/ai_assistance/agents/PatchAgent.ts +405 -0
  257. package/front_end/panels/{freestyler/DrJonesPerformanceAgent.test.ts → ai_assistance/agents/PerformanceAgent.test.ts} +27 -28
  258. package/front_end/panels/{freestyler/DrJonesPerformanceAgent.ts → ai_assistance/agents/PerformanceAgent.ts} +8 -15
  259. package/front_end/panels/{freestyler/FreestylerAgent.test.ts → ai_assistance/agents/StylingAgent.test.ts} +285 -233
  260. package/front_end/panels/{freestyler/FreestylerAgent.ts → ai_assistance/agents/StylingAgent.ts} +76 -59
  261. package/front_end/panels/{freestyler/freestylerPanel.css → ai_assistance/aiAssistancePanel.css} +2 -2
  262. package/front_end/panels/{freestyler/freestyler-meta.ts → ai_assistance/ai_assistance-meta.ts} +71 -45
  263. package/front_end/panels/ai_assistance/ai_assistance.ts +16 -0
  264. package/front_end/panels/{freestyler/components/FreestylerChatUi.test.ts → ai_assistance/components/ChatView.test.ts} +21 -24
  265. package/front_end/panels/{freestyler/components/FreestylerChatUi.ts → ai_assistance/components/ChatView.ts} +138 -47
  266. package/front_end/panels/{freestyler → ai_assistance}/components/UserActionRow.test.ts +1 -1
  267. package/front_end/panels/{freestyler → ai_assistance}/components/UserActionRow.ts +19 -15
  268. package/front_end/panels/{freestyler/components/freestylerChatUi.css → ai_assistance/components/chatView.css} +58 -3
  269. package/front_end/panels/animation/AnimationTimeline.ts +3 -3
  270. package/front_end/panels/animation/AnimationUI.ts +1 -1
  271. package/front_end/panels/animation/animationTimeline.css +7 -10
  272. package/front_end/panels/application/AppManifestView.test.ts +7 -7
  273. package/front_end/panels/application/AppManifestView.ts +1 -1
  274. package/front_end/panels/application/ApplicationPanelSidebar.test.ts +8 -11
  275. package/front_end/panels/application/BackgroundServiceView.ts +1 -1
  276. package/front_end/panels/application/DOMStorageModel.test.ts +1 -1
  277. package/front_end/panels/application/ExtensionStorageItemsView.test.ts +3 -5
  278. package/front_end/panels/application/ExtensionStorageModel.test.ts +5 -5
  279. package/front_end/panels/application/IndexedDBViews.test.ts +6 -8
  280. package/front_end/panels/application/InterestGroupTreeElement.test.ts +1 -1
  281. package/front_end/panels/application/ServiceWorkerUpdateCycleView.test.ts +9 -10
  282. package/front_end/panels/application/ServiceWorkerUpdateCycleView.ts +2 -2
  283. package/front_end/panels/application/ServiceWorkersView.ts +0 -1
  284. package/front_end/panels/application/SharedStorageItemsView.test.ts +13 -15
  285. package/front_end/panels/application/SharedStorageModel.test.ts +1 -1
  286. package/front_end/panels/application/SharedStorageTreeElement.test.ts +2 -4
  287. package/front_end/panels/application/StorageView.test.ts +2 -4
  288. package/front_end/panels/application/StorageView.ts +5 -5
  289. package/front_end/panels/application/components/BackForwardCacheView.test.ts +10 -12
  290. package/front_end/panels/application/components/BackForwardCacheView.ts +2 -4
  291. package/front_end/panels/application/components/BounceTrackingMitigationsView.test.ts +11 -13
  292. package/front_end/panels/application/components/EndpointsGrid.test.ts +4 -6
  293. package/front_end/panels/application/components/FrameDetailsView.test.ts +3 -5
  294. package/front_end/panels/application/components/FrameDetailsView.ts +2 -4
  295. package/front_end/panels/application/components/InterestGroupAccessGrid.test.ts +2 -4
  296. package/front_end/panels/application/components/OriginTrialTreeView.test.ts +2 -4
  297. package/front_end/panels/application/components/PermissionsPolicySection.ts +2 -4
  298. package/front_end/panels/application/components/ProtocolHandlersView.ts +1 -1
  299. package/front_end/panels/application/components/ReportsGrid.test.ts +2 -4
  300. package/front_end/panels/application/components/ServiceWorkerRouterView.test.ts +3 -5
  301. package/front_end/panels/application/components/SharedStorageAccessGrid.test.ts +2 -4
  302. package/front_end/panels/application/components/SharedStorageMetadataView.test.ts +5 -7
  303. package/front_end/panels/application/components/StorageMetadataView.test.ts +3 -5
  304. package/front_end/panels/application/components/StorageMetadataView.ts +2 -3
  305. package/front_end/panels/application/components/TrustTokensView.test.ts +2 -4
  306. package/front_end/panels/application/components/TrustTokensView.ts +1 -3
  307. package/front_end/panels/application/preloading/PreloadingView.test.ts +42 -27
  308. package/front_end/panels/application/preloading/PreloadingView.ts +12 -9
  309. package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.test.ts +2 -4
  310. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.test.ts +115 -25
  311. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +51 -26
  312. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +10 -20
  313. package/front_end/panels/application/preloading/components/PreloadingGrid.test.ts +169 -17
  314. package/front_end/panels/application/preloading/components/PreloadingGrid.ts +73 -50
  315. package/front_end/panels/application/preloading/components/PreloadingMismatchedHeadersGrid.test.ts +3 -4
  316. package/front_end/panels/application/preloading/components/RuleSetDetailsView.test.ts +7 -15
  317. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +4 -5
  318. package/front_end/panels/application/preloading/components/RuleSetGrid.test.ts +2 -4
  319. package/front_end/panels/application/preloading/components/UsedPreloadingView.test.ts +57 -37
  320. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +2 -4
  321. package/front_end/panels/application/preloading/components/preloadingDisabledInfobar.css +4 -17
  322. package/front_end/panels/application/resourcesPanel.css +1 -2
  323. package/front_end/panels/application/serviceWorkersView.css +0 -5
  324. package/front_end/panels/autofill/AutofillView.test.ts +12 -14
  325. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +2 -2
  326. package/front_end/panels/console/ConsoleContextSelector.ts +1 -2
  327. package/front_end/panels/console/ConsolePinPane.ts +3 -4
  328. package/front_end/panels/console/ConsoleSidebar.ts +1 -1
  329. package/front_end/panels/console/ConsoleView.test.ts +2 -2
  330. package/front_end/panels/console/ConsoleView.ts +5 -4
  331. package/front_end/panels/console/ConsoleViewMessage.test.ts +76 -9
  332. package/front_end/panels/console/ConsoleViewMessage.ts +11 -6
  333. package/front_end/panels/console/ConsoleViewport.ts +2 -2
  334. package/front_end/panels/console/ErrorStackParser.test.ts +31 -11
  335. package/front_end/panels/console/ErrorStackParser.ts +10 -2
  336. package/front_end/panels/console/consolePinPane.css +1 -1
  337. package/front_end/panels/console/consoleView.css +11 -5
  338. package/front_end/panels/coverage/CoverageView.test.ts +4 -6
  339. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +3 -2
  340. package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +1 -2
  341. package/front_end/panels/css_overview/cssOverviewCompletedView.css +3 -2
  342. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +4 -0
  343. package/front_end/panels/developer_resources/DeveloperResourcesView.ts +17 -0
  344. package/front_end/panels/elements/CSSRuleValidator.ts +4 -10
  345. package/front_end/panels/elements/ClassesPaneWidget.ts +2 -2
  346. package/front_end/panels/elements/ComputedStyleModel.test.ts +157 -0
  347. package/front_end/panels/elements/ComputedStyleModel.ts +79 -17
  348. package/front_end/panels/elements/ComputedStyleWidget.ts +7 -13
  349. package/front_end/panels/elements/DOMLinkifier.ts +18 -17
  350. package/front_end/panels/elements/ElementStatePaneWidget.test.ts +1 -1
  351. package/front_end/panels/elements/ElementStatePaneWidget.ts +2 -1
  352. package/front_end/panels/elements/ElementsPanel.ts +22 -25
  353. package/front_end/panels/elements/ElementsSidebarPane.ts +5 -5
  354. package/front_end/panels/elements/ElementsTreeElement.ts +2 -2
  355. package/front_end/panels/elements/ElementsTreeOutline.ts +2 -9
  356. package/front_end/panels/elements/MetricsSidebarPane.ts +3 -2
  357. package/front_end/panels/elements/PlatformFontsWidget.ts +1 -0
  358. package/front_end/panels/elements/PropertyMatchers.test.ts +33 -34
  359. package/front_end/panels/elements/PropertyRenderer.test.ts +5 -5
  360. package/front_end/panels/elements/StylePropertiesSection.test.ts +9 -4
  361. package/front_end/panels/elements/StylePropertiesSection.ts +1 -1
  362. package/front_end/panels/elements/StylePropertyHighlighter.test.ts +2 -1
  363. package/front_end/panels/elements/StylePropertyTreeElement.test.ts +23 -21
  364. package/front_end/panels/elements/StylePropertyTreeElement.ts +3 -2
  365. package/front_end/panels/elements/StylesSidebarPane.test.ts +8 -6
  366. package/front_end/panels/elements/StylesSidebarPane.ts +9 -21
  367. package/front_end/panels/elements/components/AccessibilityTreeNode.test.ts +3 -5
  368. package/front_end/panels/elements/components/AccessibilityTreeNode.ts +5 -7
  369. package/front_end/panels/elements/components/CSSQuery.ts +1 -1
  370. package/front_end/panels/elements/components/ElementsBreadcrumbs.test.ts +13 -15
  371. package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +7 -8
  372. package/front_end/panels/elements/components/ElementsTreeExpandButton.test.ts +3 -5
  373. package/front_end/panels/elements/components/LayoutPane.test.ts +14 -10
  374. package/front_end/panels/elements/components/LayoutPane.ts +3 -4
  375. package/front_end/panels/elements/components/QueryContainer.test.ts +1 -1
  376. package/front_end/panels/elements/components/QueryContainer.ts +1 -1
  377. package/front_end/panels/elements/components/components.ts +0 -2
  378. package/front_end/panels/elements/elementsPanel.css +4 -4
  379. package/front_end/panels/elements/elementsTreeOutline.css +6 -5
  380. package/front_end/panels/elements/metricsSidebarPane.css +1 -1
  381. package/front_end/panels/elements/stylePropertiesTreeOutline.css +4 -0
  382. package/front_end/panels/emulation/DeviceModeToolbar.ts +1 -2
  383. package/front_end/panels/emulation/DeviceModeView.ts +17 -20
  384. package/front_end/panels/emulation/DeviceModeWrapper.ts +26 -1
  385. package/front_end/panels/emulation/MediaQueryInspector.test.ts +2 -2
  386. package/front_end/panels/emulation/components/DeviceSizeInputElement.ts +1 -1
  387. package/front_end/panels/emulation/deviceModeView.css +9 -16
  388. package/front_end/panels/emulation/mediaQueryInspector.css +3 -6
  389. package/front_end/panels/event_listeners/EventListenersView.ts +1 -1
  390. package/front_end/panels/explain/PromptBuilder.test.ts +9 -9
  391. package/front_end/panels/explain/components/ConsoleInsight.test.ts +37 -1
  392. package/front_end/panels/explain/components/ConsoleInsight.ts +46 -5
  393. package/front_end/panels/explain/components/consoleInsight.css +13 -9
  394. package/front_end/panels/explain/explain-meta.ts +12 -8
  395. package/front_end/panels/issues/IssueAggregator.test.ts +23 -20
  396. package/front_end/panels/issues/IssueAggregator.ts +8 -3
  397. package/front_end/panels/issues/issuesTree.css +2 -3
  398. package/front_end/panels/layer_viewer/LayerDetailsView.ts +4 -4
  399. package/front_end/panels/layer_viewer/Layers3DView.ts +4 -3
  400. package/front_end/panels/layer_viewer/PaintProfilerView.ts +1 -1
  401. package/front_end/panels/layer_viewer/layerDetailsView.css +1 -2
  402. package/front_end/panels/lighthouse/LighthouseReportRenderer.test.ts +1 -1
  403. package/front_end/panels/lighthouse/LighthouseStatusView.ts +2 -2
  404. package/front_end/panels/lighthouse/LighthouseTimespanView.ts +2 -2
  405. package/front_end/panels/lighthouse/lighthousePanel.css +5 -5
  406. package/front_end/panels/lighthouse/lighthouseStartView.css +1 -0
  407. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.test.ts +3 -3
  408. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.test.ts +3 -3
  409. package/front_end/panels/linear_memory_inspector/components/LinearMemoryViewer.test.ts +2 -2
  410. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.test.ts +3 -3
  411. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +1 -1
  412. package/front_end/panels/linear_memory_inspector/components/valueInterpreterSettings.css +1 -2
  413. package/front_end/panels/media/MainView.test.ts +2 -2
  414. package/front_end/panels/media/PlayerMessagesView.ts +2 -3
  415. package/front_end/panels/mobile_throttling/ThrottlingManager.test.ts +1 -1
  416. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +119 -65
  417. package/front_end/panels/mobile_throttling/ThrottlingPresets.ts +37 -1
  418. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +4 -3
  419. package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +13 -8
  420. package/front_end/panels/network/BlockedURLsPane.ts +1 -1
  421. package/front_end/panels/network/NetworkConfigView.test.ts +15 -0
  422. package/front_end/panels/network/NetworkConfigView.ts +11 -11
  423. package/front_end/panels/network/NetworkDataGridNode.test.ts +2 -2
  424. package/front_end/panels/network/NetworkLogView.test.ts +47 -17
  425. package/front_end/panels/network/NetworkLogView.ts +11 -13
  426. package/front_end/panels/network/NetworkLogViewColumns.ts +5 -8
  427. package/front_end/panels/network/NetworkOverview.test.ts +2 -4
  428. package/front_end/panels/network/NetworkOverview.ts +2 -4
  429. package/front_end/panels/network/NetworkPanel.test.ts +5 -7
  430. package/front_end/panels/network/NetworkPanel.ts +3 -4
  431. package/front_end/panels/network/NetworkWaterfallColumn.ts +3 -5
  432. package/front_end/panels/network/RequestPayloadView.ts +2 -2
  433. package/front_end/panels/network/RequestTimingView.test.ts +1 -1
  434. package/front_end/panels/network/RequestTimingView.ts +9 -10
  435. package/front_end/panels/network/blockedURLsPane.css +1 -2
  436. package/front_end/panels/network/components/HeaderSectionRow.test.ts +25 -27
  437. package/front_end/panels/network/components/RequestHeaderSection.test.ts +3 -5
  438. package/front_end/panels/network/components/RequestHeadersView.test.ts +27 -29
  439. package/front_end/panels/network/components/RequestHeadersView.ts +2 -4
  440. package/front_end/panels/network/components/RequestTrustTokensView.test.ts +1 -1
  441. package/front_end/panels/network/components/ResponseHeaderSection.test.ts +32 -34
  442. package/front_end/panels/network/networkConfigView.css +0 -8
  443. package/front_end/panels/network/networkLogView.css +2 -5
  444. package/front_end/panels/network/networkTimingTable.css +1 -1
  445. package/front_end/panels/network/webSocketFrameView.css +1 -1
  446. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +4 -4
  447. package/front_end/panels/performance_monitor/performanceMonitor.css +1 -2
  448. package/front_end/panels/profiler/HeapDetachedElementsView.ts +4 -0
  449. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +2 -2
  450. package/front_end/panels/profiler/HeapSnapshotView.ts +1 -1
  451. package/front_end/panels/profiler/HeapTimelineOverview.ts +1 -2
  452. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +1 -2
  453. package/front_end/panels/profiler/ProfileLauncherView.ts +7 -10
  454. package/front_end/panels/profiler/ProfileSidebarTreeElement.ts +8 -2
  455. package/front_end/panels/profiler/ProfilesPanel.ts +4 -1
  456. package/front_end/panels/profiler/heapProfiler.css +8 -4
  457. package/front_end/panels/profiler/profileLauncherView.css +26 -31
  458. package/front_end/panels/profiler/profilesPanel.css +1 -4
  459. package/front_end/panels/profiler/profilesSidebarTree.css +10 -0
  460. package/front_end/panels/protocol_monitor/ProtocolMonitor.test.ts +12 -12
  461. package/front_end/panels/protocol_monitor/components/JSONEditor.test.ts +40 -42
  462. package/front_end/panels/protocol_monitor/components/JSONEditor.ts +0 -1
  463. package/front_end/panels/recorder/RecorderController.test.ts +11 -13
  464. package/front_end/panels/recorder/RecorderController.ts +5 -5
  465. package/front_end/panels/recorder/components/CreateRecordingView.test.ts +9 -9
  466. package/front_end/panels/recorder/components/CreateRecordingView.ts +1 -1
  467. package/front_end/panels/recorder/components/RecordingListView.test.ts +7 -9
  468. package/front_end/panels/recorder/components/RecordingView.test.ts +7 -9
  469. package/front_end/panels/recorder/components/RecordingView.ts +0 -2
  470. package/front_end/panels/recorder/components/ReplaySection.test.ts +3 -5
  471. package/front_end/panels/recorder/components/SelectButton.test.ts +3 -5
  472. package/front_end/panels/recorder/components/StepEditor.test.ts +38 -38
  473. package/front_end/panels/recorder/components/StepView.test.ts +10 -10
  474. package/front_end/panels/recorder/components/StepView.ts +4 -4
  475. package/front_end/panels/recorder/components/controlButton.css +3 -4
  476. package/front_end/panels/recorder/components/stepView.css +4 -4
  477. package/front_end/panels/recorder/converters/LighthouseConverter.test.ts +1 -1
  478. package/front_end/panels/recorder/converters/PuppeteerConverter.test.ts +2 -2
  479. package/front_end/panels/recorder/converters/PuppeteerReplayConverter.test.ts +1 -1
  480. package/front_end/panels/recorder/injected/selectors/CSSSelector.test.ts +1 -1
  481. package/front_end/panels/recorder/models/RecordingPlayer.test.ts +7 -7
  482. package/front_end/panels/recorder/models/SchemaUtils.ts +6 -1
  483. package/front_end/panels/recorder/models/ScreenshotUtils.test.ts +4 -4
  484. package/front_end/panels/recorder/models/Section.test.ts +5 -5
  485. package/front_end/panels/recorder/models/recording-storage.test.ts +1 -1
  486. package/front_end/panels/recorder/models/screenshot-storage.test.ts +1 -1
  487. package/front_end/panels/screencast/ScreencastView.ts +17 -19
  488. package/front_end/panels/screencast/screencastView.css +1 -0
  489. package/front_end/panels/search/SearchView.ts +2 -4
  490. package/front_end/panels/security/CookieControlsView.test.ts +2 -2
  491. package/front_end/panels/security/CookieControlsView.ts +42 -19
  492. package/front_end/panels/security/CookieReportView.test.ts +21 -21
  493. package/front_end/panels/security/CookieReportView.ts +193 -5
  494. package/front_end/panels/security/SecurityPanel.ts +1 -2
  495. package/front_end/panels/security/mainView.css +1 -2
  496. package/front_end/panels/security/originView.css +1 -2
  497. package/front_end/panels/sensors/SensorsView.ts +10 -10
  498. package/front_end/panels/sensors/locationsSettingsTab.css +1 -1
  499. package/front_end/panels/sensors/sensors.css +1 -4
  500. package/front_end/panels/settings/AISettingsTab.test.ts +53 -7
  501. package/front_end/panels/settings/AISettingsTab.ts +77 -39
  502. package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +3 -3
  503. package/front_end/panels/settings/KeybindsSettingsTab.ts +7 -8
  504. package/front_end/panels/settings/SettingsScreen.ts +4 -4
  505. package/front_end/panels/settings/aiSettingsTab.css +14 -4
  506. package/front_end/panels/settings/components/SyncSection.test.ts +2 -2
  507. package/front_end/panels/settings/components/SyncSection.ts +1 -1
  508. package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +2 -2
  509. package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +1 -2
  510. package/front_end/panels/settings/emulation/devicesSettingsTab.css +3 -1
  511. package/front_end/panels/settings/emulation/utils/StructuredHeaders.test.ts +2 -2
  512. package/front_end/panels/settings/keybindsSettingsTab.css +5 -9
  513. package/front_end/panels/settings/settingsScreen.css +31 -13
  514. package/front_end/panels/sources/CSSPlugin.test.ts +1 -1
  515. package/front_end/panels/sources/CallStackSidebarPane.ts +1 -1
  516. package/front_end/panels/sources/DebuggerPausedMessage.ts +3 -3
  517. package/front_end/panels/sources/DebuggerPlugin.test.ts +5 -5
  518. package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
  519. package/front_end/panels/sources/NavigatorView.test.ts +3 -3
  520. package/front_end/panels/sources/NavigatorView.ts +7 -0
  521. package/front_end/panels/sources/OutlineQuickOpen.ts +1 -1
  522. package/front_end/panels/sources/SourcesNavigator.test.ts +1 -1
  523. package/front_end/panels/sources/SourcesView.test.ts +5 -5
  524. package/front_end/panels/sources/TabbedEditorContainer.test.ts +5 -5
  525. package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
  526. package/front_end/panels/sources/UISourceCodeFrame.ts +2 -5
  527. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +2 -2
  528. package/front_end/panels/sources/components/BreakpointsView.test.ts +28 -30
  529. package/front_end/panels/sources/components/BreakpointsView.ts +7 -9
  530. package/front_end/panels/sources/components/HeadersView.test.ts +21 -23
  531. package/front_end/panels/sources/navigatorTree.css +4 -4
  532. package/front_end/panels/sources/sources-meta.ts +17 -1
  533. package/front_end/panels/timeline/AppenderUtils.ts +2 -0
  534. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +5 -2
  535. package/front_end/panels/timeline/CountersGraph.ts +5 -4
  536. package/front_end/panels/timeline/EntriesFilter.test.ts +10 -10
  537. package/front_end/panels/timeline/EventsTimelineTreeView.ts +1 -6
  538. package/front_end/panels/timeline/ExtensionTrackAppender.ts +9 -4
  539. package/front_end/panels/timeline/Initiators.test.ts +149 -168
  540. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +3 -26
  541. package/front_end/panels/timeline/ModificationsManager.test.ts +5 -5
  542. package/front_end/panels/timeline/TimelineController.ts +50 -4
  543. package/front_end/panels/timeline/TimelineDetailsView.test.ts +1 -6
  544. package/front_end/panels/timeline/TimelineDetailsView.ts +3 -6
  545. package/front_end/panels/timeline/TimelineEventOverview.ts +1 -1
  546. package/front_end/panels/timeline/TimelineFlameChartDataProvider.test.ts +4 -8
  547. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +66 -76
  548. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.test.ts +3 -3
  549. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +32 -28
  550. package/front_end/panels/timeline/TimelineFlameChartView.test.ts +180 -201
  551. package/front_end/panels/timeline/TimelineFlameChartView.ts +170 -54
  552. package/front_end/panels/timeline/TimelineHistoryManager.test.ts +10 -46
  553. package/front_end/panels/timeline/TimelineHistoryManager.ts +26 -59
  554. package/front_end/panels/timeline/TimelineLoader.test.ts +11 -11
  555. package/front_end/panels/timeline/TimelineLoader.ts +12 -15
  556. package/front_end/panels/timeline/TimelineMiniMap.test.ts +1 -2
  557. package/front_end/panels/timeline/TimelineMiniMap.ts +3 -9
  558. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
  559. package/front_end/panels/timeline/TimelinePanel.ts +259 -124
  560. package/front_end/panels/timeline/TimelineTreeView.ts +6 -11
  561. package/front_end/panels/timeline/TimelineUIUtils.test.ts +131 -33
  562. package/front_end/panels/timeline/TimelineUIUtils.ts +64 -66
  563. package/front_end/panels/timeline/TimingsTrackAppender.ts +19 -77
  564. package/front_end/panels/timeline/components/BreadcrumbsUI.test.ts +8 -10
  565. package/front_end/panels/timeline/components/CPUThrottlingSelector.test.ts +7 -9
  566. package/front_end/panels/timeline/components/CPUThrottlingSelector.ts +33 -3
  567. package/front_end/panels/timeline/components/FieldSettingsDialog.test.ts +54 -311
  568. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +13 -255
  569. package/front_end/panels/timeline/components/IgnoreListSetting.test.ts +425 -0
  570. package/front_end/panels/timeline/components/IgnoreListSetting.ts +362 -0
  571. package/front_end/panels/timeline/components/InteractionBreakdown.test.ts +2 -3
  572. package/front_end/panels/timeline/components/LiveMetricsView.test.ts +83 -116
  573. package/front_end/panels/timeline/components/LiveMetricsView.ts +104 -137
  574. package/front_end/panels/timeline/components/MetricCard.test.ts +58 -37
  575. package/front_end/panels/timeline/components/MetricCard.ts +5 -1
  576. package/front_end/panels/timeline/components/MetricCompareStrings.ts +9 -9
  577. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +5 -8
  578. package/front_end/panels/timeline/components/NetworkThrottlingSelector.test.ts +14 -15
  579. package/front_end/panels/timeline/components/NetworkThrottlingSelector.ts +35 -5
  580. package/front_end/panels/timeline/components/OriginMap.test.ts +359 -0
  581. package/front_end/panels/timeline/components/OriginMap.ts +278 -0
  582. package/front_end/panels/timeline/components/RelatedInsightChips.test.ts +37 -6
  583. package/front_end/panels/timeline/components/RelatedInsightChips.ts +34 -10
  584. package/front_end/panels/timeline/components/Sidebar.test.ts +1 -7
  585. package/front_end/panels/timeline/components/Sidebar.ts +6 -11
  586. package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +17 -20
  587. package/front_end/panels/timeline/components/SidebarInsightsTab.test.ts +2 -4
  588. package/front_end/panels/timeline/components/SidebarInsightsTab.ts +0 -1
  589. package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +66 -14
  590. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +58 -73
  591. package/front_end/panels/timeline/components/Utils.test.ts +16 -18
  592. package/front_end/panels/timeline/components/breadcrumbsUI.css +1 -2
  593. package/front_end/panels/timeline/components/components.ts +4 -0
  594. package/front_end/panels/timeline/components/cpuThrottlingSelector.css +5 -2
  595. package/front_end/panels/timeline/components/fieldSettingsDialog.css +7 -10
  596. package/front_end/panels/timeline/components/ignoreListSetting.css +68 -0
  597. package/front_end/panels/timeline/components/insights/BaseInsightComponent.test.ts +5 -7
  598. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +25 -12
  599. package/front_end/panels/timeline/components/insights/CLSCulprits.test.ts +44 -0
  600. package/front_end/panels/timeline/components/insights/CLSCulprits.ts +36 -29
  601. package/front_end/panels/timeline/components/insights/DOMSize.ts +62 -0
  602. package/front_end/panels/timeline/components/insights/DocumentLatency.ts +2 -10
  603. package/front_end/panels/timeline/components/insights/EventRef.ts +2 -13
  604. package/front_end/panels/timeline/components/insights/FontDisplay.ts +2 -10
  605. package/front_end/panels/timeline/components/insights/ImageDelivery.ts +28 -53
  606. package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +11 -10
  607. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +18 -12
  608. package/front_end/panels/timeline/components/insights/LCPPhases.ts +11 -11
  609. package/front_end/panels/timeline/components/insights/README.md +10 -24
  610. package/front_end/panels/timeline/components/insights/RenderBlocking.ts +14 -13
  611. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +45 -29
  612. package/front_end/panels/timeline/components/insights/Table.ts +9 -0
  613. package/front_end/panels/timeline/components/insights/ThirdParties.ts +28 -23
  614. package/front_end/panels/timeline/components/insights/Viewport.ts +2 -10
  615. package/front_end/panels/timeline/components/insights/baseInsightComponent.css +11 -4
  616. package/front_end/panels/timeline/components/insights/insights.ts +2 -0
  617. package/front_end/panels/timeline/components/insights/table.css +1 -1
  618. package/front_end/panels/timeline/components/liveMetricsView.css +40 -1
  619. package/front_end/panels/timeline/components/metricCard.css +39 -4
  620. package/front_end/panels/timeline/components/networkThrottlingSelector.css +5 -2
  621. package/front_end/panels/timeline/components/originMap.css +71 -0
  622. package/front_end/panels/timeline/components/relatedInsightChips.css +29 -0
  623. package/front_end/panels/timeline/components/sidebarSingleInsightSet.css +8 -0
  624. package/front_end/panels/timeline/components/timelineSummary.css +1 -4
  625. package/front_end/panels/timeline/fixtures/traces/README.md +29 -4
  626. package/front_end/panels/timeline/fixtures/traces/async-js-calls.json.gz +0 -0
  627. package/front_end/panels/timeline/fixtures/traces/dom-size-long.json.gz +0 -0
  628. package/front_end/panels/timeline/fixtures/traces/dom-size.json.gz +0 -0
  629. package/front_end/panels/timeline/fixtures/traces/extension-tracks-and-marks.json.gz +0 -0
  630. package/front_end/panels/timeline/fixtures/traces/image-delivery.json.gz +0 -0
  631. package/front_end/panels/timeline/fixtures/traces/lcp-multiple-frames.json.gz +0 -0
  632. package/front_end/panels/timeline/fixtures/traces/web-dev-animation-frames.json.gz +0 -0
  633. package/front_end/panels/timeline/overlays/OverlaysImpl.test.ts +45 -18
  634. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +198 -64
  635. package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +16 -8
  636. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +2 -1
  637. package/front_end/panels/timeline/overlays/components/TimeRangeOverlay.ts +2 -1
  638. package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.test.ts +1 -2
  639. package/front_end/panels/timeline/timeline.ts +0 -2
  640. package/front_end/panels/timeline/timelineFlameChartView.css +44 -5
  641. package/front_end/panels/timeline/timelineFlamechartPopover.css +2 -2
  642. package/front_end/panels/timeline/timelinePanel.css +4 -3
  643. package/front_end/panels/timeline/timelineStatusDialog.css +1 -0
  644. package/front_end/panels/timeline/track_appenders/AnimationsTrackAppender.test.ts +1 -1
  645. package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +6 -20
  646. package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +23 -9
  647. package/front_end/panels/timeline/track_appenders/GPUTrackAppender.test.ts +1 -1
  648. package/front_end/panels/timeline/track_appenders/InteractionsTrackAppender.test.ts +3 -3
  649. package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +2 -2
  650. package/front_end/panels/timeline/track_appenders/NetworkTrackAppender.test.ts +1 -1
  651. package/front_end/panels/timeline/track_appenders/ServerTimingsTrackAppender.test.ts +2 -2
  652. package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +13 -12
  653. package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +4 -64
  654. package/front_end/panels/timeline/utils/AICallTree.test.ts +11 -11
  655. package/front_end/panels/timeline/utils/AICallTree.ts +1 -1
  656. package/front_end/panels/timeline/utils/EntityMapper.test.ts +124 -0
  657. package/front_end/panels/timeline/utils/EntityMapper.ts +164 -0
  658. package/front_end/panels/timeline/utils/EntryStyles.ts +40 -2
  659. package/front_end/panels/timeline/utils/Helpers.ts +20 -0
  660. package/front_end/panels/timeline/utils/IgnoreList.test.ts +1 -1
  661. package/front_end/panels/timeline/utils/ImageCache.test.ts +2 -2
  662. package/front_end/panels/timeline/utils/SourceMapsResolver.test.ts +83 -2
  663. package/front_end/panels/timeline/utils/SourceMapsResolver.ts +23 -21
  664. package/front_end/panels/timeline/utils/utils.ts +2 -0
  665. package/front_end/panels/utils/utils.test.ts +2 -2
  666. package/front_end/panels/web_audio/AudioContextSelector.ts +1 -2
  667. package/front_end/panels/webauthn/WebauthnPane.test.ts +55 -11
  668. package/front_end/panels/webauthn/WebauthnPane.ts +47 -27
  669. package/front_end/panels/webauthn/webauthnPane.css +2 -9
  670. package/front_end/panels/whats_new/ReleaseNote.test.ts +3 -2
  671. package/front_end/panels/whats_new/ReleaseNoteText.ts +25 -10
  672. package/front_end/panels/whats_new/ReleaseNoteView.test.ts +159 -0
  673. package/front_end/panels/whats_new/ReleaseNoteView.ts +110 -107
  674. package/front_end/panels/whats_new/releaseNoteView.css +78 -88
  675. package/front_end/panels/whats_new/resources/WNDT.md +6 -6
  676. package/front_end/panels/whats_new/whats_new-meta.ts +2 -2
  677. package/front_end/testing/DOMHelpers.ts +15 -1
  678. package/front_end/testing/DataGridHelpers.ts +2 -3
  679. package/front_end/testing/EnvironmentHelpers.ts +17 -5
  680. package/front_end/testing/InsightHelpers.ts +11 -0
  681. package/front_end/testing/NetworkHelpers.ts +2 -4
  682. package/front_end/testing/StubIssue.ts +1 -1
  683. package/front_end/testing/TraceHelpers.ts +104 -11
  684. package/front_end/testing/TraceLoader.ts +14 -0
  685. package/front_end/third_party/axe-core/README.chromium +2 -2
  686. package/front_end/third_party/i18n/localized-string-set.ts +13 -3
  687. package/front_end/third_party/lighthouse/README.chromium +2 -2
  688. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1091 -807
  689. package/front_end/third_party/lighthouse/locales/ar-XB.json +60 -0
  690. package/front_end/third_party/lighthouse/locales/ar.json +60 -0
  691. package/front_end/third_party/lighthouse/locales/bg.json +77 -17
  692. package/front_end/third_party/lighthouse/locales/ca.json +77 -17
  693. package/front_end/third_party/lighthouse/locales/cs.json +77 -17
  694. package/front_end/third_party/lighthouse/locales/da.json +77 -17
  695. package/front_end/third_party/lighthouse/locales/de.json +77 -17
  696. package/front_end/third_party/lighthouse/locales/el.json +77 -17
  697. package/front_end/third_party/lighthouse/locales/en-GB.json +70 -10
  698. package/front_end/third_party/lighthouse/locales/en-US.json +154 -40
  699. package/front_end/third_party/lighthouse/locales/en-XL.json +154 -40
  700. package/front_end/third_party/lighthouse/locales/es-419.json +77 -17
  701. package/front_end/third_party/lighthouse/locales/es.json +60 -0
  702. package/front_end/third_party/lighthouse/locales/fi.json +60 -0
  703. package/front_end/third_party/lighthouse/locales/fil.json +60 -0
  704. package/front_end/third_party/lighthouse/locales/fr.json +77 -17
  705. package/front_end/third_party/lighthouse/locales/he.json +77 -17
  706. package/front_end/third_party/lighthouse/locales/hi.json +77 -17
  707. package/front_end/third_party/lighthouse/locales/hr.json +60 -0
  708. package/front_end/third_party/lighthouse/locales/hu.json +77 -17
  709. package/front_end/third_party/lighthouse/locales/id.json +77 -17
  710. package/front_end/third_party/lighthouse/locales/it.json +77 -17
  711. package/front_end/third_party/lighthouse/locales/ja.json +60 -0
  712. package/front_end/third_party/lighthouse/locales/ko.json +60 -0
  713. package/front_end/third_party/lighthouse/locales/lt.json +77 -17
  714. package/front_end/third_party/lighthouse/locales/lv.json +77 -17
  715. package/front_end/third_party/lighthouse/locales/nl.json +60 -0
  716. package/front_end/third_party/lighthouse/locales/no.json +77 -17
  717. package/front_end/third_party/lighthouse/locales/pl.json +60 -0
  718. package/front_end/third_party/lighthouse/locales/pt-PT.json +60 -0
  719. package/front_end/third_party/lighthouse/locales/pt.json +77 -17
  720. package/front_end/third_party/lighthouse/locales/ro.json +77 -17
  721. package/front_end/third_party/lighthouse/locales/ru.json +60 -0
  722. package/front_end/third_party/lighthouse/locales/sk.json +60 -0
  723. package/front_end/third_party/lighthouse/locales/sl.json +77 -17
  724. package/front_end/third_party/lighthouse/locales/sr-Latn.json +60 -0
  725. package/front_end/third_party/lighthouse/locales/sr.json +60 -0
  726. package/front_end/third_party/lighthouse/locales/sv.json +77 -17
  727. package/front_end/third_party/lighthouse/locales/ta.json +77 -17
  728. package/front_end/third_party/lighthouse/locales/te.json +72 -12
  729. package/front_end/third_party/lighthouse/locales/th.json +60 -0
  730. package/front_end/third_party/lighthouse/locales/tr.json +77 -17
  731. package/front_end/third_party/lighthouse/locales/uk.json +78 -18
  732. package/front_end/third_party/lighthouse/locales/vi.json +60 -0
  733. package/front_end/third_party/lighthouse/locales/zh-HK.json +77 -17
  734. package/front_end/third_party/lighthouse/locales/zh-TW.json +77 -17
  735. package/front_end/third_party/lighthouse/locales/zh.json +77 -17
  736. package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +1 -1
  737. package/front_end/third_party/lit/lib/decorators.d.ts +5 -2
  738. package/front_end/third_party/lit/lib/decorators.js +5 -5
  739. package/front_end/third_party/lit/lib/decorators.js.map +1 -1
  740. package/front_end/third_party/lit/lib/directive.d.ts +15 -7
  741. package/front_end/third_party/lit/lib/directive.js.map +1 -1
  742. package/front_end/third_party/lit/lib/directives.d.ts +147 -7
  743. package/front_end/third_party/lit/lib/directives.js +9 -9
  744. package/front_end/third_party/lit/lib/directives.js.map +1 -1
  745. package/front_end/third_party/lit/lib/lit.d.ts +126 -13
  746. package/front_end/third_party/lit/lib/lit.js +5 -5
  747. package/front_end/third_party/lit/lib/lit.js.map +1 -1
  748. package/front_end/third_party/lit/lib/static-html.d.ts +202 -0
  749. package/front_end/third_party/lit/lib/static-html.js +13 -0
  750. package/front_end/third_party/lit/lib/static-html.js.map +1 -0
  751. package/front_end/third_party/lit/lit.ts +2 -1
  752. package/front_end/third_party/lit/package.json +2 -2
  753. package/front_end/third_party/lit/{rollup.config.js → rollup.config.mjs} +2 -2
  754. package/front_end/third_party/lit/src/static-html.ts +5 -0
  755. package/front_end/third_party/puppeteer/README.chromium +2 -2
  756. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +28 -0
  757. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
  758. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js +33 -0
  759. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
  760. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts +14 -0
  761. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.d.ts.map +1 -1
  762. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js +12 -0
  763. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/BrowserContext.js.map +1 -1
  764. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/CDPSession.d.ts.map +1 -1
  765. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts +5 -0
  766. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.d.ts.map +1 -1
  767. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/ElementHandle.js.map +1 -1
  768. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +22 -6
  769. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
  770. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js +0 -1
  771. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
  772. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.js +17 -7
  773. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BidiOverCdp.js.map +1 -1
  774. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.d.ts +2 -2
  775. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.d.ts.map +1 -1
  776. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js +19 -8
  777. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserConnector.js.map +1 -1
  778. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts +3 -0
  779. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
  780. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js +35 -9
  781. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/BrowserContext.js.map +1 -1
  782. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.d.ts +2 -0
  783. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
  784. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js +15 -1
  785. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ElementHandle.js.map +1 -1
  786. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ExposedFunction.js +17 -7
  787. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/ExposedFunction.js.map +1 -1
  788. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.d.ts.map +1 -1
  789. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js +13 -2
  790. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Frame.js.map +1 -1
  791. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts +2 -1
  792. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
  793. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.js +4 -1
  794. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/HTTPRequest.js.map +1 -1
  795. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +11 -1
  796. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
  797. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +30 -2
  798. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
  799. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts +2 -0
  800. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  801. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js +7 -0
  802. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  803. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.d.ts +1 -1
  804. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/Request.d.ts.map +1 -1
  805. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/core/UserContext.d.ts.map +1 -1
  806. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts +8 -1
  807. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.d.ts.map +1 -1
  808. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js +100 -4
  809. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Accessibility.js.map +1 -1
  810. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts +2 -2
  811. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
  812. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
  813. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts +3 -0
  814. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
  815. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +28 -0
  816. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
  817. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CDPSession.d.ts +1 -1
  818. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CDPSession.d.ts.map +1 -1
  819. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CDPSession.js +9 -2
  820. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/CDPSession.js.map +1 -1
  821. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.d.ts +1 -1
  822. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.d.ts.map +1 -1
  823. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.js +12 -4
  824. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Connection.js.map +1 -1
  825. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts +1 -0
  826. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
  827. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js +11 -1
  828. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/ElementHandle.js.map +1 -1
  829. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/EmulationManager.d.ts.map +1 -1
  830. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/EmulationManager.js +1 -0
  831. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/EmulationManager.js.map +1 -1
  832. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js +1 -1
  833. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Frame.js.map +1 -1
  834. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +2 -1
  835. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
  836. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +18 -13
  837. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
  838. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.d.ts.map +1 -1
  839. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js +17 -7
  840. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/BrowserConnector.js.map +1 -1
  841. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts +1 -0
  842. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
  843. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js +7 -0
  844. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/CallbackRegistry.js.map +1 -1
  845. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +6 -6
  846. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  847. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Cookie.d.ts +85 -4
  848. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Cookie.d.ts.map +1 -1
  849. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js +17 -7
  850. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Debug.js.map +1 -1
  851. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
  852. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts.map +1 -1
  853. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
  854. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js.map +1 -1
  855. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
  856. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.js +17 -7
  857. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.js.map +1 -1
  858. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts +6 -6
  859. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  860. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +20 -10
  861. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
  862. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts +5 -5
  863. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  864. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js +7 -4
  865. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/ChromeLauncher.js.map +1 -1
  866. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.d.ts +4 -4
  867. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.d.ts.map +1 -1
  868. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.js +4 -3
  869. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.js.map +1 -1
  870. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts +50 -48
  871. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  872. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.d.ts +14 -13
  873. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.d.ts.map +1 -1
  874. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.js +34 -24
  875. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.js.map +1 -1
  876. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.d.ts +7 -3
  877. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.d.ts.map +1 -1
  878. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.js +17 -7
  879. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/puppeteer-core.js.map +1 -1
  880. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
  881. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
  882. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
  883. package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
  884. package/front_end/third_party/puppeteer/package/lib/cjs/third_party/parsel-js/parsel-js.js +11 -21
  885. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +283 -120
  886. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +714 -497
  887. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +28 -0
  888. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
  889. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js +33 -0
  890. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
  891. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts +14 -0
  892. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.d.ts.map +1 -1
  893. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js +12 -0
  894. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/BrowserContext.js.map +1 -1
  895. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/CDPSession.d.ts.map +1 -1
  896. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts +5 -0
  897. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.d.ts.map +1 -1
  898. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/ElementHandle.js.map +1 -1
  899. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +22 -6
  900. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
  901. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js +0 -1
  902. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
  903. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.d.ts +2 -2
  904. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.d.ts.map +1 -1
  905. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.js +2 -1
  906. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserConnector.js.map +1 -1
  907. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts +3 -0
  908. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.d.ts.map +1 -1
  909. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js +36 -10
  910. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/BrowserContext.js.map +1 -1
  911. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.d.ts +2 -0
  912. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.d.ts.map +1 -1
  913. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js +15 -1
  914. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/ElementHandle.js.map +1 -1
  915. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.d.ts.map +1 -1
  916. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js +14 -3
  917. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Frame.js.map +1 -1
  918. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts +2 -1
  919. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.d.ts.map +1 -1
  920. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.js +4 -1
  921. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/HTTPRequest.js.map +1 -1
  922. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +11 -1
  923. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
  924. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +27 -4
  925. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
  926. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts +2 -0
  927. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  928. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js +7 -0
  929. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  930. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.d.ts +1 -1
  931. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/Request.d.ts.map +1 -1
  932. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/core/UserContext.d.ts.map +1 -1
  933. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts +8 -1
  934. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.d.ts.map +1 -1
  935. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js +100 -4
  936. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Accessibility.js.map +1 -1
  937. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts +2 -2
  938. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
  939. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
  940. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts +3 -0
  941. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
  942. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +28 -0
  943. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
  944. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CDPSession.d.ts +1 -1
  945. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CDPSession.d.ts.map +1 -1
  946. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CDPSession.js +9 -2
  947. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/CDPSession.js.map +1 -1
  948. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.d.ts +1 -1
  949. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.d.ts.map +1 -1
  950. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.js +12 -4
  951. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Connection.js.map +1 -1
  952. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts +1 -0
  953. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.d.ts.map +1 -1
  954. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js +11 -1
  955. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/ElementHandle.js.map +1 -1
  956. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/EmulationManager.d.ts.map +1 -1
  957. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/EmulationManager.js +1 -0
  958. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/EmulationManager.js.map +1 -1
  959. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js +1 -1
  960. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Frame.js.map +1 -1
  961. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +2 -1
  962. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
  963. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +17 -13
  964. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
  965. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.d.ts.map +1 -1
  966. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/BrowserConnector.js.map +1 -1
  967. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts +1 -0
  968. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.d.ts.map +1 -1
  969. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js +7 -0
  970. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/CallbackRegistry.js.map +1 -1
  971. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +6 -6
  972. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  973. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Cookie.d.ts +85 -4
  974. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Cookie.d.ts.map +1 -1
  975. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
  976. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts.map +1 -1
  977. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
  978. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js.map +1 -1
  979. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts +6 -6
  980. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  981. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +3 -3
  982. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
  983. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts +5 -5
  984. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.d.ts.map +1 -1
  985. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js +7 -4
  986. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/ChromeLauncher.js.map +1 -1
  987. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.d.ts +4 -4
  988. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.d.ts.map +1 -1
  989. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.js +4 -3
  990. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.js.map +1 -1
  991. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts +50 -48
  992. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts.map +1 -1
  993. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.d.ts +14 -13
  994. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.d.ts.map +1 -1
  995. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.js +34 -24
  996. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.js.map +1 -1
  997. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.d.ts +7 -3
  998. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/puppeteer-core.d.ts.map +1 -1
  999. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
  1000. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
  1001. package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
  1002. package/front_end/third_party/puppeteer/package/lib/esm/third_party/parsel-js/parsel-js.js +11 -21
  1003. package/front_end/third_party/puppeteer/package/lib/types.d.ts +283 -120
  1004. package/front_end/third_party/puppeteer/package/package.json +7 -7
  1005. package/front_end/third_party/puppeteer/package/src/api/Browser.ts +37 -0
  1006. package/front_end/third_party/puppeteer/package/src/api/BrowserContext.ts +26 -0
  1007. package/front_end/third_party/puppeteer/package/src/api/ElementHandle.ts +6 -0
  1008. package/front_end/third_party/puppeteer/package/src/api/Page.ts +22 -8
  1009. package/front_end/third_party/puppeteer/package/src/bidi/BrowserConnector.ts +4 -6
  1010. package/front_end/third_party/puppeteer/package/src/bidi/BrowserContext.ts +57 -10
  1011. package/front_end/third_party/puppeteer/package/src/bidi/ElementHandle.ts +17 -0
  1012. package/front_end/third_party/puppeteer/package/src/bidi/Frame.ts +20 -3
  1013. package/front_end/third_party/puppeteer/package/src/bidi/HTTPRequest.ts +6 -2
  1014. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +43 -5
  1015. package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +10 -0
  1016. package/front_end/third_party/puppeteer/package/src/bidi/core/Request.ts +1 -1
  1017. package/front_end/third_party/puppeteer/package/src/cdp/Accessibility.ts +55 -3
  1018. package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +2 -5
  1019. package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +33 -0
  1020. package/front_end/third_party/puppeteer/package/src/cdp/CDPSession.ts +12 -5
  1021. package/front_end/third_party/puppeteer/package/src/cdp/Connection.ts +15 -6
  1022. package/front_end/third_party/puppeteer/package/src/cdp/ElementHandle.ts +13 -1
  1023. package/front_end/third_party/puppeteer/package/src/cdp/EmulationManager.ts +1 -0
  1024. package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +1 -1
  1025. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +25 -13
  1026. package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +1 -2
  1027. package/front_end/third_party/puppeteer/package/src/common/CallbackRegistry.ts +8 -0
  1028. package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +7 -6
  1029. package/front_end/third_party/puppeteer/package/src/common/Cookie.ts +87 -4
  1030. package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
  1031. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +14 -12
  1032. package/front_end/third_party/puppeteer/package/src/node/ChromeLauncher.ts +11 -12
  1033. package/front_end/third_party/puppeteer/package/src/node/FirefoxLauncher.ts +9 -9
  1034. package/front_end/third_party/puppeteer/package/src/node/LaunchOptions.ts +52 -50
  1035. package/front_end/third_party/puppeteer/package/src/node/PuppeteerNode.ts +55 -45
  1036. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  1037. package/front_end/ui/components/adorners/Adorner.test.ts +2 -2
  1038. package/front_end/ui/components/buttons/button.css +5 -5
  1039. package/front_end/ui/components/cards/Card.test.ts +1 -1
  1040. package/front_end/ui/components/cards/card.css +2 -2
  1041. package/front_end/ui/components/chrome_link/ChromeLink.test.ts +2 -4
  1042. package/front_end/ui/components/chrome_link/ChromeLink.ts +1 -1
  1043. package/front_end/ui/components/data_grid/DataGrid.test.ts +65 -67
  1044. package/front_end/ui/components/data_grid/DataGrid.ts +11 -16
  1045. package/front_end/ui/components/data_grid/DataGridController.test.ts +34 -36
  1046. package/front_end/ui/components/data_grid/dataGrid.css +1 -1
  1047. package/front_end/ui/components/dialogs/ButtonDialog.test.ts +4 -6
  1048. package/front_end/ui/components/dialogs/ButtonDialog.ts +3 -1
  1049. package/front_end/ui/components/dialogs/Dialog.test.ts +47 -50
  1050. package/front_end/ui/components/dialogs/Dialog.ts +13 -101
  1051. package/front_end/ui/components/dialogs/ShortcutDialog.test.ts +7 -23
  1052. package/front_end/ui/components/dialogs/ShortcutDialog.ts +13 -92
  1053. package/front_end/ui/components/dialogs/buttonDialog.css +1 -1
  1054. package/front_end/ui/components/dialogs/dialog.css +10 -8
  1055. package/front_end/ui/components/dialogs/dialogs.ts +0 -2
  1056. package/front_end/ui/components/dialogs/shortcutDialog.css +10 -8
  1057. package/front_end/ui/components/diff_view/DiffView.test.ts +1 -1
  1058. package/front_end/ui/components/diff_view/diffView.css +2 -2
  1059. package/front_end/ui/components/docs/{freestyler → ai_assistance}/basic.ts +8 -8
  1060. package/front_end/ui/components/docs/{freestyler → ai_assistance}/empty_state.ts +5 -5
  1061. package/front_end/ui/components/docs/building-ui-documentation/TestingComponents.md +6 -7
  1062. package/front_end/ui/components/docs/button/basic.html +18 -34
  1063. package/front_end/ui/components/docs/button/basic.ts +135 -371
  1064. package/front_end/ui/components/docs/create_breadcrumbs.ts +1 -1
  1065. package/front_end/ui/components/docs/dialog/basic.ts +71 -7
  1066. package/front_end/ui/components/docs/dialog/button_dialog.ts +2 -1
  1067. package/front_end/ui/components/docs/{shortcut_dialog/basic.html → dialog/shortcut_dialog.html} +1 -1
  1068. package/front_end/ui/components/docs/{shortcut_dialog/basic.ts → dialog/shortcut_dialog.ts} +5 -5
  1069. package/front_end/ui/components/docs/menu/basic.ts +0 -1
  1070. package/front_end/ui/components/docs/performance_panel/basic.ts +0 -5
  1071. package/front_end/ui/components/docs/performance_panel/timeline_history_manager.ts +0 -3
  1072. package/front_end/ui/components/docs/radio_button/basic.html +23 -0
  1073. package/front_end/ui/components/docs/radio_button/basic.ts +50 -0
  1074. package/front_end/ui/components/docs/recorder_control_button/basic.ts +1 -1
  1075. package/front_end/ui/components/docs/recorder_create_recording_view/basic.ts +1 -1
  1076. package/front_end/ui/components/docs/recorder_recording_list_view/basic.ts +1 -1
  1077. package/front_end/ui/components/docs/recorder_recording_view/basic.ts +1 -1
  1078. package/front_end/ui/components/docs/recorder_select_button/basic.ts +1 -1
  1079. package/front_end/ui/components/docs/recorder_split_view/basic.ts +1 -1
  1080. package/front_end/ui/components/docs/recorder_start_view/basic.ts +1 -1
  1081. package/front_end/ui/components/docs/select_menu/basic.ts +3 -4
  1082. package/front_end/ui/components/docs/slider/basic.html +20 -0
  1083. package/front_end/ui/components/docs/slider/basic.ts +62 -0
  1084. package/front_end/ui/components/expandable_list/ExpandableList.test.ts +4 -4
  1085. package/front_end/ui/components/helpers/helpers.test.ts +4 -6
  1086. package/front_end/ui/components/helpers/scheduled-render.ts +4 -3
  1087. package/front_end/ui/components/highlighting/HighlightManager.test.ts +7 -7
  1088. package/front_end/ui/components/icon_button/FileSourceIcon.ts +0 -1
  1089. package/front_end/ui/components/icon_button/IconButton.test.ts +8 -8
  1090. package/front_end/ui/components/icon_button/icon.css +1 -1
  1091. package/front_end/ui/components/issue_counter/IssueCounter.test.ts +10 -10
  1092. package/front_end/ui/components/issue_counter/IssueLinkIcon.test.ts +4 -6
  1093. package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +2 -4
  1094. package/front_end/ui/components/linkifier/LinkifierImpl.test.ts +8 -10
  1095. package/front_end/ui/components/linkifier/LinkifierImpl.ts +3 -5
  1096. package/front_end/ui/components/markdown_view/MarkdownImage.test.ts +2 -4
  1097. package/front_end/ui/components/markdown_view/MarkdownView.test.ts +9 -9
  1098. package/front_end/ui/components/markdown_view/markdownLink.css +0 -4
  1099. package/front_end/ui/components/markdown_view/markdownView.css +1 -5
  1100. package/front_end/ui/components/menus/Menu.ts +3 -22
  1101. package/front_end/ui/components/menus/SelectMenu.test.ts +5 -7
  1102. package/front_end/ui/components/menus/SelectMenu.ts +6 -39
  1103. package/front_end/ui/components/menus/selectMenuButton.css +1 -1
  1104. package/front_end/ui/components/panel_feedback/FeedbackButton.test.ts +2 -4
  1105. package/front_end/ui/components/panel_feedback/PanelFeedback.test.ts +2 -4
  1106. package/front_end/ui/components/panel_feedback/PreviewToggle.test.ts +5 -7
  1107. package/front_end/ui/components/render_coordinator/render_coordinator.test.ts +53 -52
  1108. package/front_end/ui/components/render_coordinator/render_coordinator.ts +301 -2
  1109. package/front_end/ui/components/request_link_icon/RequestLinkIcon.test.ts +5 -7
  1110. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +30 -27
  1111. package/front_end/ui/components/request_link_icon/requestLinkIcon.css +3 -0
  1112. package/front_end/ui/components/settings/SettingCheckbox.test.ts +3 -3
  1113. package/front_end/ui/components/settings/SettingCheckbox.ts +4 -3
  1114. package/front_end/ui/components/spinners/spinner.css +4 -4
  1115. package/front_end/ui/components/split_view/SplitView.test.ts +6 -8
  1116. package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +2 -4
  1117. package/front_end/ui/components/srgb_overlay/srgbOverlay.css +2 -2
  1118. package/front_end/ui/components/suggestion_input/SuggestionInput.ts +1 -1
  1119. package/front_end/ui/components/suggestion_input/suggestionInput.css +1 -2
  1120. package/front_end/ui/components/survey_link/SurveyLink.ts +1 -1
  1121. package/front_end/ui/components/switch/SwitchImpl.test.ts +1 -1
  1122. package/front_end/ui/components/switch/SwitchImpl.ts +2 -2
  1123. package/front_end/ui/components/text_editor/TextEditor.test.ts +6 -6
  1124. package/front_end/ui/components/text_editor/config.ts +22 -4
  1125. package/front_end/ui/components/text_prompt/TextPrompt.test.ts +3 -3
  1126. package/front_end/ui/components/tree_outline/TreeOutline.test.ts +46 -48
  1127. package/front_end/ui/components/tree_outline/TreeOutline.ts +3 -5
  1128. package/front_end/ui/legacy/ARIAUtils.ts +1 -5
  1129. package/front_end/ui/legacy/Dialog.ts +2 -4
  1130. package/front_end/ui/legacy/DockController.test.ts +2 -2
  1131. package/front_end/ui/legacy/DropTarget.ts +1 -2
  1132. package/front_end/ui/legacy/EmptyWidget.ts +1 -1
  1133. package/front_end/ui/legacy/FilterBar.ts +3 -5
  1134. package/front_end/ui/legacy/Infobar.ts +5 -7
  1135. package/front_end/ui/legacy/ListWidget.ts +1 -1
  1136. package/front_end/ui/legacy/ProgressIndicator.ts +2 -3
  1137. package/front_end/ui/legacy/ReportView.ts +2 -2
  1138. package/front_end/ui/legacy/SearchableView.ts +4 -7
  1139. package/front_end/ui/legacy/SettingsUI.ts +2 -2
  1140. package/front_end/ui/legacy/ShortcutRegistry.test.ts +3 -3
  1141. package/front_end/ui/legacy/SoftDropDown.ts +0 -1
  1142. package/front_end/ui/legacy/SplitWidget.ts +2 -2
  1143. package/front_end/ui/legacy/SuggestBox.test.ts +5 -5
  1144. package/front_end/ui/legacy/SuggestBox.ts +1 -2
  1145. package/front_end/ui/legacy/TabbedPane.ts +42 -2
  1146. package/front_end/ui/legacy/TextPrompt.ts +1 -1
  1147. package/front_end/ui/legacy/Toolbar.test.ts +2 -5
  1148. package/front_end/ui/legacy/Toolbar.ts +11 -8
  1149. package/front_end/ui/legacy/Treeoutline.ts +1 -2
  1150. package/front_end/ui/legacy/UIUtils.ts +164 -131
  1151. package/front_end/ui/legacy/ViewRegistration.test.ts +1 -1
  1152. package/front_end/ui/legacy/Widget.test.ts +111 -4
  1153. package/front_end/ui/legacy/Widget.ts +81 -34
  1154. package/front_end/ui/legacy/components/color_picker/ContrastDetails.ts +4 -4
  1155. package/front_end/ui/legacy/components/color_picker/Spectrum.test.ts +1 -1
  1156. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +2 -2
  1157. package/front_end/ui/legacy/components/color_picker/spectrum.css +2 -1
  1158. package/front_end/ui/legacy/components/data_grid/DataGrid.test.ts +1 -1
  1159. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +8 -8
  1160. package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +2 -4
  1161. package/front_end/ui/legacy/components/data_grid/dataGrid.css +10 -17
  1162. package/front_end/ui/legacy/components/inline_editor/CSSAngle.test.ts +3 -3
  1163. package/front_end/ui/legacy/components/inline_editor/CSSAngle.ts +1 -0
  1164. package/front_end/ui/legacy/components/inline_editor/CSSShadowEditor.ts +2 -2
  1165. package/front_end/ui/legacy/components/inline_editor/ColorMixSwatch.test.ts +1 -1
  1166. package/front_end/ui/legacy/components/inline_editor/ColorSwatch.test.ts +5 -5
  1167. package/front_end/ui/legacy/components/inline_editor/FontEditor.ts +22 -23
  1168. package/front_end/ui/legacy/components/inline_editor/Swatches.ts +26 -26
  1169. package/front_end/ui/legacy/components/inline_editor/bezierSwatch.css +4 -4
  1170. package/front_end/ui/legacy/components/inline_editor/cssAngleEditor.css +1 -4
  1171. package/front_end/ui/legacy/components/inline_editor/cssAngleSwatch.css +1 -4
  1172. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +2 -4
  1173. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +2 -5
  1174. package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +4 -4
  1175. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +72 -71
  1176. package/front_end/ui/legacy/components/perf_ui/FilmStripView.test.ts +1 -1
  1177. package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +1 -1
  1178. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +172 -108
  1179. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +3 -3
  1180. package/front_end/ui/legacy/components/perf_ui/PieChart.test.ts +6 -6
  1181. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +29 -11
  1182. package/front_end/ui/legacy/components/perf_ui/filmStripView.css +1 -2
  1183. package/front_end/ui/legacy/components/perf_ui/flameChart.css +1 -12
  1184. package/front_end/ui/legacy/components/perf_ui/overviewGrid.css +1 -4
  1185. package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +13 -11
  1186. package/front_end/ui/legacy/components/perf_ui/pieChart.css +1 -1
  1187. package/front_end/ui/legacy/components/perf_ui/timelineGrid.css +1 -4
  1188. package/front_end/ui/legacy/components/quick_open/CommandMenu.test.ts +3 -3
  1189. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +2 -2
  1190. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +3 -1
  1191. package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +1 -2
  1192. package/front_end/ui/legacy/components/source_frame/FontView.ts +1 -1
  1193. package/front_end/ui/legacy/components/source_frame/ImageView.ts +1 -1
  1194. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +1 -1
  1195. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +2 -4
  1196. package/front_end/ui/legacy/components/utils/ImagePreview.ts +22 -19
  1197. package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +3 -4
  1198. package/front_end/ui/legacy/components/utils/Linkifier.test.ts +4 -0
  1199. package/front_end/ui/legacy/dropTarget.css +1 -4
  1200. package/front_end/ui/legacy/glassPane.css +2 -4
  1201. package/front_end/ui/legacy/inspectorCommon.css +86 -20
  1202. package/front_end/ui/legacy/inspectorViewTabbedPane.css +0 -19
  1203. package/front_end/ui/legacy/legacy.ts +0 -2
  1204. package/front_end/ui/legacy/reportView.css +7 -1
  1205. package/front_end/ui/legacy/rootView.css +1 -4
  1206. package/front_end/ui/legacy/softDropDown.css +1 -2
  1207. package/front_end/ui/legacy/tabbedPane.css +10 -18
  1208. package/front_end/ui/legacy/textButton.css +6 -6
  1209. package/front_end/ui/legacy/themeColors.css +50 -28
  1210. package/front_end/ui/legacy/toolbar.css +4 -28
  1211. package/front_end/ui/legacy/treeoutline.css +1 -1
  1212. package/front_end/ui/lit-html/i18n-template.test.ts +53 -0
  1213. package/front_end/ui/lit-html/i18n-template.ts +32 -0
  1214. package/front_end/ui/lit-html/lit-html.ts +13 -14
  1215. package/front_end/ui/visual_logging/Debugging.test.ts +0 -9
  1216. package/front_end/ui/visual_logging/Debugging.ts +45 -12
  1217. package/front_end/ui/visual_logging/DomState.test.ts +6 -6
  1218. package/front_end/ui/visual_logging/KnownContextValues.ts +199 -3
  1219. package/front_end/ui/visual_logging/LoggingDriver.test.ts +6 -7
  1220. package/front_end/ui/visual_logging/LoggingDriver.ts +3 -4
  1221. package/front_end/ui/visual_logging/LoggingEvents.test.ts +16 -16
  1222. package/front_end/ui/visual_logging/LoggingEvents.ts +1 -1
  1223. package/front_end/ui/visual_logging/visual_logging.ts +12 -1
  1224. package/inspector_overlay/common.css +1 -4
  1225. package/inspector_overlay/css_grid_label_helpers.test.ts +14 -15
  1226. package/inspector_overlay/css_grid_label_helpers.ts +2 -2
  1227. package/inspector_overlay/highlight_common.test.ts +6 -6
  1228. package/inspector_overlay/highlight_common.ts +1 -1
  1229. package/inspector_overlay/highlight_flex_common.test.ts +45 -45
  1230. package/inspector_overlay/main.ts +7 -7
  1231. package/inspector_overlay/tool_highlight.css +1 -1
  1232. package/inspector_overlay/tool_highlight.test.ts +3 -3
  1233. package/inspector_overlay/tool_highlight.ts +1 -1
  1234. package/inspector_overlay/tool_window_controls.test.ts +2 -2
  1235. package/package.json +15 -14
  1236. package/scripts/{freestyler → ai_assistance}/README.md +11 -10
  1237. package/scripts/{freestyler/auto_freestyler.js → ai_assistance/auto-run.js} +31 -2
  1238. package/scripts/{freestyler → ai_assistance}/eval/index.js +1 -1
  1239. package/scripts/ai_assistance/types.d.ts +54 -0
  1240. package/scripts/build/typescript/ts_library.py +3 -0
  1241. package/scripts/build/typescript/typescript.gni +4 -1
  1242. package/scripts/check_experiments.js +82 -23
  1243. package/scripts/component_server/server.js +142 -48
  1244. package/scripts/devtools_paths.js +25 -9
  1245. package/scripts/eslint_rules/README.md +5 -1
  1246. package/scripts/eslint_rules/lib/{l10n_no_locked_or_placeholder_only_phrase.js → l10n-no-locked-or-placeholder-only-phrase.js} +1 -1
  1247. package/scripts/eslint_rules/lib/{l10n_no_uistrings_export.js → l10n-no-uistrings-export.js} +1 -1
  1248. package/scripts/eslint_rules/lib/{l10n_no_unused_message.js → l10n-no-unused-message.js} +1 -1
  1249. package/scripts/eslint_rules/lib/{ban_a_tags_in_lit_html.js → no-a-tags-in-lit-html.js} +0 -1
  1250. package/scripts/eslint_rules/lib/no-assert-deep-strict-equal.js +61 -0
  1251. package/scripts/eslint_rules/lib/no-assert-equal-boolean-null-undefined.js +125 -0
  1252. package/scripts/eslint_rules/lib/no-assert-strict-equal-for-arrays-and-objects.js +75 -0
  1253. package/scripts/eslint_rules/lib/no-customized-builtin-elements.js +120 -0
  1254. package/scripts/eslint_rules/lib/{ban_imports_in_directory.js → no-imports-in-directory.js} +0 -1
  1255. package/scripts/eslint_rules/lib/{ban_new_lit_element_components.js → no-new-lit-element-components.js} +0 -1
  1256. package/scripts/eslint_rules/lib/{ban_style_tags_in_lit_html.js → no-style-tags-in-lit-html.js} +14 -3
  1257. package/scripts/eslint_rules/lib/prefer-assert-instance-of.js +89 -0
  1258. package/scripts/eslint_rules/lib/prefer-assert-is-ok.js +71 -0
  1259. package/scripts/eslint_rules/lib/prefer-assert-length-of.js +79 -0
  1260. package/scripts/eslint_rules/lib/{use_private_class_members.js → prefer-private-class-members.js} +4 -6
  1261. package/scripts/eslint_rules/lib/prefer-readonly-keyword.js +57 -0
  1262. package/scripts/eslint_rules/tests/{canvas_context_tracking_test.js → canvas-context-tracking.test.js} +2 -2
  1263. package/scripts/eslint_rules/tests/{check_css_import_test.js → check-css-import.test.js} +2 -2
  1264. package/scripts/eslint_rules/tests/{check_enumerated_histograms_test.js → check-enumerated-histograms.test.js} +2 -2
  1265. package/scripts/eslint_rules/tests/{check_license_header_test.js → check-license-header.test.js} +2 -2
  1266. package/scripts/eslint_rules/tests/{check_test_definitions_test.js → check-test-definitions.test.js} +2 -2
  1267. package/scripts/eslint_rules/tests/{check_was_shown_methods_test.js → check-was-shown-methods.test.js} +2 -2
  1268. package/scripts/eslint_rules/tests/{enforce_bound_render_for_schedule_render_test.js → enforce-bound-render-for-schedule-render.test.js} +2 -2
  1269. package/scripts/eslint_rules/tests/{enforce_custom_event_names_test.js → enforce-custom-event-names.test.js} +2 -2
  1270. package/scripts/eslint_rules/tests/{enforce_default_import_name_test.js → enforce-default-import-name.test.js} +2 -2
  1271. package/scripts/eslint_rules/tests/{es_modules_import_test.js → es-modules-import.test.js} +2 -2
  1272. package/scripts/eslint_rules/tests/{html_tagged_template_test.js → html-tagged-template.test.js} +2 -2
  1273. package/scripts/eslint_rules/tests/{inject_checkbox_styles_test.js → inject-checkbox-styles.test.js} +2 -2
  1274. package/scripts/eslint_rules/tests/{inline_type_imports_test.js → inline-type-imports.test.js} +2 -2
  1275. package/scripts/eslint_rules/tests/{jslog_context_list_test.js → jslog-context-list.test.js} +2 -2
  1276. package/scripts/eslint_rules/tests/{l10n_filename_matches_test.js → l10n-filename-matches.test.js} +2 -2
  1277. package/scripts/eslint_rules/tests/{l10n_i18nString_call_only_with_uistrings_test.js → l10n-i18nString-call-only-with-uistrings.test.js} +2 -2
  1278. package/scripts/eslint_rules/tests/{l10n_no_i18nString_calls_module_instantiation_test.js → l10n-no-i18nString-calls-module-instantiation.test.js} +2 -2
  1279. package/scripts/eslint_rules/tests/{l10n_no_locked_or_placeholder_only_phrase_test.js → l10n-no-locked-or-placeholder-only-phrase.test.js} +2 -2
  1280. package/scripts/eslint_rules/tests/{l10n_no_uistrings_export_test.js → l10n-no-uistrings-export.test.js} +2 -2
  1281. package/scripts/eslint_rules/tests/{l10n_no_unused_message_test.js → l10n-no-unused-message.test.js} +2 -2
  1282. package/scripts/eslint_rules/tests/{lit_html_host_this_test.js → lit-html-host-this.test.js} +2 -2
  1283. package/scripts/eslint_rules/tests/{lit_html_no_attribute_quotes_test.js → lit-html-no-attribute-quotes.test.js} +2 -2
  1284. package/scripts/eslint_rules/tests/{lit_template_result_or_nothing_test.js → lit-template-result-or-nothing.test.js} +2 -2
  1285. package/scripts/eslint_rules/tests/{ban_a_tags_in_lit_html_test.js → no-a-tags-in-lit-html.test.js} +2 -2
  1286. package/scripts/eslint_rules/tests/no-assert-deep-strict-equal.test.js +53 -0
  1287. package/scripts/eslint_rules/tests/no-assert-equal-boolean-null-undefined.test.js +209 -0
  1288. package/scripts/eslint_rules/tests/{avoid_assert_equal_test.js → no-assert-equal.test.js} +2 -2
  1289. package/scripts/eslint_rules/tests/no-assert-strict-equal-for-arrays-and-objects.test.js +89 -0
  1290. package/scripts/eslint_rules/tests/{no_bound_component_methods_test.js → no-bound-component-methods.test.js} +2 -2
  1291. package/scripts/eslint_rules/tests/{commented_out_console_test.js → no-commented-out-console.test.js} +2 -2
  1292. package/scripts/eslint_rules/tests/{commented_out_import_test.js → no-commented-out-import.test.js} +2 -2
  1293. package/scripts/eslint_rules/tests/no-customized-builtin-elements.test.js +152 -0
  1294. package/scripts/eslint_rules/tests/{no_importing_images_from_src_test.js → no-importing-images-from-src.test.js} +2 -2
  1295. package/scripts/eslint_rules/tests/{ban_imports_in_directory_test.js → no-imports-in-directory.test.js} +2 -2
  1296. package/scripts/eslint_rules/tests/{no_it_screenshot_only_or_repeat_test.js → no-it-screenshot-only-or-repeat.test.js} +2 -2
  1297. package/scripts/eslint_rules/tests/{ban_new_lit_element_components_test.js → no-new-lit-element-components.test.js} +2 -2
  1298. package/scripts/eslint_rules/tests/{no_only_eslint_tests_test.js → no-only-eslint-tests.test.js} +9 -9
  1299. package/scripts/eslint_rules/tests/{ban_screenshot_test_outside_perf_panel_test.js → no-screenshot-test-outside-perf-panel.test.js} +2 -2
  1300. package/scripts/eslint_rules/tests/{ban_self_closing_custom_element_tagnames_test.js → no-self-closing-custom-element-tagnames.test.js} +2 -2
  1301. package/scripts/eslint_rules/tests/{ban_style_tags_in_lit_html_test.js → no-style-tags-in-lit-html.test.js} +2 -2
  1302. package/scripts/eslint_rules/tests/{no_underscored_properties_test.js → no-underscored-properties.test.js} +2 -2
  1303. package/scripts/eslint_rules/tests/prefer-assert-instance-of.test.js +197 -0
  1304. package/scripts/eslint_rules/tests/prefer-assert-is-ok.test.js +81 -0
  1305. package/scripts/eslint_rules/tests/prefer-assert-length-of.test.js +145 -0
  1306. package/scripts/eslint_rules/tests/{use_private_class_members_test.js → prefer-private-class-members.test.js} +2 -2
  1307. package/scripts/eslint_rules/tests/{prefer_readonly_keyword_test.js → prefer-readonly-keyword.test.js} +31 -15
  1308. package/scripts/eslint_rules/tests/{screenshot_assertion_in_it_screenshot_test.js → screenshot-assertion-in-it-screenshot.test.js} +2 -2
  1309. package/scripts/eslint_rules/tests/{set_data_type_reference_test.js → set-data-type-reference.test.js} +2 -2
  1310. package/scripts/eslint_rules/tests/{single_screenshot_assertion_per_test_test.js → single-screenshot-assertion-per-test.test.js} +2 -2
  1311. package/scripts/eslint_rules/tests/{static_custom_event_names_test.js → static-custom-event-names.test.js} +2 -2
  1312. package/scripts/eslint_rules/tests/{trace_engine_test_timeouts_test.js → trace-engine-test-timeouts.test.js} +2 -2
  1313. package/scripts/generate_metric_compare_strings.js +1 -1
  1314. package/scripts/stylelint_rules/lib/{use_theme_colors.js → use_theme_colors.mjs} +150 -52
  1315. package/scripts/stylelint_rules/tests/use_theme_colors_test.js +102 -42
  1316. package/.eslintignore +0 -41
  1317. package/.eslintrc.js +0 -315
  1318. package/front_end/.eslintrc.js +0 -96
  1319. package/front_end/Images/whatsnew.avif +0 -0
  1320. package/front_end/legacy_test_runner/.eslintrc.js +0 -13
  1321. package/front_end/models/trace/extras/URLForEntry.ts +0 -56
  1322. package/front_end/models/trace/handlers/.eslintrc.js +0 -18
  1323. package/front_end/models/trace/lantern/.eslintrc.js +0 -16
  1324. package/front_end/panels/elements/ComputedStyleWidget.test.ts +0 -72
  1325. package/front_end/panels/elements/components/AdornerSettingsPane.ts +0 -132
  1326. package/front_end/panels/elements/components/adornerSettingsPane.css +0 -40
  1327. package/front_end/panels/freestyler/freestyler.ts +0 -16
  1328. package/front_end/panels/recorder/injected/.eslintrc.js +0 -14
  1329. package/front_end/panels/timeline/ExtensionDataGatherer.ts +0 -65
  1330. package/front_end/panels/timeline/TimelineLandingPage.ts +0 -108
  1331. package/front_end/panels/timeline/fixtures/traces/nested-initiators.json.gz +0 -0
  1332. package/front_end/panels/timeline/fixtures/traces/set-timeout-long-task.json.gz +0 -0
  1333. package/front_end/panels/whats_new/resources/whatsnew.avif +0 -0
  1334. package/front_end/ui/components/dialogs/IconDialog.ts +0 -160
  1335. package/front_end/ui/components/dialogs/iconDialog.css +0 -24
  1336. package/front_end/ui/components/docs/.eslintrc.js +0 -19
  1337. package/front_end/ui/components/docs/icon_dialog/basic.html +0 -28
  1338. package/front_end/ui/components/docs/icon_dialog/basic.ts +0 -46
  1339. package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +0 -331
  1340. package/front_end/ui/legacy/HistoryInput.ts +0 -61
  1341. package/front_end/ui/legacy/components/perf_ui/.eslintrc.js +0 -18
  1342. package/front_end/ui/legacy/radioButton.css +0 -32
  1343. package/front_end/ui/legacy/slider.css +0 -51
  1344. package/front_end/ui/lit-html/static.test.ts +0 -153
  1345. package/front_end/ui/lit-html/static.ts +0 -127
  1346. package/scripts/.eslintrc.js +0 -9
  1347. package/scripts/eslint_rules/lib/compare_arrays_with_assert_deepequal.js +0 -60
  1348. package/scripts/eslint_rules/lib/lit_no_style_interpolation.js +0 -80
  1349. package/scripts/eslint_rules/lib/migrate_create_shadow_root_with_styles.js +0 -110
  1350. package/scripts/eslint_rules/lib/migrate_register_required_css.js +0 -240
  1351. package/scripts/eslint_rules/lib/no_repeated_tests.js +0 -30
  1352. package/scripts/eslint_rules/lib/prefer_readonly_keyword.js +0 -27
  1353. package/scripts/eslint_rules/lib/static_tag_must_be_static_property.js +0 -71
  1354. package/scripts/eslint_rules/tests/.eslintrc.js +0 -18
  1355. package/scripts/eslint_rules/tests/compare_arrays_with_assert_deepequal_test.js +0 -110
  1356. package/scripts/eslint_rules/tests/lit_no_style_interpolation_test.js +0 -60
  1357. package/scripts/eslint_rules/tests/migrate_create_shadow_root_with_styles_test.js +0 -265
  1358. package/scripts/eslint_rules/tests/migrate_register_required_css_test.js +0 -473
  1359. package/scripts/eslint_rules/tests/no_repeated_tests_test.js +0 -49
  1360. package/scripts/eslint_rules/tests/static_tag_must_be_static_property_test.js +0 -93
  1361. /package/front_end/panels/{freestyler → ai_assistance}/ExtensionScope.ts +0 -0
  1362. /package/front_end/panels/{freestyler → ai_assistance}/components/userActionRow.css +0 -0
  1363. /package/front_end/ui/components/docs/{freestyler → ai_assistance}/basic.html +0 -0
  1364. /package/front_end/ui/components/docs/{freestyler → ai_assistance}/empty_state.html +0 -0
  1365. /package/scripts/{freestyler → ai_assistance}/eval/index.html +0 -0
  1366. /package/scripts/{freestyler → ai_assistance}/to_tsv.mjs +0 -0
  1367. /package/scripts/eslint_rules/lib/{canvas_context_tracking.js → canvas-context-tracking.js} +0 -0
  1368. /package/scripts/eslint_rules/lib/{check_css_import.js → check-css-import.js} +0 -0
  1369. /package/scripts/eslint_rules/lib/{check_enumerated_histograms.js → check-enumerated-histograms.js} +0 -0
  1370. /package/scripts/eslint_rules/lib/{check_license_header.js → check-license-header.js} +0 -0
  1371. /package/scripts/eslint_rules/lib/{check_test_definitions.js → check-test-definitions.js} +0 -0
  1372. /package/scripts/eslint_rules/lib/{check_was_shown_methods.js → check-was-shown-methods.js} +0 -0
  1373. /package/scripts/eslint_rules/lib/{enforce_bound_render_for_schedule_render.js → enforce-bound-render-for-schedule-render.js} +0 -0
  1374. /package/scripts/eslint_rules/lib/{enforce_custom_event_names.js → enforce-custom-event-names.js} +0 -0
  1375. /package/scripts/eslint_rules/lib/{enforce_default_import_name.js → enforce-default-import-name.js} +0 -0
  1376. /package/scripts/eslint_rules/lib/{es_modules_import.js → es-modules-import.js} +0 -0
  1377. /package/scripts/eslint_rules/lib/{html_tagged_template.js → html-tagged-template.js} +0 -0
  1378. /package/scripts/eslint_rules/lib/{inject_checkbox_styles.js → inject-checkbox-styles.js} +0 -0
  1379. /package/scripts/eslint_rules/lib/{inline_type_imports.js → inline-type-imports.js} +0 -0
  1380. /package/scripts/eslint_rules/lib/{jslog_context_list.js → jslog-context-list.js} +0 -0
  1381. /package/scripts/eslint_rules/lib/{l10n_filename_matches.js → l10n-filename-matches.js} +0 -0
  1382. /package/scripts/eslint_rules/lib/{l10n_helper.js → l10n-helper.js} +0 -0
  1383. /package/scripts/eslint_rules/lib/{l10n_i18nString_call_only_with_uistrings.js → l10n-i18nString-call-only-with-uistrings.js} +0 -0
  1384. /package/scripts/eslint_rules/lib/{l10n_no_i18nString_calls_module_instantiation.js → l10n-no-i18nString-calls-module-instantiation.js} +0 -0
  1385. /package/scripts/eslint_rules/lib/{lit_html_host_this.js → lit-html-host-this.js} +0 -0
  1386. /package/scripts/eslint_rules/lib/{lit_html_no_attribute_quotes.js → lit-html-no-attribute-quotes.js} +0 -0
  1387. /package/scripts/eslint_rules/lib/{lit_template_result_or_nothing.js → lit-template-result-or-nothing.js} +0 -0
  1388. /package/scripts/eslint_rules/lib/{avoid_assert_equal.js → no-assert-equal.js} +0 -0
  1389. /package/scripts/eslint_rules/lib/{no_bound_component_methods.js → no-bound-component-methods.js} +0 -0
  1390. /package/scripts/eslint_rules/lib/{commented_out_console.js → no-commented-out-console.js} +0 -0
  1391. /package/scripts/eslint_rules/lib/{commented_out_import.js → no-commented-out-import.js} +0 -0
  1392. /package/scripts/eslint_rules/lib/{no_importing_images_from_src.js → no-importing-images-from-src.js} +0 -0
  1393. /package/scripts/eslint_rules/lib/{no_it_screenshot_only_or_repeat.js → no-it-screenshot-only-or-repeat.js} +0 -0
  1394. /package/scripts/eslint_rules/lib/{no_only_eslint_tests.js → no-only-eslint-tests.js} +0 -0
  1395. /package/scripts/eslint_rules/lib/{ban_screenshot_test_outside_perf_panel.js → no-screenshot-test-outside-perf-panel.js} +0 -0
  1396. /package/scripts/eslint_rules/lib/{ban_self_closing_custom_element_tagnames.js → no-self-closing-custom-element-tagnames.js} +0 -0
  1397. /package/scripts/eslint_rules/lib/{no_underscored_properties.js → no-underscored-properties.js} +0 -0
  1398. /package/scripts/eslint_rules/lib/{screenshot_assertion_in_it_screenshot.js → screenshot-assertion-in-it-screenshot.js} +0 -0
  1399. /package/scripts/eslint_rules/lib/{set_data_type_reference.js → set-data-type-reference.js} +0 -0
  1400. /package/scripts/eslint_rules/lib/{single_screenshot_assertion_per_test.js → single-screenshot-assertion-per-test.js} +0 -0
  1401. /package/scripts/eslint_rules/lib/{static_custom_event_names.js → static-custom-event-names.js} +0 -0
  1402. /package/scripts/eslint_rules/lib/{trace_engine_test_timeouts.js → trace-engine-test-timeouts.js} +0 -0
  1403. /package/scripts/eslint_rules/tests/{enforce-optional-properties-last_test.js → enforce-optional-properties-last.test.js} +0 -0
  1404. /package/scripts/eslint_rules/tests/{utils_test.js → utils.test.js} +0 -0
@@ -98,7 +98,7 @@ const UIStrings = {
98
98
  /**
99
99
  *@description Shown in the context menu when right clicking on a track header to enable the user to enter the track configuration mode.
100
100
  */
101
- enterTrackConfigurationMode: 'Configure tracks',
101
+ enterTrackConfigurationMode: 'Configure tracks',
102
102
  /**
103
103
  *@description Shown in the context menu when right clicking on a track header to allow the user to exit track configuration mode.
104
104
  */
@@ -313,6 +313,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
313
313
  private forceDecorationCache?: boolean[]|null;
314
314
  private entryColorsCache?: string[]|null;
315
315
  private entryIndicesToNotDim?: number[]|null;
316
+ private entryIndicesToDim?: number[]|null;
316
317
  private colorDimmingCache = new Map<string, string>();
317
318
  private totalTime?: number;
318
319
  private lastPopoverState: PopoverState;
@@ -322,7 +323,6 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
322
323
  #font: string;
323
324
  #groupTreeRoot?: GroupTreeNode|null;
324
325
  #searchResultEntryIndex: number|null = null;
325
- #searchResultHighlightElements: HTMLElement[] = [];
326
326
  #searchResultEntries: number[]|null = null;
327
327
  #inTrackConfigEditMode: boolean = false;
328
328
  #linkSelectionAnnotationIsInProgress: boolean = false;
@@ -333,6 +333,8 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
333
333
 
334
334
  #indexToDrawOverride = new Map<number, DrawOverride>();
335
335
 
336
+ #shouldAddOutlines: boolean = true;
337
+
336
338
  constructor(
337
339
  dataProvider: FlameChartDataProvider, flameChartDelegate: FlameChartDelegate,
338
340
  optionalConfig: OptionalFlameChartConfig = {}) {
@@ -364,7 +366,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
364
366
  this.dataProvider = dataProvider;
365
367
 
366
368
  this.viewportElement = this.chartViewport.viewportElement;
367
- this.canvas = (this.viewportElement.createChild('canvas', 'fill') as HTMLCanvasElement);
369
+ this.canvas = this.viewportElement.createChild('canvas', 'fill');
368
370
  this.candyStripePattern = this.candyStripePatternGray = null;
369
371
 
370
372
  this.canvas.tabIndex = 0;
@@ -497,7 +499,12 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
497
499
 
498
500
  #shouldDimEvent(entryIndex: number): boolean {
499
501
  // If a search is active, that enables a mode where we dim all events that do not match the search results.
500
- // Otherwise the events to not dim are defined by the last call to `enableDimming`.
502
+ if (this.entryIndicesToDim && !this.#searchResultEntries) {
503
+ return this.entryIndicesToDim.includes(entryIndex);
504
+ }
505
+
506
+ // Otherwise the events to not dim are defined by the last call to `enableDimmingForUnrelatedEntries` or
507
+ // `enableDimming`.
501
508
  const entriesToNotDim = this.#searchResultEntries ?? this.entryIndicesToNotDim;
502
509
  if (!entriesToNotDim) {
503
510
  return false;
@@ -506,13 +513,22 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
506
513
  return !entriesToNotDim.includes(entryIndex);
507
514
  }
508
515
 
509
- enableDimming(entryIndicesToNotDim: number[]): void {
516
+ enableDimming(entryIndices: number[], shouldAddOutlines: boolean): void {
517
+ this.entryIndicesToDim = entryIndices;
518
+ this.#shouldAddOutlines = shouldAddOutlines;
519
+ this.entryIndicesToNotDim = [];
520
+ this.draw();
521
+ }
522
+
523
+ enableDimmingForUnrelatedEntries(entryIndicesToNotDim: number[]): void {
510
524
  this.entryIndicesToNotDim = entryIndicesToNotDim;
525
+ this.entryIndicesToDim = [];
511
526
  this.draw();
512
527
  }
513
528
 
514
529
  disableDimming(): void {
515
530
  this.entryIndicesToNotDim = null;
531
+ this.entryIndicesToDim = null;
516
532
  this.draw();
517
533
  }
518
534
 
@@ -553,19 +569,6 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
553
569
  }
554
570
 
555
571
  highlightAllEntries(entries: number[]): void {
556
- // To avoid too many highlights when the search regex matches too many entries,
557
- // for example, when user only types in "e" as the search query,
558
- // We only highlight the search results when the number of matches is less than or equal to 200.
559
- // TODO: current behavior is a bit jank, esp. with dimming treatment always being applied.
560
- // Can we lift this restriction - maybe by adding a stroke in canvas, which should be faster?
561
- const MAX_HIGHLIGHTED_SEARCH_ELEMENTS: number = 200;
562
- for (const entry of entries.slice(0, MAX_HIGHLIGHTED_SEARCH_ELEMENTS)) {
563
- const searchElement = this.viewportElement.createChild('div', 'flame-chart-search-element');
564
- this.#searchResultHighlightElements.push(searchElement);
565
- searchElement.id = entry.toString();
566
- this.updateElementPosition(searchElement, entry);
567
- }
568
-
569
572
  if (Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_DIM_UNRELATED_EVENTS)) {
570
573
  this.#searchResultEntries = entries;
571
574
  // Must redraw for the dimming treatment (#searchResultEntries overrides entryIndicesToNotDim).
@@ -574,10 +577,6 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
574
577
  }
575
578
 
576
579
  removeSearchResultHighlights(): void {
577
- for (const element of this.#searchResultHighlightElements) {
578
- element.remove();
579
- }
580
- this.#searchResultHighlightElements = [];
581
580
  this.#searchResultEntries = null;
582
581
  // Must redraw for the dimming treatment (to turn it off / revert back to entryIndicesToNotDim).
583
582
  this.draw();
@@ -767,8 +766,13 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
767
766
  this.viewportElement.style.cursor = 'pointer';
768
767
  return;
769
768
  case HoverType.INSIDE_TRACK:
769
+ case HoverType.OUTSIDE_TRACKS:
770
770
  this.updateHighlight();
771
771
  return;
772
+ case HoverType.ERROR:
773
+ return;
774
+ default:
775
+ Platform.assertNever(hoverType, `Invalid hovering type: ${hoverType}`);
772
776
  }
773
777
  }
774
778
 
@@ -791,7 +795,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
791
795
  iconTooltip = `Move ${displayName} track down`;
792
796
  break;
793
797
  case HoverType.TRACK_CONFIG_HIDE_BUTTON:
794
- if (this.groupIsLastVisibleTopLevel(group)) {
798
+ if (this.groupIsLastVisibleTopLevel(groupIndex)) {
795
799
  iconTooltip = 'Can not hide the last top level track';
796
800
  } else {
797
801
  iconTooltip = `Hide ${displayName} track`;
@@ -863,7 +867,6 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
863
867
  isMouseOverRevealChildrenArrow === this.lastPopoverState.hiddenEntriesPopover) {
864
868
  return this.updatePopoverOffset();
865
869
  }
866
- this.popoverElement.removeChildren();
867
870
  const data = this.timelineData();
868
871
  if (!data) {
869
872
  return;
@@ -874,8 +877,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
874
877
  this.dataProvider.preparePopoverForCollapsedArrow?.(entryIndex) :
875
878
  entryIndex !== null && this.dataProvider.preparePopoverElement(entryIndex);
876
879
  if (popoverElement) {
877
- this.popoverElement.appendChild(popoverElement);
878
- this.updatePopoverOffset();
880
+ this.updatePopoverContents(popoverElement);
879
881
  }
880
882
  this.lastPopoverState = {
881
883
  entryIndex,
@@ -884,6 +886,18 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
884
886
  };
885
887
  }
886
888
 
889
+ updatePopoverContents(popoverElement: Element): void {
890
+ this.popoverElement.removeChildren();
891
+ this.popoverElement.appendChild(popoverElement);
892
+ this.updatePopoverOffset();
893
+ this.lastPopoverState.entryIndex = -1;
894
+ }
895
+
896
+ updateMouseOffset(mouseX: number, mouseY: number): void {
897
+ this.lastMouseOffsetX = mouseX;
898
+ this.lastMouseOffsetY = mouseY;
899
+ }
900
+
887
901
  #updatePopoverForGroup(groupIndex: number): void {
888
902
  // Just update position if cursor is hovering the group name.
889
903
  if (groupIndex === this.lastPopoverState.groupIndex) {
@@ -1015,42 +1029,45 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
1015
1029
 
1016
1030
  // If any button is clicked, we should handle the action only and ignore others.
1017
1031
  const {groupIndex, hoverType} = this.coordinatesToGroupIndexAndHoverType(mouseEvent.offsetX, mouseEvent.offsetY);
1018
- if (groupIndex >= 0) {
1019
- switch (hoverType) {
1020
- case HoverType.TRACK_CONFIG_UP_BUTTON:
1021
- this.moveGroupUp(groupIndex);
1022
- return;
1023
- case HoverType.TRACK_CONFIG_DOWN_BUTTON:
1024
- this.moveGroupDown(groupIndex);
1025
- return;
1026
- case HoverType.TRACK_CONFIG_HIDE_BUTTON:
1027
- if (this.groupIsLastVisibleTopLevel(this.rawTimelineData?.groups[groupIndex])) {
1028
- // If this is the last visible top-level group, we will not allow you hiding the track.
1029
- return;
1030
- }
1031
- this.hideGroup(groupIndex);
1032
- return;
1033
- case HoverType.TRACK_CONFIG_SHOW_BUTTON:
1034
- this.showGroup(groupIndex);
1035
- return;
1036
- case HoverType.INSIDE_TRACK_HEADER:
1037
- this.#selectGroup(groupIndex);
1038
- this.toggleGroupExpand(groupIndex);
1039
- return;
1040
- case HoverType.INSIDE_TRACK: {
1041
- this.#selectGroup(groupIndex);
1042
-
1043
- const timelineData = this.timelineData();
1044
- if (mouseEvent.shiftKey && this.highlightedEntryIndex !== -1 && timelineData) {
1045
- const start = timelineData.entryStartTimes[this.highlightedEntryIndex];
1046
- const end = start + timelineData.entryTotalTimes[this.highlightedEntryIndex];
1047
- this.chartViewport.setRangeSelection(start, end);
1048
- } else {
1049
- this.chartViewport.onClick(mouseEvent);
1050
- this.dispatchEventToListeners(Events.ENTRY_INVOKED, this.highlightedEntryIndex);
1051
- }
1032
+ // There could be a special case, when there is no group and all entries are appended directly, for example the
1033
+ // Memory panel.
1034
+ // In this case, the |groupIndex| will be -1, and |groups| should be empty.
1035
+ // All the functions here can handle the -1 groupIndex properly, so we don't need to add extra check here.
1036
+ switch (hoverType) {
1037
+ case HoverType.TRACK_CONFIG_UP_BUTTON:
1038
+ this.moveGroupUp(groupIndex);
1039
+ return;
1040
+ case HoverType.TRACK_CONFIG_DOWN_BUTTON:
1041
+ this.moveGroupDown(groupIndex);
1042
+ return;
1043
+ case HoverType.TRACK_CONFIG_HIDE_BUTTON:
1044
+ if (this.groupIsLastVisibleTopLevel(groupIndex)) {
1045
+ // If this is the last visible top-level group, we will not allow you hiding the track.
1052
1046
  return;
1053
1047
  }
1048
+ this.hideGroup(groupIndex);
1049
+ return;
1050
+ case HoverType.TRACK_CONFIG_SHOW_BUTTON:
1051
+ this.showGroup(groupIndex);
1052
+ return;
1053
+ case HoverType.INSIDE_TRACK_HEADER:
1054
+ this.#selectGroup(groupIndex);
1055
+ this.toggleGroupExpand(groupIndex);
1056
+ return;
1057
+ case HoverType.INSIDE_TRACK:
1058
+ case HoverType.OUTSIDE_TRACKS: {
1059
+ this.#selectGroup(groupIndex);
1060
+
1061
+ const timelineData = this.timelineData();
1062
+ if (mouseEvent.shiftKey && this.highlightedEntryIndex !== -1 && timelineData) {
1063
+ const start = timelineData.entryStartTimes[this.highlightedEntryIndex];
1064
+ const end = start + timelineData.entryTotalTimes[this.highlightedEntryIndex];
1065
+ this.chartViewport.setRangeSelection(start, end);
1066
+ } else {
1067
+ this.chartViewport.onClick(mouseEvent);
1068
+ this.dispatchEventToListeners(Events.ENTRY_INVOKED, this.highlightedEntryIndex);
1069
+ }
1070
+ return;
1054
1071
  }
1055
1072
  }
1056
1073
  }
@@ -1320,7 +1337,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
1320
1337
  return;
1321
1338
  }
1322
1339
 
1323
- this.contextMenu = new UI.ContextMenu.ContextMenu(event, {useSoftMenu: true});
1340
+ this.contextMenu = new UI.ContextMenu.ContextMenu(event);
1324
1341
  const label = i18nString(UIStrings.enterTrackConfigurationMode);
1325
1342
  this.contextMenu.defaultSection().appendItem(label, () => {
1326
1343
  this.#enterEditMode();
@@ -1334,7 +1351,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
1334
1351
  if (this.#inTrackConfigEditMode === false) {
1335
1352
  return;
1336
1353
  }
1337
- this.contextMenu = new UI.ContextMenu.ContextMenu(event, {useSoftMenu: true});
1354
+ this.contextMenu = new UI.ContextMenu.ContextMenu(event);
1338
1355
  const label = i18nString(UIStrings.exitTrackConfigurationMode);
1339
1356
  this.contextMenu.defaultSection().appendItem(label, () => {
1340
1357
  this.#exitEditMode();
@@ -1411,35 +1428,29 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
1411
1428
  // |highlightedEntryIndex| might be correct, but to make the code easier
1412
1429
  // to maintain, let's use |selectedEntryIndex|.
1413
1430
  this.contextMenu = this.dataProvider.customizedContextMenu?.(event, this.selectedEntryIndex, groupIndex) ??
1414
- new UI.ContextMenu.ContextMenu(event, {useSoftMenu: true});
1415
-
1416
- if (Root.Runtime.experiments.isEnabled(Root.Runtime.ExperimentName.TIMELINE_ANNOTATIONS)) {
1417
- const annotationSection = this.contextMenu.section('annotations');
1431
+ new UI.ContextMenu.ContextMenu(event);
1418
1432
 
1419
- const labelEntryAnnotationOption = annotationSection.appendItem(i18nString(UIStrings.labelEntry), () => {
1420
- this.dispatchEventToListeners(
1421
- Events.ENTRY_LABEL_ANNOTATION_ADDED, {entryIndex: this.selectedEntryIndex, withLinkCreationButton: false});
1422
- }, {
1423
- jslogContext: 'timeline.annotations.create-entry-label',
1424
- });
1425
-
1426
- labelEntryAnnotationOption.setShortcut('Double Click');
1433
+ // Generate context menu entries for annotations.
1434
+ const annotationSection = this.contextMenu.section('annotations');
1435
+ annotationSection.appendItem(i18nString(UIStrings.labelEntry), () => {
1436
+ this.dispatchEventToListeners(
1437
+ Events.ENTRY_LABEL_ANNOTATION_ADDED, {entryIndex: this.selectedEntryIndex, withLinkCreationButton: false});
1438
+ }, {
1439
+ jslogContext: 'timeline.annotations.create-entry-label',
1440
+ });
1427
1441
 
1428
- const linkEntriesAnnotationOption = annotationSection.appendItem(i18nString(UIStrings.linkEntries), () => {
1429
- this.dispatchEventToListeners(
1430
- Events.ENTRIES_LINK_ANNOTATION_CREATED, {entryFromIndex: this.selectedEntryIndex});
1431
- }, {
1432
- jslogContext: 'timeline.annotations.create-entries-link',
1433
- });
1434
- linkEntriesAnnotationOption.setShortcut('Double Click');
1442
+ annotationSection.appendItem(i18nString(UIStrings.linkEntries), () => {
1443
+ this.dispatchEventToListeners(Events.ENTRIES_LINK_ANNOTATION_CREATED, {entryFromIndex: this.selectedEntryIndex});
1444
+ }, {
1445
+ jslogContext: 'timeline.annotations.create-entries-link',
1446
+ });
1435
1447
 
1436
- annotationSection.appendItem(i18nString(UIStrings.deleteAnnotations), () => {
1437
- this.dataProvider.deleteAnnotationsForEntry?.(this.selectedEntryIndex);
1438
- }, {
1439
- disabled: !this.dataProvider.entryHasAnnotations?.(this.selectedEntryIndex),
1440
- jslogContext: 'timeline.annotations.delete-entry-annotations',
1441
- });
1442
- }
1448
+ annotationSection.appendItem(i18nString(UIStrings.deleteAnnotations), () => {
1449
+ this.dataProvider.deleteAnnotationsForEntry?.(this.selectedEntryIndex);
1450
+ }, {
1451
+ disabled: !this.dataProvider.entryHasAnnotations?.(this.selectedEntryIndex),
1452
+ jslogContext: 'timeline.annotations.delete-entry-annotations',
1453
+ });
1443
1454
 
1444
1455
  void this.contextMenu.show();
1445
1456
  }
@@ -1546,10 +1557,10 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
1546
1557
  barWidth > minWidth;
1547
1558
  };
1548
1559
  let allFilteredIndexes: number[] = [];
1549
- for (const [color, {indexes}] of colorBuckets) {
1560
+ for (const [color, {indexes, shouldDim}] of colorBuckets) {
1550
1561
  const filteredIndexes = indexes.filter(entryIndexIsInTrack);
1551
1562
  allFilteredIndexes = [...allFilteredIndexes, ...filteredIndexes];
1552
- this.#drawGenericEvents(context, timelineData, color, filteredIndexes);
1563
+ this.#drawGenericEvents(context, timelineData, color, filteredIndexes, shouldDim);
1553
1564
  }
1554
1565
  const filteredTitleIndices = titleIndices.filter(entryIndexIsInTrack);
1555
1566
  this.drawEventTitles(context, timelineData, filteredTitleIndices, canvasWidth);
@@ -2101,6 +2112,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
2101
2112
 
2102
2113
  this.viewportElement.appendChild(div);
2103
2114
  this.#inTrackConfigEditMode = true;
2115
+ this.dispatchEventToListeners(Events.TRACKS_REORDER_STATE_CHANGED, true);
2104
2116
  this.updateLevelPositions();
2105
2117
  this.draw();
2106
2118
  }
@@ -2115,6 +2127,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
2115
2127
  #exitEditMode(): void {
2116
2128
  this.#removeEditModeButton();
2117
2129
  this.#inTrackConfigEditMode = false;
2130
+ this.dispatchEventToListeners(Events.TRACKS_REORDER_STATE_CHANGED, false);
2118
2131
  this.updateLevelPositions();
2119
2132
  this.draw();
2120
2133
  }
@@ -2186,16 +2199,21 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
2186
2199
  barWidth > 10;
2187
2200
  };
2188
2201
  let wideEntryExists: boolean = false;
2189
- for (const [color, {indexes}] of colorBuckets) {
2202
+ for (const [color, {indexes, shouldDim}] of colorBuckets) {
2190
2203
  if (!wideEntryExists) {
2191
2204
  wideEntryExists = indexes.some(entryIndexIsInTrack);
2192
2205
  }
2193
- this.#drawGenericEvents(context, timelineData, color, indexes);
2206
+ this.#drawGenericEvents(context, timelineData, color, indexes, shouldDim);
2194
2207
  }
2195
2208
  this.dispatchEventToListeners(Events.CHART_PLAYABLE_STATE_CHANGED, wideEntryExists);
2196
2209
 
2197
- this.#drawCustomSymbols(context, timelineData);
2198
- this.drawMarkers(context, timelineData, markerIndices);
2210
+ if (!this.#inTrackConfigEditMode) {
2211
+ // In configuration mode, we do not render the actual flame chart, so we
2212
+ // can skip checking for any custom symbols on any tracks.
2213
+ this.#drawCustomSymbols(context, timelineData);
2214
+ // Markers get in the way of the UI for editing, so hide them in edit mode.
2215
+ this.drawMarkers(context, timelineData, markerIndices);
2216
+ }
2199
2217
 
2200
2218
  this.drawEventTitles(context, timelineData, titleIndices, canvasWidth);
2201
2219
 
@@ -2249,9 +2267,6 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
2249
2267
  if (this.#searchResultEntryIndex !== null) {
2250
2268
  this.showPopoverForSearchResult(this.#searchResultEntryIndex);
2251
2269
  }
2252
- for (const element of this.#searchResultHighlightElements) {
2253
- this.updateElementPosition(element, Number(element.id));
2254
- }
2255
2270
  this.updateMarkerHighlight();
2256
2271
  }
2257
2272
 
@@ -2261,7 +2276,8 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
2261
2276
  * Drawn on a color by color basis to minimize the amount of times context.style is switched.
2262
2277
  */
2263
2278
  #drawGenericEvents(
2264
- context: CanvasRenderingContext2D, timelineData: FlameChartTimelineData, color: string, indexes: number[]): void {
2279
+ context: CanvasRenderingContext2D, timelineData: FlameChartTimelineData, color: string, indexes: number[],
2280
+ shouldDim: boolean): void {
2265
2281
  context.save();
2266
2282
  context.beginPath();
2267
2283
  for (let i = 0; i < indexes.length; ++i) {
@@ -2272,13 +2288,40 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
2272
2288
  continue;
2273
2289
  }
2274
2290
 
2291
+ // Doesn't draw a rect, just adds the rect into the current path
2275
2292
  this.#drawEventRect(context, timelineData, entryIndex);
2276
2293
  }
2294
+
2295
+ if (!shouldDim && this.#shouldAddOutlines) {
2296
+ // In some scenarios we want to draw outlines around events for added visual contrast.
2297
+ // But we only do this if the events are not being dimmed.
2298
+ this.#maybeAddOutlines(context, color);
2299
+ }
2300
+
2277
2301
  context.fillStyle = color;
2278
2302
  context.fill();
2279
2303
  context.restore();
2280
2304
  }
2281
2305
 
2306
+ /**
2307
+ * Adds dark outlines to the paths being drawn onto the canvas context if:
2308
+ * 1. We are in a dimming state
2309
+ * 2. The user has searched the flamechart using Cmd/Ctrl-F
2310
+ *
2311
+ * @param context - the canvas context to call stroke() on. Assumes there are a series of paths ready to be stroked.
2312
+ * @param color - the fill color being used for the paths in the canvas context.
2313
+ */
2314
+ #maybeAddOutlines(context: CanvasRenderingContext2D, color: string): void {
2315
+ // We only want to add outlines when in a dimming state and the user has searched for something.
2316
+ if (!this.entryIndicesToNotDim && !this.#searchResultEntries) {
2317
+ return;
2318
+ }
2319
+ // This foregroundColor is near-black in light mode, and vice-versa. Color mix so it's a good contrast, but still has the base flavor.
2320
+ const foregroundColor = ThemeSupport.ThemeSupport.instance().getComputedValue('--sys-color-on-base');
2321
+ context.strokeStyle = `color-mix(in srgb, ${color}, ${foregroundColor} 60%)`;
2322
+ context.stroke();
2323
+ }
2324
+
2282
2325
  /**
2283
2326
  * Draws decorations onto events. {@see FlameChartDecoration}.
2284
2327
  */
@@ -2482,8 +2525,11 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
2482
2525
  * - Gathers marker events (LCP, FCP, DCL, etc.).
2483
2526
  * - Gathers event titles that should be rendered.
2484
2527
  */
2485
- private getDrawableData(context: CanvasRenderingContext2D, timelineData: FlameChartTimelineData):
2486
- {colorBuckets: Map<string, {indexes: number[]}>, titleIndices: number[], markerIndices: number[]} {
2528
+ private getDrawableData(context: CanvasRenderingContext2D, timelineData: FlameChartTimelineData): {
2529
+ colorBuckets: Map<string, {indexes: number[], shouldDim: boolean}>,
2530
+ titleIndices: number[],
2531
+ markerIndices: number[],
2532
+ } {
2487
2533
  // These are the event indexes of events that we are drawing onto the timeline that:
2488
2534
  // 1) have text within them
2489
2535
  // 2) are visually wide enough in pixels to make it worth rendering the text.
@@ -2507,7 +2553,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
2507
2553
  // events stored in the `indexes` array for that color will be painted as
2508
2554
  // such. This way, when rendering events, we can render them based on
2509
2555
  // color, and ensure the minimum amount of changes to context.fillStyle.
2510
- const colorBuckets = new Map<string, {indexes: number[]}>();
2556
+ const colorBuckets = new Map<string, {indexes: number[], shouldDim: boolean}>();
2511
2557
  for (let level = 0; level < this.dataProvider.maxStackDepth(); ++level) {
2512
2558
  // Since tracks can be reordered the |visibleLevelOffsets| is not necessarily sorted, so we need to check all levels.
2513
2559
  // Note that to check if a level is off the top of the screen, we can't
@@ -2566,10 +2612,12 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
2566
2612
  lastDrawOffset = barX;
2567
2613
 
2568
2614
  if (this.entryColorsCache) {
2615
+ const shouldDim = this.#shouldDimEvent(entryIndex);
2569
2616
  const color = this.getColorForEntry(entryIndex);
2617
+ // TODO(paulirish): The above ran shouldDimEvent twice, if perf is noticeable we could decompose and refactor transformColor/etc
2570
2618
  let bucket = colorBuckets.get(color);
2571
2619
  if (!bucket) {
2572
- bucket = {indexes: []};
2620
+ bucket = {indexes: [], shouldDim};
2573
2621
  colorBuckets.set(color, bucket);
2574
2622
  }
2575
2623
  bucket.indexes.push(entryIndex);
@@ -2666,9 +2714,9 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
2666
2714
  // When it is normal mode, there are no icons to the left of a track.
2667
2715
  // When it is in edit mode, there are three icons to customize the groups.
2668
2716
  const iconsWidth = this.#inTrackConfigEditMode ? EDIT_MODE_TOTAL_ICON_WIDTH : 0;
2669
- this.forEachGroupInViewport((offset, index, group) => {
2717
+ this.forEachGroupInViewport((offset, groupIndex, group) => {
2670
2718
  context.font = this.#font;
2671
- if (this.isGroupCollapsible(index) && !group.expanded || group.style.shareHeaderLine) {
2719
+ if (this.isGroupCollapsible(groupIndex) && !group.expanded || group.style.shareHeaderLine) {
2672
2720
  // In edit mode, we draw an extra rectangle for the save icon.
2673
2721
  const labelBackgroundWidth = this.labelWidthForGroup(context, group);
2674
2722
  const parsedColor = Common.Color.parse(group.style.backgroundColor);
@@ -2714,7 +2762,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
2714
2762
  // If this is the last visible top-level group, we will disable the hide action.
2715
2763
  drawIcon(
2716
2764
  context, HIDE_ICON_LEFT, offset, EDIT_ICON_WIDTH, group.hidden ? showIconPath : hideIconPath,
2717
- this.groupIsLastVisibleTopLevel(group) ? '--sys-color-state-disabled' : iconColor);
2765
+ this.groupIsLastVisibleTopLevel(groupIndex) ? '--sys-color-state-disabled' : iconColor);
2718
2766
  }
2719
2767
  }
2720
2768
  });
@@ -2815,6 +2863,12 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
2815
2863
  const entryTotalTime = entryTotalTimes[entryIndex];
2816
2864
  const level = entryLevels[entryIndex];
2817
2865
 
2866
+ // Skip if the group for this event has been hidden.
2867
+ const group = this.dataProvider.groupForEvent?.(entryIndex);
2868
+ if (group?.hidden) {
2869
+ continue;
2870
+ }
2871
+
2818
2872
  const unclippedXStart = this.chartViewport.timeToPosition(entryStartTime);
2819
2873
  const unclippedXEnd = this.chartViewport.timeToPosition(entryStartTime + entryTotalTime);
2820
2874
 
@@ -3299,6 +3353,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
3299
3353
  this.forceDecorationCache = null;
3300
3354
  this.entryColorsCache = null;
3301
3355
  this.entryIndicesToNotDim = null;
3356
+ this.entryIndicesToDim = null;
3302
3357
  this.colorDimmingCache.clear();
3303
3358
  this.rawTimelineDataLength = 0;
3304
3359
  this.#groupTreeRoot = null;
@@ -3679,10 +3734,11 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
3679
3734
  return style.height !== style.itemsHeight;
3680
3735
  }
3681
3736
 
3682
- groupIsLastVisibleTopLevel(group?: Group): boolean {
3683
- if (!group) {
3737
+ groupIsLastVisibleTopLevel(groupIndex: number): boolean {
3738
+ if (groupIndex < 0 || !this.rawTimelineData) {
3684
3739
  return true;
3685
3740
  }
3741
+ const group = this.rawTimelineData.groups[groupIndex];
3686
3742
  const visibleTopLevelGroupNumber =
3687
3743
  this.#groupTreeRoot?.children.filter(track => !this.rawTimelineData?.groups[track.index].hidden).length;
3688
3744
  return visibleTopLevelGroupNumber === 1 && group.style.nestingLevel === 0 && !group.hidden;
@@ -3781,7 +3837,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
3781
3837
  const barHeight = this.levelHeight(entryLevel);
3782
3838
  const style = (element as HTMLElement).style;
3783
3839
 
3784
- // TODO(paulirish): make these changes within a coordinator.write callback.
3840
+ // TODO(paulirish): make these changes within a RenderCoordinator.write callback.
3785
3841
  // Currently these (plus the scrollOffset() right above) trigger layout thrashing.
3786
3842
  if (isDecoration) {
3787
3843
  style.top = barY + 'px';
@@ -3910,6 +3966,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
3910
3966
  this.rawTimelineDataLength = 0;
3911
3967
  this.#groupTreeRoot = null;
3912
3968
  this.entryIndicesToNotDim = null;
3969
+ this.entryIndicesToDim = null;
3913
3970
  this.colorDimmingCache.clear();
3914
3971
  this.highlightedMarkerIndex = -1;
3915
3972
  this.highlightedEntryIndex = -1;
@@ -4183,6 +4240,12 @@ export const enum Events {
4183
4240
  ENTRY_LABEL_ANNOTATION_ADDED = 'EntryLabelAnnotationAdded',
4184
4241
  // Emmited when entries link annotation is added through a shotcut or a context menu.
4185
4242
  ENTRIES_LINK_ANNOTATION_CREATED = 'EntriesLinkAnnotationCreated',
4243
+ /**
4244
+ * Emmited when the user enters or exits 'reorder tracks' view.
4245
+ * If the event value is 'true', the 'reorder tracks' state was entered,
4246
+ * if it's false, the reorder state was exited.
4247
+ */
4248
+ TRACKS_REORDER_STATE_CHANGED = 'TracksReorderStateChange',
4186
4249
  /**
4187
4250
  * Emitted when an event is selected via keyboard navigation using the arrow
4188
4251
  * keys.
@@ -4214,6 +4277,7 @@ export type EventTypes = {
4214
4277
  [Events.ENTRIES_LINK_ANNOTATION_CREATED]: {
4215
4278
  entryFromIndex: number,
4216
4279
  },
4280
+ [Events.TRACKS_REORDER_STATE_CHANGED]: boolean,
4217
4281
  [Events.CANVAS_FOCUSED]: number|void,
4218
4282
  [Events.ENTRY_INVOKED]: number,
4219
4283
  [Events.ENTRY_SELECTED]: number,
@@ -202,11 +202,11 @@ export class Window extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
202
202
  this.parentElement.addEventListener('dblclick', this.resizeWindowMaximum.bind(this), true);
203
203
  ThemeSupport.ThemeSupport.instance().appendStyle(this.parentElement, overviewGridStyles);
204
204
 
205
- this.leftResizeElement = parentElement.createChild('div', 'overview-grid-window-resizer') as HTMLElement;
205
+ this.leftResizeElement = parentElement.createChild('div', 'overview-grid-window-resizer');
206
206
  UI.UIUtils.installDragHandle(
207
207
  this.leftResizeElement, this.resizerElementStartDragging.bind(this), this.leftResizeElementDragging.bind(this),
208
208
  null, 'ew-resize');
209
- this.rightResizeElement = (parentElement.createChild('div', 'overview-grid-window-resizer') as HTMLElement);
209
+ this.rightResizeElement = parentElement.createChild('div', 'overview-grid-window-resizer');
210
210
  UI.UIUtils.installDragHandle(
211
211
  this.rightResizeElement, this.resizerElementStartDragging.bind(this),
212
212
  this.rightResizeElementDragging.bind(this), null, 'ew-resize');
@@ -236,7 +236,7 @@ export class Window extends Common.ObjectWrapper.ObjectWrapper<EventTypes> {
236
236
  }
237
237
 
238
238
  enableCreateBreadcrumbsButton(): HTMLElement {
239
- this.curtainsRange = (this.createBreadcrumbButton.createChild('div') as HTMLElement);
239
+ this.curtainsRange = this.createBreadcrumbButton.createChild('div');
240
240
  this.breadcrumbZoomIcon = new IconButton.Icon.Icon();
241
241
  this.breadcrumbZoomIcon.data = {
242
242
  iconName: 'zoom-in',
@@ -46,7 +46,7 @@ describeWithLocale('PieChart', () => {
46
46
  assert.isNotNull(chart.shadowRoot);
47
47
 
48
48
  const slices = chart.shadowRoot.querySelectorAll('path');
49
- assert.strictEqual(slices.length, 2);
49
+ assert.lengthOf(slices, 2);
50
50
  });
51
51
 
52
52
  it('has a legend', () => {
@@ -57,7 +57,7 @@ describeWithLocale('PieChart', () => {
57
57
  assert.isNotNull(chart.shadowRoot);
58
58
 
59
59
  const legendRows = chart.shadowRoot.querySelectorAll('.pie-chart-legend-row');
60
- assert.strictEqual(legendRows.length, 3);
60
+ assert.lengthOf(legendRows, 3);
61
61
  });
62
62
 
63
63
  it('formats the slice in the legend', () => {
@@ -102,7 +102,7 @@ describeWithLocale('PieChart', () => {
102
102
  assert.isNotNull(chart.shadowRoot);
103
103
 
104
104
  const legendRows = chart.shadowRoot.querySelectorAll('.pie-chart-legend-row');
105
- assert.strictEqual(legendRows.length, 3);
105
+ assert.lengthOf(legendRows, 3);
106
106
 
107
107
  // Legend has one selected item.
108
108
  const fillingLegendRow = legendRows[0];
@@ -139,7 +139,7 @@ describeWithLocale('PieChart', () => {
139
139
  legendName!.click();
140
140
 
141
141
  const legendRows = chart.shadowRoot.querySelectorAll('.pie-chart-legend-row');
142
- assert.strictEqual(legendRows.length, 3);
142
+ assert.lengthOf(legendRows, 3);
143
143
 
144
144
  const fillingLegendRow = legendRows[0];
145
145
  const crustLegendRow = legendRows[1];
@@ -164,7 +164,7 @@ describeWithLocale('PieChart', () => {
164
164
  slice!.dispatchEvent(new Event('click'));
165
165
 
166
166
  const legendRows = chart.shadowRoot.querySelectorAll('.pie-chart-legend-row');
167
- assert.strictEqual(legendRows.length, 3);
167
+ assert.lengthOf(legendRows, 3);
168
168
 
169
169
  const fillingLegendRow = legendRows[0];
170
170
  const crustLegendRow = legendRows[1];
@@ -202,7 +202,7 @@ describeWithLocale('PieChart', () => {
202
202
  assert.isNotNull(chart.shadowRoot);
203
203
 
204
204
  const legendRows = chart.shadowRoot.querySelectorAll('.pie-chart-legend-row');
205
- assert.strictEqual(legendRows.length, 0);
205
+ assert.lengthOf(legendRows, 0);
206
206
  });
207
207
 
208
208
  it('sets tabIndex=1 on total', () => {