chrome-devtools-frontend 1.0.1684555 → 1.0.1689415

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 (602) hide show
  1. package/.agents/skills/gerrit-cli/SKILL.md +29 -8
  2. package/.agents/skills/gerrit-cli/references/commands.md +51 -18
  3. package/.agents/skills/gerrit-cli/references/workflows.md +6 -6
  4. package/.agents/skills/gerrit-cli/scripts/import_upstream.py +43 -70
  5. package/config/typescript/tsconfig.base.json +1 -0
  6. package/config/typescript/tsconfig.eslint.json +9 -0
  7. package/docs/contributing/issues.md +1 -1
  8. package/docs/styleguide/ux/writing.md +2 -2
  9. package/eslint.config.mjs +18 -10
  10. package/front_end/core/common/Base64.ts +1 -1
  11. package/front_end/core/common/Color.ts +28 -6
  12. package/front_end/core/common/ColorConverter.ts +12 -0
  13. package/front_end/core/common/Console.ts +2 -1
  14. package/front_end/core/common/Object.ts +2 -2
  15. package/front_end/core/common/ResourceType.ts +12 -13
  16. package/front_end/core/common/Revealer.ts +1 -1
  17. package/front_end/core/common/Settings.ts +2 -2
  18. package/front_end/core/common/TextDictionary.ts +2 -2
  19. package/front_end/core/common/Throttler.ts +1 -1
  20. package/front_end/core/host/InspectorFrontendHostAPI.ts +2 -2
  21. package/front_end/core/host/UserMetrics.ts +51 -37
  22. package/front_end/core/host/host.ts +1 -1
  23. package/front_end/core/i18n/i18nImpl.ts +1 -1
  24. package/front_end/core/platform/HostRuntime.ts +3 -3
  25. package/front_end/core/platform/KeyboardUtilities.ts +1 -1
  26. package/front_end/core/protocol_client/InspectorBackend.ts +7 -6
  27. package/front_end/core/root/Runtime.ts +4 -2
  28. package/front_end/core/sdk/AnimationModel.ts +1 -1
  29. package/front_end/core/sdk/CPUThrottlingManager.ts +198 -0
  30. package/front_end/core/sdk/CSSMetadata.ts +11 -6
  31. package/front_end/core/sdk/CSSPropertyParser.ts +5 -3
  32. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +90 -59
  33. package/front_end/core/sdk/ConsoleModel.ts +1 -1
  34. package/front_end/core/sdk/DOMModel.ts +3 -3
  35. package/front_end/core/sdk/DebuggerModel.ts +1 -1
  36. package/front_end/core/sdk/EmulationModel.ts +5 -0
  37. package/front_end/core/sdk/LayerTreeBase.ts +1 -1
  38. package/front_end/core/sdk/NetworkManager.ts +1 -1
  39. package/front_end/core/sdk/README.md +40 -0
  40. package/front_end/core/sdk/RehydratingConnection.ts +1 -1
  41. package/front_end/core/sdk/RemoteObject.ts +1 -1
  42. package/front_end/core/sdk/ResourceTreeModel.ts +2 -2
  43. package/front_end/core/sdk/SDKModel.ts +1 -1
  44. package/front_end/core/sdk/SDKSettings.ts +6 -0
  45. package/front_end/core/sdk/Script.ts +2 -1
  46. package/front_end/core/sdk/SecurityOrigin.ts +48 -0
  47. package/front_end/core/sdk/ServiceWorkerManager.ts +75 -17
  48. package/front_end/core/sdk/sdk.ts +2 -0
  49. package/front_end/core/text_utils/ContentData.ts +1 -1
  50. package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.ts +3 -1
  51. package/front_end/entrypoints/formatter_worker/FormatterWorker.ts +1 -1
  52. package/front_end/entrypoints/formatter_worker/ScopeParser.ts +2 -2
  53. package/front_end/entrypoints/formatter_worker/Substitute.ts +1 -1
  54. package/front_end/entrypoints/formatter_worker/formatter_worker-entrypoint.ts +1 -1
  55. package/front_end/entrypoints/inspector_main/InspectorMain.ts +1 -1
  56. package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +1 -1
  57. package/front_end/entrypoints/inspector_main/nodeIcon.css +1 -1
  58. package/front_end/entrypoints/inspector_main/outermostTargetSelector.css +3 -3
  59. package/front_end/entrypoints/inspector_main/renderingOptions.css +3 -3
  60. package/front_end/entrypoints/js_app/js_app.ts +25 -9
  61. package/front_end/entrypoints/node_app/app/nodeConnectionsPanel.css +5 -5
  62. package/front_end/entrypoints/node_app/node_app.ts +1 -1
  63. package/front_end/generated/ARIAProperties.ts +39 -1
  64. package/front_end/generated/InspectorBackendCommands.ts +2 -1
  65. package/front_end/generated/SupportedCSSProperties.ts +60 -119
  66. package/front_end/generated/protocol-mapping.d.ts +9 -0
  67. package/front_end/generated/protocol-proxy-api.d.ts +7 -0
  68. package/front_end/generated/protocol.ts +12 -2
  69. package/front_end/models/ai_assistance/AiAgent2.ts +13 -7
  70. package/front_end/models/ai_assistance/AiConversation.ts +8 -17
  71. package/front_end/models/ai_assistance/AiHistoryStorage.ts +2 -2
  72. package/front_end/models/ai_assistance/AiUtils.ts +16 -0
  73. package/front_end/models/ai_assistance/EvaluateAction.ts +1 -1
  74. package/front_end/models/ai_assistance/README.md +1 -1
  75. package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +2 -3
  76. package/front_end/models/ai_assistance/agents/AiAgent.ts +29 -6
  77. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +4 -3
  78. package/front_end/models/ai_assistance/agents/FileAgent.ts +2 -2
  79. package/front_end/models/ai_assistance/agents/NetworkAgent.ts +2 -2
  80. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +1 -1
  81. package/front_end/models/ai_assistance/agents/StorageAgent.ts +7 -5
  82. package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +2 -2
  83. package/front_end/models/ai_assistance/agents/StylingAgent.ts +9 -7
  84. package/front_end/models/ai_assistance/ai_assistance.ts +8 -0
  85. package/front_end/models/ai_assistance/contexts/AccessibilityContext.ts +16 -1
  86. package/front_end/models/ai_assistance/contexts/FileContext.ts +6 -0
  87. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +150 -325
  88. package/front_end/models/ai_assistance/injected.ts +5 -3
  89. package/front_end/models/ai_assistance/performance/AIContext.ts +1 -1
  90. package/front_end/models/ai_assistance/skills/README.md +1 -1
  91. package/front_end/models/ai_assistance/skills/accessibility.md +19 -10
  92. package/front_end/models/ai_assistance/skills/network.md +13 -7
  93. package/front_end/models/ai_assistance/skills/performance.md +22 -16
  94. package/front_end/models/ai_assistance/skills/sources.md +13 -7
  95. package/front_end/models/ai_assistance/skills/storage.md +19 -18
  96. package/front_end/models/ai_assistance/skills/styling.md +30 -37
  97. package/front_end/models/ai_assistance/tools/CookieUtils.ts +120 -0
  98. package/front_end/models/ai_assistance/tools/DOMStorageUtils.ts +53 -4
  99. package/front_end/models/ai_assistance/tools/ExecuteJavaScript.ts +8 -32
  100. package/front_end/models/ai_assistance/tools/GetCookieValues.ts +146 -0
  101. package/front_end/models/ai_assistance/tools/GetDetailedCallTree.ts +11 -9
  102. package/front_end/models/ai_assistance/tools/GetElementAccessibilityDetails.ts +17 -5
  103. package/front_end/models/ai_assistance/tools/GetFunctionCode.ts +12 -11
  104. package/front_end/models/ai_assistance/tools/GetInsightDetails.ts +11 -11
  105. package/front_end/models/ai_assistance/tools/GetLighthouseAudits.ts +3 -2
  106. package/front_end/models/ai_assistance/tools/GetNetworkRequestDetails.ts +3 -3
  107. package/front_end/models/ai_assistance/tools/GetResourceContent.ts +12 -12
  108. package/front_end/models/ai_assistance/tools/GetSourceContent.ts +3 -2
  109. package/front_end/models/ai_assistance/tools/GetStorageBreakdown.ts +132 -0
  110. package/front_end/models/ai_assistance/tools/GetStorageValues.ts +17 -4
  111. package/front_end/models/ai_assistance/tools/GetStyles.ts +3 -3
  112. package/front_end/models/ai_assistance/tools/GetTraceEventByKey.ts +9 -8
  113. package/front_end/models/ai_assistance/tools/GetTraceMainThreadSummary.ts +13 -14
  114. package/front_end/models/ai_assistance/tools/GetTraceNetworkSummary.ts +12 -10
  115. package/front_end/models/ai_assistance/tools/ListCookies.ts +93 -0
  116. package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +15 -6
  117. package/front_end/models/ai_assistance/tools/ListPageOrigins.ts +3 -3
  118. package/front_end/models/ai_assistance/tools/ListSources.ts +5 -3
  119. package/front_end/models/ai_assistance/tools/ListStorageKeys.ts +16 -4
  120. package/front_end/models/ai_assistance/tools/RecordPerformanceTrace.ts +3 -2
  121. package/front_end/models/ai_assistance/tools/ResolveDevtoolsNodePath.ts +4 -3
  122. package/front_end/models/ai_assistance/tools/RunLighthouse.ts +9 -9
  123. package/front_end/models/ai_assistance/tools/SelectTraceEventByKey.ts +9 -8
  124. package/front_end/models/ai_assistance/tools/Tool.ts +21 -11
  125. package/front_end/models/ai_assistance/tools/ToolRegistry.ts +41 -8
  126. package/front_end/models/badges/AiExplorerBadge.ts +3 -3
  127. package/front_end/models/badges/CodeWhispererBadge.ts +2 -2
  128. package/front_end/models/badges/DOMDetectiveBadge.ts +3 -3
  129. package/front_end/models/badges/SpeedsterBadge.ts +3 -3
  130. package/front_end/models/badges/StarterBadge.ts +4 -4
  131. package/front_end/models/bindings/CompilerScriptMapping.ts +11 -2
  132. package/front_end/models/bindings/ContentProviderBasedProject.ts +3 -2
  133. package/front_end/models/breakpoints/BreakpointManager.ts +1 -1
  134. package/front_end/models/emulation/EmulatedDevices.ts +2 -2
  135. package/front_end/models/formatter/FormatterWorkerPool.ts +2 -2
  136. package/front_end/models/formatter/ScriptFormatter.ts +1 -2
  137. package/front_end/models/geometry/GeometryImpl.ts +2 -2
  138. package/front_end/models/heap_snapshot/HeapSnapshotModel.ts +1 -1
  139. package/front_end/models/heap_snapshot/HeapSnapshotProxy.ts +3 -2
  140. package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +5 -5
  141. package/front_end/models/issues_manager/GenericIssue.ts +18 -18
  142. package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +1 -1
  143. package/front_end/models/javascript_metadata/{NativeFunctions.js → NativeFunctions.ts} +25 -9
  144. package/front_end/models/live-metrics/LiveMetrics.ts +9 -3
  145. package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +58 -6
  146. package/front_end/models/live-metrics/web-vitals-injected/web-vitals-injected.ts +2 -62
  147. package/front_end/models/network_time_calculator/RequestTimeRanges.ts +2 -2
  148. package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +5 -0
  149. package/front_end/models/persistence/IsolatedFileSystem.ts +1 -1
  150. package/front_end/models/persistence/NetworkPersistenceManager.ts +35 -6
  151. package/front_end/models/stack_trace/StackTraceImpl.ts +2 -2
  152. package/front_end/models/trace/LanternComputationData.ts +2 -3
  153. package/front_end/models/trace/extras/StackTraceForEvent.ts +3 -2
  154. package/front_end/models/trace/extras/ThirdParties.ts +9 -9
  155. package/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +7 -4
  156. package/front_end/models/trace/handlers/FramesHandler.ts +3 -3
  157. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +2 -2
  158. package/front_end/models/trace/handlers/SamplesHandler.ts +4 -2
  159. package/front_end/models/trace/handlers/UserInteractionsHandler.ts +1 -1
  160. package/front_end/models/trace/handlers/WarningsHandler.ts +2 -2
  161. package/front_end/models/trace/helpers/Network.ts +3 -3
  162. package/front_end/models/trace/helpers/Trace.ts +1 -1
  163. package/front_end/models/trace/insights/CLSCulprits.ts +2 -1
  164. package/front_end/models/trace/insights/Cache.ts +3 -1
  165. package/front_end/models/trace/insights/CharacterSet.ts +3 -1
  166. package/front_end/models/trace/insights/DOMSize.ts +3 -1
  167. package/front_end/models/trace/insights/DocumentLatency.ts +3 -1
  168. package/front_end/models/trace/insights/DuplicatedJavaScript.ts +3 -1
  169. package/front_end/models/trace/insights/FontDisplay.ts +2 -1
  170. package/front_end/models/trace/insights/ForcedReflow.ts +2 -1
  171. package/front_end/models/trace/insights/INPBreakdown.ts +3 -1
  172. package/front_end/models/trace/insights/ImageDelivery.ts +3 -1
  173. package/front_end/models/trace/insights/LCPBreakdown.ts +3 -1
  174. package/front_end/models/trace/insights/LCPDiscovery.ts +3 -1
  175. package/front_end/models/trace/insights/LegacyJavaScript.ts +3 -1
  176. package/front_end/models/trace/insights/ModernHTTP.ts +2 -1
  177. package/front_end/models/trace/insights/NetworkDependencyTree.ts +2 -1
  178. package/front_end/models/trace/insights/RenderBlocking.ts +5 -4
  179. package/front_end/models/trace/insights/SlowCSSSelector.ts +3 -1
  180. package/front_end/models/trace/insights/ThirdParties.ts +5 -3
  181. package/front_end/models/trace/insights/Viewport.ts +2 -1
  182. package/front_end/models/trace/lantern/simulation/Constants.ts +34 -2
  183. package/front_end/models/trace/lantern/simulation/DNSCache.ts +1 -1
  184. package/front_end/models/trace/types/TraceEvents.ts +8 -3
  185. package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +2 -1
  186. package/front_end/models/workspace/WorkspaceImpl.ts +18 -2
  187. package/front_end/panels/accessibility/AccessibilityAnnouncementRecordingView.ts +686 -2
  188. package/front_end/panels/accessibility/accessibilityNode.css +4 -4
  189. package/front_end/panels/accessibility/accessibilityProperties.css +1 -1
  190. package/front_end/panels/accessibility/accessibilitySidebarView.css +2 -2
  191. package/front_end/panels/accessibility/axBreadcrumbs.css +13 -13
  192. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +14 -14
  193. package/front_end/panels/ai_assistance/ExternalHandler.ts +1 -1
  194. package/front_end/panels/ai_assistance/aiAssistancePanel.css +1 -1
  195. package/front_end/panels/ai_assistance/components/ChatInput.ts +3 -2
  196. package/front_end/panels/ai_assistance/components/ChatView.ts +1 -1
  197. package/front_end/panels/ai_assistance/components/DisabledWidget.ts +1 -1
  198. package/front_end/panels/ai_assistance/components/ExploreWidget.ts +1 -1
  199. package/front_end/panels/ai_assistance/components/chatInput.css +12 -12
  200. package/front_end/panels/ai_assistance/components/chatMessage.css +16 -16
  201. package/front_end/panels/ai_assistance/components/chatView.css +2 -2
  202. package/front_end/panels/ai_assistance/components/exploreWidget.css +1 -1
  203. package/front_end/panels/ai_assistance/components/exportForAgentsDialog.css +4 -0
  204. package/front_end/panels/ai_assistance/components/walkthroughView.css +6 -6
  205. package/front_end/panels/animation/animationTimeline.css +62 -62
  206. package/front_end/panels/application/ApplicationPanelSidebar.ts +6 -1
  207. package/front_end/panels/application/BackgroundServiceView.ts +290 -252
  208. package/front_end/panels/application/WebMCPView.ts +15 -7
  209. package/front_end/panels/application/appManifestView.css +5 -5
  210. package/front_end/panels/application/backgroundServiceView.css +18 -2
  211. package/front_end/panels/application/components/AdsView.ts +100 -4
  212. package/front_end/panels/application/components/adsView.css +8 -5
  213. package/front_end/panels/application/components/backForwardCacheView.css +5 -5
  214. package/front_end/panels/application/components/bounceTrackingMitigationsView.css +1 -1
  215. package/front_end/panels/application/components/endpointsGrid.css +1 -1
  216. package/front_end/panels/application/components/permissionsPolicySection.css +1 -1
  217. package/front_end/panels/application/components/protocolHandlersView.css +6 -6
  218. package/front_end/panels/application/components/reportsGrid.css +1 -1
  219. package/front_end/panels/application/components/serviceWorkerRouterView.css +4 -4
  220. package/front_end/panels/application/components/trustTokensView.css +7 -7
  221. package/front_end/panels/application/cookieItemsView.css +3 -3
  222. package/front_end/panels/application/deviceBoundSessionsView.css +3 -3
  223. package/front_end/panels/application/frameDetailsReportView.css +11 -11
  224. package/front_end/panels/application/indexedDBViews.css +7 -7
  225. package/front_end/panels/application/originTrialTokenRows.css +2 -2
  226. package/front_end/panels/application/originTrialTreeView.css +3 -3
  227. package/front_end/panels/application/preloading/components/RuleSetDetailsView.css +2 -2
  228. package/front_end/panels/application/preloading/components/preloadingDetailsReportView.css +1 -1
  229. package/front_end/panels/application/preloading/components/preloadingDisabledInfobar.css +2 -2
  230. package/front_end/panels/application/preloading/components/preloadingGrid.css +2 -2
  231. package/front_end/panels/application/preloading/components/usedPreloadingView.css +7 -7
  232. package/front_end/panels/application/preloading/preloadingView.css +1 -1
  233. package/front_end/panels/application/preloading/preloadingViewDropDown.css +3 -3
  234. package/front_end/panels/application/serviceWorkerCacheViews.css +5 -5
  235. package/front_end/panels/application/serviceWorkerUpdateCycleView.css +12 -12
  236. package/front_end/panels/application/serviceWorkersView.css +15 -16
  237. package/front_end/panels/application/storageView.css +5 -5
  238. package/front_end/panels/application/webMCPView.css +9 -9
  239. package/front_end/panels/autofill/autofillView.css +4 -4
  240. package/front_end/panels/browser_debugger/categorizedBreakpointsSidebarPane.css +4 -4
  241. package/front_end/panels/browser_debugger/domBreakpointsSidebarPane.css +5 -3
  242. package/front_end/panels/browser_debugger/xhrBreakpointsSidebarPane.css +4 -4
  243. package/front_end/panels/changes/changesSidebar.css +1 -1
  244. package/front_end/panels/changes/changesView.css +1 -1
  245. package/front_end/panels/changes/combinedDiffView.css +1 -1
  246. package/front_end/panels/common/CPUThrottlingOption.ts +5 -10
  247. package/front_end/panels/common/badgeNotification.css +2 -2
  248. package/front_end/panels/common/domLinkifier.css +1 -1
  249. package/front_end/panels/common/gdpSignUpDialog.css +3 -3
  250. package/front_end/panels/common/geminiRebrandPromoDialog.css +1 -1
  251. package/front_end/panels/console/ConsolePrompt.ts +6 -3
  252. package/front_end/panels/console/ConsoleView.ts +6 -3
  253. package/front_end/panels/console/ConsoleViewMessage.ts +3 -1
  254. package/front_end/panels/console/console-meta.ts +5 -24
  255. package/front_end/panels/console/consoleContextSelector.css +2 -2
  256. package/front_end/panels/console/consolePinPane.css +9 -9
  257. package/front_end/panels/console/consolePrompt.css +5 -5
  258. package/front_end/panels/console/consoleView.css +39 -39
  259. package/front_end/panels/coverage/coverageListView.css +2 -2
  260. package/front_end/panels/css_overview/cssOverviewCompletedView.css +34 -34
  261. package/front_end/panels/css_overview/cssOverviewProcessingView.css +5 -5
  262. package/front_end/panels/css_overview/cssOverviewSidebarPanel.css +1 -1
  263. package/front_end/panels/css_overview/cssOverviewStartView.css +17 -17
  264. package/front_end/panels/elements/AdoptedStyleSheetTreeElement.ts +209 -62
  265. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +4 -4
  266. package/front_end/panels/elements/DOMTreeContextMenu.ts +59 -54
  267. package/front_end/panels/elements/ElementsPanel.ts +1 -1
  268. package/front_end/panels/elements/ElementsTreeElement.ts +130 -94
  269. package/front_end/panels/elements/ElementsTreeOutline.ts +1751 -363
  270. package/front_end/panels/elements/ShortcutTreeElement.ts +6 -3
  271. package/front_end/panels/elements/StylePropertiesSection.ts +65 -8
  272. package/front_end/panels/elements/StylePropertyTreeElement.ts +6 -0
  273. package/front_end/panels/elements/StylesSidebarPane.ts +143 -8
  274. package/front_end/panels/elements/classesPaneWidget.css +6 -6
  275. package/front_end/panels/elements/components/stylePropertyEditor.css +7 -7
  276. package/front_end/panels/elements/computedStyleWidget.css +1 -1
  277. package/front_end/panels/elements/elementStatePaneWidget.css +8 -8
  278. package/front_end/panels/elements/elements-meta.ts +14 -0
  279. package/front_end/panels/elements/elementsPanel.css +4 -4
  280. package/front_end/panels/elements/elementsTreeOutline.css +222 -38
  281. package/front_end/panels/elements/layersWidget.css +4 -4
  282. package/front_end/panels/elements/layoutPane.css +18 -18
  283. package/front_end/panels/elements/metricsSidebarPane.css +11 -11
  284. package/front_end/panels/elements/platformFontsWidget.css +5 -5
  285. package/front_end/panels/elements/propertiesWidget.css +2 -2
  286. package/front_end/panels/elements/stylePropertiesTreeOutline.css +20 -20
  287. package/front_end/panels/elements/stylesSidebarPane.css +37 -20
  288. package/front_end/panels/emulation/deviceModeView.css +49 -49
  289. package/front_end/panels/emulation/mediaQueryInspector.css +18 -18
  290. package/front_end/panels/event_listeners/eventListenersView.css +1 -1
  291. package/front_end/panels/explain/components/consoleInsight.css +29 -29
  292. package/front_end/panels/issues/components/elementsPanelLink.css +2 -2
  293. package/front_end/panels/issues/components/hideIssuesMenu.css +1 -1
  294. package/front_end/panels/issues/issuesPane.css +2 -2
  295. package/front_end/panels/issues/issuesTree.css +50 -50
  296. package/front_end/panels/layer_viewer/Layers3DView.ts +9 -10
  297. package/front_end/panels/layer_viewer/layerDetailsView.css +1 -1
  298. package/front_end/panels/layer_viewer/layerTreeOutline.css +2 -2
  299. package/front_end/panels/layer_viewer/layers3DView.css +1 -1
  300. package/front_end/panels/layer_viewer/paintProfiler.css +1 -1
  301. package/front_end/panels/lighthouse/LighthouseReportSelector.ts +2 -2
  302. package/front_end/panels/media/playerListView.css +9 -9
  303. package/front_end/panels/media/playerMessagesView.css +8 -8
  304. package/front_end/panels/media/playerPropertiesView.css +6 -6
  305. package/front_end/panels/mobile_throttling/NetworkPanelIndicator.ts +1 -1
  306. package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +9 -9
  307. package/front_end/panels/network/NetworkDataGridNode.ts +1 -0
  308. package/front_end/panels/network/NetworkPanel.ts +9 -4
  309. package/front_end/panels/network/RequestConditionsDrawer.ts +12 -12
  310. package/front_end/panels/network/RequestPayloadView.ts +78 -26
  311. package/front_end/panels/network/binaryResourceView.css +1 -1
  312. package/front_end/panels/network/components/EditableSpan.css +3 -3
  313. package/front_end/panels/network/components/HeaderSectionRow.css +14 -14
  314. package/front_end/panels/network/components/RequestHeaderSection.css +7 -7
  315. package/front_end/panels/network/components/RequestHeadersView.css +18 -18
  316. package/front_end/panels/network/components/RequestTrustTokensView.css +1 -1
  317. package/front_end/panels/network/network-meta.ts +9 -9
  318. package/front_end/panels/network/networkConfigView.css +11 -11
  319. package/front_end/panels/network/networkLogView.css +35 -35
  320. package/front_end/panels/network/networkManageCustomHeadersView.css +1 -1
  321. package/front_end/panels/network/networkPanel.css +7 -7
  322. package/front_end/panels/network/networkTimingTable.css +13 -13
  323. package/front_end/panels/network/requestConditionsDrawer.css +4 -4
  324. package/front_end/panels/network/requestCookiesView.css +5 -5
  325. package/front_end/panels/network/requestDeviceBoundSessionsView.css +1 -1
  326. package/front_end/panels/network/requestHTMLView.css +1 -1
  327. package/front_end/panels/network/requestHeadersTree.css +19 -19
  328. package/front_end/panels/network/requestInitiatorView.css +1 -1
  329. package/front_end/panels/network/requestInitiatorViewTree.css +3 -3
  330. package/front_end/panels/network/requestPayloadTree.css +5 -5
  331. package/front_end/panels/network/requestPayloadView.css +1 -1
  332. package/front_end/panels/network/resourceChunkView.css +3 -3
  333. package/front_end/panels/network/signedExchangeInfoTree.css +6 -6
  334. package/front_end/panels/profiler/heapProfiler.css +15 -15
  335. package/front_end/panels/profiler/profileLauncherView.css +10 -10
  336. package/front_end/panels/recorder/RecordingView.ts +1 -1
  337. package/front_end/panels/recorder/StepEditor.ts +86 -7
  338. package/front_end/panels/recorder/TimelineSection.ts +2 -1
  339. package/front_end/panels/recorder/createRecordingView.css +17 -17
  340. package/front_end/panels/recorder/extensionView.css +5 -5
  341. package/front_end/panels/recorder/injected/RecordingClient.ts +1 -1
  342. package/front_end/panels/recorder/models/SchemaUtils.ts +2 -2
  343. package/front_end/panels/recorder/models/ScreenshotStorage.ts +1 -1
  344. package/front_end/panels/recorder/recorderPanel.css +7 -7
  345. package/front_end/panels/recorder/recordingListView.css +12 -12
  346. package/front_end/panels/recorder/recordingView.css +47 -47
  347. package/front_end/panels/recorder/stepEditor.css +2 -2
  348. package/front_end/panels/recorder/stepView.css +20 -20
  349. package/front_end/panels/recorder/timelineSection.css +9 -9
  350. package/front_end/panels/screencast/screencastView.css +12 -12
  351. package/front_end/panels/search/searchResultsPane.css +10 -10
  352. package/front_end/panels/search/searchView.css +9 -9
  353. package/front_end/panels/security/SecurityPanel.ts +84 -54
  354. package/front_end/panels/security/mainView.css +26 -26
  355. package/front_end/panels/security/originView.css +15 -15
  356. package/front_end/panels/sensors/locationsSettingsTab.css +6 -6
  357. package/front_end/panels/sensors/sensors.css +28 -28
  358. package/front_end/panels/settings/components/syncSection.css +5 -5
  359. package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +13 -13
  360. package/front_end/panels/settings/emulation/devicesSettingsTab.css +16 -16
  361. package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +2 -2
  362. package/front_end/panels/settings/keybindsSettingsTab.css +2 -2
  363. package/front_end/panels/settings/settingsScreen.css +5 -5
  364. package/front_end/panels/sources/UISourceCodeFrame.ts +1 -1
  365. package/front_end/panels/sources/breakpointEditDialog.css +9 -9
  366. package/front_end/panels/sources/breakpointsView.css +25 -25
  367. package/front_end/panels/sources/callStackSidebarPane.css +10 -10
  368. package/front_end/panels/sources/components/HeadersView.css +6 -6
  369. package/front_end/panels/sources/debuggerPausedMessage.css +4 -4
  370. package/front_end/panels/sources/dialog.css +2 -2
  371. package/front_end/panels/sources/navigatorTree.css +2 -2
  372. package/front_end/panels/sources/navigatorView.css +2 -2
  373. package/front_end/panels/sources/scopeChainSidebarPane.css +1 -1
  374. package/front_end/panels/sources/sourcesNavigator.css +1 -1
  375. package/front_end/panels/sources/sourcesPanel.css +2 -2
  376. package/front_end/panels/sources/sourcesView.css +1 -1
  377. package/front_end/panels/sources/threadsSidebarPane.css +5 -5
  378. package/front_end/panels/sources/watchExpressionsSidebarPane.css +8 -8
  379. package/front_end/panels/timeline/TimelineDetailsView.ts +9 -21
  380. package/front_end/panels/timeline/TimelineFlameChartView.ts +3 -5
  381. package/front_end/panels/timeline/TimelineMiniMap.ts +3 -3
  382. package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -1
  383. package/front_end/panels/timeline/components/breadcrumbsUI.css +3 -3
  384. package/front_end/panels/timeline/components/exportTraceOptions.css +1 -1
  385. package/front_end/panels/timeline/components/fieldSettingsDialog.css +13 -13
  386. package/front_end/panels/timeline/components/ignoreListSetting.css +3 -3
  387. package/front_end/panels/timeline/components/liveMetricsView.css +39 -39
  388. package/front_end/panels/timeline/components/metricCard.css +20 -20
  389. package/front_end/panels/timeline/components/networkRequestDetails.css +9 -9
  390. package/front_end/panels/timeline/components/networkRequestTooltip.css +14 -14
  391. package/front_end/panels/timeline/components/networkTrackWidget.css +2 -2
  392. package/front_end/panels/timeline/components/originMap.css +4 -4
  393. package/front_end/panels/timeline/components/relatedInsightChips.css +1 -1
  394. package/front_end/panels/timeline/components/sidebarAnnotationsTab.css +4 -4
  395. package/front_end/panels/timeline/components/sidebarInsightsTab.css +5 -5
  396. package/front_end/panels/timeline/components/sidebarSingleInsightSet.css +1 -1
  397. package/front_end/panels/timeline/components/timelineSummary.css +4 -4
  398. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +4 -4
  399. package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +1 -1
  400. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +6 -6
  401. package/front_end/panels/timeline/overlays/components/TimeRangeOverlay.ts +1 -1
  402. package/front_end/panels/timeline/thirdPartyTreeView.css +5 -5
  403. package/front_end/panels/timeline/timeline-meta.ts +0 -6
  404. package/front_end/panels/timeline/timelineDetailsView.css +11 -11
  405. package/front_end/panels/timeline/timelinePanel.css +20 -20
  406. package/front_end/panels/timeline/timelineTreeView.css +8 -8
  407. package/front_end/panels/webauthn/webauthnPane.css +6 -6
  408. package/front_end/panels/whats_new/ReleaseNoteText.ts +2 -2
  409. package/front_end/third_party/chromium/README.chromium +1 -1
  410. package/front_end/third_party/i18n/i18n-impl.ts +1 -1
  411. package/front_end/third_party/puppeteer/README.chromium +2 -2
  412. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +15 -1
  413. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +42 -8
  414. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.d.ts +4 -0
  415. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.d.ts.map +1 -1
  416. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.js +15 -2
  417. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.js.map +1 -1
  418. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.d.ts +14 -1
  419. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.d.ts.map +1 -1
  420. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.js +23 -1
  421. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.js.map +1 -1
  422. package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.d.ts +1 -1
  423. package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.d.ts.map +1 -1
  424. package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.js +1 -1
  425. package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.js.map +1 -1
  426. package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/Poller.d.ts.map +1 -1
  427. package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/Poller.js +77 -6
  428. package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/Poller.js.map +1 -1
  429. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.d.ts +3 -3
  430. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js +3 -3
  431. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js.map +1 -1
  432. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts +1 -1
  433. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js +1 -1
  434. package/front_end/third_party/puppeteer/package/lib/types.d.ts +15 -1
  435. package/front_end/third_party/puppeteer/package/package.json +2 -2
  436. package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +16 -2
  437. package/front_end/third_party/puppeteer/package/src/cdp/WebMCP.ts +36 -1
  438. package/front_end/third_party/puppeteer/package/src/generated/injected.ts +1 -1
  439. package/front_end/third_party/puppeteer/package/src/injected/Poller.ts +86 -6
  440. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  441. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  442. package/front_end/third_party/web-vitals/README.chromium +2 -2
  443. package/front_end/third_party/web-vitals/package/README.md +22 -7
  444. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.js +6 -2
  445. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.d.ts +2 -2
  446. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.js +30 -3
  447. package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.d.ts +14 -0
  448. package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.js +19 -13
  449. package/front_end/third_party/web-vitals/package/dist/modules/lib/bindReporter.d.ts +1 -1
  450. package/front_end/third_party/web-vitals/package/dist/modules/lib/doubleRAF.js +1 -1
  451. package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.d.ts +3 -3
  452. package/front_end/third_party/web-vitals/package/dist/modules/lib/softNavs.js +3 -1
  453. package/front_end/third_party/web-vitals/package/dist/modules/types/lcp.d.ts +15 -1
  454. package/front_end/third_party/web-vitals/package/package.json +1 -2
  455. package/front_end/third_party/web-vitals/package/src/attribution/onINP.ts +9 -2
  456. package/front_end/third_party/web-vitals/package/src/attribution/onLCP.ts +36 -5
  457. package/front_end/third_party/web-vitals/package/src/lib/InteractionManager.ts +21 -15
  458. package/front_end/third_party/web-vitals/package/src/lib/doubleRAF.ts +1 -1
  459. package/front_end/third_party/web-vitals/package/src/lib/softNavs.ts +4 -1
  460. package/front_end/third_party/web-vitals/package/src/types/lcp.ts +16 -1
  461. package/front_end/third_party/web-vitals/rebuild.sh +3 -3
  462. package/front_end/ui/comments/CommentAnchorResolver.ts +15 -4
  463. package/front_end/ui/comments/commentsOverlay.css +6 -5
  464. package/front_end/ui/components/adorners/Adorner.ts +1 -1
  465. package/front_end/ui/components/adorners/adorner.css +6 -6
  466. package/front_end/ui/components/buttons/FloatingButton.ts +1 -1
  467. package/front_end/ui/components/buttons/button.css +9 -9
  468. package/front_end/ui/components/buttons/floatingButton.css +2 -2
  469. package/front_end/ui/components/buttons/textButton.css +12 -12
  470. package/front_end/ui/components/dialogs/Dialog.ts +1 -1
  471. package/front_end/ui/components/dialogs/dialog.css +1 -1
  472. package/front_end/ui/components/diff_view/diffView.css +3 -3
  473. package/front_end/ui/components/expandable_list/expandableList.css +9 -9
  474. package/front_end/ui/components/highlighting/HighlightElement.ts +1 -1
  475. package/front_end/ui/components/highlighting/HighlightManager.ts +4 -0
  476. package/front_end/ui/components/icon_button/iconButton.css +2 -2
  477. package/front_end/ui/components/input/checkbox.css +8 -8
  478. package/front_end/ui/components/input/textInput.css +3 -3
  479. package/front_end/ui/components/issue_counter/issueLinkIcon.css +2 -2
  480. package/front_end/ui/components/linkifier/linkifierImpl.css +1 -1
  481. package/front_end/ui/components/markdown_view/MarkdownImagesMap.ts +1 -1
  482. package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +1 -1
  483. package/front_end/ui/components/markdown_view/codeBlock.css +2 -2
  484. package/front_end/ui/components/markdown_view/markdownView.css +7 -7
  485. package/front_end/ui/components/menus/menuGroup.css +2 -2
  486. package/front_end/ui/components/menus/menuItem.css +2 -2
  487. package/front_end/ui/components/menus/selectMenu.css +2 -2
  488. package/front_end/ui/components/menus/selectMenuButton.css +4 -4
  489. package/front_end/ui/components/panel_feedback/panelFeedback.css +15 -15
  490. package/front_end/ui/components/panel_feedback/previewToggle.css +2 -2
  491. package/front_end/ui/components/panel_introduction_steps/panelIntroductionSteps.css +7 -7
  492. package/front_end/ui/components/report_view/report.css +3 -3
  493. package/front_end/ui/components/report_view/reportSectionDivider.css +1 -1
  494. package/front_end/ui/components/report_view/reportValue.css +1 -1
  495. package/front_end/ui/components/request_link_icon/requestLinkIcon.css +2 -2
  496. package/front_end/ui/components/settings/settingCheckbox.css +6 -6
  497. package/front_end/ui/components/text_editor/TextEditor.ts +3 -1
  498. package/front_end/ui/components/text_editor/config.ts +16 -4
  499. package/front_end/ui/kit/icons/icon.css +4 -4
  500. package/front_end/ui/kit/link/link.css +1 -1
  501. package/front_end/ui/legacy/ActionRegistration.ts +23 -23
  502. package/front_end/ui/legacy/Dialog.ts +1 -1
  503. package/front_end/ui/legacy/DockController.ts +3 -3
  504. package/front_end/ui/legacy/EmptyWidget.ts +13 -34
  505. package/front_end/ui/legacy/FilterBar.ts +4 -4
  506. package/front_end/ui/legacy/Infobar.ts +2 -2
  507. package/front_end/ui/legacy/InspectorDrawerView.ts +6 -6
  508. package/front_end/ui/legacy/InspectorView.ts +19 -26
  509. package/front_end/ui/legacy/ListWidget.ts +7 -7
  510. package/front_end/ui/legacy/PlusButton.ts +1 -3
  511. package/front_end/ui/legacy/RemoteDebuggingTerminatedScreen.ts +6 -6
  512. package/front_end/ui/legacy/SearchableView.ts +16 -16
  513. package/front_end/ui/legacy/SoftContextMenu.ts +8 -8
  514. package/front_end/ui/legacy/SoftDropDown.ts +1 -1
  515. package/front_end/ui/legacy/SuggestBox.ts +2 -2
  516. package/front_end/ui/legacy/TabbedPane.ts +10 -10
  517. package/front_end/ui/legacy/TargetCrashedScreen.ts +2 -2
  518. package/front_end/ui/legacy/Toolbar.ts +5 -5
  519. package/front_end/ui/legacy/Treeoutline.ts +1 -1
  520. package/front_end/ui/legacy/UIUtils.ts +80 -20
  521. package/front_end/ui/legacy/ViewManager.ts +1 -1
  522. package/front_end/ui/legacy/ViewRegistration.ts +7 -7
  523. package/front_end/ui/legacy/Widget.ts +5 -5
  524. package/front_end/ui/legacy/checkboxTextLabel.css +3 -3
  525. package/front_end/ui/legacy/components/color_picker/ColorFormatSpec.ts +16 -0
  526. package/front_end/ui/legacy/components/color_picker/FormatPickerContextMenu.ts +1 -0
  527. package/front_end/ui/legacy/components/color_picker/spectrum.css +90 -90
  528. package/front_end/ui/legacy/components/cookie_table/cookiesTable.css +1 -1
  529. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +26 -28
  530. package/front_end/ui/legacy/components/data_grid/ShowMoreDataGridNode.ts +3 -7
  531. package/front_end/ui/legacy/components/inline_editor/bezierEditor.css +13 -13
  532. package/front_end/ui/legacy/components/inline_editor/colorSwatch.css +7 -7
  533. package/front_end/ui/legacy/components/inline_editor/cssAngleEditor.css +5 -5
  534. package/front_end/ui/legacy/components/inline_editor/cssShadowEditor.css +18 -18
  535. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +104 -86
  536. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +8 -6
  537. package/front_end/ui/legacy/components/object_ui/objectPopover.css +4 -4
  538. package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +6 -6
  539. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +28 -11
  540. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +0 -4
  541. package/front_end/ui/legacy/components/perf_ui/chartViewport.css +4 -4
  542. package/front_end/ui/legacy/components/perf_ui/filmStripView.css +6 -6
  543. package/front_end/ui/legacy/components/perf_ui/flameChart.css +7 -7
  544. package/front_end/ui/legacy/components/perf_ui/overviewGrid.css +11 -11
  545. package/front_end/ui/legacy/components/perf_ui/pieChart.css +6 -6
  546. package/front_end/ui/legacy/components/perf_ui/timelineGrid.css +5 -5
  547. package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +3 -3
  548. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +1 -1
  549. package/front_end/ui/legacy/components/source_frame/imageView.css +1 -1
  550. package/front_end/ui/legacy/components/source_frame/jsonView.css +1 -1
  551. package/front_end/ui/legacy/components/source_frame/resourceSourceFrame.css +1 -1
  552. package/front_end/ui/legacy/components/source_frame/xmlTree.css +3 -3
  553. package/front_end/ui/legacy/components/utils/imagePreview.css +1 -1
  554. package/front_end/ui/legacy/components/utils/jsUtils.css +10 -10
  555. package/front_end/ui/legacy/dropTarget.css +2 -2
  556. package/front_end/ui/legacy/emptyWidget.css +6 -0
  557. package/front_end/ui/legacy/filter.css +19 -19
  558. package/front_end/ui/legacy/infobar.css +2 -2
  559. package/front_end/ui/legacy/inspectorCommon.css +67 -67
  560. package/front_end/ui/legacy/inspectorDrawerTabbedPane.css +1 -1
  561. package/front_end/ui/legacy/listWidget.css +5 -5
  562. package/front_end/ui/legacy/progressIndicator.css +4 -4
  563. package/front_end/ui/legacy/reportView.css +7 -7
  564. package/front_end/ui/legacy/searchableView.css +5 -5
  565. package/front_end/ui/legacy/smallBubble.css +3 -3
  566. package/front_end/ui/legacy/softContextMenu.css +4 -4
  567. package/front_end/ui/legacy/softDropDownButton.css +1 -1
  568. package/front_end/ui/legacy/splitWidget.css +9 -31
  569. package/front_end/ui/legacy/suggestBox.css +4 -4
  570. package/front_end/ui/legacy/tabbedPane.css +17 -17
  571. package/front_end/ui/legacy/textPrompt.css +2 -2
  572. package/front_end/ui/legacy/toolbar.css +4 -4
  573. package/front_end/ui/legacy/treeoutline.css +14 -14
  574. package/front_end/ui/legacy/viewContainers.css +6 -6
  575. package/front_end/ui/settings/ConsoleSettings.ts +34 -0
  576. package/front_end/ui/visual_logging/KnownContextValues.ts +12 -0
  577. package/inspector_overlay/common.ts +12 -12
  578. package/inspector_overlay/css_grid_label_helpers.ts +16 -17
  579. package/inspector_overlay/drag_resize_handler.ts +2 -2
  580. package/inspector_overlay/highlight_common.ts +11 -13
  581. package/inspector_overlay/highlight_container_query.ts +2 -2
  582. package/inspector_overlay/highlight_flex_common.ts +6 -7
  583. package/inspector_overlay/highlight_grid_common.ts +3 -3
  584. package/inspector_overlay/highlight_isolated_element.ts +12 -3
  585. package/inspector_overlay/highlight_scroll_snap.ts +2 -2
  586. package/inspector_overlay/loadCSS.rollup.js +0 -1
  587. package/inspector_overlay/testing/InspectorOverlayHelpers.ts +13 -13
  588. package/inspector_overlay/tool_green_dev_anchors.ts +3 -3
  589. package/inspector_overlay/tool_highlight.ts +9 -9
  590. package/inspector_overlay/tool_paused.ts +4 -4
  591. package/inspector_overlay/tool_persistent.ts +11 -11
  592. package/inspector_overlay/tool_screenshot.ts +7 -7
  593. package/inspector_overlay/tool_source_order.ts +4 -4
  594. package/inspector_overlay/tool_viewport_size.ts +3 -3
  595. package/inspector_overlay/tool_window_controls.ts +4 -4
  596. package/mcp/mcp.ts +1 -0
  597. package/package.json +2 -2
  598. package/front_end/generated/protocol-tsconfig.json +0 -10
  599. package/front_end/panels/js_timeline/DIR_METADATA +0 -3
  600. package/front_end/panels/js_timeline/js_timeline-meta.ts +0 -193
  601. package/front_end/panels/js_timeline/js_timeline.ts +0 -1
  602. /package/front_end/entrypoints/{formatter_worker/FormatterActions.ts → formatter_actions/formatter_actions.ts} +0 -0
@@ -65,7 +65,6 @@ import * as PanelsCommon from '../common/common.js';
65
65
  import * as Media from '../media/media.js';
66
66
 
67
67
  import * as ElementsComponents from './components/components.js';
68
- import {cssPath, jsPath, xPath} from './DOMPath.js';
69
68
  import {getElementIssueDetails} from './ElementIssueUtils.js';
70
69
  import {ElementsPanel} from './ElementsPanel.js';
71
70
  import * as ElementStatePaneWidget from './ElementStatePaneWidget.js';
@@ -361,7 +360,7 @@ export interface Decoration {
361
360
 
362
361
  const DOM_UPDATE_ANIMATION_CLASS_NAME = 'dom-update-highlight';
363
362
 
364
- function handleAdornerKeydown(cb: (event: Event) => void): (event: KeyboardEvent) => void {
363
+ export function handleAdornerKeydown(cb: (event: Event) => void): (event: KeyboardEvent) => void {
365
364
  return (event: KeyboardEvent) => {
366
365
  if (event.code === 'Enter' || event.code === 'Space') {
367
366
  cb(event);
@@ -882,10 +881,14 @@ export const DEFAULT_VIEW = (input: ViewInput, output: ViewOutput, target: HTMLE
882
881
  ${hasAdorners ? html`<div class="adorner-container ${(input.editorState) ? 'hidden' : ''}">
883
882
  ${maybeRenderAdAdorner(input)}
884
883
  ${input.showViewSourceAdorner ? html`<devtools-adorner
884
+ class="clickable"
885
+ role=button
886
+ tabindex=0
885
887
  .name=${ElementsComponents.AdornerManager.RegisteredAdorners.VIEW_SOURCE}
886
- jslog=${VisualLogging.adorner(ElementsComponents.AdornerManager.RegisteredAdorners.VIEW_SOURCE)}
888
+ jslog=${VisualLogging.adorner(ElementsComponents.AdornerManager.RegisteredAdorners.VIEW_SOURCE).track({ click: true })}
887
889
  aria-label=${i18nString(UIStrings.viewSourceCode)}
888
890
  @click=${input.onViewSourceAdornerClick}
891
+ @keydown=${handleAdornerKeydown(input.onViewSourceAdornerClick)}
889
892
  ${adornerRef()}>
890
893
  <span>${ElementsComponents.AdornerManager.RegisteredAdorners.VIEW_SOURCE}</span>
891
894
  </devtools-adorner>` : nothing}
@@ -1017,7 +1020,9 @@ export const DEFAULT_VIEW = (input: ViewInput, output: ViewOutput, target: HTMLE
1017
1020
  </span>
1018
1021
  </devtools-adorner>`: nothing}
1019
1022
  ${input.showStartingStyleAdorner ? html`<devtools-adorner
1020
- class="starting-style"
1023
+ class="starting-style clickable"
1024
+ role=button
1025
+ tabindex=0
1021
1026
  .name=${ElementsComponents.AdornerManager.RegisteredAdorners.STARTING_STYLE}
1022
1027
  jslog=${VisualLogging.adorner(ElementsComponents.AdornerManager.RegisteredAdorners.STARTING_STYLE).track({ click: true })}
1023
1028
  active=${input.startingStyleAdornerActive}
@@ -1051,7 +1056,9 @@ export const DEFAULT_VIEW = (input: ViewInput, output: ViewOutput, target: HTMLE
1051
1056
  </span>
1052
1057
  </devtools-adorner>`: nothing}
1053
1058
  ${input.showScrollSnapAdorner ? html`<devtools-adorner
1054
- class="scroll-snap"
1059
+ class="scroll-snap clickable"
1060
+ role=button
1061
+ tabindex=0
1055
1062
  .name=${ElementsComponents.AdornerManager.RegisteredAdorners.SCROLL_SNAP}
1056
1063
  jslog=${VisualLogging.adorner(ElementsComponents.AdornerManager.RegisteredAdorners.SCROLL_SNAP).track({ click: true })}
1057
1064
  active=${input.scrollSnapAdornerActive}
@@ -1093,6 +1100,15 @@ export const DEFAULT_VIEW = (input: ViewInput, output: ViewOutput, target: HTMLE
1093
1100
 
1094
1101
  type View = typeof DEFAULT_VIEW;
1095
1102
 
1103
+ export interface InitialEditState {
1104
+ attributeName?: string;
1105
+ isNewAttribute?: boolean;
1106
+ isProcessingInstruction?: boolean;
1107
+ isTextNode?: boolean;
1108
+ isEditAsHTML?: boolean;
1109
+ editAsHTMLCallback?: (success: boolean) => void;
1110
+ }
1111
+
1096
1112
  export class ElementsTreeWidget extends UI.Widget.Widget {
1097
1113
  static override readonly INJECT = [IssuesManager.DOMIssuesManager.DOMIssuesManager] as const;
1098
1114
  #domIssuesManager?: IssuesManager.DOMIssuesManager.DOMIssuesManager;
@@ -1106,6 +1122,8 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1106
1122
  disableEdits = false;
1107
1123
  showAIButton = false;
1108
1124
  isDOMNodeSelected = false;
1125
+ initialEdit?: InitialEditState|null;
1126
+ onInitialEditCompleted?: () => void;
1109
1127
 
1110
1128
  expand?: () => void;
1111
1129
  collapse?: () => void;
@@ -1115,22 +1133,18 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1115
1133
  childCount?: () => number;
1116
1134
  closingTagElement?: () => Element | null;
1117
1135
  updateShadowRootDepth?: (depth: number) => void;
1118
- computeLeftIndent?: () => number;
1136
+ computeLeftIndent?: number|(() => number);
1119
1137
  setChildrenListElementVisible?: (visible: boolean) => void;
1120
1138
 
1121
1139
  findStartTagWidget?: () => ElementsTreeWidget | null;
1122
1140
  selectDOMNode?: (node: SDK.DOMModel.DOMNode, selectedByUser?: boolean) => void;
1123
1141
  revealInTopLayer?: (node: SDK.DOMModel.DOMNode) => void;
1124
- showContextMenu?: (event: Event) => void;
1142
+ showContextMenu?: (event: Event, widget?: ElementsTreeWidget) => void;
1125
1143
  populateTreeElement?: () => Promise<void>;
1126
- performCopyOrCut?: (isCut: boolean, node: SDK.DOMModel.DOMNode, isElement?: boolean) => void;
1127
- duplicateNode?: (node: SDK.DOMModel.DOMNode) => void;
1128
- pasteNode?: (node: SDK.DOMModel.DOMNode) => void;
1129
- canPaste?: (node: SDK.DOMModel.DOMNode) => boolean;
1130
1144
  toggleHideElement?: (node: SDK.DOMModel.DOMNode) => Promise<void>;
1131
1145
  isToggledToHidden?: (node: SDK.DOMModel.DOMNode) => boolean;
1132
- selectNodeAfterEdit?: (wasExpanded: boolean, error: string|null,
1133
- newNode: SDK.DOMModel.DOMNode|null) => ElementsTreeWidget | null;
1146
+ selectNodeAfterEdit?: (wasExpanded: boolean, error: string|null, newNode: SDK.DOMModel.DOMNode|null,
1147
+ moveDirection?: string) => void;
1134
1148
  runPendingUpdates?: () => void;
1135
1149
  focusOutline?: () => void;
1136
1150
  setMultilineEditing?: (multilineEditing: EditorHandles|null) => void;
@@ -1138,10 +1152,10 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1138
1152
 
1139
1153
  #view: View;
1140
1154
 
1141
- private searchQuery: string|null;
1155
+ #searchQuery: string|null = null;
1142
1156
  #expandedChildrenLimit: number;
1143
- private readonly decorationsThrottler: Common.Throttler.Throttler;
1144
- private inClipboard: boolean;
1157
+ #decorationsThrottler = new Common.Throttler.Throttler(100);
1158
+ inClipboard = false;
1145
1159
  #hovered: boolean;
1146
1160
  editing: EditorHandles|null;
1147
1161
  #editorRef?: TextEditor.TextEditor.TextEditor;
@@ -1181,6 +1195,7 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1181
1195
  this.#node = node;
1182
1196
  if (!this.isClosingTag) {
1183
1197
  void this.#updateAdorners();
1198
+ this.updateDecorations();
1184
1199
  }
1185
1200
  }
1186
1201
 
@@ -1190,6 +1205,7 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1190
1205
 
1191
1206
  set expanded(expanded: boolean) {
1192
1207
  this.#expanded = expanded;
1208
+ this.updateDecorations();
1193
1209
  this.requestUpdate();
1194
1210
  }
1195
1211
 
@@ -1211,6 +1227,18 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1211
1227
  this.requestUpdate();
1212
1228
  }
1213
1229
 
1230
+ get searchQuery(): string|null {
1231
+ return this.#searchQuery;
1232
+ }
1233
+
1234
+ set searchQuery(query: string|null) {
1235
+ if (this.#searchQuery === query) {
1236
+ return;
1237
+ }
1238
+ this.#searchQuery = query;
1239
+ this.requestUpdate();
1240
+ }
1241
+
1214
1242
  get tagTypeContext(): TagTypeContext {
1215
1243
  if (this.isClosingTag) {
1216
1244
  return {tagType: TagType.CLOSING};
@@ -1245,9 +1273,7 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1245
1273
  this.#domIssuesManager = domIssuesManager;
1246
1274
  this.#view = view;
1247
1275
 
1248
- this.searchQuery = null;
1249
1276
  this.#expandedChildrenLimit = InitialChildrenLimit;
1250
- this.decorationsThrottler = new Common.Throttler.Throttler(100);
1251
1277
 
1252
1278
  this.inClipboard = false;
1253
1279
  this.#hovered = false;
@@ -1316,6 +1342,14 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1316
1342
 
1317
1343
  #clearDOMNextUpdate = false;
1318
1344
 
1345
+ override wasShown(): void {
1346
+ super.wasShown();
1347
+ if (!this.isClosingTag) {
1348
+ void this.#updateAdorners();
1349
+ this.updateDecorations();
1350
+ }
1351
+ }
1352
+
1319
1353
  override performUpdate(): void {
1320
1354
  // Skip updating when in-place editing (not HTML editing indicated by the
1321
1355
  // editorState) is happening. Doing an update would break editing
@@ -1323,6 +1357,7 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1323
1357
  if (this.editing && !this.#editorState) {
1324
1358
  return;
1325
1359
  }
1360
+ this.updateDecorations();
1326
1361
  if (this.#clearDOMNextUpdate) {
1327
1362
  this.#clearDOMNextUpdate = false;
1328
1363
  Lit.render(Lit.nothing, this.contentElement, {host: this});
@@ -1366,7 +1401,7 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1366
1401
  decorations: this.#decorations,
1367
1402
  descendantDecorations: this.#expanded ? [] : this.#descendantDecorations,
1368
1403
  decorationsTooltip: this.#decorationsTooltip,
1369
- indent: this.computeLeftIndent ? this.computeLeftIndent() : 0,
1404
+ indent: this.#getLeftIndent(),
1370
1405
  showScrollSnapAdorner: Boolean(this.#layout?.hasScroll) && !isClosingTag,
1371
1406
  scrollSnapAdornerActive: this.#scrollSnapAdornerActive,
1372
1407
  showSlotAdorner: Boolean(this.node.assignedSlot) && !isClosingTag,
@@ -1388,7 +1423,7 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1388
1423
  },
1389
1424
  topLayerIndex: this.node.topLayerIndex(),
1390
1425
  onViewSourceAdornerClick: this.disableEdits ? () => {} : this.revealHTMLInSources.bind(this),
1391
- onGutterClick: this.showContextMenu ? (event: Event) => this.showContextMenu?.(event) : () => {},
1426
+ onGutterClick: this.showContextMenu ? (event: Event) => this.showContextMenu?.(event, this) : () => {},
1392
1427
  onContainerAdornerClick: this.disableEdits ? () => {} : (event: Event) => this.#onContainerAdornerClick(event),
1393
1428
  onFlexAdornerClick: this.disableEdits ? () => {} : (event: Event) => this.#onFlexAdornerClick(event),
1394
1429
  onGridAdornerClick: this.disableEdits ? () => {} : (event: Event) => this.#onGridAdornerClick(event),
@@ -1426,6 +1461,30 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1426
1461
  if (this.#updateRecord) {
1427
1462
  this.#updateRecord = null;
1428
1463
  }
1464
+ if (this.#searchQuery && !this.editing) {
1465
+ this.#highlightSearchResults();
1466
+ } else if (!this.#searchQuery && this.#highlights.length) {
1467
+ this.hideSearchHighlights();
1468
+ }
1469
+ if (this.initialEdit) {
1470
+ const edit = this.initialEdit;
1471
+ this.initialEdit = null;
1472
+ this.onInitialEditCompleted?.();
1473
+ if (edit.isEditAsHTML) {
1474
+ this.toggleEditAsHTML(edit.editAsHTMLCallback);
1475
+ } else if (edit.isProcessingInstruction) {
1476
+ this.startEditingProcessingInstructionValue();
1477
+ } else if (edit.isTextNode) {
1478
+ const textNode = this.contentElement.querySelector('.webkit-html-text-node');
1479
+ if (textNode) {
1480
+ this.startEditingTextNode(textNode);
1481
+ }
1482
+ } else if (edit.isNewAttribute) {
1483
+ this.addNewAttribute();
1484
+ } else if (edit.attributeName) {
1485
+ this.triggerEditAttribute(edit.attributeName);
1486
+ }
1487
+ }
1429
1488
  }
1430
1489
 
1431
1490
  async #onCustomElementAdornerClick(event: Event): Promise<void> {
@@ -1913,7 +1972,7 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
1913
1972
  return UI.ActionRegistry.ActionRegistry.instance().hasAction('freestyler.elements-floating-button');
1914
1973
  }
1915
1974
 
1916
- private startEditing(): boolean|undefined {
1975
+ startEditing(): boolean|undefined {
1917
1976
  if (!this.isDOMNodeSelected) {
1918
1977
  return;
1919
1978
  }
@@ -2272,7 +2331,7 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
2272
2331
 
2273
2332
  function resize(this: ElementsTreeWidget): void {
2274
2333
  if (this.visibleWidth) {
2275
- this.#editorWidth = this.visibleWidth() - (this.computeLeftIndent ? this.computeLeftIndent() : 0) - 30;
2334
+ this.#editorWidth = this.visibleWidth() - this.#getLeftIndent() - 30;
2276
2335
  this.requestUpdate();
2277
2336
  }
2278
2337
  }
@@ -2285,7 +2344,7 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
2285
2344
  }
2286
2345
 
2287
2346
  function dispose(this: ElementsTreeWidget): void {
2288
- if (!this.#editorRef) {
2347
+ if (!this.editing && !this.#editorState) {
2289
2348
  return;
2290
2349
  }
2291
2350
  this.editing = null;
@@ -2311,6 +2370,7 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
2311
2370
  moveDirection: string,
2312
2371
  ): void {
2313
2372
  this.editing = null;
2373
+ this.#clearDOMNextUpdate = true;
2314
2374
 
2315
2375
  function moveToNextAttributeIfNeeded(this: ElementsTreeWidget, error?: string|null): void {
2316
2376
  if (error) {
@@ -2432,10 +2492,7 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
2432
2492
  }
2433
2493
 
2434
2494
  Badges.UserBadges.instance().recordAction(Badges.BadgeAction.DOM_ELEMENT_OR_ATTRIBUTE_EDITED);
2435
- const newWidget = this.selectNodeAfterEdit(wasExpanded, error, newNode);
2436
- if (newWidget) {
2437
- moveToNextAttributeIfNeeded.call(newWidget);
2438
- }
2495
+ this.selectNodeAfterEdit(wasExpanded, error, newNode, moveDirection);
2439
2496
  });
2440
2497
  }
2441
2498
 
@@ -2497,10 +2554,17 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
2497
2554
  this.#highlightSearchResults();
2498
2555
  }
2499
2556
 
2557
+ #getLeftIndent(): number {
2558
+ if (typeof this.computeLeftIndent === 'function') {
2559
+ return this.computeLeftIndent();
2560
+ }
2561
+ return this.computeLeftIndent ?? 0;
2562
+ }
2563
+
2500
2564
  updateDecorations(): void {
2501
2565
  // Important to keep the entire tree node row as a clickable area for that
2502
2566
  // node.
2503
- this.element.style.setProperty('--indent', (this.computeLeftIndent ? this.computeLeftIndent() : 0) + 'px');
2567
+ this.element.style.setProperty('--indent', this.#getLeftIndent() + 'px');
2504
2568
 
2505
2569
  if (this.isClosingTag) {
2506
2570
  return;
@@ -2510,7 +2574,7 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
2510
2574
  return;
2511
2575
  }
2512
2576
 
2513
- void this.decorationsThrottler.schedule(this.#updateDecorations.bind(this));
2577
+ void this.#decorationsThrottler.schedule(this.#updateDecorations.bind(this));
2514
2578
  }
2515
2579
 
2516
2580
  #updateDecorations(): Promise<void> {
@@ -2552,15 +2616,23 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
2552
2616
  return Promise.all(promises).then(updateDecorationsUI.bind(this));
2553
2617
 
2554
2618
  function updateDecorationsUI(this: ElementsTreeWidget): void {
2555
- this.#decorations = decorations;
2556
- this.#descendantDecorations = descendantDecorations;
2619
+ if (!this.isShowing()) {
2620
+ return;
2621
+ }
2557
2622
 
2558
2623
  if (!decorations.length && !descendantDecorations.length) {
2559
- this.#decorationsTooltip = '';
2560
- this.requestUpdate();
2624
+ if (this.#decorations.length || this.#descendantDecorations.length || this.#decorationsTooltip) {
2625
+ this.#decorations = [];
2626
+ this.#descendantDecorations = [];
2627
+ this.#decorationsTooltip = '';
2628
+ this.requestUpdate();
2629
+ }
2561
2630
  return;
2562
2631
  }
2563
2632
 
2633
+ this.#decorations = decorations;
2634
+ this.#descendantDecorations = descendantDecorations;
2635
+
2564
2636
  const tooltip: string[] = [];
2565
2637
  for (const decoration of decorations) {
2566
2638
  tooltip.push(decoration.title);
@@ -2623,53 +2695,6 @@ export class ElementsTreeWidget extends UI.Widget.Widget {
2623
2695
  void node.getOuterHTML().then(this.startEditingAsHTML.bind(this, commitChange, disposeCallback));
2624
2696
  }
2625
2697
 
2626
- copyCSSPath(): void {
2627
- Host.InspectorFrontendHost.InspectorFrontendHostInstance.copyText(cssPath(this.node, true));
2628
- }
2629
-
2630
- copyJSPath(): void {
2631
- Host.InspectorFrontendHost.InspectorFrontendHostInstance.copyText(jsPath(this.node, true));
2632
- }
2633
-
2634
- copyXPath(): void {
2635
- Host.InspectorFrontendHost.InspectorFrontendHostInstance.copyText(xPath(this.node, true));
2636
- }
2637
-
2638
- copyFullXPath(): void {
2639
- Host.InspectorFrontendHost.InspectorFrontendHostInstance.copyText(xPath(this.node, false));
2640
- }
2641
-
2642
- async copyStyles(): Promise<void> {
2643
- const node = this.node;
2644
- const cssModel = node.domModel().cssModel();
2645
- const cascade = await cssModel.cachedMatchedCascadeForNode(node);
2646
- if (!cascade) {
2647
- return;
2648
- }
2649
-
2650
- const indent = Common.Settings.Settings.instance().moduleSetting('text-editor-indent').get();
2651
- const lines: string[] = [];
2652
- for (const style of cascade.nodeStyles().reverse()) {
2653
- for (const property of style.leadingProperties()) {
2654
- if (!property.parsedOk || property.disabled || !property.activeInStyle() || property.implicit) {
2655
- continue;
2656
- }
2657
- if (cascade.isInherited(style) && !SDK.CSSMetadata.cssMetadata().isPropertyInherited(property.name)) {
2658
- continue;
2659
- }
2660
- if (style.parentRule?.isUserAgent()) {
2661
- continue;
2662
- }
2663
- if (cascade.propertyState(property) !== SDK.CSSMatchedStyles.PropertyState.ACTIVE) {
2664
- continue;
2665
- }
2666
- lines.push(`${indent}${property.name}: ${property.value};`);
2667
- }
2668
- }
2669
-
2670
- Host.InspectorFrontendHost.InspectorFrontendHostInstance.copyText(lines.join('\n'));
2671
- }
2672
-
2673
2698
  #highlightSearchResults(): void {
2674
2699
  this.hideSearchHighlights();
2675
2700
 
@@ -2805,6 +2830,7 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
2805
2830
  this.widgetWrapper = document.createElement('div');
2806
2831
  this.widgetWrapper.style.display = 'contents';
2807
2832
  this.title = this.widgetWrapper;
2833
+ this.listItemElement.draggable = true;
2808
2834
  this.widget = new ElementsTreeWidget();
2809
2835
  this.widget.isClosingTag = this.#isClosingTag;
2810
2836
  this.widget.node = this.nodeInternal;
@@ -2873,7 +2899,8 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
2873
2899
  this.widget.hideSearchHighlights();
2874
2900
  }
2875
2901
  copyStyles(): Promise<void> {
2876
- return this.widget.copyStyles();
2902
+ const outline = this.treeOutline as ElementsTreeOutline | null;
2903
+ return outline?.domTreeWidget?.copyStyles(this.nodeInternal) ?? Promise.resolve();
2877
2904
  }
2878
2905
  setInClipboard(inClipboard: boolean): void {
2879
2906
  this.widget.setInClipboard(inClipboard);
@@ -2894,6 +2921,9 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
2894
2921
  highlightAttribute(name: string): void {
2895
2922
  this.widget.highlightAttribute(name);
2896
2923
  }
2924
+ startEditing(): boolean|undefined {
2925
+ return this.widget.startEditing();
2926
+ }
2897
2927
  startEditingAttribute(attribute: Element, elementForSelection: Element): boolean {
2898
2928
  return this.widget.startEditingAttribute(attribute, elementForSelection);
2899
2929
  }
@@ -2904,16 +2934,20 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
2904
2934
  this.widget.editAsHTML();
2905
2935
  }
2906
2936
  copyCSSPath(): void {
2907
- this.widget.copyCSSPath();
2937
+ const outline = this.treeOutline as ElementsTreeOutline | null;
2938
+ outline?.domTreeWidget?.copyCSSPath(this.nodeInternal);
2908
2939
  }
2909
2940
  copyJSPath(): void {
2910
- this.widget.copyJSPath();
2941
+ const outline = this.treeOutline as ElementsTreeOutline | null;
2942
+ outline?.domTreeWidget?.copyJSPath(this.nodeInternal);
2911
2943
  }
2912
2944
  copyXPath(): void {
2913
- this.widget.copyXPath();
2945
+ const outline = this.treeOutline as ElementsTreeOutline | null;
2946
+ outline?.domTreeWidget?.copyXPath(this.nodeInternal);
2914
2947
  }
2915
2948
  copyFullXPath(): void {
2916
- this.widget.copyFullXPath();
2949
+ const outline = this.treeOutline as ElementsTreeOutline | null;
2950
+ outline?.domTreeWidget?.copyFullXPath(this.nodeInternal);
2917
2951
  }
2918
2952
  hasEditableNode(): boolean {
2919
2953
  return this.widget.hasEditableNode();
@@ -2958,20 +2992,17 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
2958
2992
  this.widget.revealInTopLayer = node => outline.revealInTopLayer(node);
2959
2993
  this.widget.showContextMenu = event => void outline.showContextMenu(this, event);
2960
2994
  this.widget.populateTreeElement = async () => await outline.populateTreeElement(this);
2961
- this.widget.performCopyOrCut = (isCut, node, isElement) => outline.performCopyOrCut(isCut, node, isElement);
2962
- this.widget.duplicateNode = node => outline.duplicateNode(node);
2963
- this.widget.pasteNode = node => outline.pasteNode(node);
2964
- this.widget.canPaste = node => outline.canPaste(node);
2965
2995
  this.widget.toggleHideElement = node => outline.toggleHideElement(node);
2966
2996
  this.widget.isToggledToHidden = node => outline.isToggledToHidden(node);
2967
- this.widget.selectNodeAfterEdit = (wasExpanded, error, newNode) => {
2968
- const newTreeItem = outline.selectNodeAfterEdit(wasExpanded, error, newNode);
2969
- return newTreeItem?.widget ?? null;
2997
+ this.widget.selectNodeAfterEdit = (wasExpanded, error, newNode, moveDirection) => {
2998
+ outline.domTreeWidget?.selectNodeAfterEdit(wasExpanded, error, newNode, moveDirection);
2970
2999
  };
2971
3000
  this.widget.runPendingUpdates = () => outline.runPendingUpdates();
2972
3001
  this.widget.focusOutline = () => outline.focus();
2973
- this.widget.setMultilineEditing = multilineEditing => outline.setMultilineEditing(multilineEditing);
2974
- this.widget.visibleWidth = () => outline.visibleWidth();
3002
+ this.widget.setMultilineEditing = multilineEditing => {
3003
+ outline.domTreeWidget?.setMultilineEditing(multilineEditing);
3004
+ };
3005
+ this.widget.visibleWidth = () => outline.domTreeWidget?.visibleWidth ?? outline.visibleWidth();
2975
3006
  }
2976
3007
  }
2977
3008
 
@@ -3031,6 +3062,11 @@ export class ElementsTreeElement extends UI.TreeOutline.TreeElement {
3031
3062
 
3032
3063
  override onenter(): boolean {
3033
3064
  this.#syncOutlineProperties();
3065
+ const outline = this.treeOutline as ElementsTreeOutline | null;
3066
+ if (outline?.domTreeWidget) {
3067
+ outline.domTreeWidget.startEditing(this.nodeInternal);
3068
+ return true;
3069
+ }
3034
3070
  return this.widget.onenter();
3035
3071
  }
3036
3072