chrome-devtools-frontend 1.0.1657110 → 1.0.1660788

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 (317) hide show
  1. package/.agents/skills/devtools-ux-writing-refactor/SKILL.md +125 -0
  2. package/.agents/skills/migrate-chromium-test/SKILL.md +15 -70
  3. package/.agents/skills/repro-flaky-tests/SKILL.md +53 -0
  4. package/.agents/skills/ui-eng-vision-orchestrator/SKILL.md +37 -18
  5. package/.agents/skills/version-control/SKILL.md +8 -1
  6. package/AUTHORS +1 -0
  7. package/SECURITY.md +3 -0
  8. package/docs/get_the_code.md +6 -0
  9. package/front_end/Images/src/ads.svg +1 -0
  10. package/front_end/Tests.js +6 -6
  11. package/front_end/core/common/Gzip.ts +12 -5
  12. package/front_end/core/common/ResourceType.ts +19 -19
  13. package/front_end/core/common/Revealer.ts +15 -15
  14. package/front_end/core/common/SettingRegistration.ts +19 -19
  15. package/front_end/core/host/AidaClient.ts +35 -9
  16. package/front_end/core/host/GdpClient.ts +10 -7
  17. package/front_end/core/platform/StringUtilities.ts +35 -0
  18. package/front_end/core/sdk/AccessibilityModel.snapshot.txt +17 -0
  19. package/front_end/core/sdk/AccessibilityModel.ts +132 -2
  20. package/front_end/core/sdk/CPUThrottlingManager.ts +8 -5
  21. package/front_end/core/sdk/CSSMetadata.ts +110 -16
  22. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +2 -5
  23. package/front_end/core/sdk/ConsoleModel.ts +5 -5
  24. package/front_end/core/sdk/DOMDebuggerModel.ts +5 -1
  25. package/front_end/core/sdk/DOMModel.ts +32 -18
  26. package/front_end/core/sdk/NetworkManager.ts +58 -14
  27. package/front_end/core/sdk/NetworkRequest.ts +37 -1
  28. package/front_end/core/sdk/OverlayModel.ts +45 -6
  29. package/front_end/core/sdk/ResourceTreeModel.ts +6 -7
  30. package/front_end/core/sdk/ScreenCaptureModel.ts +2 -2
  31. package/front_end/core/sdk/ServerTiming.ts +17 -13
  32. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +4 -2
  33. package/front_end/core/sdk/ServiceWorkerManager.ts +19 -5
  34. package/front_end/core/sdk/TargetManager.ts +10 -1
  35. package/front_end/core/sdk/TraceObject.ts +4 -2
  36. package/front_end/core/sdk/sdk-meta.ts +170 -0
  37. package/front_end/design_system_tokens.css +0 -5
  38. package/front_end/entrypoints/devtools_app/devtools_app.ts +1 -1
  39. package/front_end/entrypoints/formatter_worker/CSSFormatter.ts +13 -4
  40. package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.ts +5 -2
  41. package/front_end/entrypoints/formatter_worker/FormatterWorker.ts +23 -4
  42. package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +33 -10
  43. package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.ts +8 -3
  44. package/front_end/entrypoints/inspector_main/InspectorMain.ts +4 -4
  45. package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +2 -2
  46. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +36 -37
  47. package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +15 -33
  48. package/front_end/entrypoints/js_app/js_app.ts +6 -5
  49. package/front_end/entrypoints/main/GlobalAiButton.ts +4 -4
  50. package/front_end/entrypoints/main/MainImpl.ts +25 -55
  51. package/front_end/entrypoints/main/main-meta.ts +50 -50
  52. package/front_end/entrypoints/node_app/app/NodeConnectionsPanel.ts +5 -5
  53. package/front_end/entrypoints/node_app/app/NodeMain.ts +3 -3
  54. package/front_end/entrypoints/node_app/node_app.ts +10 -9
  55. package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
  56. package/front_end/foundation/Universe.ts +76 -6
  57. package/front_end/generated/InspectorBackendCommands.ts +3 -3
  58. package/front_end/generated/SupportedCSSProperties.js +19 -12
  59. package/front_end/generated/protocol.ts +7 -1
  60. package/front_end/models/ai_assistance/AiConversation.ts +19 -17
  61. package/front_end/models/ai_assistance/AiHistoryStorage.ts +37 -14
  62. package/front_end/models/ai_assistance/AiUtils.ts +38 -42
  63. package/front_end/models/ai_assistance/agents/AiAgent.ts +5 -1
  64. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +3 -2
  65. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +2 -1
  66. package/front_end/models/ai_assistance/agents/StorageAgent.ts +7 -5
  67. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +270 -286
  68. package/front_end/models/ai_assistance/data_formatters/UnitFormatters.ts +20 -0
  69. package/front_end/models/ai_assistance/performance/AICallTree.ts +3 -1
  70. package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +3 -2
  71. package/front_end/models/autofill_manager/AutofillManager.ts +3 -1
  72. package/front_end/models/bindings/CSSWorkspaceBinding.ts +8 -5
  73. package/front_end/models/bindings/CompilerScriptMapping.ts +2 -1
  74. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +15 -16
  75. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +6 -4
  76. package/front_end/models/bindings/FileUtils.ts +11 -12
  77. package/front_end/models/bindings/NetworkProject.ts +4 -0
  78. package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +2 -1
  79. package/front_end/models/bindings/ResourceUtils.ts +1 -1
  80. package/front_end/models/bindings/SASSSourceMapping.ts +8 -5
  81. package/front_end/models/emulation/DeviceModeModel.ts +14 -14
  82. package/front_end/models/emulation/EmulatedDevices.ts +392 -11
  83. package/front_end/models/extensions/ExtensionAPI.ts +6 -6
  84. package/front_end/models/extensions/LanguageExtensionEndpoint.ts +13 -12
  85. package/front_end/models/issues_manager/BounceTrackingIssue.ts +1 -1
  86. package/front_end/models/issues_manager/ClientHintIssue.ts +1 -1
  87. package/front_end/models/issues_manager/ConnectionAllowlistIssue.ts +1 -1
  88. package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +7 -7
  89. package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +2 -2
  90. package/front_end/models/issues_manager/CookieIssue.ts +6 -7
  91. package/front_end/models/issues_manager/CorsIssue.ts +3 -3
  92. package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +2 -2
  93. package/front_end/models/issues_manager/DeprecationIssue.ts +3 -3
  94. package/front_end/models/issues_manager/EmailVerificationRequestIssue.ts +1 -1
  95. package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +1 -1
  96. package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +1 -1
  97. package/front_end/models/issues_manager/GenericIssue.ts +7 -7
  98. package/front_end/models/issues_manager/HeavyAdIssue.ts +3 -3
  99. package/front_end/models/issues_manager/Issue.ts +8 -8
  100. package/front_end/models/issues_manager/MixedContentIssue.ts +1 -1
  101. package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +3 -3
  102. package/front_end/models/issues_manager/QuirksModeIssue.ts +1 -1
  103. package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +2 -2
  104. package/front_end/models/issues_manager/SelectivePermissionsInterventionIssue.ts +2 -2
  105. package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +2 -2
  106. package/front_end/models/issues_manager/SharedDictionaryIssue.ts +1 -1
  107. package/front_end/models/issues_manager/UnencodedDigestIssue.ts +3 -3
  108. package/front_end/models/javascript_metadata/NativeFunctions.js +5 -1
  109. package/front_end/models/stack_trace/StackTraceModel.ts +3 -3
  110. package/front_end/models/text_utils/ContentData.ts +27 -0
  111. package/front_end/models/trace/helpers/SamplesIntegrator.ts +21 -5
  112. package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +29 -14
  113. package/front_end/models/web_mcp/WebMCPModel.ts +24 -6
  114. package/front_end/models/workspace/IgnoreListManager.ts +6 -6
  115. package/front_end/models/workspace/UISourceCode.ts +3 -3
  116. package/front_end/models/workspace_diff/WorkspaceDiff.ts +23 -12
  117. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +25 -22
  118. package/front_end/panels/ai_assistance/ExportConversation.ts +3 -4
  119. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +3 -3
  120. package/front_end/panels/ai_assistance/components/ChatInput.ts +2 -2
  121. package/front_end/panels/ai_assistance/components/ChatMessage.ts +7 -0
  122. package/front_end/panels/ai_assistance/components/DisabledWidget.ts +2 -2
  123. package/front_end/panels/animation/AnimationTimeline.ts +17 -19
  124. package/front_end/panels/animation/AnimationUI.ts +5 -5
  125. package/front_end/panels/animation/animation-meta.ts +2 -2
  126. package/front_end/panels/application/ApplicationPanelSidebar.ts +13 -4
  127. package/front_end/panels/application/BackgroundServiceView.ts +2 -1
  128. package/front_end/panels/application/DeviceBoundSessionsView.ts +2 -6
  129. package/front_end/panels/application/IndexedDBViews.ts +245 -262
  130. package/front_end/panels/application/OpenedWindowDetailsView.ts +1 -1
  131. package/front_end/panels/application/ResourcesPanel.ts +9 -2
  132. package/front_end/panels/application/ServiceWorkersView.ts +252 -211
  133. package/front_end/panels/application/StorageView.ts +97 -33
  134. package/front_end/panels/application/WebMCPView.ts +15 -1
  135. package/front_end/panels/application/components/AdsView.ts +1 -1
  136. package/front_end/panels/application/indexedDBViews.css +38 -9
  137. package/front_end/panels/application/preloading/helper/PreloadingForward.ts +2 -1
  138. package/front_end/panels/application/resourcesSidebar.css +5 -0
  139. package/front_end/panels/application/storageView.css +26 -9
  140. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +5 -1
  141. package/front_end/panels/browser_debugger/browser_debugger-meta.ts +8 -6
  142. package/front_end/panels/common/DOMLinkifier.ts +1 -1
  143. package/front_end/panels/common/ExtensionServer.ts +119 -14
  144. package/front_end/panels/console/ConsoleContextSelector.ts +4 -4
  145. package/front_end/panels/console/ConsolePinPane.ts +12 -12
  146. package/front_end/panels/console/ConsolePrompt.ts +6 -6
  147. package/front_end/panels/console/ConsoleSidebar.ts +7 -7
  148. package/front_end/panels/console/ConsoleView.ts +45 -44
  149. package/front_end/panels/console/ConsoleViewMessage.ts +40 -40
  150. package/front_end/panels/console/SymbolizedErrorWidget.ts +2 -1
  151. package/front_end/panels/console/console-meta.ts +34 -34
  152. package/front_end/panels/console_counters/WarningErrorCounter.ts +2 -2
  153. package/front_end/panels/coverage/CoverageListView.ts +28 -28
  154. package/front_end/panels/coverage/CoverageModel.ts +2 -1
  155. package/front_end/panels/coverage/CoverageView.ts +23 -23
  156. package/front_end/panels/coverage/coverage-meta.ts +5 -5
  157. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +36 -36
  158. package/front_end/panels/css_overview/CSSOverviewProcessingView.ts +1 -1
  159. package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +2 -2
  160. package/front_end/panels/css_overview/CSSOverviewStartView.ts +6 -6
  161. package/front_end/panels/css_overview/CSSOverviewUnusedDeclarations.ts +6 -6
  162. package/front_end/panels/css_overview/css_overview-meta.ts +2 -2
  163. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +20 -21
  164. package/front_end/panels/developer_resources/DeveloperResourcesView.ts +6 -8
  165. package/front_end/panels/developer_resources/developer_resources-meta.ts +2 -2
  166. package/front_end/panels/elements/AccessibilityTreeUtils.ts +8 -102
  167. package/front_end/panels/elements/AccessibilityTreeView.ts +163 -70
  168. package/front_end/panels/elements/ElementsPanel.ts +17 -11
  169. package/front_end/panels/elements/ElementsTreeElement.ts +49 -2
  170. package/front_end/panels/elements/ElementsTreeOutline.ts +4 -4
  171. package/front_end/panels/elements/LayoutPane.ts +1 -1
  172. package/front_end/panels/elements/MetricsSidebarPane.ts +100 -34
  173. package/front_end/panels/elements/StylePropertiesSection.ts +2 -2
  174. package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -2
  175. package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
  176. package/front_end/panels/elements/components/AccessibilityTreeNode.ts +7 -18
  177. package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +2 -2
  178. package/front_end/panels/elements/components/QueryContainer.ts +1 -1
  179. package/front_end/panels/issues/AffectedDirectivesView.ts +1 -1
  180. package/front_end/panels/issues/AffectedResourcesView.ts +2 -1
  181. package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
  182. package/front_end/panels/media/EventDisplayTable.ts +2 -2
  183. package/front_end/panels/media/EventTimelineView.ts +4 -4
  184. package/front_end/panels/media/MainView.ts +4 -4
  185. package/front_end/panels/media/PlayerDetailView.ts +5 -5
  186. package/front_end/panels/media/PlayerListView.ts +1 -1
  187. package/front_end/panels/media/PlayerMessagesView.ts +12 -12
  188. package/front_end/panels/media/PlayerPropertiesView.ts +17 -17
  189. package/front_end/panels/network/NetworkDataGridNode.ts +124 -36
  190. package/front_end/panels/network/NetworkLogView.ts +11 -2
  191. package/front_end/panels/network/NetworkLogViewColumns.ts +18 -0
  192. package/front_end/panels/network/NetworkPanel.ts +2 -1
  193. package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -3
  194. package/front_end/panels/network/RequestConditionsDrawer.ts +2 -2
  195. package/front_end/panels/network/RequestPayloadView.ts +53 -7
  196. package/front_end/panels/network/RequestPreviewView.ts +7 -1
  197. package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
  198. package/front_end/panels/network/forward/UIFilter.ts +1 -0
  199. package/front_end/panels/network/networkPanel.css +1 -0
  200. package/front_end/panels/network/networkTimingTable.css +1 -1
  201. package/front_end/panels/network/requestPayloadView.css +10 -0
  202. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +12 -12
  203. package/front_end/panels/performance_monitor/performance_monitor-meta.ts +7 -7
  204. package/front_end/panels/profiler/HeapDetachedElementsView.ts +2 -2
  205. package/front_end/panels/profiler/HeapProfileView.ts +563 -51
  206. package/front_end/panels/profiler/HeapSnapshotView.ts +15 -9
  207. package/front_end/panels/profiler/ProfilesPanel.ts +13 -7
  208. package/front_end/panels/profiler/WritableProfileHeader.ts +152 -0
  209. package/front_end/panels/profiler/profiler.ts +2 -2
  210. package/front_end/panels/protocol_monitor/JSONEditor.ts +10 -10
  211. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +28 -32
  212. package/front_end/panels/protocol_monitor/protocol_monitor-meta.ts +1 -1
  213. package/front_end/panels/recorder/RecorderController.ts +15 -15
  214. package/front_end/panels/recorder/RecorderEvents.ts +8 -0
  215. package/front_end/panels/recorder/components/CreateRecordingView.ts +11 -11
  216. package/front_end/panels/recorder/components/ExtensionView.ts +74 -83
  217. package/front_end/panels/recorder/components/RecordingListView.ts +3 -3
  218. package/front_end/panels/recorder/components/RecordingView.ts +13 -10
  219. package/front_end/panels/recorder/components/ReplaySection.ts +9 -9
  220. package/front_end/panels/recorder/components/StepEditor.ts +352 -321
  221. package/front_end/panels/recorder/components/StepView.ts +36 -37
  222. package/front_end/panels/recorder/components/recordingView.css +1 -1
  223. package/front_end/panels/recorder/models/RecorderSettings.ts +2 -2
  224. package/front_end/panels/recorder/recorder-meta.ts +7 -7
  225. package/front_end/panels/screencast/ScreencastApp.ts +1 -1
  226. package/front_end/panels/screencast/ScreencastView.ts +12 -12
  227. package/front_end/panels/search/SearchResultsPane.ts +4 -4
  228. package/front_end/panels/search/SearchView.ts +20 -20
  229. package/front_end/panels/security/SecurityModel.ts +7 -7
  230. package/front_end/panels/security/SecurityPanel.ts +99 -107
  231. package/front_end/panels/security/SecurityPanelSidebar.ts +7 -7
  232. package/front_end/panels/security/security-meta.ts +2 -2
  233. package/front_end/panels/sensors/LocationsSettingsTab.ts +19 -19
  234. package/front_end/panels/sensors/SensorsView.ts +27 -27
  235. package/front_end/panels/sensors/sensors-meta.ts +13 -167
  236. package/front_end/panels/settings/AISettingsTab.ts +98 -56
  237. package/front_end/panels/settings/EditFileSystemView.ts +2 -2
  238. package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +20 -20
  239. package/front_end/panels/settings/KeybindsSettingsTab.ts +20 -21
  240. package/front_end/panels/settings/SettingsScreen.ts +11 -11
  241. package/front_end/panels/settings/WorkspaceSettingsTab.ts +5 -5
  242. package/front_end/panels/settings/components/SyncSection.ts +12 -12
  243. package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +13 -13
  244. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +31 -31
  245. package/front_end/panels/settings/emulation/emulation-meta.ts +1 -1
  246. package/front_end/panels/settings/settings-meta.ts +14 -14
  247. package/front_end/panels/sources/NavigatorView.ts +7 -6
  248. package/front_end/panels/sources/ScopeChainSidebarPane.ts +83 -37
  249. package/front_end/panels/sources/SourcesNavigator.ts +20 -18
  250. package/front_end/panels/sources/SourcesView.ts +10 -1
  251. package/front_end/panels/sources/scopeChainSidebarPane.css +12 -4
  252. package/front_end/panels/sources/sources-meta.ts +4 -4
  253. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +5 -2
  254. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +2 -1
  255. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +2 -1
  256. package/front_end/panels/timeline/TimelineFlameChartView.ts +1 -1
  257. package/front_end/panels/timeline/TimelinePanel.ts +2 -1
  258. package/front_end/panels/timeline/TimelineUIUtils.ts +5 -2
  259. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +4 -2
  260. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +4 -2
  261. package/front_end/panels/timeline/components/insights/ImageRef.ts +2 -1
  262. package/front_end/panels/utils/utils.ts +7 -3
  263. package/front_end/panels/web_audio/WebAudioView.ts +17 -18
  264. package/front_end/panels/web_audio/web_audio-meta.ts +3 -3
  265. package/front_end/panels/webauthn/WebauthnPane.ts +10 -10
  266. package/front_end/panels/whats_new/ReleaseNoteView.ts +1 -1
  267. package/front_end/panels/whats_new/whats_new-meta.ts +11 -11
  268. package/front_end/third_party/chromium/README.chromium +1 -1
  269. package/front_end/third_party/lit/lib/async-directive.d.ts +2 -1
  270. package/front_end/third_party/lit/lib/async-directive.js +1 -1
  271. package/front_end/third_party/lit/lib/async-directive.js.map +1 -1
  272. package/front_end/third_party/lit/lib/decorators.d.ts +2 -1
  273. package/front_end/third_party/lit/lib/decorators.js.map +1 -1
  274. package/front_end/third_party/lit/lib/directive.d.ts +2 -1
  275. package/front_end/third_party/lit/lib/directive.js.map +1 -1
  276. package/front_end/third_party/lit/lib/directives.d.ts +2 -1
  277. package/front_end/third_party/lit/lib/directives.js +8 -8
  278. package/front_end/third_party/lit/lib/directives.js.map +1 -1
  279. package/front_end/third_party/lit/lib/lit.d.ts +2 -1
  280. package/front_end/third_party/lit/lib/lit.js +1 -1
  281. package/front_end/third_party/lit/lib/lit.js.map +1 -1
  282. package/front_end/third_party/lit/lib/static-html.d.ts +2 -1
  283. package/front_end/third_party/lit/lib/static-html.js +1 -1
  284. package/front_end/third_party/lit/lib/static-html.js.map +1 -1
  285. package/front_end/third_party/lit/package.json +2 -2
  286. package/front_end/third_party/lit/rebuild.sh +1 -1
  287. package/front_end/third_party/lit/src/async-directive.ts +5 -0
  288. package/front_end/ui/components/dialogs/Dialog.ts +1 -1
  289. package/front_end/ui/components/dialogs/ShortcutDialog.ts +1 -1
  290. package/front_end/ui/components/dialogs/shortcutDialog.css +15 -12
  291. package/front_end/ui/components/diff_view/DiffView.ts +2 -2
  292. package/front_end/ui/components/issue_counter/IssueCounter.ts +3 -3
  293. package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +5 -5
  294. package/front_end/ui/components/lists/List.ts +2 -2
  295. package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -1
  296. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +5 -5
  297. package/front_end/ui/components/settings/SettingCheckbox.ts +1 -1
  298. package/front_end/ui/components/snackbars/Snackbar.ts +1 -1
  299. package/front_end/ui/components/survey_link/SurveyLink.ts +3 -3
  300. package/front_end/ui/components/text_editor/config.ts +2 -2
  301. package/front_end/ui/components/tree_outline/TreeOutline.ts +34 -1
  302. package/front_end/ui/legacy/ReportView.ts +5 -0
  303. package/front_end/ui/legacy/Treeoutline.ts +18 -0
  304. package/front_end/ui/legacy/View.ts +1 -1
  305. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +2 -0
  306. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +8 -3
  307. package/front_end/ui/legacy/components/data_grid/data_grid.ts +1 -0
  308. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +1 -1
  309. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +100 -36
  310. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +7 -1
  311. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +5 -0
  312. package/front_end/ui/legacy/components/utils/ImagePreview.ts +4 -2
  313. package/front_end/ui/legacy/inspectorCommon.css +5 -0
  314. package/front_end/ui/visual_logging/KnownContextValues.ts +4 -0
  315. package/mcp/mcp.ts +2 -0
  316. package/package.json +4 -4
  317. package/front_end/panels/profiler/ProfileView.ts +0 -610
@@ -52,7 +52,7 @@ import {RemoteObjectPreviewFormatter, renderNodeTitle} from './RemoteObjectPrevi
52
52
 
53
53
  export {objectPropertiesSectionStyles, objectValueStyles};
54
54
  const {widget} = UI.Widget;
55
- const {ref, repeat, ifDefined, classMap} = Directives;
55
+ const {ref, repeat, ifDefined, classMap, until} = Directives;
56
56
  const UIStrings = {
57
57
  /**
58
58
  * @description Text in Object Properties Section
@@ -92,6 +92,10 @@ const UIStrings = {
92
92
  * @example {50} PH1
93
93
  */
94
94
  showAllD: 'Show all {PH1}',
95
+ /**
96
+ * @description Show all properties including those with null or undefined values
97
+ */
98
+ showAll: 'Show all',
95
99
  /**
96
100
  * @description Value element text content in Object Properties Section. Shown when the developer is
97
101
  * viewing a variable in the Scope view, whose value is not available (i.e. because it was optimized
@@ -145,6 +149,13 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
145
149
  export const EXPANDABLE_MAX_DEPTH = 100;
146
150
 
147
151
  const objectPropertiesSectionMap = new WeakMap<Element, ObjectPropertiesSection>();
152
+ // TODO(crbug.com/457388389): This cache is a temporary workaround for the <devtools-tree> migration.
153
+ // It can be removed once the entire ObjectPropertiesSection is fully migrated to Lit and
154
+ // the legacy TreeOutline/TreeElement dependencies are removed.
155
+ const topLevelNodesCache = new WeakMap<ObjectTreeNodeBase, {
156
+ nodes: UI.TreeOutline.TreeElement[],
157
+ linkifier?: Components.Linkifier.Linkifier,
158
+ }>();
148
159
 
149
160
  interface NodeChildren {
150
161
  properties?: ObjectTreeNode[];
@@ -431,7 +442,6 @@ export abstract class ObjectTreeNodeBase extends Common.ObjectWrapper.ObjectWrap
431
442
  get canExpandRecursively(): boolean {
432
443
  return true;
433
444
  }
434
-
435
445
  get sortPropertiesAlphabetically(): boolean {
436
446
  if (this.isWasm) {
437
447
  return false;
@@ -447,6 +457,7 @@ export abstract class ObjectTreeNodeBase extends Common.ObjectWrapper.ObjectWrap
447
457
  setting.set(value);
448
458
  this.removeChildren();
449
459
  }
460
+
450
461
  // Performs a pre-order tree traversal over the populated children. If any children need to be populated, callers must
451
462
  // do that while walking (pre-order visitation enables that).
452
463
  * #walk(maxDepth = -1, filter?: (node: ObjectTreeNodeBase) => boolean): Generator<ObjectTreeNodeBase> {
@@ -772,7 +783,6 @@ export class ObjectTreeNode extends ObjectTreeNodeBase {
772
783
  override get canExpandRecursively(): boolean {
773
784
  return this.property.name !== '[[Prototype]]';
774
785
  }
775
-
776
786
  get name(): string {
777
787
  return this.property.name;
778
788
  }
@@ -1164,7 +1174,8 @@ export class ObjectPropertiesSection extends UI.TreeOutline.TreeOutlineInShadow
1164
1174
  event.consume(true);
1165
1175
  }}
1166
1176
  @mousemove=${() => SDK.OverlayModel.OverlayModel.highlightObjectAsDOMNode(value)}
1167
- @mouseleave=${() => SDK.OverlayModel.OverlayModel.hideDOMNodeHighlight()}
1177
+ @mouseleave=${
1178
+ () => SDK.OverlayModel.OverlayModel.hideDOMNodeHighlight(SDK.TargetManager.TargetManager.instance())}
1168
1179
  >${renderNodeTitle(description)}</span>`;
1169
1180
  }
1170
1181
  if (description.length > maxRenderableStringLength) {
@@ -1297,6 +1308,77 @@ export const enum ObjectPropertiesMode {
1297
1308
  OWN_AND_INTERNAL_AND_INHERITED = 1, // Own, internal, and inherited properties
1298
1309
  }
1299
1310
 
1311
+ export function populateObjectTreeContextMenu(
1312
+ contextMenu: UI.ContextMenu.ContextMenu,
1313
+ object: ObjectTree,
1314
+ expandRecursively: () => void,
1315
+ collapseChildren: () => void,
1316
+ sortPropertiesAlphabetically: () => void,
1317
+ onShowAllToggled: () => void,
1318
+ ): void {
1319
+ contextMenu.appendApplicableItems(object.object);
1320
+
1321
+ if (object.object instanceof SDK.RemoteObject.LocalJSONObject) {
1322
+ const {value} = object.object;
1323
+ const propertyValue = typeof value === 'object' ? JSON.stringify(value, null, 2) : value;
1324
+ const copyValueHandler = (): void => {
1325
+ Host.userMetrics.actionTaken(Host.UserMetrics.Action.NetworkPanelCopyValue);
1326
+ Host.InspectorFrontendHost.InspectorFrontendHostInstance.copyText((propertyValue as string | undefined));
1327
+ };
1328
+ contextMenu.clipboardSection().appendItem(i18nString(UIStrings.copyValue), copyValueHandler,
1329
+ {jslogContext: 'copy-value'});
1330
+ }
1331
+
1332
+ contextMenu.viewSection().appendItem(i18nString(UIStrings.expandRecursively), expandRecursively,
1333
+ {jslogContext: 'expand-recursively'});
1334
+ contextMenu.viewSection().appendItem(i18nString(UIStrings.collapseChildren), collapseChildren,
1335
+ {jslogContext: 'collapse-children'});
1336
+ if (!object.isWasm) {
1337
+ contextMenu.viewSection().appendCheckboxItem(i18nString(UIStrings.sortPropertiesAlphabetically),
1338
+ sortPropertiesAlphabetically, {
1339
+ checked: object.sortPropertiesAlphabetically,
1340
+ jslogContext: 'sort-properties-alphabetically',
1341
+ });
1342
+ }
1343
+ contextMenu.viewSection().appendCheckboxItem(
1344
+ i18nString(UIStrings.showAll), onShowAllToggled,
1345
+ {checked: object.includeNullOrUndefinedValues, jslogContext: 'show-all'});
1346
+ }
1347
+
1348
+ export function renderObjectTree(
1349
+ objectTree: ObjectTree,
1350
+ linkifier?: Components.Linkifier.Linkifier,
1351
+ emptyPlaceholder?: string|null,
1352
+ ): unknown {
1353
+ const entry = topLevelNodesCache.get(objectTree);
1354
+ if (entry && entry.linkifier === linkifier) {
1355
+ return html`
1356
+ <ul class="source-code object-properties-section" role="group">
1357
+ ${entry.nodes.map(node => html`<devtools-tree-wrapper .treeElement=${node}></devtools-tree-wrapper>`)}
1358
+ </ul>
1359
+ `;
1360
+ }
1361
+
1362
+ const promise = (async () => {
1363
+ await ObjectPropertyTreeElement.populateChildrenIfNeeded(objectTree);
1364
+ const nodes = Array.from(ObjectPropertyTreeElement.createNodes(
1365
+ objectTree, /* skipProto= */ false, /* skipGettersAndSetters= */ false, linkifier, emptyPlaceholder));
1366
+ topLevelNodesCache.set(objectTree, {linkifier, nodes});
1367
+ const listener = (): void => {
1368
+ topLevelNodesCache.delete(objectTree);
1369
+ objectTree.removeEventListener(ObjectTreeNodeBase.Events.CHILDREN_CHANGED, listener);
1370
+ };
1371
+ objectTree.addEventListener(ObjectTreeNodeBase.Events.CHILDREN_CHANGED, listener);
1372
+
1373
+ return html`
1374
+ <ul class="source-code object-properties-section" role="group">
1375
+ ${nodes.map(node => html`<devtools-tree-wrapper .treeElement=${node}></devtools-tree-wrapper>`)}
1376
+ </ul>
1377
+ `;
1378
+ })();
1379
+
1380
+ return until(promise, html`<ul class="source-code object-properties-section" role="group"></ul>`);
1381
+ }
1300
1382
  export class RootElement extends UI.TreeOutline.TreeElement {
1301
1383
  private readonly object: ObjectTree;
1302
1384
  private readonly linkifier: Components.Linkifier.Linkifier|undefined;
@@ -1341,35 +1423,18 @@ export class RootElement extends UI.TreeOutline.TreeElement {
1341
1423
 
1342
1424
  private onContextMenu(event: Event): void {
1343
1425
  const contextMenu = new UI.ContextMenu.ContextMenu(event);
1344
- contextMenu.appendApplicableItems(this.object.object);
1345
-
1346
- if (this.object instanceof SDK.RemoteObject.LocalJSONObject) {
1347
- const {value} = this.object;
1348
- const propertyValue = typeof value === 'object' ? JSON.stringify(value, null, 2) : value;
1349
- const copyValueHandler = (): void => {
1350
- Host.userMetrics.actionTaken(Host.UserMetrics.Action.NetworkPanelCopyValue);
1351
- Host.InspectorFrontendHost.InspectorFrontendHostInstance.copyText((propertyValue as string | undefined));
1352
- };
1353
- contextMenu.clipboardSection().appendItem(
1354
- i18nString(UIStrings.copyValue), copyValueHandler, {jslogContext: 'copy-value'});
1355
- }
1356
-
1357
- contextMenu.viewSection().appendItem(
1358
- i18nString(UIStrings.expandRecursively), this.expandRecursively.bind(this, EXPANDABLE_MAX_DEPTH),
1359
- {jslogContext: 'expand-recursively'});
1360
- contextMenu.viewSection().appendItem(
1361
- i18nString(UIStrings.collapseChildren), this.collapseChildren.bind(this), {jslogContext: 'collapse-children'});
1362
- if (!this.object.isWasm) {
1363
- contextMenu.viewSection().appendCheckboxItem(i18nString(UIStrings.sortPropertiesAlphabetically), () => {
1364
- this.object.sortPropertiesAlphabetically = !this.object.sortPropertiesAlphabetically;
1365
- }, {
1366
- checked: this.object.sortPropertiesAlphabetically,
1367
- jslogContext: 'sort-properties-alphabetically',
1368
- });
1369
- }
1370
- contextMenu.viewSection().appendCheckboxItem(i18n.i18n.lockedString('Show all'), () => {
1371
- this.object.includeNullOrUndefinedValues = !this.object.includeNullOrUndefinedValues;
1372
- }, {checked: this.object.includeNullOrUndefinedValues, jslogContext: 'show-all'});
1426
+ populateObjectTreeContextMenu(
1427
+ contextMenu,
1428
+ this.object,
1429
+ this.expandRecursively.bind(this, EXPANDABLE_MAX_DEPTH),
1430
+ this.collapseChildren.bind(this),
1431
+ () => {
1432
+ this.object.sortPropertiesAlphabetically = !this.object.sortPropertiesAlphabetically;
1433
+ },
1434
+ () => {
1435
+ this.object.includeNullOrUndefinedValues = !this.object.includeNullOrUndefinedValues;
1436
+ },
1437
+ );
1373
1438
  void contextMenu.show();
1374
1439
  }
1375
1440
 
@@ -1674,6 +1739,7 @@ export class ObjectPropertyTreeElement extends UI.TreeOutline.TreeElement {
1674
1739
  super();
1675
1740
 
1676
1741
  this.#widget = new ObjectPropertyWidget();
1742
+ this.#widget.markAsRoot();
1677
1743
  this.property = property;
1678
1744
  this.hidden = property.isFiltered;
1679
1745
  this.property.addEventListener(ObjectTreeNodeBase.Events.VALUE_CHANGED, this.#updateValue, this);
@@ -1894,7 +1960,6 @@ export class ObjectPropertyTreeElement extends UI.TreeOutline.TreeElement {
1894
1960
 
1895
1961
  override onattach(): void {
1896
1962
  this.updateExpandable();
1897
- this.#widget.markAsRoot();
1898
1963
  this.#widget.show(this.listItemElement);
1899
1964
  this.#widget.property = this.property;
1900
1965
  this.#widget.linkifier = this.linkifier;
@@ -1932,7 +1997,6 @@ export class ObjectPropertyTreeElement extends UI.TreeOutline.TreeElement {
1932
1997
  this.collapse();
1933
1998
  }
1934
1999
  }
1935
-
1936
2000
  getContextMenu(event: Event): UI.ContextMenu.ContextMenu {
1937
2001
  const contextMenu = new UI.ContextMenu.ContextMenu(event);
1938
2002
  contextMenu.appendApplicableItems(this);
@@ -1978,7 +2042,7 @@ export class ObjectPropertyTreeElement extends UI.TreeOutline.TreeElement {
1978
2042
  jslogContext: 'sort-properties-alphabetically',
1979
2043
  });
1980
2044
  }
1981
- contextMenu.viewSection().appendCheckboxItem(i18n.i18n.lockedString('Show all'), () => {
2045
+ contextMenu.viewSection().appendCheckboxItem(i18nString(UIStrings.showAll), () => {
1982
2046
  root.includeNullOrUndefinedValues = !root.includeNullOrUndefinedValues;
1983
2047
  }, {checked: root.includeNullOrUndefinedValues, jslogContext: 'show-all'});
1984
2048
  return contextMenu;
@@ -38,6 +38,7 @@ import * as Common from '../../../../core/common/common.js';
38
38
  import * as i18n from '../../../../core/i18n/i18n.js';
39
39
  import * as FormatterActions from '../../../../entrypoints/formatter_worker/FormatterActions.js'; // eslint-disable-line @devtools/es-modules-import
40
40
  import * as TextUtils from '../../../../models/text_utils/text_utils.js';
41
+ import {render} from '../../../../ui/lit/lit.js';
41
42
  import * as UI from '../../legacy.js';
42
43
 
43
44
  import resourceSourceFrameStyles from './resourceSourceFrame.css.js';
@@ -118,7 +119,12 @@ export class SearchableContainer extends UI.Widget.VBox {
118
119
 
119
120
  const toolbar = this.contentElement.createChild('devtools-toolbar', 'toolbar');
120
121
  void sourceFrame.toolbarItems().then(items => {
121
- items.map(item => toolbar.appendToolbarItem(item));
122
+ if (Array.isArray(items)) {
123
+ items.map(item => toolbar.appendToolbarItem(item));
124
+ } else {
125
+ // eslint-disable-next-line @devtools/no-lit-render-outside-of-view
126
+ render(items, toolbar);
127
+ }
122
128
  });
123
129
  }
124
130
 
@@ -31,6 +31,10 @@ const UIStrings = {
31
31
  * @description Text when something is loading
32
32
  */
33
33
  loading: 'Loading…',
34
+ /**
35
+ * @description Text when a file is currently being pretty printed/formatted in the editor
36
+ */
37
+ formatting: 'Formatting…',
34
38
  /**
35
39
  * @description Shown at the bottom of the Sources panel when the user has made multiple
36
40
  * simultaneous text selections in the text editor.
@@ -387,6 +391,7 @@ export class SourceFrameImpl extends Common.ObjectWrapper.eventMixin<EventTypes,
387
391
  if (this.prettyInternal) {
388
392
  const content =
389
393
  this.rawContent instanceof CodeMirror.Text ? this.rawContent.sliceString(0) : this.rawContent || '';
394
+ this.textEditor.state = this.placeholderEditorState(i18nString(UIStrings.formatting));
390
395
  const formatInfo = await Formatter.ScriptFormatter.formatScriptContent(this.contentType, content);
391
396
  this.formattedMap = formatInfo.formattedMapping;
392
397
  await this.setContent(formatInfo.formattedContent);
@@ -84,11 +84,13 @@ export class ImagePreview {
84
84
  ): Promise<HTMLDivElement|null> {
85
85
  const {precomputedFeatures, imageAltText, align} = options;
86
86
 
87
- let resource = SDK.ResourceTreeModel.ResourceTreeModel.resourceForURL(originalImageURL);
87
+ let resource = SDK.ResourceTreeModel.ResourceTreeModel.resourceForURL(SDK.TargetManager.TargetManager.instance(),
88
+ originalImageURL);
88
89
  let imageURL = originalImageURL;
89
90
  if (!isImageResource(resource) && precomputedFeatures?.currentSrc) {
90
91
  imageURL = precomputedFeatures.currentSrc;
91
- resource = SDK.ResourceTreeModel.ResourceTreeModel.resourceForURL(imageURL);
92
+ resource =
93
+ SDK.ResourceTreeModel.ResourceTreeModel.resourceForURL(SDK.TargetManager.TargetManager.instance(), imageURL);
92
94
  }
93
95
  if (!resource || !isImageResource(resource)) {
94
96
  return null;
@@ -743,6 +743,11 @@ devtools-toolbar {
743
743
  }
744
744
  }
745
745
 
746
+ & > devtools-link,
747
+ & > .devtools-link {
748
+ cursor: pointer;
749
+ }
750
+
746
751
  .status-buttons {
747
752
  padding: 0 var(--sys-size-2);
748
753
  gap: var(--sys-size-2);
@@ -1633,6 +1633,7 @@ export const knownContextValues = new Set([
1633
1633
  'evolved-cls',
1634
1634
  'exclude-folder',
1635
1635
  'exclude-folder-confirmation',
1636
+ 'execution-context',
1636
1637
  'expand',
1637
1638
  'expand-recursively',
1638
1639
  'experimental-item',
@@ -2128,6 +2129,7 @@ export const knownContextValues = new Set([
2128
2129
  'is-ad-related',
2129
2130
  'is-landscape',
2130
2131
  'is-mobile',
2132
+ 'is-preloaded',
2131
2133
  'is-resident-credential',
2132
2134
  'is-u',
2133
2135
  'is-user-active-false-is-screen-unlocked-false',
@@ -3568,6 +3570,7 @@ export const knownContextValues = new Set([
3568
3570
  'seeked',
3569
3571
  'seeking',
3570
3572
  'select',
3573
+ 'select-all',
3571
3574
  'select-element',
3572
3575
  'select-folder',
3573
3576
  'select-next',
@@ -4495,6 +4498,7 @@ export const knownContextValues = new Set([
4495
4498
  'window',
4496
4499
  'window-controls',
4497
4500
  'window-controls-overlay',
4501
+ 'window-drag',
4498
4502
  'windows',
4499
4503
  'word-break',
4500
4504
  'word-spacing',
package/mcp/mcp.ts CHANGED
@@ -7,6 +7,8 @@
7
7
  // just import relevant meta files (as long as they don't contain any UI related code)
8
8
  import '../front_end/core/sdk/sdk-meta.js';
9
9
  import '../front_end/models/workspace/workspace-meta.js';
10
+ import '../front_end/models/persistence/persistence-meta.js';
11
+ import '../front_end/models/logs/logs-meta.js';
10
12
 
11
13
  /**
12
14
  * IMPORTANT! Make sure that any class that is exported here has related unit
package/package.json CHANGED
@@ -27,6 +27,7 @@
27
27
  "lint": "vpython3 third_party/node/node.py --output scripts/test/run_lint_check.mjs",
28
28
  "prebuild": "gn gen out/Default",
29
29
  "rdb": "rdb stream -new -realm chromium:public --",
30
+ "rdb-exonerate": "npm run rdb -- vpython3 third_party/node/node.py --output scripts/run_on_target.mjs gen/test/exonerate.js",
30
31
  "start": "vpython3 third_party/node/node.py --output scripts/run_start.mjs",
31
32
  "webtest": "vpython3 third_party/node/node.py --output scripts/npm_test.js",
32
33
  "watch": "npm run build -- --watch",
@@ -68,7 +69,6 @@
68
69
  "karma-chrome-launcher": "3.2.0",
69
70
  "karma-coverage": "2.2.1",
70
71
  "karma-mocha": "2.0.1",
71
- "karma-mocha-reporter": "2.2.5",
72
72
  "karma-sourcemap-loader": "0.4.0",
73
73
  "karma-spec-reporter": "0.0.36",
74
74
  "license-checker": "25.0.1",
@@ -76,7 +76,7 @@
76
76
  "mocha": "11.7.5",
77
77
  "ora": "9.0.0",
78
78
  "postcss": "8.5.15",
79
- "puppeteer-core": "25.2.0",
79
+ "puppeteer-core": "25.3.0",
80
80
  "rollup": "4.60.4",
81
81
  "rollup-plugin-sourcemaps2": "0.5.4",
82
82
  "sinon": "22.0.0",
@@ -84,7 +84,7 @@
84
84
  "stylelint": "16.25.0",
85
85
  "stylelint-config-standard": "39.0.1",
86
86
  "svgo": "3.3.3",
87
- "terser": "5.44.1",
87
+ "terser": "5.48.0",
88
88
  "ts-lit-plugin": "2.0.2",
89
89
  "typescript": "6.0.2",
90
90
  "typescript-eslint": "8.58.0",
@@ -92,5 +92,5 @@
92
92
  "webidl2": "24.5.0",
93
93
  "yargs": "17.7.2"
94
94
  },
95
- "version": "1.0.1657110"
95
+ "version": "1.0.1660788"
96
96
  }