chrome-devtools-frontend 1.0.1690116 → 1.0.1695017

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 (421) hide show
  1. package/.agents/skills/devtools-model-management/SKILL.md +3 -3
  2. package/.agents/skills/foundation-test-migration/SKILL.md +2 -2
  3. package/.agents/skills/merging-devtools-module/SKILL.md +5 -5
  4. package/AUTHORS +3 -0
  5. package/config/typescript/tsconfig.base.json +1 -0
  6. package/docs/get_the_code.md +4 -9
  7. package/front_end/Images/src/comment-mode-cursor.svg +23 -0
  8. package/front_end/Tests.js +1 -1
  9. package/front_end/application_tokens.css +5 -0
  10. package/front_end/core/common/ColorConverter.ts +3 -3
  11. package/front_end/core/host/UserMetrics.ts +27 -0
  12. package/front_end/core/protocol_client/DevToolsCDPConnection.ts +0 -46
  13. package/front_end/core/protocol_client/InspectorBackend.ts +6 -6
  14. package/front_end/core/root/Runtime.ts +1 -0
  15. package/front_end/core/sdk/CSSLocation.ts +32 -0
  16. package/front_end/core/sdk/CSSModel.ts +2 -22
  17. package/front_end/core/sdk/CSSQuery.ts +2 -1
  18. package/front_end/core/sdk/CSSRule.ts +29 -0
  19. package/front_end/core/sdk/DebuggerModel.ts +5 -1
  20. package/front_end/core/sdk/NetworkManager.ts +2 -0
  21. package/front_end/core/sdk/NetworkRequest.ts +63 -4
  22. package/front_end/core/sdk/NetworkRequestAccess.ts +191 -0
  23. package/front_end/core/sdk/ResourceTreeModel.ts +72 -23
  24. package/front_end/core/sdk/SecurityOrigin.ts +97 -12
  25. package/front_end/core/sdk/Target.ts +18 -0
  26. package/front_end/core/sdk/sdk.ts +4 -0
  27. package/front_end/entrypoints/main/MainImpl.ts +8 -1
  28. package/front_end/foundation/Universe.ts +14 -11
  29. package/front_end/generated/Deprecation.ts +8 -0
  30. package/front_end/generated/InspectorBackendCommands.ts +9 -8
  31. package/front_end/generated/SupportedCSSProperties.ts +14 -4
  32. package/front_end/generated/protocol.ts +24 -0
  33. package/front_end/models/ai_assistance/AiAgent2.ts +46 -10
  34. package/front_end/models/ai_assistance/AiConversation.ts +35 -24
  35. package/front_end/models/ai_assistance/README.md +5 -3
  36. package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +1 -0
  37. package/front_end/models/ai_assistance/agents/AiAgent.ts +28 -34
  38. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +13 -17
  39. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +5 -3
  40. package/front_end/models/ai_assistance/agents/StorageAgent.ts +16 -10
  41. package/front_end/models/ai_assistance/agents/StylingAgent.ts +3 -4
  42. package/front_end/models/ai_assistance/ai_assistance.ts +0 -2
  43. package/front_end/models/ai_assistance/contexts/AccessibilityContext.ts +11 -2
  44. package/front_end/models/ai_assistance/contexts/DOMNodeContext.ts +17 -5
  45. package/front_end/models/ai_assistance/contexts/FileContext.ts +13 -6
  46. package/front_end/models/ai_assistance/contexts/PerformanceTraceContext.ts +52 -25
  47. package/front_end/models/ai_assistance/contexts/RequestContext.ts +18 -34
  48. package/front_end/models/ai_assistance/contexts/StorageContext.ts +14 -3
  49. package/front_end/models/ai_assistance/data_formatters/FileFormatter.ts +2 -5
  50. package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +135 -58
  51. package/front_end/models/ai_assistance/tools/CookieUtils.ts +25 -35
  52. package/front_end/models/ai_assistance/tools/DOMStorageUtils.ts +6 -3
  53. package/front_end/models/ai_assistance/tools/ExecuteJavaScript.ts +9 -2
  54. package/front_end/models/ai_assistance/tools/GetCookieValues.ts +1 -1
  55. package/front_end/models/ai_assistance/tools/GetElementAccessibilityDetails.ts +3 -2
  56. package/front_end/models/ai_assistance/tools/GetFunctionCode.ts +3 -5
  57. package/front_end/models/ai_assistance/tools/GetInsightDetails.ts +1 -1
  58. package/front_end/models/ai_assistance/tools/GetNetworkRequestDetails.ts +8 -11
  59. package/front_end/models/ai_assistance/tools/GetResourceContent.ts +2 -4
  60. package/front_end/models/ai_assistance/tools/GetSourceContent.ts +6 -13
  61. package/front_end/models/ai_assistance/tools/GetStorageBreakdown.ts +1 -1
  62. package/front_end/models/ai_assistance/tools/GetStorageValues.ts +9 -9
  63. package/front_end/models/ai_assistance/tools/GetStyles.ts +3 -2
  64. package/front_end/models/ai_assistance/tools/ListCookies.ts +1 -1
  65. package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +6 -14
  66. package/front_end/models/ai_assistance/tools/ListPageOrigins.ts +10 -15
  67. package/front_end/models/ai_assistance/tools/ListSources.ts +5 -7
  68. package/front_end/models/ai_assistance/tools/ListStorageKeys.ts +9 -9
  69. package/front_end/models/ai_assistance/tools/README.md +4 -2
  70. package/front_end/models/ai_assistance/tools/ResolveDevtoolsNodePath.ts +3 -2
  71. package/front_end/models/ai_assistance/tools/Tool.ts +27 -3
  72. package/front_end/models/comment_manager/CD4ABridge.ts +128 -0
  73. package/front_end/models/comment_manager/CommentManager.ts +50 -8
  74. package/front_end/models/comment_manager/comment_manager.ts +2 -0
  75. package/front_end/models/emulation/DeviceModeModel.ts +37 -47
  76. package/front_end/models/javascript_metadata/NativeFunctions.ts +9 -1
  77. package/front_end/models/live-metrics/web-vitals-injected/README.md +1 -1
  78. package/front_end/models/source_map_scopes/NamesResolver.ts +9 -7
  79. package/front_end/models/trace/ModelImpl.ts +2 -0
  80. package/front_end/models/trace/Processor.ts +6 -4
  81. package/front_end/models/trace/handlers/LayerTreeHandler.ts +3 -3
  82. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +1 -1
  83. package/front_end/models/trace/helpers/SyntheticEvents.ts +23 -1
  84. package/front_end/models/trace/types/Configuration.ts +7 -0
  85. package/front_end/models/trace/types/TraceEvents.ts +20 -4
  86. package/front_end/panels/accessibility/ARIAAttributesView.ts +3 -0
  87. package/front_end/panels/accessibility/AccessibilityAnnouncementRecordingListView.ts +177 -0
  88. package/front_end/panels/accessibility/accessibility.ts +2 -0
  89. package/front_end/panels/accessibility/accessibilityAnnouncementRecordingListView.css +33 -0
  90. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +25 -15
  91. package/front_end/panels/ai_assistance/components/ChatMessage.ts +6 -35
  92. package/front_end/panels/ai_assistance/components/DisabledWidget.ts +4 -3
  93. package/front_end/panels/ai_assistance/components/chatMessage.css +3 -1
  94. package/front_end/panels/animation/AnimationTimeline.ts +1 -0
  95. package/front_end/panels/application/CrashReportContextView.ts +0 -1
  96. package/front_end/panels/application/FrameDetailsView.ts +5 -4
  97. package/front_end/panels/application/IndexedDBViews.ts +4 -4
  98. package/front_end/panels/application/components/BackForwardCacheView.ts +1 -1
  99. package/front_end/panels/application/components/EndpointsGrid.ts +2 -1
  100. package/front_end/panels/application/components/PermissionsPolicySection.ts +1 -1
  101. package/front_end/panels/application/components/ServiceWorkerRouterView.ts +1 -1
  102. package/front_end/panels/application/components/TrustTokensView.ts +1 -1
  103. package/front_end/panels/application/indexedDBViews.css +0 -14
  104. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +2 -1
  105. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +2 -1
  106. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +1 -1
  107. package/front_end/panels/common/CPUThrottlingOption.ts +12 -6
  108. package/front_end/panels/common/DOMLinkifier.ts +1 -1
  109. package/front_end/panels/common/ExtensionView.ts +2 -1
  110. package/front_end/panels/console/ConsoleContextSelector.ts +12 -5
  111. package/front_end/panels/console/ConsolePinPane.ts +4 -2
  112. package/front_end/panels/console/ConsoleSidebar.ts +6 -2
  113. package/front_end/panels/console/ConsoleViewMessage.ts +12 -8
  114. package/front_end/panels/console/PromptBuilder.ts +1 -1
  115. package/front_end/panels/coverage/CoverageListView.ts +1 -1
  116. package/front_end/panels/coverage/CoverageModel.ts +6 -4
  117. package/front_end/panels/coverage/coverageView.css +8 -8
  118. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +13 -14
  119. package/front_end/panels/css_overview/CSSOverviewPanel.ts +3 -3
  120. package/front_end/panels/css_overview/CSSOverviewProcessingView.ts +2 -2
  121. package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +3 -3
  122. package/front_end/panels/css_overview/CSSOverviewStartView.ts +3 -3
  123. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
  124. package/front_end/panels/developer_resources/developerResourcesView.css +3 -3
  125. package/front_end/panels/elements/ComputedStyleWidget.ts +1 -1
  126. package/front_end/panels/elements/ElementsTreeElement.ts +43 -15
  127. package/front_end/panels/elements/ElementsTreeOutline.ts +185 -109
  128. package/front_end/panels/elements/MetricsSidebarPane.ts +1 -1
  129. package/front_end/panels/elements/PropertyNameCategories.ts +1 -1
  130. package/front_end/panels/elements/ShortcutTreeElement.ts +6 -1
  131. package/front_end/panels/elements/StandaloneStylesContainer.ts +1 -1
  132. package/front_end/panels/elements/StylePropertiesSection.ts +2 -35
  133. package/front_end/panels/elements/StylesSidebarPane.ts +3 -2
  134. package/front_end/panels/elements/components/CSSPropertyIconResolver.ts +5 -4
  135. package/front_end/panels/elements/components/StylePropertyEditor.ts +161 -148
  136. package/front_end/panels/elements/components/computedStyleProperty.css +5 -5
  137. package/front_end/panels/elements/components/computedStyleTrace.css +5 -5
  138. package/front_end/panels/elements/components/cssHintDetailsView.css +1 -1
  139. package/front_end/panels/elements/components/cssPropertyDocsView.css +3 -3
  140. package/front_end/panels/elements/components/cssVariableValueView.css +4 -4
  141. package/front_end/panels/elements/components/elementsBreadcrumbs.css +3 -3
  142. package/front_end/panels/elements/components/elementsTreeExpandButton.css +5 -5
  143. package/front_end/panels/elements/components/queryContainer.css +2 -2
  144. package/front_end/panels/elements/elementsTreeOutline.css +20 -4
  145. package/front_end/panels/emulation/MediaQueryInspector.ts +2 -1
  146. package/front_end/panels/event_listeners/eventListenersView.css +1 -1
  147. package/front_end/panels/issues/AffectedElementsView.ts +3 -0
  148. package/front_end/panels/issues/AffectedLazyLoadImagesView.ts +1 -1
  149. package/front_end/panels/issues/issues.ts +2 -0
  150. package/front_end/panels/layer_viewer/LayerDetailsView.ts +12 -10
  151. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +1 -0
  152. package/front_end/panels/layer_viewer/Layers3DView.ts +13 -11
  153. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +1 -1
  154. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspectorUtils.ts +2 -2
  155. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplayUtils.ts +1 -1
  156. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +1 -1
  157. package/front_end/panels/linear_memory_inspector/components/linearMemoryHighlightChipList.css +11 -11
  158. package/front_end/panels/linear_memory_inspector/components/linearMemoryInspector.css +2 -2
  159. package/front_end/panels/linear_memory_inspector/components/linearMemoryNavigator.css +1 -1
  160. package/front_end/panels/linear_memory_inspector/components/linearMemoryValueInterpreter.css +5 -5
  161. package/front_end/panels/linear_memory_inspector/components/linearMemoryViewer.css +6 -6
  162. package/front_end/panels/linear_memory_inspector/components/valueInterpreterDisplay.css +6 -6
  163. package/front_end/panels/linear_memory_inspector/components/valueInterpreterSettings.css +2 -2
  164. package/front_end/panels/media/PlayerPropertiesView.ts +1 -1
  165. package/front_end/panels/media/TickingFlameChart.ts +3 -2
  166. package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +2 -1
  167. package/front_end/panels/mobile_throttling/ThrottlingManager.ts +1 -1
  168. package/front_end/panels/mobile_throttling/ThrottlingPresets.ts +2 -1
  169. package/front_end/panels/network/NetworkDataGridNode.ts +11 -9
  170. package/front_end/panels/network/NetworkLogView.ts +4 -1
  171. package/front_end/panels/network/NetworkLogViewColumns.ts +5 -2
  172. package/front_end/panels/network/RequestConditionsDrawer.ts +2 -2
  173. package/front_end/panels/network/RequestHeadersView.ts +47 -11
  174. package/front_end/panels/network/RequestPayloadView.ts +1 -1
  175. package/front_end/panels/network/RequestResponseView.ts +1 -1
  176. package/front_end/panels/network/RequestTimingView.ts +1 -1
  177. package/front_end/panels/network/ShowMoreDetailsWidget.ts +1 -1
  178. package/front_end/panels/network/components/RequestHeadersView.css +12 -0
  179. package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
  180. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +3 -3
  181. package/front_end/panels/profiler/HeapProfileView.ts +1 -1
  182. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +1 -1
  183. package/front_end/panels/protocol_monitor/JSONEditor.ts +1 -1
  184. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +3 -3
  185. package/front_end/panels/recorder/RecordingListView.ts +0 -6
  186. package/front_end/panels/recorder/RecordingView.ts +0 -6
  187. package/front_end/panels/recorder/controlButton.css +10 -10
  188. package/front_end/panels/recorder/startView.css +1 -1
  189. package/front_end/panels/screencast/ScreencastView.ts +4 -2
  190. package/front_end/panels/search/SearchView.ts +1 -1
  191. package/front_end/panels/security/SecurityPanel.ts +46 -35
  192. package/front_end/panels/sources/BreakpointEditDialog.ts +1 -1
  193. package/front_end/panels/sources/CallStackSidebarPane.ts +1 -1
  194. package/front_end/panels/sources/DebuggerPausedMessage.ts +8 -6
  195. package/front_end/panels/sources/ProfilePlugin.ts +2 -1
  196. package/front_end/panels/sources/ScopeChainSidebarPane.ts +1 -1
  197. package/front_end/panels/timeline/IsolateSelector.ts +1 -1
  198. package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +1 -1
  199. package/front_end/panels/timeline/NetworkTrackAppender.ts +1 -1
  200. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +1 -1
  201. package/front_end/panels/timeline/TimelineFlameChartView.ts +0 -32
  202. package/front_end/panels/timeline/TimelineHistoryManager.ts +1 -1
  203. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +7 -3
  204. package/front_end/panels/timeline/TimelinePanel.ts +3 -20
  205. package/front_end/panels/timeline/TimelineTreeView.ts +1 -1
  206. package/front_end/panels/timeline/TimelineUIUtils.ts +4 -4
  207. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +4 -3
  208. package/front_end/panels/timeline/components/LiveMetricsView.ts +1 -1
  209. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +25 -24
  210. package/front_end/panels/timeline/components/RelatedInsightChips.ts +4 -3
  211. package/front_end/panels/timeline/components/Sidebar.ts +1 -1
  212. package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +4 -3
  213. package/front_end/panels/timeline/components/cwvMetrics.css +2 -2
  214. package/front_end/panels/timeline/components/insights/checklist.css +1 -1
  215. package/front_end/panels/timeline/components/insights/table.css +3 -3
  216. package/front_end/panels/timeline/overlays/components/entriesLinkOverlay.css +4 -4
  217. package/front_end/panels/timeline/overlays/components/entryLabelOverlay.css +4 -4
  218. package/front_end/panels/timeline/overlays/components/timeRangeOverlay.css +2 -2
  219. package/front_end/panels/timeline/overlays/components/timespanBreakdownOverlay.css +4 -4
  220. package/front_end/panels/timeline/timelinePanel.css +0 -74
  221. package/front_end/panels/timeline/utils/Helpers.ts +1 -1
  222. package/front_end/panels/timeline/utils/ImageCache.ts +5 -3
  223. package/front_end/panels/web_audio/WebAudioView.ts +3 -3
  224. package/front_end/panels/web_audio/webAudio.css +5 -5
  225. package/front_end/panels/webauthn/WebauthnPane.ts +5 -11
  226. package/front_end/third_party/acorn/acorn.ts +3 -3
  227. package/front_end/third_party/chromium/README.chromium +1 -1
  228. package/front_end/third_party/chromium/ahem/ahem.d.ts +1 -0
  229. package/front_end/third_party/csp_evaluator/package/csp.ts +4 -4
  230. package/front_end/third_party/csp_evaluator/package/parser.ts +3 -1
  231. package/front_end/third_party/csp_evaluator/package/tsconfig.json +1 -0
  232. package/front_end/third_party/csp_evaluator/package/utils.ts +1 -1
  233. package/front_end/third_party/diff/DiffWrapper.ts +1 -8
  234. package/front_end/third_party/diff/diff_match_patch.d.ts +10 -0
  235. package/front_end/third_party/json5/json5.ts +2 -2
  236. package/front_end/third_party/puppeteer/README.chromium +2 -2
  237. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +183 -4
  238. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +708 -122
  239. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.d.ts +85 -3
  240. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.d.ts.map +1 -1
  241. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.js +84 -11
  242. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/Page.js.map +1 -1
  243. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ScreenRecording.d.ts +75 -0
  244. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ScreenRecording.d.ts.map +1 -0
  245. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ScreenRecording.js +102 -0
  246. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/ScreenRecording.js.map +1 -0
  247. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/api.d.ts +1 -0
  248. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/api.d.ts.map +1 -1
  249. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/api.js +1 -0
  250. package/front_end/third_party/puppeteer/package/lib/puppeteer/api/api.js.map +1 -1
  251. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.d.ts +6 -1
  252. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.d.ts.map +1 -1
  253. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.js +7 -0
  254. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/Page.js.map +1 -1
  255. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ScreenRecording.d.ts +31 -0
  256. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ScreenRecording.d.ts.map +1 -0
  257. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ScreenRecording.js +138 -0
  258. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/ScreenRecording.js.map +1 -0
  259. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/bidi.d.ts +1 -0
  260. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/bidi.d.ts.map +1 -1
  261. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/bidi.js +1 -0
  262. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/bidi.js.map +1 -1
  263. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.d.ts +6 -0
  264. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.d.ts.map +1 -1
  265. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.js +23 -0
  266. package/front_end/third_party/puppeteer/package/lib/puppeteer/bidi/core/BrowsingContext.js.map +1 -1
  267. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.d.ts +6 -1
  268. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.d.ts.map +1 -1
  269. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.js +7 -0
  270. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Page.js.map +1 -1
  271. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ScreenRecording.d.ts +31 -0
  272. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ScreenRecording.d.ts.map +1 -0
  273. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ScreenRecording.js +131 -0
  274. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/ScreenRecording.js.map +1 -0
  275. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/cdp.d.ts +1 -0
  276. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/cdp.d.ts.map +1 -1
  277. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/cdp.js +1 -0
  278. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/cdp.js.map +1 -1
  279. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.js +7 -4
  280. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserConnector.js.map +1 -1
  281. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.d.ts +4 -1
  282. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.d.ts.map +1 -1
  283. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.js +5 -1
  284. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/BrowserWebSocketTransport.js.map +1 -1
  285. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/ConnectOptions.d.ts +42 -0
  286. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/ConnectOptions.d.ts.map +1 -1
  287. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Device.d.ts +2 -2
  288. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Device.d.ts.map +1 -1
  289. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Device.js +265 -1
  290. package/front_end/third_party/puppeteer/package/lib/puppeteer/common/Device.js.map +1 -1
  291. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.d.ts +4 -0
  292. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
  293. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.js +24 -3
  294. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/BrowserLauncher.js.map +1 -1
  295. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.d.ts +23 -2
  296. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.d.ts.map +1 -1
  297. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.js +49 -3
  298. package/front_end/third_party/puppeteer/package/lib/puppeteer/node/NodeWebSocketTransport.js.map +1 -1
  299. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.d.ts +3 -3
  300. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js +3 -3
  301. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts +1 -1
  302. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts.map +1 -1
  303. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js +1 -1
  304. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js.map +1 -1
  305. package/front_end/third_party/puppeteer/package/lib/types.d.ts +183 -4
  306. package/front_end/third_party/puppeteer/package/package.json +4 -4
  307. package/front_end/third_party/puppeteer/package/src/api/Page.ts +143 -11
  308. package/front_end/third_party/puppeteer/package/src/api/ScreenRecording.ts +145 -0
  309. package/front_end/third_party/puppeteer/package/src/api/api.ts +1 -0
  310. package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +11 -0
  311. package/front_end/third_party/puppeteer/package/src/bidi/ScreenRecording.ts +106 -0
  312. package/front_end/third_party/puppeteer/package/src/bidi/bidi.ts +1 -0
  313. package/front_end/third_party/puppeteer/package/src/bidi/core/BrowsingContext.ts +41 -0
  314. package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +11 -0
  315. package/front_end/third_party/puppeteer/package/src/cdp/ScreenRecording.ts +101 -0
  316. package/front_end/third_party/puppeteer/package/src/cdp/cdp.ts +1 -0
  317. package/front_end/third_party/puppeteer/package/src/common/BrowserConnector.ts +17 -9
  318. package/front_end/third_party/puppeteer/package/src/common/BrowserWebSocketTransport.ts +4 -0
  319. package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +46 -0
  320. package/front_end/third_party/puppeteer/package/src/common/Device.ts +287 -1
  321. package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +30 -1
  322. package/front_end/third_party/puppeteer/package/src/node/NodeWebSocketTransport.ts +73 -2
  323. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  324. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  325. package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +3 -0
  326. package/front_end/tsconfig.json +1 -2
  327. package/front_end/ui/comments/CommentAnchorResolver.ts +8 -3
  328. package/front_end/ui/comments/CommentOverlayManager.ts +53 -12
  329. package/front_end/ui/comments/CommentsOverlayWidget.ts +3 -3
  330. package/front_end/ui/comments/CommentsStatusBarPill.ts +96 -0
  331. package/front_end/ui/comments/comments-meta.ts +21 -0
  332. package/front_end/ui/comments/comments.ts +2 -0
  333. package/front_end/ui/comments/commentsOverlay.css +22 -3
  334. package/front_end/ui/components/buttons/floatingButton.css +25 -0
  335. package/front_end/ui/components/markdown_view/MarkdownView.ts +31 -1
  336. package/front_end/ui/components/srgb_overlay/SrgbOverlay.ts +1 -1
  337. package/front_end/ui/components/suggestion_input/SuggestionInput.ts +45 -25
  338. package/front_end/ui/kit/icons/Icon.ts +0 -1
  339. package/front_end/ui/kit/link/Link.ts +8 -1
  340. package/front_end/ui/legacy/ContextMenu.ts +2 -2
  341. package/front_end/ui/legacy/DropTarget.ts +6 -1
  342. package/front_end/ui/legacy/EmptyWidget.ts +1 -1
  343. package/front_end/ui/legacy/GlassPane.ts +1 -1
  344. package/front_end/ui/legacy/InspectorView.ts +17 -1
  345. package/front_end/ui/legacy/ShortcutRegistry.ts +2 -2
  346. package/front_end/ui/legacy/SplitWidget.ts +18 -3
  347. package/front_end/ui/legacy/StackedPane.ts +1 -1
  348. package/front_end/ui/legacy/StatusBar.ts +78 -0
  349. package/front_end/ui/legacy/TargetCrashedScreen.ts +1 -1
  350. package/front_end/ui/legacy/TextPrompt.ts +2 -1
  351. package/front_end/ui/legacy/Toolbar.ts +5 -1
  352. package/front_end/ui/legacy/Treeoutline.ts +91 -48
  353. package/front_end/ui/legacy/UIUtils.ts +8 -4
  354. package/front_end/ui/legacy/ViewManager.ts +1 -1
  355. package/front_end/ui/legacy/ViewRegistration.ts +1 -0
  356. package/front_end/ui/legacy/Widget.ts +1 -1
  357. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +7 -1
  358. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +1 -1
  359. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +3 -2
  360. package/front_end/ui/legacy/components/data_grid/dataGrid.css +23 -23
  361. package/front_end/ui/legacy/components/inline_editor/AnimationTimingModel.ts +1 -1
  362. package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +48 -44
  363. package/front_end/ui/legacy/components/inline_editor/CSSAngleUtils.ts +1 -1
  364. package/front_end/ui/legacy/components/inline_editor/PositionAreaEditor.docs.ts +83 -0
  365. package/front_end/ui/legacy/components/inline_editor/PositionAreaEditor.ts +600 -0
  366. package/front_end/ui/legacy/components/inline_editor/animationNameSwatch.css +1 -1
  367. package/front_end/ui/legacy/components/inline_editor/colorMixSwatch.css +4 -4
  368. package/front_end/ui/legacy/components/inline_editor/cssAngleSwatch.css +3 -3
  369. package/front_end/ui/legacy/components/inline_editor/inline_editor.ts +2 -0
  370. package/front_end/ui/legacy/components/inline_editor/linkSwatch.css +1 -1
  371. package/front_end/ui/legacy/components/inline_editor/positionAreaEditor.css +154 -0
  372. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +224 -127
  373. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +10 -7
  374. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +25 -106
  375. package/front_end/ui/legacy/components/object_ui/customPreviewComponent.css +7 -3
  376. package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +1 -1
  377. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +0 -66
  378. package/front_end/ui/legacy/components/perf_ui/perf_ui.ts +0 -2
  379. package/front_end/ui/legacy/components/perf_ui/pieChart.css +7 -5
  380. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +8 -5
  381. package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +1 -1
  382. package/front_end/ui/legacy/components/utils/Linkifier.ts +5 -5
  383. package/front_end/ui/legacy/inspectorCommon.css +41 -6
  384. package/front_end/ui/legacy/legacy.ts +2 -0
  385. package/front_end/ui/legacy/statusBar.css +18 -0
  386. package/front_end/ui/visual_logging/Debugging.ts +2 -1
  387. package/front_end/ui/visual_logging/KnownContextValues.ts +3 -1
  388. package/front_end/ui/visual_logging/LoggingDriver.ts +3 -3
  389. package/front_end/ui/visual_logging/LoggingEvents.ts +5 -5
  390. package/front_end/ui/visual_logging/LoggingState.ts +1 -1
  391. package/front_end/ui/visual_logging/visual_logging.ts +67 -56
  392. package/inspector_overlay/main.ts +8 -8
  393. package/mcp/mcp.ts +5 -0
  394. package/package.json +2 -8
  395. package/front_end/Images/generate-css-vars.js +0 -52
  396. package/front_end/Images/rollup.config.mjs +0 -36
  397. package/front_end/models/ai_assistance/AiOrigins.ts +0 -107
  398. package/front_end/models/live-metrics/web-vitals-injected/rollup.config.mjs +0 -20
  399. package/front_end/panels/recorder/injected/rollup.config.mjs +0 -20
  400. package/front_end/panels/timeline/EasterEgg.d.ts +0 -6
  401. package/front_end/panels/timeline/easter-egg-tsconfig.json +0 -8
  402. package/front_end/panels/timeline/enable-easter-egg.js +0 -20
  403. package/front_end/third_party/acorn/acorn-tsconfig.json +0 -12
  404. package/front_end/third_party/acorn/estree-tsconfig.json +0 -8
  405. package/front_end/third_party/chromium/client-variations/client-variations-tsconfig.json +0 -8
  406. package/front_end/third_party/codemirror/codemirror-legacy-types-tsconfig.json +0 -8
  407. package/front_end/third_party/codemirror/codemirror-tsconfig.json +0 -15
  408. package/front_end/third_party/codemirror.next/bundle-tsconfig.json +0 -24
  409. package/front_end/third_party/intl-messageformat/intl-messageformat-tsconfig.json +0 -16
  410. package/front_end/third_party/json5/json5-tsconfig.json +0 -8
  411. package/front_end/third_party/legacy-javascript/legacy-javascript-tsconfig.json +0 -8
  412. package/front_end/third_party/lighthouse/lighthouse-tsconfig.json +0 -11
  413. package/front_end/third_party/lighthouse/report/bundle-tsconfig.json +0 -8
  414. package/front_end/third_party/lit/lit-tsconfig.json +0 -15
  415. package/front_end/third_party/marked/marked-tsconfig.json +0 -8
  416. package/front_end/third_party/puppeteer-replay/puppeteer-replay-tsconfig.json +0 -8
  417. package/front_end/third_party/third-party-web/third-party-web-tsconfig.json +0 -8
  418. package/front_end/third_party/wasmparser/wasmparser-tsconfig.json +0 -9
  419. package/front_end/third_party/web-vitals/web-vitals-tsconfig.json +0 -47
  420. package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +0 -606
  421. package/inspector_overlay/loadCSS.rollup.js +0 -29
@@ -29,6 +29,8 @@
29
29
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30
30
  */
31
31
 
32
+ import '../../../components/highlighting/highlighting.js';
33
+
32
34
  import * as Common from '../../../../core/common/common.js';
33
35
  import * as Host from '../../../../core/host/host.js';
34
36
  import * as i18n from '../../../../core/i18n/i18n.js';
@@ -37,7 +39,6 @@ import * as SDK from '../../../../core/sdk/sdk.js';
37
39
  import * as TextUtils from '../../../../core/text_utils/text_utils.js';
38
40
  import type * as Protocol from '../../../../generated/protocol.js';
39
41
  import * as uiI18n from '../../../../ui/i18n/i18n.js';
40
- import * as Highlighting from '../../../components/highlighting/highlighting.js';
41
42
  import * as TextEditor from '../../../components/text_editor/text_editor.js';
42
43
  import {
43
44
  type DirectiveResult,
@@ -168,7 +169,7 @@ interface NodeChildren {
168
169
  accessors?: ObjectTreeNode[];
169
170
  }
170
171
 
171
- export interface ObjectTreeOptions {
172
+ interface ObjectTreeOptions {
172
173
  readonly propertiesMode: ObjectPropertiesMode;
173
174
  readonly readOnly: boolean;
174
175
  readonly expansionTracker?: ObjectTreeExpansionTracker;
@@ -178,7 +179,7 @@ export interface ObjectTreeOptions {
178
179
  // WASM properties are index-based (e.g. locals[0], globals[1]); alphabetical
179
180
  // reordering would break the correspondence between displayed index and actual
180
181
  // index, so WASM objects are always shown in insertion order.
181
- export function isWasmObject(object: SDK.RemoteObject.RemoteObject|undefined): boolean {
182
+ function isWasmObject(object: SDK.RemoteObject.RemoteObject|undefined): boolean {
182
183
  return object?.subtype === 'webassemblymemory' || object?.subtype === 'wasmvalue';
183
184
  }
184
185
 
@@ -703,7 +704,7 @@ interface ArrayGroupRange {
703
704
  count: number;
704
705
  }
705
706
 
706
- export class ArrayGroupTreeNode extends ObjectTreeNodeBase {
707
+ class ArrayGroupTreeNode extends ObjectTreeNodeBase {
707
708
  readonly #object: SDK.RemoteObject.RemoteObject;
708
709
  readonly #range: ArrayGroupRange;
709
710
  constructor(object: SDK.RemoteObject.RemoteObject, range: ArrayGroupRange, parent: ObjectTreeNodeBase,
@@ -1244,19 +1245,6 @@ const ARRAY_LOAD_THRESHOLD = 100;
1244
1245
 
1245
1246
  const maxRenderableStringLength = 10000;
1246
1247
 
1247
- export interface TreeOutlineOptions {
1248
- readOnly?: boolean;
1249
- }
1250
-
1251
- export class ObjectPropertiesSectionsTreeOutline extends UI.TreeOutline.TreeOutlineInShadow {
1252
- constructor() {
1253
- super();
1254
- this.registerRequiredCSS(objectValueStyles, objectPropertiesSectionStyles);
1255
- this.contentElement.classList.add('source-code');
1256
- this.contentElement.classList.add('object-properties-section');
1257
- }
1258
- }
1259
-
1260
1248
  export const enum ObjectPropertiesMode {
1261
1249
  ALL = 0, // All properties, including prototype properties
1262
1250
  OWN_AND_INTERNAL_AND_INHERITED = 1, // Own, internal, and inherited properties
@@ -1301,7 +1289,7 @@ export function populateObjectTreeContextMenu(
1301
1289
  {checked: object.includeNullOrUndefinedValues, jslogContext: 'show-all'});
1302
1290
  }
1303
1291
 
1304
- interface ObjectTreeViewInput {
1292
+ export interface ObjectTreeViewInput {
1305
1293
  renderAsSubtree: boolean;
1306
1294
  objectTree?: ObjectTree;
1307
1295
  linkifier?: Components.Linkifier.Linkifier;
@@ -1309,7 +1297,7 @@ interface ObjectTreeViewInput {
1309
1297
  skipProto: boolean;
1310
1298
  onExpand: (expanded: boolean) => void;
1311
1299
  }
1312
- type ObjectTreeView = (input: ObjectTreeViewInput, output: object, target: HTMLElement) => void;
1300
+ export type ObjectTreeView = (input: ObjectTreeViewInput, output: object, target: HTMLElement) => void;
1313
1301
  export const OBJECT_TREE_DEFAULT_VIEW: ObjectTreeView = (input, output, target) => {
1314
1302
  const objectTree = input.objectTree;
1315
1303
  if (!objectTree) {
@@ -1351,7 +1339,7 @@ export class ObjectTreeWidget extends UI.Widget.Widget {
1351
1339
  #skipProto = false;
1352
1340
  readonly #view: ObjectTreeView;
1353
1341
 
1354
- constructor(element?: HTMLElement, view = OBJECT_TREE_DEFAULT_VIEW) {
1342
+ constructor(element?: HTMLElement, view: ObjectTreeView = OBJECT_TREE_DEFAULT_VIEW) {
1355
1343
  super(element);
1356
1344
  this.#view = view;
1357
1345
  }
@@ -1543,10 +1531,9 @@ export function renderPropertyValue(value: SDK.RemoteObject.RemoteObject, wasThr
1543
1531
  variableName?: string, includeNullOrUndefined?: boolean, useCustomPreview = false,
1544
1532
  valueRef?: (element: Element|undefined) => void): LitTemplate {
1545
1533
  if (useCustomPreview && value.customPreview()) {
1546
- const result = (new CustomPreviewComponent(value)).element;
1547
- result.classList.add('object-properties-section-custom-section');
1548
- valueRef?.(result);
1549
- return html`${result}`;
1534
+ return html`<devtools-widget class="object-properties-section-custom-section" ${
1535
+ UI.Widget.widget(CustomPreviewComponent,
1536
+ {object: value})} ${valueRef ? Directives.ref(valueRef) : nothing}></devtools-widget>`;
1550
1537
  }
1551
1538
 
1552
1539
  const type = value.type;
@@ -1660,7 +1647,7 @@ export function defaultObjectPresentation(objectOrTree: SDK.RemoteObject.RemoteO
1660
1647
  * Number of initially visible children in an ObjectPropertyTreeElement.
1661
1648
  * Remaining children are shown as soon as requested via a show more properties button.
1662
1649
  **/
1663
- export const InitialVisibleChildrenLimit = 200;
1650
+ const InitialVisibleChildrenLimit = 200;
1664
1651
 
1665
1652
  export interface ObjectPropertyViewInput {
1666
1653
  editable: boolean;
@@ -1676,13 +1663,10 @@ export interface ObjectPropertyViewInput {
1676
1663
  node: ObjectTreeNode;
1677
1664
  search?: UI.TreeOutline.TreeSearch<ObjectTreeNodeBase>;
1678
1665
  }
1679
- interface ObjectPropertyViewOutput {
1680
- valueElement: Element|undefined;
1681
- nameElement: Element|undefined;
1682
- }
1683
- type ObjectPropertyView = (input: ObjectPropertyViewInput, output: ObjectPropertyViewOutput, target: HTMLElement) =>
1684
- void;
1685
- export const OBJECT_PROPERTY_DEFAULT_VIEW: ObjectPropertyView = (input, output, target) => {
1666
+ export type ObjectPropertyViewOutput = undefined;
1667
+ export type ObjectPropertyView =
1668
+ (input: ObjectPropertyViewInput, output: ObjectPropertyViewOutput, target: HTMLElement) => void;
1669
+ export const OBJECT_PROPERTY_DEFAULT_VIEW: ObjectPropertyView = (input, _output, target) => {
1686
1670
  const {property} = input.node;
1687
1671
  const isInternalEntries = property.synthetic && input.node.name === '[[Entries]]';
1688
1672
  const completionsId = `completions-${input.node.parent?.object?.objectId?.replaceAll('.', '-')}-${input.node.name}`;
@@ -1716,19 +1700,14 @@ export const OBJECT_PROPERTY_DEFAULT_VIEW: ObjectPropertyView = (input, output,
1716
1700
  const valueRanges =
1717
1701
  (entries ?? []).filter(e => e !== currentMatch && e.matchType === 'value').map(e => e.range.cssValue()).join(' ');
1718
1702
  const value = (): LitTemplate => {
1719
- const valueRef = ref(e => {
1720
- output.valueElement = e;
1721
- });
1722
1703
  if (isInternalEntries) {
1723
- return html`<span ${valueRef} class=value></span>`;
1704
+ return html`<span class=value></span>`;
1724
1705
  }
1725
1706
  if (property.value) {
1726
1707
  const showPreview = property.name !== '[[Prototype]]';
1727
1708
  return renderPropertyValue(property.value, property.wasThrown, showPreview, input.linkifier, property.synthetic,
1728
1709
  input.node.path /* variableName */, input.node.includeNullOrUndefinedValues,
1729
- /* useCustomPreview */ true, e => {
1730
- output.valueElement = e;
1731
- });
1710
+ /* useCustomPreview */ true);
1732
1711
  }
1733
1712
  if (property.getter) {
1734
1713
  const getter = property.getter;
@@ -1736,13 +1715,13 @@ export const OBJECT_PROPERTY_DEFAULT_VIEW: ObjectPropertyView = (input, output,
1736
1715
  event.consume();
1737
1716
  input.invokeGetter(getter);
1738
1717
  };
1739
- return html`<span ${valueRef}><span
1718
+ return html`<span><span
1740
1719
  class=object-value-calculate-value-button
1741
1720
  title=${i18nString(UIStrings.invokePropertyGetter)}
1742
1721
  @click=${invokeGetter}
1743
1722
  >${i18nString(UIStrings.dots)}</span></span>`;
1744
1723
  }
1745
- return html`<span ${valueRef}
1724
+ return html`<span
1746
1725
  class=object-value-unavailable
1747
1726
  title=${i18nString(UIStrings.valueNotAccessibleToTheDebugger)}>${
1748
1727
  i18nString(UIStrings.valueUnavailable)}</span>`;
@@ -1761,7 +1740,6 @@ export const OBJECT_PROPERTY_DEFAULT_VIEW: ObjectPropertyView = (input, output,
1761
1740
  // clang-format off
1762
1741
  render(
1763
1742
  html`<span class=name-and-value><span
1764
- ${ref(e => { output.nameElement = e; })}
1765
1743
  class=${nameClasses}
1766
1744
  title=${input.node.path}><devtools-highlight ranges=${nameRanges} current-range=${nameCurrent}>${property.private ?
1767
1745
  html`<span class="private-property-hash">${property.name[0]}</span>${
@@ -1795,10 +1773,7 @@ export const OBJECT_PROPERTY_DEFAULT_VIEW: ObjectPropertyView = (input, output,
1795
1773
  };
1796
1774
 
1797
1775
  export class ObjectPropertyWidget extends UI.Widget.Widget {
1798
- #highlightChanges: Highlighting.HighlightChange[] = [];
1799
1776
  #property?: ObjectTreeNode;
1800
- #nameElement?: Element;
1801
- #valueElement?: Element;
1802
1777
  #completions: string[] = [];
1803
1778
  #editing = false;
1804
1779
  readonly #view: ObjectPropertyView;
@@ -1807,7 +1782,7 @@ export class ObjectPropertyWidget extends UI.Widget.Widget {
1807
1782
  #editable = false;
1808
1783
  #search?: UI.TreeOutline.TreeSearch<ObjectTreeNodeBase>;
1809
1784
 
1810
- constructor(target?: HTMLElement, view = OBJECT_PROPERTY_DEFAULT_VIEW) {
1785
+ constructor(target?: HTMLElement, view: ObjectPropertyView = OBJECT_PROPERTY_DEFAULT_VIEW) {
1811
1786
  super(target);
1812
1787
  this.#view = view;
1813
1788
  }
@@ -1877,55 +1852,7 @@ export class ObjectPropertyWidget extends UI.Widget.Widget {
1877
1852
  startEditing: this.startEditing.bind(this),
1878
1853
  search: this.#search,
1879
1854
  };
1880
- const that = this;
1881
- const output: ObjectPropertyViewOutput = {
1882
- set nameElement(e: Element|undefined) {
1883
- that.#nameElement = e;
1884
- },
1885
- set valueElement(e: Element|undefined) {
1886
- that.#valueElement = e;
1887
- },
1888
- };
1889
- this.#view(input, output, this.element);
1890
- }
1891
-
1892
- setSearchRegex(regex: RegExp, additionalCssClassName?: string): boolean {
1893
- let cssClasses = Highlighting.highlightedSearchResultClassName;
1894
- if (additionalCssClassName) {
1895
- cssClasses += ' ' + additionalCssClassName;
1896
- }
1897
- this.revertHighlightChanges();
1898
-
1899
- if (this.#nameElement) {
1900
- this.#applySearch(regex, this.#nameElement, cssClasses);
1901
- }
1902
- if (this.property?.object) {
1903
- const valueType = this.property?.object.type;
1904
- if (valueType !== 'object' && this.#valueElement) {
1905
- this.#applySearch(regex, this.#valueElement, cssClasses);
1906
- }
1907
- }
1908
-
1909
- return Boolean(this.#highlightChanges.length);
1910
- }
1911
-
1912
- #applySearch(regex: RegExp, element: Element, cssClassName: string): void {
1913
- const ranges = [];
1914
- const content = element.textContent || '';
1915
- regex.lastIndex = 0;
1916
- let match = regex.exec(content);
1917
- while (match) {
1918
- ranges.push(new TextUtils.TextRange.SourceRange(match.index, match[0].length));
1919
- match = regex.exec(content);
1920
- }
1921
- if (ranges.length) {
1922
- Highlighting.highlightRangesWithStyleClass(element, ranges, cssClassName, this.#highlightChanges);
1923
- }
1924
- }
1925
-
1926
- revertHighlightChanges(): void {
1927
- Highlighting.revertDomChanges(this.#highlightChanges);
1928
- this.#highlightChanges = [];
1855
+ this.#view(input, undefined, this.element);
1929
1856
  }
1930
1857
 
1931
1858
  async #updateCompletions(expression: string, filter: string, force: boolean): Promise<void> {
@@ -2124,14 +2051,6 @@ export class ObjectPropertyTreeElement extends UI.TreeOutline.TreeElement {
2124
2051
  }
2125
2052
  }
2126
2053
 
2127
- revertHighlightChanges(): void {
2128
- this.#widget.revertHighlightChanges();
2129
- }
2130
-
2131
- setSearchRegex(regex: RegExp, additionalCssClassName?: string): boolean {
2132
- return this.#widget.setSearchRegex(regex, additionalCssClassName);
2133
- }
2134
-
2135
2054
  // This is called by layout tests
2136
2055
  startEditing(): void {
2137
2056
  this.#widget.startEditing();
@@ -2522,7 +2441,7 @@ export class ArrayGroupingTreeElement extends UI.TreeOutline.TreeElement {
2522
2441
  static sparseIterationThreshold = 250000;
2523
2442
  }
2524
2443
 
2525
- interface ExpandableTextViewInput {
2444
+ export interface ExpandableTextViewInput {
2526
2445
  copyText: () => void;
2527
2446
  expandText: () => void;
2528
2447
  expanded: boolean;
@@ -2530,7 +2449,7 @@ interface ExpandableTextViewInput {
2530
2449
  byteCount: number;
2531
2450
  text: string;
2532
2451
  }
2533
- type ExpandableTextView = (input: ExpandableTextViewInput, output: object, target: HTMLElement) => void;
2452
+ export type ExpandableTextView = (input: ExpandableTextViewInput, output: object, target: HTMLElement) => void;
2534
2453
  export const EXPANDABLE_TEXT_DEFAULT_VIEW: ExpandableTextView = (input, output, target) => {
2535
2454
  const totalBytesText = i18n.ByteUtilities.bytesToString(input.byteCount);
2536
2455
  const canExpand = input.text.length < ExpandableTextPropertyValue.MAX_DISPLAYABLE_TEXT_LENGTH;
@@ -2588,7 +2507,7 @@ export class ExpandableTextPropertyValue extends UI.Widget.Widget {
2588
2507
  #maxLength = ExpandableTextPropertyValue.EXPANDABLE_MAX_LENGTH;
2589
2508
  readonly #view: ExpandableTextView;
2590
2509
 
2591
- constructor(target?: HTMLElement, view = EXPANDABLE_TEXT_DEFAULT_VIEW) {
2510
+ constructor(target?: HTMLElement, view: ExpandableTextView = EXPANDABLE_TEXT_DEFAULT_VIEW) {
2592
2511
  super(target);
2593
2512
  this.#view = view;
2594
2513
  }
@@ -4,6 +4,10 @@
4
4
  * found in the LICENSE file.
5
5
  */
6
6
 
7
+ :host {
8
+ display: inline-flex;
9
+ }
10
+
7
11
  .custom-expandable-section {
8
12
  display: inline-flex;
9
13
  flex-direction: column;
@@ -11,8 +15,8 @@
11
15
 
12
16
  .custom-expand-icon {
13
17
  user-select: none;
14
- margin-right: 4px;
15
- margin-bottom: -4px;
18
+ margin-right: var(--sys-size-3);
19
+ margin-bottom: calc(-1 * var(--sys-size-3));
16
20
  }
17
21
 
18
22
  .custom-expandable-section-standard-section {
@@ -20,5 +24,5 @@
20
24
  }
21
25
 
22
26
  .custom-expandable-section-default-body {
23
- padding-left: 12px;
27
+ padding-left: var(--sys-size-6);
24
28
  }
@@ -18,7 +18,7 @@
18
18
  color: var(--sys-color-on-surface);
19
19
  display: flex;
20
20
  flex-direction: column;
21
- overflow-x: auto;
21
+ overflow: auto hidden;
22
22
  }
23
23
 
24
24
  .object-properties-section li,
@@ -495,10 +495,6 @@ export class FlameChart extends FlameChartBase implements NetworkTimeCalculator.
495
495
  }
496
496
  }
497
497
 
498
- getBarHeight(): number {
499
- return this.barHeight;
500
- }
501
-
502
498
  setBarHeight(value: number): void {
503
499
  this.barHeight = value;
504
500
  }
@@ -1654,60 +1650,6 @@ export class FlameChart extends FlameChartBase implements NetworkTimeCalculator.
1654
1650
  this.canvas.addEventListener(eventName, onEvent);
1655
1651
  }
1656
1652
 
1657
- drawTrackOnCanvas(trackName: string, context: CanvasRenderingContext2D, minWidth: number):
1658
- {top: number, height: number, visibleEntries: Set<number>}|null {
1659
- const timelineData = this.timelineData();
1660
- if (!timelineData) {
1661
- return null;
1662
- }
1663
- const canvasWidth = this.offsetWidth;
1664
- const canvasHeight = this.offsetHeight;
1665
- context.save();
1666
- const ratio = window.devicePixelRatio;
1667
- context.scale(ratio, ratio);
1668
- context.fillStyle = 'rgba(0, 0, 0, 0)';
1669
- context.fillRect(0, 0, canvasWidth, canvasHeight);
1670
- context.font = this.#font;
1671
-
1672
- const groups = this.rawTimelineData?.groups || [];
1673
- const groupOffsets = this.groupOffsets;
1674
- if (!groups.length || !groupOffsets) {
1675
- return null;
1676
- }
1677
- const trackIndex = groups.findIndex(g => g.name.includes(trackName));
1678
- if (trackIndex < 0) {
1679
- return null;
1680
- }
1681
- this.scrollGroupIntoView(trackIndex);
1682
- const group = groups[trackIndex];
1683
- const startLevel = group.startLevel;
1684
- const endLevel = groups[trackIndex + 1].startLevel;
1685
- const groupTop = groupOffsets[trackIndex];
1686
- const nextOffset = groupOffsets[trackIndex + 1];
1687
-
1688
- const {drawBatches, titleIndices} = this.getDrawBatches(context, timelineData);
1689
-
1690
- const entryIndexIsInTrack = (index: number): boolean => {
1691
- const barWidth = Math.min(this.#eventBarWidth(timelineData, index), canvasWidth);
1692
- return timelineData.entryLevels[index] >= startLevel && timelineData.entryLevels[index] < endLevel &&
1693
- barWidth > minWidth;
1694
- };
1695
- let allFilteredIndexes: number[] = [];
1696
- for (const [{color, outline}, {indexes}] of drawBatches) {
1697
- const filteredIndexes = indexes.filter(entryIndexIsInTrack);
1698
- allFilteredIndexes = [...allFilteredIndexes, ...filteredIndexes];
1699
- this.#drawBatchEvents(context, timelineData, color, filteredIndexes, outline);
1700
- }
1701
- const filteredTitleIndices = titleIndices.filter(entryIndexIsInTrack);
1702
- this.drawEventTitles(context, timelineData, filteredTitleIndices, canvasWidth);
1703
- context.restore();
1704
- return {
1705
- top: groupOffsets[trackIndex],
1706
- height: nextOffset - groupTop,
1707
- visibleEntries: new Set(allFilteredIndexes),
1708
- };
1709
- }
1710
-
1711
1653
  private handleKeyboardGroupNavigation(event: Event): boolean {
1712
1654
  const keyboardEvent = (event as KeyboardEvent);
1713
1655
  let handled = false;
@@ -2595,14 +2537,6 @@ export class FlameChart extends FlameChartBase implements NetworkTimeCalculator.
2595
2537
  return barHeight;
2596
2538
  }
2597
2539
 
2598
- entryWidth(entryIndex: number): number {
2599
- const timelineData = this.timelineData();
2600
- if (!timelineData) {
2601
- return 0;
2602
- }
2603
- return this.#eventBarWidth(timelineData, entryIndex);
2604
- }
2605
-
2606
2540
  #eventBarWidth(timelineData: FlameChartTimelineData, entryIndex: number): number {
2607
2541
  const {entryTotalTimes, entryStartTimes} = timelineData;
2608
2542
  const duration = entryTotalTimes[entryIndex];
@@ -2,7 +2,6 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
- import * as BrickBreaker from './BrickBreaker.js';
6
5
  import * as ChartViewport from './ChartViewport.js';
7
6
  import * as FilmStripView from './FilmStripView.js';
8
7
  import * as FlameChart from './FlameChart.js';
@@ -17,7 +16,6 @@ import * as TimelineOverviewCalculator from './TimelineOverviewCalculator.js';
17
16
  import * as TimelineOverviewPane from './TimelineOverviewPane.js';
18
17
 
19
18
  export {
20
- BrickBreaker,
21
19
  ChartViewport,
22
20
  FilmStripView,
23
21
  FlameChart,
@@ -4,10 +4,16 @@
4
4
  * found in the LICENSE file.
5
5
  */
6
6
 
7
+ :host {
8
+ display: block;
9
+ }
10
+
7
11
  .root {
8
12
  align-items: flex-start; /* keep chart at top so it doesnt change position as the legend changes height */
13
+ gap: var(--sys-size-6) 30px;
9
14
  display: flex;
10
- min-width: fit-content;
15
+ flex-wrap: wrap;
16
+ justify-content: flex-start;
11
17
  white-space: nowrap;
12
18
  }
13
19
 
@@ -48,10 +54,6 @@
48
54
  stroke-linejoin: round;
49
55
  }
50
56
 
51
- .pie-chart-legend {
52
- margin-left: 30px;
53
- }
54
-
55
57
  .pie-chart-legend-row {
56
58
  margin: 5px var(--sys-size-2) 5px auto;
57
59
  padding-right: 25px;
@@ -107,8 +107,8 @@ export interface EventTypes {
107
107
  [Events.EDITOR_SCROLL]: void;
108
108
  }
109
109
 
110
- type FormatFn = (lineNo: number, state: CodeMirror.EditorState) => string;
111
- export const LINE_NUMBER_FORMATTER = CodeMirror.Facet.define<FormatFn, FormatFn>({
110
+ export type FormatFn = (lineNo: number, state: CodeMirror.EditorState) => string;
111
+ export const LINE_NUMBER_FORMATTER: CodeMirror.Facet<FormatFn, FormatFn> = CodeMirror.Facet.define<FormatFn, FormatFn>({
112
112
  combine(value): FormatFn {
113
113
  if (value.length === 0) {
114
114
  return (lineNo: number) => lineNo.toString();
@@ -1184,7 +1184,8 @@ const nonBreakableLineMark = new (class extends CodeMirror.GutterMarker {
1184
1184
  })();
1185
1185
 
1186
1186
  /** Effect to add lines (by position) to the set of non-breakable lines. **/
1187
- export const addNonBreakableLines = CodeMirror.StateEffect.define<readonly number[]>();
1187
+ export const addNonBreakableLines: CodeMirror.StateEffectType<readonly number[]> =
1188
+ CodeMirror.StateEffect.define<readonly number[]>();
1188
1189
 
1189
1190
  const nonBreakableLines = CodeMirror.StateField.define<CodeMirror.RangeSet<CodeMirror.GutterMarker>>({
1190
1191
  create(): CodeMirror.RangeSet<CodeMirror.GutterMarker> {
@@ -1264,8 +1265,10 @@ export interface SourceFrameInfobar {
1264
1265
  }
1265
1266
 
1266
1267
  /** Infobar panel state, used to show additional panels below the editor. **/
1267
- export const addSourceFrameInfobar = CodeMirror.StateEffect.define<SourceFrameInfobar>();
1268
- export const removeSourceFrameInfobar = CodeMirror.StateEffect.define<SourceFrameInfobar>();
1268
+ export const addSourceFrameInfobar: CodeMirror.StateEffectType<SourceFrameInfobar> =
1269
+ CodeMirror.StateEffect.define<SourceFrameInfobar>();
1270
+ export const removeSourceFrameInfobar: CodeMirror.StateEffectType<SourceFrameInfobar> =
1271
+ CodeMirror.StateEffect.define<SourceFrameInfobar>();
1269
1272
 
1270
1273
  const sourceFrameInfobarState = CodeMirror.StateField.define<SourceFrameInfobar[]>({
1271
1274
  create(): SourceFrameInfobar[] {
@@ -217,7 +217,7 @@ export class StackTracePreviewContent extends UI.Widget.Widget<ShadowRoot> {
217
217
  #expanded = false;
218
218
  #showIgnoreListed = false;
219
219
 
220
- constructor(element?: HTMLElement, view = DEFAULT_VIEW) {
220
+ constructor(element?: HTMLElement, view: View = DEFAULT_VIEW) {
221
221
  super(element, {useShadowDom: 'pure'});
222
222
  this.#view = view;
223
223
  }
@@ -1285,7 +1285,7 @@ export interface EventTypes {
1285
1285
  [Events.LIVE_LOCATION_UPDATED]: Bindings.LiveLocation.LiveLocation;
1286
1286
  }
1287
1287
 
1288
- interface ScriptLocationViewInput {
1288
+ export interface ScriptLocationViewInput {
1289
1289
  target?: SDK.Target.Target;
1290
1290
  scriptId?: Protocol.Runtime.ScriptId;
1291
1291
  sourceURL: Platform.DevToolsPath.UrlString;
@@ -1294,9 +1294,9 @@ interface ScriptLocationViewInput {
1294
1294
  linkifier: Linkifier;
1295
1295
  }
1296
1296
 
1297
- type ScriptLocationView = (input: ScriptLocationViewInput, output: undefined, target: HTMLElement) => void;
1297
+ export type ScriptLocationView = (input: ScriptLocationViewInput, output: undefined, target: HTMLElement) => void;
1298
1298
 
1299
- const DEFAULT_SCRIPT_LOCATION_VIEW: ScriptLocationView = (input, _output, target) => {
1299
+ export const DEFAULT_SCRIPT_LOCATION_VIEW: ScriptLocationView = (input, _output, target) => {
1300
1300
  render(
1301
1301
  html`${
1302
1302
  input.linkifier.linkifyScriptLocation(
@@ -1310,10 +1310,10 @@ export class ScriptLocationLink extends UI.Widget.Widget {
1310
1310
  sourceURL = '' as Platform.DevToolsPath.UrlString;
1311
1311
  lineNumber?: number;
1312
1312
  options?: LinkifyOptions;
1313
- linkifier = new Linkifier();
1313
+ linkifier: Linkifier = new Linkifier();
1314
1314
  #view: ScriptLocationView;
1315
1315
 
1316
- constructor(element: HTMLElement, view = DEFAULT_SCRIPT_LOCATION_VIEW) {
1316
+ constructor(element: HTMLElement, view: ScriptLocationView = DEFAULT_SCRIPT_LOCATION_VIEW) {
1317
1317
  super(element);
1318
1318
  this.#view = view;
1319
1319
  }
@@ -766,12 +766,6 @@ devtools-toolbar {
766
766
  padding: 0 var(--sys-size-1);
767
767
  }
768
768
 
769
- devtools-adorner.fix-perf-icon {
770
- --override-adorner-text-color: transparent;
771
- --override-adorner-border-color: transparent;
772
- --override-adorner-background-color: transparent;
773
- }
774
-
775
769
  devtools-issue-counter.main-toolbar {
776
770
  margin-left: var(--sys-size-1);
777
771
  margin-right: var(--sys-size-1);
@@ -1301,3 +1295,44 @@ devtools-toolbar {
1301
1295
  }
1302
1296
  }
1303
1297
  }
1298
+
1299
+ .devtools-pill {
1300
+ display: inline-flex;
1301
+ align-items: center;
1302
+ justify-content: center;
1303
+ font: inherit;
1304
+ font-size: var(--sys-typescale-body4-size);
1305
+ gap: var(--sys-size-3);
1306
+ padding: var(--sys-size-1) var(--sys-size-3) var(--sys-size-1) var(--sys-size-4);
1307
+ border-radius: var(--sys-shape-corner-extra-small);
1308
+ border: var(--sys-size-1) solid var(--sys-color-neutral-outline);
1309
+ box-sizing: border-box;
1310
+ background: transparent;
1311
+ color: inherit;
1312
+ cursor: pointer;
1313
+
1314
+ &:hover:not(:disabled, [aria-disabled="true"]) {
1315
+ background-color: var(--sys-color-state-hover-on-subtle);
1316
+ }
1317
+
1318
+ &:active:not(:disabled, [aria-disabled="true"]),
1319
+ &[aria-pressed="true"]:not(:disabled, [aria-disabled="true"]) {
1320
+ background-color: var(--sys-color-state-ripple-neutral-on-subtle);
1321
+ }
1322
+
1323
+ &:focus:not(:focus-visible) {
1324
+ outline: none;
1325
+ }
1326
+
1327
+ &:focus-visible:not(:disabled, [aria-disabled="true"]) {
1328
+ outline: var(--sys-size-2) solid var(--sys-color-state-focus-ring);
1329
+ outline-offset: var(--sys-size-2);
1330
+ }
1331
+
1332
+ &:disabled,
1333
+ &[aria-disabled="true"] {
1334
+ color: var(--sys-color-state-disabled);
1335
+ border-color: var(--sys-color-state-disabled);
1336
+ cursor: not-allowed;
1337
+ }
1338
+ }
@@ -42,6 +42,7 @@ import * as SoftContextMenu from './SoftContextMenu.js';
42
42
  import * as SoftDropDown from './SoftDropDown.js';
43
43
  import * as SplitWidget from './SplitWidget.js';
44
44
  import * as StackedPane from './StackedPane.js';
45
+ import * as StatusBar from './StatusBar.js';
45
46
  import * as SuggestBox from './SuggestBox.js';
46
47
  import * as TabbedPane from './TabbedPane.js';
47
48
  import * as TargetCrashedScreen from './TargetCrashedScreen.js';
@@ -98,6 +99,7 @@ export {
98
99
  SoftDropDown,
99
100
  SplitWidget,
100
101
  StackedPane,
102
+ StatusBar,
101
103
  SuggestBox,
102
104
  TabbedPane,
103
105
  TargetCrashedScreen,
@@ -0,0 +1,18 @@
1
+ /* Copyright 2026 The Chromium Authors
2
+ * Use of this source code is governed by a BSD-style license that can be
3
+ * found in the LICENSE file. */
4
+
5
+ @scope to (devtools-widget > *) {
6
+ :scope {
7
+ flex: none;
8
+ }
9
+
10
+ .status-bar {
11
+ display: flex;
12
+ padding: var(--sys-size-4) var(--sys-size-5);
13
+ justify-content: space-between;
14
+ align-items: center;
15
+ border-top: var(--sys-size-1) solid var(--sys-color-divider);
16
+ background: var(--sys-color-cdt-base-container);
17
+ }
18
+ }
@@ -443,7 +443,8 @@ export const enum DebugLoggingFormat {
443
443
  AD_HOC_ANALYSIS = 'AdHocAnalysis',
444
444
  }
445
445
 
446
- export function setVeDebugLoggingEnabled(enabled: boolean, format = DebugLoggingFormat.INTUITIVE): void {
446
+ export function setVeDebugLoggingEnabled(enabled: boolean,
447
+ format: DebugLoggingFormat = DebugLoggingFormat.INTUITIVE): void {
447
448
  if (enabled) {
448
449
  localStorage.setItem('veDebugLoggingEnabled', format);
449
450
  } else {
@@ -13,7 +13,7 @@
13
13
  * See crbug.com/504758084 for details.
14
14
  */
15
15
 
16
- export const knownContextValues = new Set([
16
+ export const knownContextValues: Set<string> = new Set([
17
17
  '%',
18
18
  '*',
19
19
  '-alternative-animation-with-timeline',
@@ -914,6 +914,7 @@ export const knownContextValues = new Set([
914
914
  'command',
915
915
  'command-editor',
916
916
  'command-input',
917
+ 'comments-status-bar-pill',
917
918
  'comments.toggle-comment-mode',
918
919
  'commit',
919
920
  'compatibility-lookup-link',
@@ -1782,6 +1783,7 @@ export const knownContextValues = new Set([
1782
1783
  'flex-wrap',
1783
1784
  'flex-wrap-nowrap',
1784
1785
  'flex-wrap-wrap',
1786
+ 'flex-wrap-wrap-reverse',
1785
1787
  'flexbox-overlays',
1786
1788
  'float',
1787
1789
  'float-32-bit',