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
@@ -1,14 +1,11 @@
1
1
  // Copyright 2023 The Chromium Authors
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
- /* eslint-disable @devtools/no-lit-render-outside-of-view */
5
-
6
- import '../../../ui/legacy/legacy.js';
7
- import '../../../ui/kit/kit.js';
8
4
 
9
5
  import * as i18n from '../../../core/i18n/i18n.js';
10
6
  import type * as PublicExtensions from '../../../models/extensions/extensions.js';
11
7
  import * as Buttons from '../../../ui/components/buttons/buttons.js';
8
+ import * as UI from '../../../ui/legacy/legacy.js';
12
9
  import * as Lit from '../../../ui/lit/lit.js';
13
10
  import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
14
11
  import * as Extensions from '../extensions/extensions.js';
@@ -27,106 +24,100 @@ const UIStrings = {
27
24
  */
28
25
  extension: 'Content provided by a browser extension',
29
26
  } as const;
30
- const str_ = i18n.i18n.registerUIStrings(
31
- 'panels/recorder/components/ExtensionView.ts',
32
- UIStrings,
33
- );
27
+ const str_ = i18n.i18n.registerUIStrings('panels/recorder/components/ExtensionView.ts', UIStrings);
34
28
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
35
29
 
36
- declare global {
37
- interface HTMLElementTagNameMap {
38
- 'devtools-recorder-extension-view': ExtensionView;
39
- }
40
- interface HTMLElementEventMap {
41
- recorderextensionviewclosed: ClosedEvent;
42
- }
30
+ export interface ViewInput {
31
+ descriptor: PublicExtensions.RecorderPluginManager.ViewDescriptor;
32
+ iframe: HTMLElement;
43
33
  }
44
34
 
45
- export class ClosedEvent extends Event {
46
- static readonly eventName = 'recorderextensionviewclosed';
47
- constructor() {
48
- super(ClosedEvent.eventName, {bubbles: true, composed: true});
49
- }
35
+ export interface ViewOutput {
36
+ closeView: () => void;
50
37
  }
51
38
 
52
- export class ExtensionView extends HTMLElement {
53
- readonly #shadow = this.attachShadow({mode: 'open'});
39
+ export type View = (input: ViewInput, output: ViewOutput, target: HTMLElement) => void;
40
+
41
+ export const DEFAULT_VIEW: View = (input, output, target) => {
42
+ const {descriptor, iframe} = input;
43
+ // clang-format off
44
+ Lit.render(
45
+ html`
46
+ <style>${extensionViewStyles}</style>
47
+ <div class="extension-view">
48
+ <header>
49
+ <div class="title">
50
+ <devtools-icon
51
+ class="icon"
52
+ title=${i18nString(UIStrings.extension)}
53
+ name="extension">
54
+ </devtools-icon>
55
+ ${descriptor.title}
56
+ </div>
57
+ <devtools-button
58
+ title=${i18nString(UIStrings.closeView)}
59
+ jslog=${VisualLogging.close().track({click: true})}
60
+ .data=${
61
+ {
62
+ variant: Buttons.Button.Variant.ICON,
63
+ size: Buttons.Button.Size.SMALL,
64
+ iconName: 'cross',
65
+ } as Buttons.Button.ButtonData
66
+ }
67
+ @click=${output.closeView}
68
+ ></devtools-button>
69
+ </header>
70
+ <main>
71
+ ${iframe}
72
+ </main>
73
+ </div>
74
+ `, target, {container: {attributes: {jslog: VisualLogging.section('extension-view')}}});
75
+ // clang-format on
76
+ };
77
+
78
+ export class ExtensionView extends UI.Widget.VBox {
54
79
  #descriptor?: PublicExtensions.RecorderPluginManager.ViewDescriptor;
55
-
56
- constructor() {
57
- super();
58
-
59
- this.setAttribute('jslog', `${VisualLogging.section('extension-view')}`);
80
+ #view: View;
81
+ #onClose?: () => void;
82
+ #viewOutput: ViewOutput = {
83
+ closeView: () => {
84
+ this.#onClose?.();
85
+ },
86
+ };
87
+
88
+ set onClose(callback: () => void) {
89
+ this.#onClose = callback;
60
90
  }
61
91
 
62
- connectedCallback(): void {
63
- this.#render();
92
+ constructor(element?: HTMLElement, view: View = DEFAULT_VIEW) {
93
+ super(element, {useShadowDom: true});
94
+ this.#view = view;
64
95
  }
65
96
 
66
- disconnectedCallback(): void {
67
- if (!this.#descriptor) {
68
- return;
69
- }
70
- Extensions.ExtensionManager.ExtensionManager.instance().getView(this.#descriptor.id).hide();
97
+ get descriptor(): PublicExtensions.RecorderPluginManager.ViewDescriptor|undefined {
98
+ return this.#descriptor;
71
99
  }
72
100
 
73
- set descriptor(
74
- descriptor: PublicExtensions.RecorderPluginManager.ViewDescriptor,
75
- ) {
101
+ set descriptor(descriptor: PublicExtensions.RecorderPluginManager.ViewDescriptor|undefined) {
76
102
  this.#descriptor = descriptor;
77
- this.#render();
78
- Extensions.ExtensionManager.ExtensionManager.instance().getView(descriptor.id).show();
103
+ if (descriptor) {
104
+ Extensions.ExtensionManager.ExtensionManager.instance().getView(descriptor.id).show();
105
+ }
106
+ this.requestUpdate();
79
107
  }
80
108
 
81
- #closeView(): void {
82
- this.dispatchEvent(new ClosedEvent());
109
+ override willHide(): void {
110
+ super.willHide();
111
+ if (this.#descriptor) {
112
+ Extensions.ExtensionManager.ExtensionManager.instance().getView(this.#descriptor.id).hide();
113
+ }
83
114
  }
84
115
 
85
- #render(): void {
116
+ override performUpdate(): void {
86
117
  if (!this.#descriptor) {
87
118
  return;
88
119
  }
89
120
  const iframe = Extensions.ExtensionManager.ExtensionManager.instance().getView(this.#descriptor.id).frame();
90
- // clang-format off
91
- Lit.render(
92
- html`
93
- <style>${extensionViewStyles}</style>
94
- <div class="extension-view">
95
- <header>
96
- <div class="title">
97
- <devtools-icon
98
- class="icon"
99
- title=${i18nString(UIStrings.extension)}
100
- name="extension">
101
- </devtools-icon>
102
- ${this.#descriptor.title}
103
- </div>
104
- <devtools-button
105
- title=${i18nString(UIStrings.closeView)}
106
- jslog=${VisualLogging.close().track({click: true})}
107
- .data=${
108
- {
109
- variant: Buttons.Button.Variant.ICON,
110
- size: Buttons.Button.Size.SMALL,
111
- iconName: 'cross',
112
- } as Buttons.Button.ButtonData
113
- }
114
- @click=${this.#closeView}
115
- ></devtools-button>
116
- </header>
117
- <main>
118
- ${iframe}
119
- </main>
120
- </div>
121
- `,
122
- this.#shadow,
123
- { host: this },
124
- );
125
- // clang-format on
121
+ this.#view({descriptor: this.#descriptor, iframe}, this.#viewOutput, this.contentElement);
126
122
  }
127
123
  }
128
-
129
- customElements.define(
130
- 'devtools-recorder-extension-view',
131
- ExtensionView,
132
- );
@@ -18,11 +18,11 @@ const {html} = Lit;
18
18
 
19
19
  const UIStrings = {
20
20
  /**
21
- * @description The title of the page that contains a list of saved recordings that the user has..
21
+ * @description The title of the page that contains a list of saved recordings.
22
22
  */
23
23
  savedRecordings: 'Saved recordings',
24
24
  /**
25
- * @description The title of the button that leads to create a new recording page.
25
+ * @description The title of the button that leads to the page for creating a new recording.
26
26
  */
27
27
  createRecording: 'Create a new recording',
28
28
  /**
@@ -34,7 +34,7 @@ const UIStrings = {
34
34
  */
35
35
  deleteRecording: 'Delete recording',
36
36
  /**
37
- * @description The title of the row corresponding to a recording. By clicking on the row, the user open the recording for editing.
37
+ * @description The title of the row corresponding to a recording. By clicking on the row, the user opens the recording for editing.
38
38
  */
39
39
  openRecording: 'Open recording',
40
40
  } as const;
@@ -3,7 +3,6 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import '../../../ui/kit/kit.js';
6
- import './ExtensionView.js';
7
6
 
8
7
  import * as Host from '../../../core/host/host.js';
9
8
  import * as i18n from '../../../core/i18n/i18n.js';
@@ -28,6 +27,7 @@ import {PlayRecordingSpeed} from '../models/RecordingPlayer.js';
28
27
  import * as Actions from '../recorder-actions/recorder-actions.js';
29
28
 
30
29
  import {ControlButton} from './ControlButton.js';
30
+ import {ExtensionView} from './ExtensionView.js';
31
31
  import recordingViewStyles from './recordingView.css.js';
32
32
  import {ReplaySection} from './ReplaySection.js';
33
33
  import {
@@ -80,11 +80,11 @@ const UIStrings = {
80
80
  */
81
81
  environment: 'Environment',
82
82
  /**
83
- * @description The title of the screenshot image that is shown for every section in the recordign view.
83
+ * @description The title of the screenshot image that is shown for every section in the recording view.
84
84
  */
85
85
  screenshotForSection: 'Screenshot for this section',
86
86
  /**
87
- * @description The title of the button that edits the current recording's title.
87
+ * @description The title of the button that edits the current recordings title.
88
88
  */
89
89
  editTitle: 'Edit title',
90
90
  /**
@@ -138,7 +138,7 @@ const UIStrings = {
138
138
  */
139
139
  addAssertion: 'Add assertion',
140
140
  /**
141
- * @description The title of the button that open current recording in Performance panel.
141
+ * @description The title of the button that opens the current recording in the Performance panel.
142
142
  */
143
143
  performancePanel: 'Performance panel',
144
144
  /**
@@ -148,7 +148,7 @@ const UIStrings = {
148
148
  /**
149
149
  * @description The announcement when the code sidebar is closed.
150
150
  */
151
- codeSidebarClosed: 'Code sidebar closed'
151
+ codeSidebarClosed: 'Code sidebar closed',
152
152
  } as const;
153
153
  const str_ = i18n.i18n.registerUIStrings(
154
154
  'panels/recorder/components/RecordingView.ts',
@@ -381,8 +381,8 @@ function renderTimelineArea(input: ViewInput, output: ViewOutput): Lit.LitTempla
381
381
  if (input.extensionDescriptor) {
382
382
  // clang-format off
383
383
  return html`
384
- <devtools-recorder-extension-view .descriptor=${input.extensionDescriptor}>
385
- </devtools-recorder-extension-view>
384
+ <devtools-widget class="recorder-extension-view" ${widget(ExtensionView, {descriptor: input.extensionDescriptor})}>
385
+ </devtools-widget>
386
386
  `;
387
387
  // clang-format on
388
388
  }
@@ -802,9 +802,12 @@ export const DEFAULT_VIEW = (input: ViewInput, output: ViewOutput, target: HTMLE
802
802
  ${
803
803
  input.extensionDescriptor
804
804
  ? html`
805
- <devtools-recorder-extension-view .descriptor=${
806
- input.extensionDescriptor
807
- }></devtools-recorder-extension-view>` : html`
805
+ <devtools-widget class="recorder-extension-view" ${widget(ExtensionView, {
806
+ descriptor: input.extensionDescriptor,
807
+ onClose: () => {
808
+ target.dispatchEvent(new Event('recorderextensionviewclosed', {bubbles: true, composed: true}));
809
+ }
810
+ })}></devtools-widget>` : html`
808
811
  ${renderSettings(input)}
809
812
  ${renderTimelineArea(input, output)}
810
813
  `}
@@ -19,39 +19,39 @@ const {html, Directives: {ifDefined, repeat}} = Lit;
19
19
 
20
20
  const UIStrings = {
21
21
  /**
22
- * @description Replay button label
22
+ * @description Replay button label.
23
23
  */
24
24
  Replay: 'Replay',
25
25
  /**
26
- * @description Button label for the normal speed replay option
26
+ * @description Button label for the normal speed replay option.
27
27
  */
28
28
  ReplayNormalButtonLabel: 'Normal speed',
29
29
  /**
30
- * @description Item label for the normal speed replay option
30
+ * @description Item label for the normal speed replay option.
31
31
  */
32
32
  ReplayNormalItemLabel: 'Normal (Default)',
33
33
  /**
34
- * @description Button label for the slow speed replay option
34
+ * @description Button label for the slow speed replay option.
35
35
  */
36
36
  ReplaySlowButtonLabel: 'Slow speed',
37
37
  /**
38
- * @description Item label for the slow speed replay option
38
+ * @description Item label for the slow speed replay option.
39
39
  */
40
40
  ReplaySlowItemLabel: 'Slow',
41
41
  /**
42
- * @description Button label for the very slow speed replay option
42
+ * @description Button label for the very slow speed replay option.
43
43
  */
44
44
  ReplayVerySlowButtonLabel: 'Very slow speed',
45
45
  /**
46
- * @description Item label for the very slow speed replay option
46
+ * @description Item label for the very slow speed replay option.
47
47
  */
48
48
  ReplayVerySlowItemLabel: 'Very slow',
49
49
  /**
50
- * @description Button label for the extremely slow speed replay option
50
+ * @description Button label for the extremely slow speed replay option.
51
51
  */
52
52
  ReplayExtremelySlowButtonLabel: 'Extremely slow speed',
53
53
  /**
54
- * @description Item label for the slow speed replay option
54
+ * @description Item label for the extremely slow speed replay option.
55
55
  */
56
56
  ReplayExtremelySlowItemLabel: 'Extremely slow',
57
57
  /**