chrome-devtools-frontend 1.0.1664496 → 1.0.1665921

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 (407) hide show
  1. package/.agents/skills/devtools-testing-guidance/SKILL.md +48 -0
  2. package/.agents/skills/devtools-ux-writing-refactor/SKILL.md +3 -3
  3. package/.agents/skills/repro-flaky-tests/SKILL.md +2 -2
  4. package/.agents/skills/ui-eng-vision-local-lit-renderer/SKILL.md +7 -1
  5. package/.agents/skills/ui-eng-vision-widget-promoter/SKILL.md +2 -0
  6. package/.agents/skills/version-control/SKILL.md +4 -3
  7. package/docs/ui_engineering.md +89 -0
  8. package/eslint.config.mjs +9 -2
  9. package/front_end/Images/rollup.config.mjs +1 -1
  10. package/front_end/Tests.js +15 -16
  11. package/front_end/core/common/Gzip.ts +2 -2
  12. package/front_end/core/common/Settings.ts +4 -20
  13. package/front_end/core/common/Srcset.ts +1 -1
  14. package/front_end/core/common/VersionController.ts +1 -1
  15. package/front_end/core/host/AidaClient.ts +19 -4
  16. package/front_end/core/host/AidaGcaTranslation.ts +2 -2
  17. package/front_end/core/host/GcaClient.ts +2 -2
  18. package/front_end/core/host/GdpClient.ts +3 -3
  19. package/front_end/core/host/InspectorFrontendHostStub.ts +1 -1
  20. package/front_end/core/host/ResourceLoader.ts +15 -15
  21. package/front_end/core/protocol_client/DevToolsCDPConnection.ts +2 -2
  22. package/front_end/core/protocol_client/InspectorBackend.ts +1 -1
  23. package/front_end/core/root/Runtime.ts +0 -1
  24. package/front_end/core/sdk/CSSMatchedStyles.ts +78 -3
  25. package/front_end/core/sdk/CSSMetadata.ts +17 -12
  26. package/front_end/core/sdk/CSSProperty.ts +1 -1
  27. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +2 -2
  28. package/front_end/core/sdk/CSSRule.ts +3 -3
  29. package/front_end/core/sdk/CSSStyleSheetHeader.ts +3 -3
  30. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +1 -1
  31. package/front_end/core/sdk/Connections.ts +1 -1
  32. package/front_end/core/sdk/DebuggerModel.ts +13 -13
  33. package/front_end/core/sdk/NetworkManager.ts +19 -19
  34. package/front_end/core/sdk/NetworkRequest.ts +57 -57
  35. package/front_end/core/sdk/OverlayModel.ts +1 -1
  36. package/front_end/core/sdk/PageResourceLoader.ts +2 -2
  37. package/front_end/core/sdk/RehydratingConnection.ts +5 -5
  38. package/front_end/core/sdk/ScreenCaptureModel.ts +1 -1
  39. package/front_end/core/sdk/Script.ts +2 -2
  40. package/front_end/core/sdk/ServerTiming.ts +7 -7
  41. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +1 -1
  42. package/front_end/core/sdk/ServiceWorkerManager.ts +11 -11
  43. package/front_end/core/sdk/SourceMapScopeChainEntry.ts +2 -2
  44. package/front_end/core/sdk/SourceMapScopesInfo.ts +1 -1
  45. package/front_end/core/sdk/StorageKeyManager.ts +1 -1
  46. package/front_end/core/sdk/sdk-meta.ts +98 -98
  47. package/front_end/devtools_compatibility.js +15 -13
  48. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +4 -8
  49. package/front_end/entrypoints/main/MainImpl.ts +2 -3
  50. package/front_end/entrypoints/main/main-meta.ts +1 -16
  51. package/front_end/entrypoints/shell/shell.ts +1 -0
  52. package/front_end/entrypoints/trace_app/trace_app.ts +1 -0
  53. package/front_end/foundation/README.md +1 -1
  54. package/front_end/foundation/Universe.test.api.ts +73 -0
  55. package/front_end/foundation/Universe.ts +22 -0
  56. package/front_end/generated/InspectorBackendCommands.ts +2 -2
  57. package/front_end/generated/SupportedCSSProperties.js +1 -1
  58. package/front_end/generated/protocol.ts +19 -0
  59. package/front_end/models/ai_assistance/AiAgent2.ts +1 -1
  60. package/front_end/models/ai_assistance/AiConversation.ts +1 -1
  61. package/front_end/models/ai_assistance/BuiltInAi.ts +1 -1
  62. package/front_end/models/ai_assistance/ChangeManager.ts +0 -70
  63. package/front_end/models/ai_assistance/ExtensionScope.ts +2 -36
  64. package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +9 -9
  65. package/front_end/models/ai_assistance/agents/AiAgent.ts +10 -2
  66. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +4 -4
  67. package/front_end/models/ai_assistance/agents/ExecuteJavascript.ts +1 -1
  68. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +21 -21
  69. package/front_end/models/ai_assistance/agents/StorageAgent.ts +4 -4
  70. package/front_end/models/ai_assistance/agents/StylingAgent.ts +1 -1
  71. package/front_end/models/ai_assistance/ai_assistance.ts +0 -5
  72. package/front_end/models/ai_assistance/data_formatters/FileFormatter.ts +11 -4
  73. package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +8 -2
  74. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +14 -11
  75. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +2 -2
  76. package/front_end/models/ai_assistance/performance/AICallTree.ts +2 -2
  77. package/front_end/models/ai_assistance/tools/ExecuteJavaScript.ts +1 -1
  78. package/front_end/models/ai_assistance/tools/GetNetworkRequestDetails.ts +9 -2
  79. package/front_end/models/ai_assistance/tools/GetStyles.ts +4 -4
  80. package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +2 -5
  81. package/front_end/models/ai_code_completion/AiCodeCompletion.ts +2 -2
  82. package/front_end/models/ai_code_generation/AiCodeGeneration.ts +2 -2
  83. package/front_end/models/badges/badges-meta.ts +27 -0
  84. package/front_end/models/bindings/CSSWorkspaceBinding.ts +4 -3
  85. package/front_end/models/bindings/ContentProviderBasedProject.ts +1 -1
  86. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +6 -7
  87. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +5 -4
  88. package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +72 -29
  89. package/front_end/models/bindings/ResourceMapping.ts +38 -32
  90. package/front_end/models/bindings/ResourceScriptMapping.ts +5 -7
  91. package/front_end/models/breakpoints/BreakpointManager.ts +2 -1
  92. package/front_end/models/har/Writer.ts +2 -2
  93. package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +1 -1
  94. package/front_end/models/issues_manager/GenericIssue.ts +1 -1
  95. package/front_end/models/issues_manager/IssuesManager.ts +14 -5
  96. package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +1 -1
  97. package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +2 -2
  98. package/front_end/models/issues_manager/SourceFrameIssuesManager.ts +13 -2
  99. package/front_end/models/issues_manager/issues_manager.ts +0 -2
  100. package/front_end/models/live-metrics/LiveMetrics.ts +22 -5
  101. package/front_end/models/live-metrics/web-vitals-injected/rollup.config.mjs +1 -1
  102. package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +10 -4
  103. package/front_end/models/logs/logs-meta.ts +23 -16
  104. package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +2 -2
  105. package/front_end/models/persistence/IsolatedFileSystem.ts +1 -1
  106. package/front_end/models/persistence/IsolatedFileSystemManager.ts +1 -1
  107. package/front_end/models/source_map_scopes/NamesResolver.ts +104 -86
  108. package/front_end/models/source_map_scopes/ScopeChainModel.ts +6 -2
  109. package/front_end/models/stack_trace/StackTraceModel.ts +1 -1
  110. package/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +1 -1
  111. package/front_end/models/trace/handlers/UserTimingsHandler.ts +17 -6
  112. package/front_end/models/trace/helpers/SamplesIntegrator.ts +1 -1
  113. package/front_end/models/trace/helpers/Timing.ts +1 -1
  114. package/front_end/models/trace/insights/Common.ts +1 -1
  115. package/front_end/models/trace/insights/DocumentLatency.ts +3 -3
  116. package/front_end/models/trace/insights/LCPDiscovery.ts +1 -1
  117. package/front_end/models/trace/insights/ModernHTTP.ts +1 -1
  118. package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +2 -2
  119. package/front_end/models/workspace_diff/WorkspaceDiff.ts +14 -9
  120. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +2 -15
  121. package/front_end/panels/ai_assistance/ai_assistance.ts +1 -2
  122. package/front_end/panels/ai_assistance/components/ChatInput.ts +23 -19
  123. package/front_end/panels/ai_assistance/components/ChatMessage.ts +9 -18
  124. package/front_end/panels/ai_assistance/components/ChatView.ts +2 -35
  125. package/front_end/panels/ai_assistance/components/DisabledWidget.ts +1 -1
  126. package/front_end/panels/ai_assistance/components/ExploreWidget.ts +4 -4
  127. package/front_end/panels/ai_assistance/components/ImageResize.ts +74 -0
  128. package/front_end/panels/ai_assistance/components/WalkthroughView.ts +2 -2
  129. package/front_end/panels/animation/AnimationGroupPreviewUI.ts +28 -29
  130. package/front_end/panels/animation/AnimationTimeline.ts +3 -3
  131. package/front_end/panels/animation/animationTimeline.css +0 -2
  132. package/front_end/panels/application/AppManifestView.ts +1 -1
  133. package/front_end/panels/application/ApplicationPanelSidebar.ts +1 -1
  134. package/front_end/panels/application/CookieItemsView.ts +1 -1
  135. package/front_end/panels/application/CrashReportContextView.ts +3 -3
  136. package/front_end/panels/application/DeviceBoundSessionsModel.ts +1 -1
  137. package/front_end/panels/application/DeviceBoundSessionsTreeElement.ts +1 -1
  138. package/front_end/panels/application/DeviceBoundSessionsView.ts +1 -1
  139. package/front_end/panels/application/IndexedDBViews.ts +1 -1
  140. package/front_end/panels/application/KeyValueStorageItemsView.ts +1 -1
  141. package/front_end/panels/application/OriginTrialTreeView.ts +1 -1
  142. package/front_end/panels/application/ServiceWorkersView.ts +6 -6
  143. package/front_end/panels/application/StorageBucketsTreeElement.ts +1 -1
  144. package/front_end/panels/application/StorageItemsToolbar.ts +3 -3
  145. package/front_end/panels/application/WebMCPView.ts +7 -5
  146. package/front_end/panels/application/components/AdsView.ts +21 -6
  147. package/front_end/panels/application/components/BackForwardCacheView.ts +2 -2
  148. package/front_end/panels/application/components/ProtocolHandlersView.ts +1 -1
  149. package/front_end/panels/application/components/StorageMetadataView.ts +1 -1
  150. package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +2 -2
  151. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +2 -1
  152. package/front_end/panels/application/preloading/components/PreloadingString.ts +3 -3
  153. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +2 -1
  154. package/front_end/panels/autofill/AutofillView.ts +1 -1
  155. package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +1 -1
  156. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +2 -2
  157. package/front_end/panels/changes/ChangesSidebar.ts +2 -2
  158. package/front_end/panels/changes/ChangesView.ts +4 -5
  159. package/front_end/panels/changes/CombinedDiffView.ts +3 -3
  160. package/front_end/panels/changes/changes-meta.ts +2 -2
  161. package/front_end/panels/common/AiCodeCompletionTeaser.ts +1 -1
  162. package/front_end/panels/common/AiCodeGenerationTeaser.ts +3 -3
  163. package/front_end/panels/common/BadgeNotification.ts +8 -8
  164. package/front_end/panels/common/DOMLinkifier.ts +1 -1
  165. package/front_end/panels/common/GdpSignUpDialog.ts +2 -2
  166. package/front_end/panels/common/GeminiRebrandPromoDialog.ts +1 -1
  167. package/front_end/panels/common/aiCodeCompletionDisclaimer.css +0 -1
  168. package/front_end/panels/console/ConsoleInsightTeaser.ts +1 -1
  169. package/front_end/panels/console/ConsolePinPane.ts +3 -3
  170. package/front_end/panels/console/ConsolePrompt.ts +6 -4
  171. package/front_end/panels/console/ConsoleSidebar.ts +8 -10
  172. package/front_end/panels/console_counters/WarningErrorCounter.ts +10 -11
  173. package/front_end/panels/coverage/CoverageView.ts +2 -2
  174. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +3 -3
  175. package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +1 -1
  176. package/front_end/panels/developer_resources/DeveloperResourcesView.ts +1 -1
  177. package/front_end/panels/elements/CSSRuleValidator.ts +1 -1
  178. package/front_end/panels/elements/ComputedStyleWidget.ts +3 -2
  179. package/front_end/panels/elements/ElementsTreeElement.ts +3 -3
  180. package/front_end/panels/elements/EventListenersWidget.ts +1 -3
  181. package/front_end/panels/elements/LayoutPane.ts +23 -13
  182. package/front_end/panels/elements/StandaloneStylesContainer.ts +7 -7
  183. package/front_end/panels/elements/StylePropertiesSection.ts +33 -5
  184. package/front_end/panels/elements/StylePropertyTreeElement.ts +5 -5
  185. package/front_end/panels/elements/StylesAiCodeCompletionProvider.ts +6 -6
  186. package/front_end/panels/elements/StylesSidebarPane.ts +4 -3
  187. package/front_end/panels/elements/elements-meta.ts +18 -2
  188. package/front_end/panels/emulation/DeviceModeToolbar.ts +100 -40
  189. package/front_end/panels/emulation/DeviceModeView.ts +5 -4
  190. package/front_end/panels/emulation/MediaQueryInspector.ts +35 -19
  191. package/front_end/panels/event_listeners/EventListenersView.ts +4 -4
  192. package/front_end/panels/explain/components/ConsoleInsight.ts +8 -9
  193. package/front_end/panels/explain/explain-meta.ts +3 -3
  194. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +135 -167
  195. package/front_end/panels/layer_viewer/Layers3DView.ts +10 -23
  196. package/front_end/panels/layer_viewer/layer_viewer-meta.ts +27 -0
  197. package/front_end/panels/lighthouse/LighthouseController.ts +44 -55
  198. package/front_end/panels/lighthouse/LighthousePanel.ts +9 -9
  199. package/front_end/panels/lighthouse/LighthouseReportSelector.ts +2 -2
  200. package/front_end/panels/lighthouse/LighthouseStartView.ts +9 -12
  201. package/front_end/panels/lighthouse/LighthouseStatusView.ts +33 -33
  202. package/front_end/panels/lighthouse/RadioSetting.ts +1 -1
  203. package/front_end/panels/lighthouse/lighthouse-meta.ts +131 -1
  204. package/front_end/panels/media/EventDisplayTable.ts +67 -94
  205. package/front_end/panels/media/PlayerListView.ts +1 -1
  206. package/front_end/panels/media/eventDisplayTable.css +9 -4
  207. package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +5 -5
  208. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +1 -1
  209. package/front_end/panels/network/EventSourceMessagesView.ts +98 -107
  210. package/front_end/panels/network/NetworkLogViewColumns.ts +1 -1
  211. package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -1
  212. package/front_end/panels/network/RequestConditionsDrawer.ts +2 -2
  213. package/front_end/panels/network/RequestCookiesView.ts +2 -2
  214. package/front_end/panels/network/RequestHeadersView.ts +5 -5
  215. package/front_end/panels/network/RequestPayloadView.ts +4 -4
  216. package/front_end/panels/network/RequestTimingView.ts +2 -2
  217. package/front_end/panels/network/components/DirectSocketConnectionView.ts +1 -1
  218. package/front_end/panels/network/eventSourceMessagesView.css +12 -3
  219. package/front_end/panels/network/networkTimingTable.css +2 -2
  220. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +1 -1
  221. package/front_end/panels/profiler/BottomUpProfileDataGrid.ts +25 -29
  222. package/front_end/panels/profiler/HeapProfileView.ts +308 -247
  223. package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +13 -3
  224. package/front_end/panels/profiler/HeapSnapshotView.ts +30 -10
  225. package/front_end/panels/profiler/HeapTimelineOverview.ts +5 -2
  226. package/front_end/panels/profiler/ProfileDataGrid.ts +128 -157
  227. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +17 -5
  228. package/front_end/panels/profiler/ProfilesPanel.ts +2 -2
  229. package/front_end/panels/profiler/TopDownProfileDataGrid.ts +17 -21
  230. package/front_end/panels/profiler/profilesPanel.css +9 -13
  231. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +2 -2
  232. package/front_end/panels/recorder/CreateRecordingView.ts +4 -4
  233. package/front_end/panels/recorder/RecorderPanel.ts +6 -6
  234. package/front_end/panels/recorder/RecordingView.ts +1 -1
  235. package/front_end/panels/recorder/ReplaySection.ts +1 -1
  236. package/front_end/panels/recorder/StepView.ts +1 -1
  237. package/front_end/panels/recorder/injected/rollup.config.mjs +1 -1
  238. package/front_end/panels/search/SearchView.ts +1 -1
  239. package/front_end/panels/security/SecurityPanel.ts +54 -41
  240. package/front_end/panels/sensors/LocationsSettingsTab.ts +246 -233
  241. package/front_end/panels/sensors/SensorsView.ts +1 -1
  242. package/front_end/panels/settings/AISettingsTab.ts +11 -10
  243. package/front_end/panels/settings/SettingsScreen.ts +29 -24
  244. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +2 -2
  245. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +5 -5
  246. package/front_end/panels/sources/BreakpointEditDialog.ts +2 -2
  247. package/front_end/panels/sources/BreakpointsView.ts +1 -1
  248. package/front_end/panels/sources/CallStackSidebarPane.ts +2 -2
  249. package/front_end/panels/sources/DebuggerPausedMessage.ts +2 -2
  250. package/front_end/panels/sources/DebuggerPlugin.ts +25 -22
  251. package/front_end/panels/sources/ScopeChainSidebarPane.ts +3 -1
  252. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +7 -5
  253. package/front_end/panels/sources/sources-meta.ts +1 -1
  254. package/front_end/panels/timeline/CountersGraph.ts +1 -2
  255. package/front_end/panels/timeline/ExtensionTrackAppender.ts +1 -1
  256. package/front_end/panels/timeline/TimelineDetailsView.ts +2 -2
  257. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +2 -2
  258. package/front_end/panels/timeline/TimelineFlameChartView.ts +4 -4
  259. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
  260. package/front_end/panels/timeline/TimelinePanel.ts +53 -81
  261. package/front_end/panels/timeline/TimelineSelectorStatsView.ts +10 -3
  262. package/front_end/panels/timeline/TimelineUIUtils.ts +18 -4
  263. package/front_end/panels/timeline/TrackConfigBanner.ts +1 -1
  264. package/front_end/panels/timeline/components/ExportTraceOptions.ts +1 -1
  265. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +8 -9
  266. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +1 -1
  267. package/front_end/panels/timeline/components/TimelineRangeSummaryView.ts +1 -1
  268. package/front_end/panels/timeline/components/insights/DuplicatedJavaScript.ts +2 -2
  269. package/front_end/panels/timeline/components/insights/LCPBreakdown.ts +1 -1
  270. package/front_end/panels/timeline/components/insights/LegacyJavaScript.ts +1 -1
  271. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +2 -2
  272. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +5 -0
  273. package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.ts +13 -8
  274. package/front_end/panels/timeline/overlays/components/timespanBreakdownOverlay.css +1 -0
  275. package/front_end/panels/timeline/timeline-meta.ts +169 -0
  276. package/front_end/panels/timeline/timelineFlameChartView.css +5 -0
  277. package/front_end/panels/webauthn/WebauthnPane.ts +1 -1
  278. package/front_end/panels/whats_new/ReleaseNoteText.ts +9 -9
  279. package/front_end/panels/whats_new/resources/WNDT.md +7 -8
  280. package/front_end/third_party/chromium/README.chromium +1 -1
  281. package/front_end/third_party/web-vitals/README.chromium +2 -2
  282. package/front_end/third_party/web-vitals/package/README.md +120 -19
  283. package/front_end/third_party/web-vitals/package/attribution.d.ts +16 -0
  284. package/front_end/third_party/web-vitals/package/attribution.js +18 -0
  285. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onCLS.d.ts +1 -1
  286. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFCP.d.ts +1 -7
  287. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFCP.js +53 -32
  288. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.d.ts +2 -2
  289. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.js +43 -12
  290. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.d.ts +1 -1
  291. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.js +21 -3
  292. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onTTFB.d.ts +1 -1
  293. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onTTFB.js +30 -24
  294. package/front_end/third_party/web-vitals/package/dist/modules/lib/FCPEntryManager.d.ts +3 -0
  295. package/front_end/third_party/web-vitals/package/dist/modules/lib/FCPEntryManager.js +18 -0
  296. package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.d.ts +2 -1
  297. package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.js +18 -2
  298. package/front_end/third_party/web-vitals/package/dist/modules/lib/LCPEntryManager.d.ts +1 -0
  299. package/front_end/third_party/web-vitals/package/dist/modules/lib/LCPEntryManager.js +1 -0
  300. package/front_end/third_party/web-vitals/package/dist/modules/lib/bindReporter.d.ts +1 -1
  301. package/front_end/third_party/web-vitals/package/dist/modules/lib/generateUniqueID.js +1 -1
  302. package/front_end/third_party/web-vitals/package/dist/modules/lib/getLoadState.d.ts +1 -1
  303. package/front_end/third_party/web-vitals/package/dist/modules/lib/getLoadState.js +7 -7
  304. package/front_end/third_party/web-vitals/package/dist/modules/lib/getSelector.js +1 -1
  305. package/front_end/third_party/web-vitals/package/dist/modules/lib/getVisibilityWatcher.d.ts +1 -1
  306. package/front_end/third_party/web-vitals/package/dist/modules/lib/getVisibilityWatcher.js +4 -1
  307. package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.d.ts +7 -3
  308. package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.js +20 -11
  309. package/front_end/third_party/web-vitals/package/dist/modules/lib/initUnique.js +8 -3
  310. package/front_end/third_party/web-vitals/package/dist/modules/lib/observe.d.ts +3 -1
  311. package/front_end/third_party/web-vitals/package/dist/modules/lib/observe.js +19 -4
  312. package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/interactionCountPolyfill.js +1 -1
  313. package/front_end/third_party/web-vitals/package/dist/modules/lib/softNavs.d.ts +3 -0
  314. package/front_end/third_party/web-vitals/package/dist/modules/lib/softNavs.js +38 -0
  315. package/front_end/third_party/web-vitals/package/dist/modules/lib/whenIdleOrHidden.js +5 -1
  316. package/front_end/third_party/web-vitals/package/dist/modules/onCLS.d.ts +1 -1
  317. package/front_end/third_party/web-vitals/package/dist/modules/onCLS.js +30 -11
  318. package/front_end/third_party/web-vitals/package/dist/modules/onFCP.d.ts +1 -1
  319. package/front_end/third_party/web-vitals/package/dist/modules/onFCP.js +36 -4
  320. package/front_end/third_party/web-vitals/package/dist/modules/onINP.d.ts +1 -1
  321. package/front_end/third_party/web-vitals/package/dist/modules/onINP.js +42 -22
  322. package/front_end/third_party/web-vitals/package/dist/modules/onLCP.d.ts +1 -1
  323. package/front_end/third_party/web-vitals/package/dist/modules/onLCP.js +109 -30
  324. package/front_end/third_party/web-vitals/package/dist/modules/onTTFB.d.ts +1 -1
  325. package/front_end/third_party/web-vitals/package/dist/modules/onTTFB.js +25 -7
  326. package/front_end/third_party/web-vitals/package/dist/modules/types/base.d.ts +24 -1
  327. package/front_end/third_party/web-vitals/package/dist/modules/types/fcp.d.ts +1 -1
  328. package/front_end/third_party/web-vitals/package/dist/modules/types/inp.d.ts +14 -6
  329. package/front_end/third_party/web-vitals/package/dist/modules/types/lcp.d.ts +1 -1
  330. package/front_end/third_party/web-vitals/package/dist/modules/types/ttfb.d.ts +2 -2
  331. package/front_end/third_party/web-vitals/package/dist/modules/types.d.ts +26 -4
  332. package/front_end/third_party/web-vitals/package/package.json +21 -22
  333. package/front_end/third_party/web-vitals/package/src/attribution/onCLS.ts +1 -1
  334. package/front_end/third_party/web-vitals/package/src/attribution/onFCP.ts +62 -39
  335. package/front_end/third_party/web-vitals/package/src/attribution/onINP.ts +52 -15
  336. package/front_end/third_party/web-vitals/package/src/attribution/onLCP.ts +25 -7
  337. package/front_end/third_party/web-vitals/package/src/attribution/onTTFB.ts +43 -37
  338. package/front_end/third_party/web-vitals/package/src/lib/{polyfills/getFirstHiddenTimePolyfill.ts → FCPEntryManager.ts} +4 -14
  339. package/front_end/third_party/web-vitals/package/src/lib/InteractionManager.ts +22 -2
  340. package/front_end/third_party/web-vitals/package/src/lib/LCPEntryManager.ts +1 -0
  341. package/front_end/third_party/web-vitals/package/src/lib/bindReporter.ts +1 -1
  342. package/front_end/third_party/web-vitals/package/src/lib/generateUniqueID.ts +1 -1
  343. package/front_end/third_party/web-vitals/package/src/lib/getLoadState.ts +11 -12
  344. package/front_end/third_party/web-vitals/package/src/lib/getSelector.ts +1 -1
  345. package/front_end/third_party/web-vitals/package/src/lib/getVisibilityWatcher.ts +4 -1
  346. package/front_end/third_party/web-vitals/package/src/lib/initMetric.ts +24 -11
  347. package/front_end/third_party/web-vitals/package/src/lib/initUnique.ts +12 -4
  348. package/front_end/third_party/web-vitals/package/src/lib/observe.ts +26 -5
  349. package/front_end/third_party/web-vitals/package/src/lib/polyfills/interactionCountPolyfill.ts +1 -1
  350. package/front_end/third_party/web-vitals/package/src/lib/softNavs.ts +48 -0
  351. package/front_end/third_party/web-vitals/package/src/lib/whenIdleOrHidden.ts +12 -4
  352. package/front_end/third_party/web-vitals/package/src/onCLS.ts +75 -18
  353. package/front_end/third_party/web-vitals/package/src/onFCP.ts +66 -7
  354. package/front_end/third_party/web-vitals/package/src/onINP.ts +100 -39
  355. package/front_end/third_party/web-vitals/package/src/onLCP.ts +169 -34
  356. package/front_end/third_party/web-vitals/package/src/onTTFB.ts +50 -13
  357. package/front_end/third_party/web-vitals/package/src/types/base.ts +31 -10
  358. package/front_end/third_party/web-vitals/package/src/types/fcp.ts +1 -1
  359. package/front_end/third_party/web-vitals/package/src/types/inp.ts +14 -6
  360. package/front_end/third_party/web-vitals/package/src/types/lcp.ts +1 -1
  361. package/front_end/third_party/web-vitals/package/src/types/ttfb.ts +2 -2
  362. package/front_end/third_party/web-vitals/package/src/types.ts +32 -9
  363. package/front_end/third_party/web-vitals/patches/0001-Add-onEachInteraction-to-onINP-options.patch +11 -11
  364. package/front_end/third_party/web-vitals/rebuild.sh +2 -2
  365. package/front_end/third_party/web-vitals/web-vitals-tsconfig.json +2 -0
  366. package/front_end/ui/components/buttons/Button.ts +16 -0
  367. package/front_end/ui/components/dialogs/Dialog.ts +1 -1
  368. package/front_end/ui/components/highlighting/HighlightManager.ts +6 -1
  369. package/front_end/ui/components/highlighting/highlighting.ts +1 -1
  370. package/front_end/ui/components/icon_button/FileSourceIcon.ts +1 -1
  371. package/front_end/ui/components/linkifier/LinkifierImpl.ts +1 -1
  372. package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +2 -2
  373. package/front_end/ui/components/settings/SettingCheckbox.ts +12 -7
  374. package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +2 -2
  375. package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +6 -6
  376. package/front_end/ui/components/text_editor/javascript.ts +3 -1
  377. package/front_end/ui/components/tooltips/Tooltip.ts +1 -1
  378. package/front_end/ui/legacy/ContextMenu.ts +12 -2
  379. package/front_end/ui/legacy/ListControl.ts +1 -1
  380. package/front_end/ui/legacy/SelectMenu.docs.ts +17 -19
  381. package/front_end/ui/legacy/Toolbar.ts +4 -1
  382. package/front_end/ui/legacy/Treeoutline.ts +1 -1
  383. package/front_end/ui/legacy/components/color_picker/spectrum.css +1 -2
  384. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +1 -1
  385. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +50 -4
  386. package/front_end/ui/legacy/components/object_ui/JavaScriptREPL.ts +3 -1
  387. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +4 -4
  388. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +8 -7
  389. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +14 -11
  390. package/front_end/ui/legacy/components/quick_open/QuickOpen.ts +1 -1
  391. package/front_end/ui/legacy/components/settings_ui/SettingsUI.ts +15 -5
  392. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +4 -4
  393. package/front_end/ui/legacy/components/utils/Linkifier.ts +5 -1
  394. package/front_end/ui/lit/render.ts +1 -1
  395. package/front_end/ui/settings/SettingUIRegistration.ts +8 -3
  396. package/front_end/ui/visual_logging/KnownContextValues.ts +8 -0
  397. package/front_end/ui/visual_logging/LoggingEvents.ts +1 -1
  398. package/inspector_overlay/main.ts +1 -1
  399. package/mcp/mcp.ts +5 -4
  400. package/package.json +13 -13
  401. package/front_end/models/ai_assistance/AgentProject.ts +0 -261
  402. package/front_end/models/ai_assistance/agents/PatchAgent.ts +0 -306
  403. package/front_end/models/issues_manager/CheckFormsIssuesTrigger.ts +0 -45
  404. package/front_end/models/text_utils/text_utils.ts +0 -5
  405. package/front_end/panels/ai_assistance/PatchWidget.ts +0 -867
  406. package/front_end/panels/ai_assistance/SelectWorkspaceDialog.ts +0 -368
  407. package/front_end/panels/ai_assistance/selectWorkspaceDialog.css +0 -92
@@ -30,7 +30,7 @@ export interface Config {
30
30
  }
31
31
 
32
32
  export class ChartViewport extends UI.Widget.VBox {
33
- private readonly delegate: ChartViewportDelegate;
33
+ readonly delegate: ChartViewportDelegate;
34
34
  viewportElement: HTMLElement;
35
35
  #alwaysShowVerticalScroll: boolean;
36
36
  private rangeSelectionEnabled: boolean;
@@ -40,7 +40,7 @@ export class ChartViewport extends UI.Widget.VBox {
40
40
  private cursorElement: HTMLElement;
41
41
  #isDragging!: boolean;
42
42
  private totalHeight!: number;
43
- private offsetHeight!: number;
43
+ offsetHeight!: number;
44
44
  private scrollTop!: number;
45
45
  private rangeSelectionStart: number|null;
46
46
  private rangeSelectionEnd: number|null;
@@ -49,7 +49,7 @@ export class ChartViewport extends UI.Widget.VBox {
49
49
  private dragStartScrollTop!: number;
50
50
  private visibleLeftTime!: number;
51
51
  private visibleRightTime!: number;
52
- private offsetWidth!: number;
52
+ offsetWidth!: number;
53
53
  private targetLeftTime!: number;
54
54
  private targetRightTime!: number;
55
55
  private selectionOffsetShiftX!: number;
@@ -156,7 +156,7 @@ export class ChartViewport extends UI.Widget.VBox {
156
156
  this.updateContentElementSize();
157
157
  }
158
158
 
159
- private updateContentElementSize(): void {
159
+ updateContentElementSize(): void {
160
160
  let offsetWidth: number = this.vScrollElement.offsetLeft;
161
161
  if (!offsetWidth) {
162
162
  offsetWidth = this.contentElement.offsetWidth;
@@ -12,6 +12,7 @@ import type * as NetworkTimeCalculator from '../../../../models/network_time_cal
12
12
  import * as Trace from '../../../../models/trace/trace.js';
13
13
  import * as VisualLogging from '../../../../ui/visual_logging/visual_logging.js';
14
14
  import * as Buttons from '../../../components/buttons/buttons.js';
15
+ import {html, render, type TemplateResult} from '../../../lit/lit.js';
15
16
  import * as UI from '../../legacy.js';
16
17
  import * as ThemeSupport from '../../theme_support/theme_support.js';
17
18
 
@@ -40,7 +41,7 @@ const UIStrings = {
40
41
  * @example {Main thread} PH2
41
42
  *
42
43
  */
43
- eventSelectedFromGroup: 'Selected a {PH1} event within {PH2}. Press "enter" to focus this event.',
44
+ eventSelectedFromGroup: 'Selected a {PH1} event within {PH2}. Press enter to focus this event.',
44
45
  /**
45
46
  * @description Aria accessible name in Flame Chart of the Performance panel
46
47
  */
@@ -160,7 +161,7 @@ export const enum HoverType {
160
161
  export const enum GroupCollapsibleState {
161
162
  ALWAYS = 0,
162
163
  NEVER = 1,
163
- IF_MULTI_ROW = 2
164
+ IF_MULTI_ROW = 2,
164
165
  }
165
166
 
166
167
  export interface FlameChartDelegate {
@@ -285,7 +286,7 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
285
286
  private lastMouseOffsetX: number;
286
287
  private selectedGroupIndex: number;
287
288
  private keyboardFocusedGroup: number;
288
- private offsetWidth!: number;
289
+ offsetWidth!: number;
289
290
  private offsetHeight!: number;
290
291
  private dragStartX!: number;
291
292
  private dragStartY!: number;
@@ -922,9 +923,9 @@ export class FlameChart extends Common.ObjectWrapper.eventMixin<EventTypes, type
922
923
  };
923
924
  }
924
925
 
925
- updatePopoverContents(popoverElement: Element): void {
926
- this.popoverElement.removeChildren();
927
- this.popoverElement.appendChild(popoverElement);
926
+ updatePopoverContents(popoverElement: Element|TemplateResult): void {
927
+ // eslint-disable-next-line @devtools/no-lit-render-outside-of-view
928
+ render(html`${popoverElement}`, this.popoverElement);
928
929
  // Must update the offset AFTER the new content has been added.
929
930
  this.updatePopoverOffset();
930
931
  this.lastPopoverState.entryIndex = -1;
@@ -4379,7 +4380,7 @@ export interface FlameChartDataProvider {
4379
4380
  */
4380
4381
  timelineData(rebuild?: boolean): FlameChartTimelineData|null;
4381
4382
 
4382
- preparePopoverElement(entryIndex: number): Element|null;
4383
+ preparePopoverElement(entryIndex: number): Element|TemplateResult|null;
4383
4384
 
4384
4385
  preparePopoverForCollapsedArrow?(entryIndex: number): Element|null;
4385
4386
 
@@ -11,6 +11,7 @@ import * as i18n from '../../../../core/i18n/i18n.js';
11
11
  import * as Platform from '../../../../core/platform/platform.js';
12
12
  import * as Diff from '../../../../third_party/diff/diff.js';
13
13
  import {html, nothing, type TemplateResult} from '../../../lit/lit.js';
14
+ import * as SettingsUI from '../../../settings/settings.js';
14
15
  import * as UI from '../../legacy.js';
15
16
 
16
17
  import {FilteredListWidget, Provider, registerProvider} from './FilteredListWidget.js';
@@ -93,14 +94,15 @@ export class CommandMenu {
93
94
  featurePromotionId);
94
95
  }
95
96
 
96
- static createSettingCommand<V>(setting: Common.Settings.Setting<V>, title: Common.UIString.LocalizedString, value: V):
97
- Command {
98
- const category = setting.category();
97
+ static createSettingCommand<V>(setting: Common.Settings.Setting<V>, title: Common.UIString.LocalizedString, value: V,
98
+ settingUIDescriptor?: SettingsUI.SettingUIRegistration.SettingUIDescriptor): Command {
99
+ const uiDescriptor = settingUIDescriptor ?? SettingsUI.SettingUIRegistration.maybeResolve(setting.descriptor());
100
+ const category = uiDescriptor?.category ?? setting.category();
99
101
  if (!category) {
100
102
  throw new Error(`Creating '${title}' setting command failed. Setting has no category.`);
101
103
  }
102
- const tags = setting.tags() || '';
103
- const reloadRequired = Boolean(setting.reloadRequired());
104
+ const tags = uiDescriptor?.tags?.map(tag => tag()).join('\0') ?? setting.tags() ?? '';
105
+ const reloadRequired = Boolean(uiDescriptor?.reloadRequired ?? setting.reloadRequired());
104
106
 
105
107
  return CommandMenu.createCommand({
106
108
  category: Common.Settings.getLocalizedSettingsCategory(category),
@@ -220,15 +222,16 @@ export class CommandMenu {
220
222
  this.#commands.push(CommandMenu.createRevealViewCommand(options));
221
223
  }
222
224
  // Populate allowlisted settings.
223
- const settingsRegistrations = Common.Settings.Settings.instance().getRegisteredSettings();
224
- for (const settingRegistration of settingsRegistrations) {
225
- const options = settingRegistration.options;
226
- if (!options || !settingRegistration.category) {
225
+ const settingsRegistrations = SettingsUI.SettingUIRegistration.getRegisteredSettings();
226
+ for (const registeredSettingUI of settingsRegistrations) {
227
+ const options = registeredSettingUI.uiDescriptor.options;
228
+ if (!options || !registeredSettingUI.uiDescriptor.category) {
227
229
  continue;
228
230
  }
231
+ const setting = Common.Settings.Settings.instance().resolve(registeredSettingUI.descriptor);
229
232
  for (const pair of options) {
230
- const setting = Common.Settings.Settings.instance().moduleSetting(settingRegistration.settingName);
231
- this.#commands.push(CommandMenu.createSettingCommand(setting, pair.title(), pair.value));
233
+ this.#commands.push(
234
+ CommandMenu.createSettingCommand(setting, pair.title(), pair.value, registeredSettingUI.uiDescriptor));
232
235
  }
233
236
  }
234
237
  }
@@ -9,7 +9,7 @@ import {
9
9
  FilteredListWidget,
10
10
  getRegisteredProviders,
11
11
  type Provider,
12
- type ProviderRegistration
12
+ type ProviderRegistration,
13
13
  } from './FilteredListWidget.js';
14
14
 
15
15
  const UIStrings = {
@@ -11,6 +11,7 @@ import * as i18n from '../../../../core/i18n/i18n.js';
11
11
  import * as Platform from '../../../../core/platform/platform.js';
12
12
  import {Directives, html, nothing, render, type TemplateResult} from '../../../../ui/lit/lit.js';
13
13
  import type * as Settings from '../../../components/settings/settings.js';
14
+ import * as SettingUIRegistration from '../../../settings/settings.js';
14
15
  import * as VisualLogging from '../../../visual_logging/visual_logging.js';
15
16
  import * as UI from '../../legacy.js';
16
17
 
@@ -42,9 +43,16 @@ export function createSettingCheckbox(
42
43
  }
43
44
 
44
45
  export function renderSettingSelect(setting: Common.Settings.Setting<unknown>, subtitle?: string): TemplateResult {
45
- const name = setting.title();
46
- const options = setting.options();
47
- const requiresReload = setting.reloadRequired();
46
+ const uiDescriptor = SettingUIRegistration.SettingUIRegistration.maybeResolve(setting.descriptor());
47
+ const name = uiDescriptor?.title?.() ?? setting.title();
48
+ const options = uiDescriptor?.options?.map(opt => ({
49
+ value: opt.value,
50
+ title: opt.title(),
51
+ text: typeof opt.text === 'function' ? opt.text() : opt.text,
52
+ raw: opt.raw,
53
+ })) ??
54
+ setting.options();
55
+ const requiresReload = Boolean(uiDescriptor?.reloadRequired ?? setting.reloadRequired());
48
56
  const {deprecation} = setting;
49
57
  const controlId = UI.ARIAUtils.nextId('labelledControl');
50
58
  const reloadWarningRef = createRef<HTMLParagraphElement>();
@@ -109,13 +117,15 @@ export const renderControlForSetting = function(
109
117
  switch (setting.type()) {
110
118
  case Common.Settings.SettingType.BOOLEAN: {
111
119
  const onchange = (): void => {
112
- if (setting.reloadRequired()) {
120
+ const uiDescriptor = SettingUIRegistration.SettingUIRegistration.maybeResolve(setting.descriptor());
121
+ const requiresReload = Boolean(uiDescriptor?.reloadRequired ?? setting.reloadRequired());
122
+ if (requiresReload) {
113
123
  UI.InspectorView.InspectorView.instance().displayReloadRequiredWarning(
114
124
  i18nString(UIStrings.settingsChangedReloadDevTools));
115
125
  }
116
126
  };
117
127
  return html`<setting-checkbox .data=${{
118
- setting: setting as Common.Settings.Setting<boolean>
128
+ setting: setting as Common.Settings.Setting<boolean>,
119
129
  } as Settings.SettingCheckbox.SettingCheckboxData} @change=${onchange}></setting-checkbox>`;
120
130
  }
121
131
  case Common.Settings.SettingType.ENUM: {
@@ -73,7 +73,7 @@ const UIStrings = {
73
73
  * @example {allow pasting} PH1
74
74
  */
75
75
  doNotPaste:
76
- 'Don’t paste code you do not understand or have not reviewed yourself into DevTools. This could allow attackers to steal your identity or take control of your computer. Please type {PH1} below to allow pasting.',
76
+ 'Don’t paste code you do not understand or have not reviewed yourself into DevTools. This could allow attackers to steal your identity or take control of your computer. Please type "{PH1}" below to allow pasting.',
77
77
  /**
78
78
  * @description Text a user needs to type in order to confirm that they are aware of the danger of pasting code into the DevTools console.
79
79
  */
@@ -82,13 +82,13 @@ const UIStrings = {
82
82
  * @description Input box placeholder which instructs the user to type 'allow pasting' into the input box. IMPORTANT: keep double quotes around PH1 and do not use single quotes.
83
83
  * @example {allow pasting} PH1
84
84
  */
85
- typeAllowPasting: 'Type {PH1}',
85
+ typeAllowPasting: 'Type "{PH1}"',
86
86
  /**
87
87
  * @description Error message shown when the user tries to open a file that contains non-readable data. "Editor" refers to
88
88
  * a text editor.
89
89
  */
90
90
  binaryContentError:
91
- 'Editor can’t show binary data. Use the "Response" tab in the "Network" panel to inspect this resource.',
91
+ 'Editor can’t show binary data. Use the Response tab in the Network panel to inspect this resource.',
92
92
  } as const;
93
93
  const str_ = i18n.i18n.registerUIStrings('ui/legacy/components/source_frame/SourceFrame.ts', UIStrings);
94
94
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -320,7 +320,7 @@ export class SourceFrameImpl extends Common.ObjectWrapper.eventMixin<EventTypes,
320
320
  header: i18nString(UIStrings.doYouTrustThisCode),
321
321
  message: i18nString(UIStrings.doNotPaste, {PH1: i18nString(UIStrings.allowPasting)}),
322
322
  typePhrase: i18nString(UIStrings.allowPasting),
323
- inputPlaceholder: i18nString(UIStrings.typeAllowPasting, {PH1: i18nString(UIStrings.allowPasting)})
323
+ inputPlaceholder: i18nString(UIStrings.typeAllowPasting, {PH1: i18nString(UIStrings.allowPasting)}),
324
324
  });
325
325
  if (allowPasting) {
326
326
  this.selfXssWarningDisabledSetting.set(true);
@@ -91,7 +91,7 @@ export class Linkifier extends Common.ObjectWrapper.ObjectWrapper<EventTypes> im
91
91
  }
92
92
 
93
93
  #onWorkingCopyChangedOrCommitted({
94
- data: {uiSourceCode}
94
+ data: {uiSourceCode},
95
95
  }: Common.EventTarget.EventTargetEvent<{uiSourceCode: Workspace.UISourceCode.UISourceCode}>): void {
96
96
  const anchors = anchorsByUISourceCode.get(uiSourceCode);
97
97
  if (!anchors) {
@@ -875,6 +875,10 @@ export class Linkifier extends Common.ObjectWrapper.ObjectWrapper<EventTypes> im
875
875
  LinkHandlerSettingUI.instance().update();
876
876
  }
877
877
 
878
+ static isRegisteredLinkHandlerScheme(scheme: string): boolean {
879
+ return linkHandlers.values().some(r => r.scheme === scheme);
880
+ }
881
+
878
882
  // The primary filter implementation for the openResourceHandlers. Returns false
879
883
  // if the handler is NOT supposed to handle the `url`. Usually, this happens if
880
884
  // a handler has registered for a particular `scheme` and the scheme for that url
@@ -97,7 +97,7 @@ export function render(template: unknown, container: HTMLElement|DocumentFragmen
97
97
  if (currentListener && 'handleEvent' in currentListener) {
98
98
  return currentListener.handleEvent(event);
99
99
  }
100
- }
100
+ },
101
101
  };
102
102
  listenersMap.set(name, newEntry);
103
103
  host.addEventListener(name, newEntry.wrapper);
@@ -91,13 +91,18 @@ export function getRegisteredSettings(): readonly RegisteredSettingUI[] {
91
91
  return Array.from(combined.values());
92
92
  }
93
93
 
94
- export function resolve(settingDescriptor: Common.Settings.SettingDescriptor<unknown>): SettingUIDescriptor {
94
+ export function maybeResolve(settingDescriptor: Common.Settings.SettingDescriptor<unknown>): SettingUIDescriptor|null {
95
95
  const settingUI = registeredSettings.get(settingDescriptor.name) ??
96
96
  getRegisteredSettings().find(registered => registered.descriptor.name === settingDescriptor.name);
97
- if (!settingUI) {
97
+ return settingUI?.uiDescriptor ?? null;
98
+ }
99
+
100
+ export function resolve(settingDescriptor: Common.Settings.SettingDescriptor<unknown>): SettingUIDescriptor {
101
+ const uiDescriptor = maybeResolve(settingDescriptor);
102
+ if (!uiDescriptor) {
98
103
  throw new Error(`No UI descriptor registered for setting '${settingDescriptor.name}'`);
99
104
  }
100
- return settingUI.uiDescriptor;
105
+ return uiDescriptor;
101
106
  }
102
107
 
103
108
  export function resetSettings(): void {
@@ -2308,6 +2308,7 @@ export const knownContextValues = new Set([
2308
2308
  'layers-3d-view',
2309
2309
  'layers-details',
2310
2310
  'layers-show-internal-layers',
2311
+ 'layers-tree',
2311
2312
  'layers.3d-center',
2312
2313
  'layers.3d-pan',
2313
2314
  'layers.3d-rotate',
@@ -4097,6 +4098,13 @@ export const knownContextValues = new Set([
4097
4098
  'timeline-save-as-gz',
4098
4099
  'timeline-scope',
4099
4100
  'timeline-screenshot-capture-mode',
4101
+ 'timeline-screenshot-capture-mode-100-11250',
4102
+ 'timeline-screenshot-capture-mode-1000-100',
4103
+ 'timeline-screenshot-capture-mode-250-1800',
4104
+ 'timeline-screenshot-capture-mode-500-450',
4105
+ 'timeline-screenshot-capture-mode-auto',
4106
+ 'timeline-screenshot-capture-mode-manual',
4107
+ 'timeline-screenshot-capture-mode-off',
4100
4108
  'timeline-settings-pane',
4101
4109
  'timeline-settings-toggle',
4102
4110
  'timeline-show-all-events',
@@ -43,7 +43,7 @@ export const logResize = (loggable: Loggable, size: DOMRect): void => {
43
43
  const resizeEvent: Host.InspectorFrontendHostAPI.ResizeEvent = {
44
44
  veid: loggingState.veid,
45
45
  width: Math.round(loggingState.size.width),
46
- height: Math.round(loggingState.size.height)
46
+ height: Math.round(loggingState.size.height),
47
47
  };
48
48
  Host.InspectorFrontendHost.InspectorFrontendHostInstance.recordResize(resizeEvent);
49
49
  processEventForDebugging('Resize', loggingState, {width: Math.round(size.width), height: Math.round(size.height)});
@@ -11,7 +11,7 @@ import greenDevAnchorsStyle from './tool_green_dev_anchors.css';
11
11
  import {
12
12
  type GreenDevAnchorsDispatchMessage,
13
13
  GreenDevAnchorsOverlay,
14
- type GreenDevAnchorsToolMessage
14
+ type GreenDevAnchorsToolMessage,
15
15
  } from './tool_green_dev_anchors.js';
16
16
  // @ts-expect-error Importing CSS is handled in Rollup.
17
17
  import highlightGridStyle from './tool_grid.css';
package/mcp/mcp.ts CHANGED
@@ -9,6 +9,7 @@ import '../front_end/core/sdk/sdk-meta.js';
9
9
  import '../front_end/models/workspace/workspace-meta.js';
10
10
  import '../front_end/models/persistence/persistence-meta.js';
11
11
  import '../front_end/models/logs/logs-meta.js';
12
+ import '../front_end/models/badges/badges-meta.js';
12
13
 
13
14
  /**
14
15
  * IMPORTANT! Make sure that any class that is exported here has related unit
@@ -31,10 +32,10 @@ export * as Foundation from '../front_end/foundation/foundation.js';
31
32
  export * as Protocol from '../front_end/generated/protocol.js';
32
33
  export * as NetworkRequestFormatter from '../front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.js';
33
34
  export {
34
- PerformanceInsightFormatter
35
+ PerformanceInsightFormatter,
35
36
  } from '../front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.js';
36
37
  export {
37
- PerformanceTraceFormatter
38
+ PerformanceTraceFormatter,
38
39
  } from '../front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js';
39
40
  export {AgentFocus} from '../front_end/models/ai_assistance/performance/AIContext.js';
40
41
  export {DebuggerWorkspaceBinding} from '../front_end/models/bindings/DebuggerWorkspaceBinding.js';
@@ -45,14 +46,14 @@ export {Issue} from '../front_end/models/issues_manager/Issue.js';
45
46
  export {
46
47
  AggregatedIssue,
47
48
  Events as IssueAggregatorEvents,
48
- IssueAggregator
49
+ IssueAggregator,
49
50
  } from '../front_end/models/issues_manager/IssueAggregator.js';
50
51
  export {
51
52
  createIssuesFromProtocolIssue,
52
53
  Events as IssuesManagerEvents,
53
54
  type EventTypes as IssuesManagerEventTypes,
54
55
  isIssueCodeSupported,
55
- IssuesManager
56
+ IssuesManager,
56
57
  } from '../front_end/models/issues_manager/IssuesManager.js';
57
58
  export * as MarkdownIssueDescription from '../front_end/models/issues_manager/MarkdownIssueDescription.js';
58
59
  export * as StackTrace from '../front_end/models/stack_trace/stack_trace.js';
package/package.json CHANGED
@@ -37,7 +37,7 @@
37
37
  "devDependencies": {
38
38
  "@rollup/plugin-node-resolve": "16.0.3",
39
39
  "@rollup/plugin-terser": "1.0.0",
40
- "@stylistic/eslint-plugin": "5.5.0",
40
+ "@stylistic/eslint-plugin": "5.10.0",
41
41
  "@types/chai": "5.2.3",
42
42
  "@types/codemirror": "5.60.17",
43
43
  "@types/emscripten": "1.39.4",
@@ -49,20 +49,20 @@
49
49
  "@types/webidl2": "24.4.3",
50
50
  "@types/yargs": "17.0.35",
51
51
  "@types/yargs-unparser": "2.0.3",
52
- "@typescript-eslint/rule-tester": "8.58.0",
53
- "@typescript-eslint/utils": "8.58.0",
52
+ "@typescript-eslint/rule-tester": "8.64.0",
53
+ "@typescript-eslint/utils": "8.64.0",
54
54
  "@web/rollup-plugin-import-meta-assets": "2.3.3",
55
55
  "chai": "6.2.2",
56
56
  "cssnano": "7.1.2",
57
57
  "cssnano-preset-lite": "4.0.4",
58
58
  "esbuild": "0.25.1",
59
- "eslint": "9.39.1",
60
- "eslint-plugin-eslint-plugin": "7.2.0",
59
+ "eslint": "9.39.5",
60
+ "eslint-plugin-eslint-plugin": "7.4.2",
61
61
  "eslint-plugin-import": "2.32.0",
62
- "eslint-plugin-jsdoc": "61.2.1",
63
- "eslint-plugin-lit": "2.1.1",
62
+ "eslint-plugin-jsdoc": "63.0.13",
63
+ "eslint-plugin-lit": "2.3.1",
64
64
  "eslint-plugin-mocha": "10.5.0",
65
- "globals": "16.5.0",
65
+ "globals": "17.7.0",
66
66
  "js-rouge": "3.2.0",
67
67
  "js-yaml": "4.1.1",
68
68
  "karma": "6.4.4",
@@ -81,16 +81,16 @@
81
81
  "rollup-plugin-sourcemaps2": "0.5.4",
82
82
  "sinon": "22.0.0",
83
83
  "source-map-support": "0.5.21",
84
- "stylelint": "16.25.0",
85
- "stylelint-config-standard": "39.0.1",
86
- "svgo": "3.3.3",
84
+ "stylelint": "17.14.0",
85
+ "stylelint-config-standard": "40.0.0",
86
+ "svgo": "4.0.2",
87
87
  "terser": "5.48.0",
88
88
  "ts-lit-plugin": "2.0.2",
89
89
  "typescript": "6.0.2",
90
- "typescript-eslint": "8.58.0",
90
+ "typescript-eslint": "8.64.0",
91
91
  "uuid": "14.0.0",
92
92
  "webidl2": "24.5.0",
93
93
  "yargs": "17.7.2"
94
94
  },
95
- "version": "1.0.1664496"
95
+ "version": "1.0.1665921"
96
96
  }