chrome-devtools-frontend 1.0.1657855 → 1.0.1661063

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 (370) hide show
  1. package/.agents/skills/evaluate-ai-css-completion/SKILL.md +133 -0
  2. package/.agents/skills/evaluate-ai-css-completion/scripts/evaluate.js +76 -0
  3. package/.agents/skills/migrate-chromium-test/SKILL.md +15 -70
  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/eslint.config.mjs +7 -0
  10. package/extension-api/ExtensionAPI.d.ts +88 -0
  11. package/front_end/Tests.js +6 -6
  12. package/front_end/core/common/Gzip.ts +12 -5
  13. package/front_end/core/host/AidaClient.ts +35 -9
  14. package/front_end/core/host/GdpClient.ts +10 -7
  15. package/front_end/core/host/InspectorFrontendHost.ts +1 -0
  16. package/front_end/core/host/InspectorFrontendHostStub.ts +2 -0
  17. package/front_end/core/platform/StringUtilities.ts +55 -4
  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 +10 -5
  21. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +2 -5
  22. package/front_end/core/sdk/ConsoleModel.ts +5 -5
  23. package/front_end/core/sdk/DOMDebuggerModel.ts +7 -1
  24. package/front_end/core/sdk/DOMModel.ts +33 -18
  25. package/front_end/core/sdk/DebuggerModel.ts +4 -4
  26. package/front_end/core/sdk/EventBreakpointsModel.ts +2 -0
  27. package/front_end/core/sdk/FrameManager.ts +1 -0
  28. package/front_end/core/sdk/IsolateManager.ts +1 -0
  29. package/front_end/core/sdk/NetworkManager.ts +59 -11
  30. package/front_end/core/sdk/NetworkRequest.ts +38 -1
  31. package/front_end/core/sdk/OverlayModel.ts +45 -6
  32. package/front_end/core/sdk/PageResourceLoader.ts +2 -0
  33. package/front_end/core/sdk/ResourceTreeModel.ts +6 -7
  34. package/front_end/core/sdk/ScreenCaptureModel.ts +2 -2
  35. package/front_end/core/sdk/ServerTiming.ts +17 -13
  36. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +4 -2
  37. package/front_end/core/sdk/ServiceWorkerManager.ts +19 -5
  38. package/front_end/core/sdk/SourceMap.ts +5 -5
  39. package/front_end/core/sdk/SourceMapManager.ts +3 -2
  40. package/front_end/core/sdk/TargetManager.ts +14 -1
  41. package/front_end/core/sdk/TraceObject.ts +4 -2
  42. package/front_end/core/sdk/sdk-meta.ts +170 -0
  43. package/front_end/design_system_tokens.css +0 -5
  44. package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.ts +5 -2
  45. package/front_end/entrypoints/formatter_worker/HTMLFormatter.ts +26 -4
  46. package/front_end/entrypoints/formatter_worker/JavaScriptFormatter.ts +8 -3
  47. package/front_end/entrypoints/inspector_main/InspectorMain.ts +4 -4
  48. package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +2 -2
  49. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +36 -37
  50. package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +15 -33
  51. package/front_end/entrypoints/js_app/js_app.ts +6 -5
  52. package/front_end/entrypoints/main/GlobalAiButton.ts +4 -4
  53. package/front_end/entrypoints/main/MainImpl.ts +20 -22
  54. package/front_end/entrypoints/main/main-meta.ts +42 -42
  55. package/front_end/entrypoints/node_app/node_app.ts +3 -2
  56. package/front_end/entrypoints/worker_app/WorkerMain.ts +1 -1
  57. package/front_end/foundation/Universe.ts +44 -1
  58. package/front_end/generated/InspectorBackendCommands.ts +2 -2
  59. package/front_end/generated/SupportedCSSProperties.js +19 -12
  60. package/front_end/generated/protocol.ts +3 -1
  61. package/front_end/models/ai_assistance/AiConversation.ts +19 -17
  62. package/front_end/models/ai_assistance/AiHistoryStorage.ts +37 -14
  63. package/front_end/models/ai_assistance/AiUtils.ts +38 -42
  64. package/front_end/models/ai_assistance/agents/AiAgent.ts +5 -1
  65. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +3 -2
  66. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +2 -1
  67. package/front_end/models/ai_assistance/agents/StorageAgent.ts +7 -5
  68. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +270 -286
  69. package/front_end/models/ai_assistance/data_formatters/UnitFormatters.ts +20 -0
  70. package/front_end/models/ai_assistance/performance/AICallTree.ts +3 -1
  71. package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +3 -2
  72. package/front_end/models/autofill_manager/AutofillManager.ts +3 -1
  73. package/front_end/models/bindings/CompilerScriptMapping.ts +7 -7
  74. package/front_end/models/bindings/ContentProviderBasedProject.ts +4 -4
  75. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +5 -5
  76. package/front_end/models/bindings/DefaultScriptMapping.ts +3 -3
  77. package/front_end/models/bindings/NetworkProject.ts +5 -10
  78. package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +2 -1
  79. package/front_end/models/bindings/ResourceMapping.ts +3 -4
  80. package/front_end/models/bindings/ResourceScriptMapping.ts +2 -3
  81. package/front_end/models/bindings/ResourceUtils.ts +1 -1
  82. package/front_end/models/bindings/SASSSourceMapping.ts +11 -9
  83. package/front_end/models/bindings/StylesSourceMapping.ts +3 -3
  84. package/front_end/models/bindings/TempFile.ts +8 -3
  85. package/front_end/models/emulation/EmulatedDevices.ts +389 -8
  86. package/front_end/models/extensions/ExtensionAPI.ts +116 -52
  87. package/front_end/models/extensions/LanguageExtensionEndpoint.ts +13 -12
  88. package/front_end/models/formatter/ScriptFormatter.ts +8 -11
  89. package/front_end/models/issues_manager/BounceTrackingIssue.ts +1 -1
  90. package/front_end/models/issues_manager/ClientHintIssue.ts +1 -1
  91. package/front_end/models/issues_manager/ConnectionAllowlistIssue.ts +1 -1
  92. package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +7 -7
  93. package/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts +2 -2
  94. package/front_end/models/issues_manager/CookieIssue.ts +27 -16
  95. package/front_end/models/issues_manager/CorsIssue.ts +3 -3
  96. package/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.ts +2 -2
  97. package/front_end/models/issues_manager/DeprecationIssue.ts +3 -3
  98. package/front_end/models/issues_manager/EmailVerificationRequestIssue.ts +1 -1
  99. package/front_end/models/issues_manager/FederatedAuthRequestIssue.ts +1 -1
  100. package/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.ts +1 -1
  101. package/front_end/models/issues_manager/GenericIssue.ts +7 -7
  102. package/front_end/models/issues_manager/HeavyAdIssue.ts +3 -3
  103. package/front_end/models/issues_manager/Issue.ts +11 -12
  104. package/front_end/models/issues_manager/IssueAggregator.ts +0 -9
  105. package/front_end/models/issues_manager/IssueResolver.ts +2 -2
  106. package/front_end/models/issues_manager/IssuesManager.ts +136 -137
  107. package/front_end/models/issues_manager/MixedContentIssue.ts +1 -1
  108. package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +3 -3
  109. package/front_end/models/issues_manager/QuirksModeIssue.ts +1 -1
  110. package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +2 -2
  111. package/front_end/models/issues_manager/SelectivePermissionsInterventionIssue.ts +2 -2
  112. package/front_end/models/issues_manager/SharedArrayBufferIssue.ts +2 -2
  113. package/front_end/models/issues_manager/SharedDictionaryIssue.ts +1 -1
  114. package/front_end/models/issues_manager/UnencodedDigestIssue.ts +3 -3
  115. package/front_end/models/issues_manager/issues_manager.ts +0 -2
  116. package/front_end/models/javascript_metadata/NativeFunctions.js +5 -1
  117. package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +5 -0
  118. package/front_end/models/source_map_scopes/FunctionCodeResolver.ts +13 -10
  119. package/front_end/models/stack_trace/StackTraceModel.ts +3 -3
  120. package/front_end/models/text_utils/ContentData.ts +27 -0
  121. package/front_end/models/trace/helpers/SamplesIntegrator.ts +21 -5
  122. package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +29 -14
  123. package/front_end/models/web_mcp/WebMCPModel.ts +24 -6
  124. package/front_end/models/workspace/IgnoreListManager.ts +6 -6
  125. package/front_end/models/workspace/UISourceCode.ts +3 -3
  126. package/front_end/models/workspace/WorkspaceImpl.ts +10 -1
  127. package/front_end/models/workspace_diff/WorkspaceDiff.ts +10 -4
  128. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +25 -22
  129. package/front_end/panels/ai_assistance/ExportConversation.ts +3 -4
  130. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +3 -3
  131. package/front_end/panels/ai_assistance/components/ChatInput.ts +2 -2
  132. package/front_end/panels/ai_assistance/components/ChatMessage.ts +9 -1
  133. package/front_end/panels/ai_assistance/components/DisabledWidget.ts +2 -2
  134. package/front_end/panels/animation/AnimationTimeline.ts +17 -19
  135. package/front_end/panels/animation/AnimationUI.ts +5 -5
  136. package/front_end/panels/animation/animation-meta.ts +2 -2
  137. package/front_end/panels/application/ApplicationPanelSidebar.ts +4 -3
  138. package/front_end/panels/application/DeviceBoundSessionsView.ts +2 -6
  139. package/front_end/panels/application/FrameDetailsView.ts +1 -1
  140. package/front_end/panels/application/IndexedDBViews.ts +220 -266
  141. package/front_end/panels/application/OpenedWindowDetailsView.ts +1 -1
  142. package/front_end/panels/application/ResourcesPanel.ts +9 -2
  143. package/front_end/panels/application/ServiceWorkersView.ts +252 -211
  144. package/front_end/panels/application/StorageView.ts +97 -33
  145. package/front_end/panels/application/WebMCPView.ts +53 -44
  146. package/front_end/panels/application/components/AdsView.ts +201 -30
  147. package/front_end/panels/application/components/adsView.css +25 -0
  148. package/front_end/panels/application/indexedDBViews.css +38 -9
  149. package/front_end/panels/application/preloading/components/RuleSetDetailsView.ts +2 -2
  150. package/front_end/panels/application/preloading/helper/PreloadingForward.ts +2 -1
  151. package/front_end/panels/application/storageView.css +26 -9
  152. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +5 -1
  153. package/front_end/panels/browser_debugger/browser_debugger-meta.ts +8 -6
  154. package/front_end/panels/common/DOMLinkifier.ts +1 -1
  155. package/front_end/panels/common/ExtensionServer.ts +119 -14
  156. package/front_end/panels/console/ConsoleContextSelector.ts +1 -1
  157. package/front_end/panels/console/ConsolePinPane.ts +2 -2
  158. package/front_end/panels/console/ConsolePrompt.ts +2 -2
  159. package/front_end/panels/console/ConsoleView.ts +3 -2
  160. package/front_end/panels/console/PromptBuilder.ts +2 -1
  161. package/front_end/panels/console/SymbolizedErrorWidget.ts +2 -1
  162. package/front_end/panels/console_counters/WarningErrorCounter.ts +2 -2
  163. package/front_end/panels/coverage/CoverageListView.ts +28 -28
  164. package/front_end/panels/coverage/CoverageModel.ts +2 -1
  165. package/front_end/panels/coverage/CoverageView.ts +22 -22
  166. package/front_end/panels/coverage/coverage-meta.ts +5 -5
  167. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +36 -36
  168. package/front_end/panels/css_overview/CSSOverviewProcessingView.ts +1 -1
  169. package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +2 -2
  170. package/front_end/panels/css_overview/CSSOverviewStartView.ts +6 -6
  171. package/front_end/panels/css_overview/CSSOverviewUnusedDeclarations.ts +6 -6
  172. package/front_end/panels/css_overview/css_overview-meta.ts +2 -2
  173. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
  174. package/front_end/panels/elements/AccessibilityTreeUtils.ts +8 -102
  175. package/front_end/panels/elements/AccessibilityTreeView.ts +163 -70
  176. package/front_end/panels/elements/ElementsPanel.ts +17 -11
  177. package/front_end/panels/elements/ElementsTreeElement.ts +4 -1
  178. package/front_end/panels/elements/ElementsTreeOutline.ts +4 -4
  179. package/front_end/panels/elements/LayoutPane.ts +1 -1
  180. package/front_end/panels/elements/MetricsSidebarPane.ts +100 -34
  181. package/front_end/panels/elements/StylePropertiesSection.ts +2 -2
  182. package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -2
  183. package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
  184. package/front_end/panels/elements/components/AccessibilityTreeNode.ts +7 -18
  185. package/front_end/panels/elements/components/ElementsBreadcrumbs.ts +2 -2
  186. package/front_end/panels/elements/components/QueryContainer.ts +1 -1
  187. package/front_end/panels/emulation/DeviceModeView.ts +52 -70
  188. package/front_end/panels/issues/AffectedDirectivesView.ts +1 -1
  189. package/front_end/panels/issues/AffectedResourcesView.ts +2 -1
  190. package/front_end/panels/issues/IssueView.ts +0 -2
  191. package/front_end/panels/issues/IssuesPane.ts +1 -8
  192. package/front_end/panels/js_timeline/js_timeline-meta.ts +3 -2
  193. package/front_end/panels/layer_viewer/LayerViewHost.ts +1 -1
  194. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorController.ts +3 -3
  195. package/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts +5 -5
  196. package/front_end/panels/linear_memory_inspector/components/LinearMemoryHighlightChipList.ts +4 -4
  197. package/front_end/panels/linear_memory_inspector/components/LinearMemoryInspector.ts +2 -2
  198. package/front_end/panels/linear_memory_inspector/components/LinearMemoryNavigator.ts +6 -6
  199. package/front_end/panels/linear_memory_inspector/components/LinearMemoryValueInterpreter.ts +3 -3
  200. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplay.ts +8 -9
  201. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterDisplayUtils.ts +2 -2
  202. package/front_end/panels/linear_memory_inspector/components/ValueInterpreterSettings.ts +1 -1
  203. package/front_end/panels/linear_memory_inspector/linear_memory_inspector-meta.ts +2 -2
  204. package/front_end/panels/network/NetworkDataGridNode.ts +124 -36
  205. package/front_end/panels/network/NetworkLogView.ts +9 -1
  206. package/front_end/panels/network/NetworkLogViewColumns.ts +18 -0
  207. package/front_end/panels/network/NetworkPanel.ts +2 -1
  208. package/front_end/panels/network/RequestPayloadView.ts +68 -20
  209. package/front_end/panels/network/RequestPreviewView.ts +7 -1
  210. package/front_end/panels/network/RequestTimingView.ts +95 -127
  211. package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
  212. package/front_end/panels/network/forward/UIFilter.ts +1 -0
  213. package/front_end/panels/network/requestPayloadView.css +10 -0
  214. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +12 -12
  215. package/front_end/panels/performance_monitor/performance_monitor-meta.ts +7 -7
  216. package/front_end/panels/profiler/HeapDetachedElementsView.ts +2 -2
  217. package/front_end/panels/profiler/HeapProfileView.ts +563 -51
  218. package/front_end/panels/profiler/HeapSnapshotView.ts +14 -9
  219. package/front_end/panels/profiler/ProfilesPanel.ts +13 -7
  220. package/front_end/panels/profiler/WritableProfileHeader.ts +152 -0
  221. package/front_end/panels/profiler/profiler.ts +2 -2
  222. package/front_end/panels/recorder/{components/ControlButton.ts → ControlButton.ts} +9 -10
  223. package/front_end/panels/recorder/{components/CreateRecordingView.ts → CreateRecordingView.ts} +59 -58
  224. package/front_end/panels/recorder/ExtensionView.ts +123 -0
  225. package/front_end/panels/recorder/RecorderController.ts +102 -92
  226. package/front_end/panels/recorder/{components/RecordingListView.ts → RecordingListView.ts} +22 -23
  227. package/front_end/panels/recorder/{components/RecordingView.ts → RecordingView.ts} +99 -96
  228. package/front_end/panels/recorder/{components/ReplaySection.ts → ReplaySection.ts} +20 -20
  229. package/front_end/panels/recorder/{components/SelectorPicker.ts → SelectorPicker.ts} +13 -13
  230. package/front_end/panels/recorder/{components/StepEditor.ts → StepEditor.ts} +367 -336
  231. package/front_end/panels/recorder/{components/StepView.ts → StepView.ts} +48 -49
  232. package/front_end/panels/recorder/{components/TimelineSection.ts → TimelineSection.ts} +2 -2
  233. package/front_end/panels/recorder/models/RecorderSettings.ts +2 -2
  234. package/front_end/panels/recorder/recorder-meta.ts +7 -7
  235. package/front_end/panels/recorder/recorder.ts +23 -1
  236. package/front_end/panels/recorder/{components/recordingView.css → recordingView.css} +1 -1
  237. package/front_end/panels/recorder/util/util.ts +113 -0
  238. package/front_end/panels/screencast/ScreencastApp.ts +1 -1
  239. package/front_end/panels/screencast/ScreencastView.ts +12 -12
  240. package/front_end/panels/search/SearchResultsPane.ts +4 -4
  241. package/front_end/panels/search/SearchView.ts +20 -20
  242. package/front_end/panels/security/SecurityModel.ts +7 -7
  243. package/front_end/panels/security/SecurityPanel.ts +99 -107
  244. package/front_end/panels/security/SecurityPanelSidebar.ts +7 -7
  245. package/front_end/panels/security/security-meta.ts +2 -2
  246. package/front_end/panels/sensors/LocationsSettingsTab.ts +19 -19
  247. package/front_end/panels/sensors/SensorsView.ts +27 -27
  248. package/front_end/panels/sensors/sensors-meta.ts +13 -167
  249. package/front_end/panels/settings/AISettingsTab.ts +98 -56
  250. package/front_end/panels/settings/EditFileSystemView.ts +2 -2
  251. package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +20 -20
  252. package/front_end/panels/settings/KeybindsSettingsTab.ts +20 -21
  253. package/front_end/panels/settings/SettingsScreen.ts +11 -11
  254. package/front_end/panels/settings/WorkspaceSettingsTab.ts +5 -5
  255. package/front_end/panels/settings/components/SyncSection.ts +12 -12
  256. package/front_end/panels/settings/emulation/DevicesSettingsTab.ts +13 -13
  257. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +31 -31
  258. package/front_end/panels/settings/emulation/emulation-meta.ts +1 -1
  259. package/front_end/panels/settings/settings-meta.ts +14 -14
  260. package/front_end/panels/sources/InplaceFormatterEditorAction.ts +2 -2
  261. package/front_end/panels/sources/NavigatorView.ts +7 -6
  262. package/front_end/panels/sources/ScopeChainSidebarPane.ts +83 -37
  263. package/front_end/panels/sources/SourcesNavigator.ts +22 -21
  264. package/front_end/panels/sources/SourcesView.ts +10 -1
  265. package/front_end/panels/sources/TabbedEditorContainer.ts +1 -1
  266. package/front_end/panels/sources/scopeChainSidebarPane.css +12 -4
  267. package/front_end/panels/sources/sources-meta.ts +4 -4
  268. package/front_end/panels/timeline/CompatibilityTracksAppender.ts +5 -2
  269. package/front_end/panels/timeline/IsolateSelector.ts +10 -8
  270. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +2 -1
  271. package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +2 -1
  272. package/front_end/panels/timeline/TimelineFlameChartView.ts +1 -1
  273. package/front_end/panels/timeline/TimelinePanel.ts +20 -8
  274. package/front_end/panels/timeline/TimelineUIUtils.ts +149 -131
  275. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +4 -2
  276. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +4 -2
  277. package/front_end/panels/timeline/components/insights/ImageRef.ts +2 -1
  278. package/front_end/panels/timeline/timeline-meta.ts +3 -2
  279. package/front_end/panels/utils/utils.ts +7 -3
  280. package/front_end/panels/web_audio/WebAudioView.ts +17 -18
  281. package/front_end/panels/web_audio/web_audio-meta.ts +3 -3
  282. package/front_end/panels/whats_new/ReleaseNoteView.ts +1 -1
  283. package/front_end/panels/whats_new/whats_new-meta.ts +11 -11
  284. package/front_end/third_party/chromium/README.chromium +1 -1
  285. package/front_end/third_party/lit/lib/async-directive.d.ts +2 -1
  286. package/front_end/third_party/lit/lib/async-directive.js +1 -1
  287. package/front_end/third_party/lit/lib/async-directive.js.map +1 -1
  288. package/front_end/third_party/lit/lib/decorators.d.ts +2 -1
  289. package/front_end/third_party/lit/lib/decorators.js.map +1 -1
  290. package/front_end/third_party/lit/lib/directive.d.ts +2 -1
  291. package/front_end/third_party/lit/lib/directive.js.map +1 -1
  292. package/front_end/third_party/lit/lib/directives.d.ts +2 -1
  293. package/front_end/third_party/lit/lib/directives.js +8 -8
  294. package/front_end/third_party/lit/lib/directives.js.map +1 -1
  295. package/front_end/third_party/lit/lib/lit.d.ts +2 -1
  296. package/front_end/third_party/lit/lib/lit.js +1 -1
  297. package/front_end/third_party/lit/lib/lit.js.map +1 -1
  298. package/front_end/third_party/lit/lib/static-html.d.ts +2 -1
  299. package/front_end/third_party/lit/lib/static-html.js +1 -1
  300. package/front_end/third_party/lit/lib/static-html.js.map +1 -1
  301. package/front_end/third_party/lit/package.json +2 -2
  302. package/front_end/third_party/lit/rebuild.sh +1 -1
  303. package/front_end/third_party/lit/src/async-directive.ts +5 -0
  304. package/front_end/ui/components/dialogs/Dialog.ts +1 -1
  305. package/front_end/ui/components/dialogs/ShortcutDialog.ts +1 -1
  306. package/front_end/ui/components/diff_view/DiffView.ts +2 -2
  307. package/front_end/ui/components/issue_counter/IssueCounter.ts +3 -3
  308. package/front_end/ui/components/issue_counter/IssueLinkIcon.ts +5 -5
  309. package/front_end/ui/components/lists/List.ts +2 -2
  310. package/front_end/ui/components/panel_feedback/PreviewToggle.ts +1 -1
  311. package/front_end/ui/components/request_link_icon/RequestLinkIcon.ts +5 -5
  312. package/front_end/ui/components/settings/SettingCheckbox.ts +1 -1
  313. package/front_end/ui/components/snackbars/Snackbar.ts +1 -1
  314. package/front_end/ui/components/survey_link/SurveyLink.ts +3 -3
  315. package/front_end/ui/components/text_editor/config.ts +2 -2
  316. package/front_end/ui/components/tree_outline/TreeOutline.ts +34 -1
  317. package/front_end/ui/legacy/ReportView.ts +5 -0
  318. package/front_end/ui/legacy/Treeoutline.ts +6 -0
  319. package/front_end/ui/legacy/View.ts +1 -1
  320. package/front_end/ui/legacy/Widget.ts +14 -15
  321. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +2 -0
  322. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +8 -3
  323. package/front_end/ui/legacy/components/data_grid/data_grid.ts +1 -0
  324. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +1 -1
  325. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +106 -38
  326. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +7 -1
  327. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +2 -1
  328. package/front_end/ui/legacy/components/utils/ImagePreview.ts +4 -2
  329. package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +10 -1
  330. package/front_end/ui/legacy/inspectorCommon.css +5 -0
  331. package/front_end/ui/visual_logging/KnownContextValues.ts +3 -0
  332. package/mcp/mcp.ts +2 -0
  333. package/package.json +4 -4
  334. package/front_end/models/issues_manager/AttributionReportingIssue.ts +0 -247
  335. package/front_end/models/issues_manager/descriptions/arInsecureContext.md +0 -7
  336. package/front_end/models/issues_manager/descriptions/arInvalidInfoHeader.md +0 -5
  337. package/front_end/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +0 -5
  338. package/front_end/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +0 -5
  339. package/front_end/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +0 -5
  340. package/front_end/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +0 -5
  341. package/front_end/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +0 -5
  342. package/front_end/models/issues_manager/descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +0 -6
  343. package/front_end/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +0 -5
  344. package/front_end/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +0 -5
  345. package/front_end/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +0 -5
  346. package/front_end/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +0 -5
  347. package/front_end/models/issues_manager/descriptions/arNoWebOrOsSupport.md +0 -4
  348. package/front_end/models/issues_manager/descriptions/arOsSourceIgnored.md +0 -18
  349. package/front_end/models/issues_manager/descriptions/arOsTriggerIgnored.md +0 -19
  350. package/front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +0 -8
  351. package/front_end/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +0 -9
  352. package/front_end/models/issues_manager/descriptions/arSourceIgnored.md +0 -13
  353. package/front_end/models/issues_manager/descriptions/arTriggerIgnored.md +0 -12
  354. package/front_end/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +0 -10
  355. package/front_end/models/issues_manager/descriptions/arWebAndOsHeaders.md +0 -11
  356. package/front_end/panels/issues/AttributionReportingIssueDetailsView.ts +0 -182
  357. package/front_end/panels/profiler/ProfileView.ts +0 -611
  358. package/front_end/panels/recorder/components/ExtensionView.ts +0 -132
  359. package/front_end/panels/recorder/components/components.ts +0 -25
  360. package/front_end/panels/recorder/components/util.ts +0 -116
  361. /package/front_end/panels/recorder/{components/controlButton.css → controlButton.css} +0 -0
  362. /package/front_end/panels/recorder/{components/createRecordingView.css → createRecordingView.css} +0 -0
  363. /package/front_end/panels/recorder/{components/extensionView.css → extensionView.css} +0 -0
  364. /package/front_end/panels/recorder/{components/recordingListView.css → recordingListView.css} +0 -0
  365. /package/front_end/panels/recorder/{components/replaySection.css → replaySection.css} +0 -0
  366. /package/front_end/panels/recorder/{components/selectorPicker.css → selectorPicker.css} +0 -0
  367. /package/front_end/panels/recorder/{components/startView.css → startView.css} +0 -0
  368. /package/front_end/panels/recorder/{components/stepEditor.css → stepEditor.css} +0 -0
  369. /package/front_end/panels/recorder/{components/stepView.css → stepView.css} +0 -0
  370. /package/front_end/panels/recorder/{components/timelineSection.css → timelineSection.css} +0 -0
@@ -19,23 +19,23 @@ import workspaceSettingsTabStyles from './workspaceSettingsTab.css.js';
19
19
 
20
20
  const UIStrings = {
21
21
  /**
22
- * @description Text of a DOM element in Workspace Settings Tab of the Workspace settings in Settings
22
+ * @description Text of a DOM element in Workspace settings tab of the Workspace settings in Settings.
23
23
  */
24
24
  workspace: 'Workspace',
25
25
  /**
26
- * @description Text of a DOM element in Workspace Settings Tab of the Workspace settings in Settings
26
+ * @description Text of a DOM element in Workspace settings tab of the Workspace settings in Settings.
27
27
  */
28
28
  mappingsAreInferredAutomatically: 'Mappings are inferred automatically.',
29
29
  /**
30
- * @description Text of the add button in Workspace Settings Tab of the Workspace settings in Settings
30
+ * @description Text of the add button in Workspace settings tab of the Workspace settings in Settings.
31
31
  */
32
32
  addFolder: 'Add folder',
33
33
  /**
34
- * @description Label element text content in Workspace Settings Tab of the Workspace settings in Settings
34
+ * @description Label element text content in Workspace settings tab of the Workspace settings in Settings.
35
35
  */
36
36
  folderExcludePattern: 'Exclude from workspace',
37
37
  /**
38
- * @description Label for an item to remove something
38
+ * @description Label for an item to remove something.
39
39
  */
40
40
  remove: 'Remove',
41
41
  } as const;
@@ -24,38 +24,38 @@ import syncSectionStyles from './syncSection.css.js';
24
24
 
25
25
  const UIStrings = {
26
26
  /**
27
- * @description Text shown to the user in the Settings UI. 'This setting' refers
27
+ * @description Text shown to the user in Settings. This setting refers
28
28
  * to a checkbox that is disabled.
29
29
  */
30
30
  syncDisabled: 'To turn this setting on, you must enable Chrome sync.',
31
31
  /**
32
- * @description Text shown to the user in the Settings UI. Explains why the checkbox
33
- * for saving DevTools settings to the user's Google account is inactive.
32
+ * @description Text shown to the user in Settings. Explains why the checkbox
33
+ * for saving DevTools settings to the users Google account is inactive.
34
34
  */
35
35
  preferencesSyncDisabled: 'You need to first enable saving `Chrome` settings in your `Google` account.',
36
36
  /**
37
- * @description Label for the account email address. Shown in the DevTools Settings UI in
37
+ * @description Label for the account email address. Shown in DevTools Settings in
38
38
  * front of the email address currently used for Chrome Sync.
39
39
  */
40
40
  signedIn: 'Signed into Chrome as:',
41
41
  /**
42
- * @description Label for the account settings. Shown in the DevTools Settings UI in
43
- * case the user is not logged in to Chrome.
42
+ * @description Label for the account settings. Shown in DevTools Settings when
43
+ * the user is not logged in to Chrome.
44
44
  */
45
- notSignedIn: 'You\'re not signed into Chrome.',
45
+ notSignedIn: 'Youre not signed into Chrome.',
46
46
  /**
47
47
  * @description Label for the Google Developer Program profile status that corresponds to
48
- * standard plan (No subscription).
48
+ * the standard plan (no subscription).
49
49
  */
50
50
  gdpStandardPlan: 'Standard plan',
51
51
  /**
52
52
  * @description Label for the Google Developer Program subscription status that corresponds to
53
- * `PREMIUM_ANNUAL` plan.
53
+ * the `PREMIUM_ANNUAL` plan.
54
54
  */
55
55
  gdpPremiumSubscription: 'Premium',
56
56
  /**
57
57
  * @description Label for the Google Developer Program subscription status that corresponds to
58
- * `PRO_ANNUAL` plan.
58
+ * the `PRO_ANNUAL` plan.
59
59
  */
60
60
  gdpProSubscription: 'Pro',
61
61
  /**
@@ -64,7 +64,7 @@ const UIStrings = {
64
64
  */
65
65
  gdpUnknownSubscription: 'Unknown plan',
66
66
  /**
67
- * @description Label for Sign-Up button for the Google Developer Program profiles.
67
+ * @description Label for sign-up button for Google Developer Program profiles.
68
68
  */
69
69
  signUp: 'Sign up',
70
70
  /**
@@ -72,7 +72,7 @@ const UIStrings = {
72
72
  */
73
73
  viewProfile: 'View profile',
74
74
  /**
75
- * @description Text for tooltip shown on hovering over "Relevant Data" in the disclaimer text for AI code completion.
75
+ * @description Text for tooltip shown on hovering over Relevant data” in the disclaimer text for GDP badges.
76
76
  */
77
77
  tooltipDisclaimerText:
78
78
  'When you qualify for a badge, the badge’s identifier and the type of activity you did to earn it are sent to Google',
@@ -16,25 +16,25 @@ import devicesSettingsTabStyles from './devicesSettingsTab.css.js';
16
16
 
17
17
  const UIStrings = {
18
18
  /**
19
- * @description Title for a section of the UI that shows all of the custom devices the user can emulate, in the Device Toolbar.
19
+ * @description Title for a section of the UI that shows all of the custom devices the user can emulate, in the device toolbar.
20
20
  */
21
21
  customDevices: 'Custom devices',
22
22
  /**
23
- * @description Title for a section of the UI that shows all of the default devices the user can emulate, in the Device Toolbar.
23
+ * @description Title for a section of the UI that shows all of the default devices the user can emulate, in the device toolbar.
24
24
  */
25
25
  defaultDevices: 'Default devices',
26
26
  /**
27
- * @description Button to add a custom device (e.g. phone, tablet) the Device Toolbar.
27
+ * @description Button to add a custom device (e.g., phone, tablet) to the device toolbar.
28
28
  */
29
29
  addCustomDevice: 'Add custom device',
30
30
  /**
31
- * @description Label/title for UI to add a new custom device type. Device means mobile/tablet etc.
31
+ * @description Label/title for UI to add a new custom device type. Device means mobile/tablet, etc.
32
32
  */
33
33
  device: 'Device',
34
34
  /**
35
35
  * @description Placeholder for text input for the name of a custom device.
36
36
  */
37
- deviceName: 'Device Name',
37
+ deviceName: 'Device name',
38
38
  /**
39
39
  * @description Placeholder text for text input for the width of a custom device in pixels.
40
40
  */
@@ -48,32 +48,32 @@ const UIStrings = {
48
48
  */
49
49
  devicePixelRatio: 'Device pixel ratio',
50
50
  /**
51
- * @description Label in the Devices settings pane for the user agent string input of a custom device
51
+ * @description Label in the Devices settings tab for the user agent string input of a custom device.
52
52
  */
53
53
  userAgentString: 'User agent string',
54
54
  /**
55
- * @description Tooltip text for a drop-down in the Devices settings pane, for the 'user agent type' input of a custom device.
56
- * 'Type' refers to different options e.g. mobile or desktop.
55
+ * @description Tooltip text for a drop-down in the Devices settings tab for the user agent type input of a custom device.
56
+ * 'Type' refers to different options, such as mobile or desktop.
57
57
  */
58
58
  userAgentType: 'User agent type',
59
59
  /**
60
- * @description Error message in the Devices settings pane that declares the maximum length of the device name input
60
+ * @description Error message in the Devices settings tab that declares the maximum length of the device name input.
61
61
  * @example {50} PH1
62
62
  */
63
63
  deviceNameMustBeLessThanS: 'Device name must be less than {PH1} characters.',
64
64
  /**
65
- * @description Error message in the Devices settings pane that declares that the device name input must not be empty
65
+ * @description Error message in the Devices settings tab that declares that the device name input must not be empty.
66
66
  */
67
- deviceNameCannotBeEmpty: 'Device name cannot be empty.',
67
+ deviceNameCannotBeEmpty: 'Device name can’t be empty.',
68
68
  /**
69
69
  * @description Success message for screen readers when device is added.
70
70
  * @example {TestDevice} PH1
71
71
  */
72
72
  deviceAddedOrUpdated: 'Device {PH1} successfully added/updated.',
73
73
  /**
74
- * @description Error message in the Devices settings pane shown when the user agent string is empty.
74
+ * @description Error message in the Devices settings tab shown when the user agent string is empty.
75
75
  */
76
- userAgentStringCannotBeEmpty: 'User agent string cannot be empty.',
76
+ userAgentStringCannotBeEmpty: 'User agent string can’t be empty.',
77
77
  } as const;
78
78
  const str_ = i18n.i18n.registerUIStrings('panels/settings/emulation/DevicesSettingsTab.ts', UIStrings);
79
79
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -22,12 +22,12 @@ const {html} = Lit;
22
22
 
23
23
  const UIStrings = {
24
24
  /**
25
- * @description Title for user agent client hints form
25
+ * @description Title for user agent client hints form.
26
26
  */
27
27
  title: 'User agent client hints',
28
28
  /**
29
29
  * @description Heading for user agent section.
30
- * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge etc.
30
+ * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge, etc.
31
31
  */
32
32
  useragent: 'User agent (Sec-CH-UA)',
33
33
  /**
@@ -36,60 +36,60 @@ const UIStrings = {
36
36
  fullVersionList: 'Full version list (Sec-CH-UA-Full-Version-List)',
37
37
  /**
38
38
  * @description ARIA label for a form with properties for a single brand in a brand list. The form includes a brand name input field, a version
39
- * input field and a delete icon. Brand refer to different browser brands/vendors like Google Chrome, Microsoft Edge etc.
39
+ * input field and a delete icon. Brands refer to different browser brands/vendors like Google Chrome, Microsoft Edge, etc.
40
40
  */
41
41
  brandProperties: 'User agent properties',
42
42
  /**
43
- * @description Input field placeholder for brands browser name.
44
- * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge etc.
43
+ * @description Input field placeholder for brand’s browser name.
44
+ * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge, etc.
45
45
  */
46
46
  brandName: 'Brand',
47
47
  /**
48
- * @description Aria label for brands browser name input field.
49
- * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge etc.
48
+ * @description ARIA label for brand’s browser name input field.
49
+ * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge, etc.
50
50
  * @example {index} PH1
51
51
  */
52
52
  brandNameAriaLabel: 'Brand {PH1}',
53
53
  /**
54
54
  * @description Input field placeholder for significant brand version.
55
- * Brands here relate to different browser brands/vendors like Google Chrome (v89), Microsoft Edge (v92) etc.
55
+ * Brands here relate to different browser brands/vendors like Google Chrome (v89), Microsoft Edge (v92), etc.
56
56
  */
57
57
  significantBrandVersionPlaceholder: 'Significant version (e.g. 87)',
58
58
  /**
59
59
  * @description Input field placeholder for brand version.
60
- * Brands here relate to different browser brands/vendors like Google Chrome (v89), Microsoft Edge (v92) etc.
60
+ * Brands here relate to different browser brands/vendors like Google Chrome (v89), Microsoft Edge (v92), etc.
61
61
  */
62
62
  brandVersionPlaceholder: 'Version (e.g. 87.0.4280.88)',
63
63
  /**
64
- * @description Aria label for brands browser version input field.
65
- * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge etc.
64
+ * @description ARIA label for brand’s browser version input field.
65
+ * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge, etc.
66
66
  * @example {index} PH1
67
67
  */
68
68
  brandVersionAriaLabel: 'Version {PH1}',
69
69
  /**
70
70
  * @description Button title for adding another brand in brands section to client hints.
71
- * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge etc.
71
+ * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge, etc.
72
72
  */
73
- addBrand: 'Add Brand',
73
+ addBrand: 'Add brand',
74
74
  /**
75
- * @description Tooltip and aria label for delete icon for deleting browser brand from brands user agent section.
76
- * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge etc.
75
+ * @description Tooltip and ARIA label for delete icon for deleting browser brand from brands user agent section.
76
+ * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge, etc.
77
77
  */
78
78
  brandUserAgentDelete: 'Delete brand from user agent section',
79
79
  /**
80
- * @description Tooltip and aria label for delete icon for deleting user agent from brands full version list.
81
- * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge etc.
80
+ * @description Tooltip and ARIA label for delete icon for deleting user agent from brands full version list.
81
+ * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge, etc.
82
82
  */
83
83
  brandFullVersionListDelete: 'Delete brand from full version list',
84
84
 
85
85
  /**
86
86
  * @description Heading for the form factors section.
87
87
  */
88
- formFactorsTitle: 'Form Factors (Sec-CH-UA-Form-Factors)',
88
+ formFactorsTitle: 'Form factors (Sec-CH-UA-Form-Factors)',
89
89
  /**
90
90
  * @description ARIA label for the group of form factor checkboxes.
91
91
  */
92
- formFactorsGroupAriaLabel: 'Available Form Factors',
92
+ formFactorsGroupAriaLabel: 'Available form factors',
93
93
  /**
94
94
  * @description Form factor option: Desktop.
95
95
  */
@@ -128,7 +128,7 @@ const UIStrings = {
128
128
  */
129
129
  fullBrowserVersionPlaceholder: 'Full browser version (e.g. 87.0.4280.88)',
130
130
  /**
131
- * @description Label for platform heading section, platform relates to OS like Android, Windows etc.
131
+ * @description Label for platform heading section. Platform relates to OS like Android, Windows, etc.
132
132
  */
133
133
  platformLabel: 'Platform (Sec-CH-UA-Platform / Sec-CH-UA-Platform-Version)',
134
134
  /**
@@ -136,31 +136,31 @@ const UIStrings = {
136
136
  */
137
137
  platformProperties: 'Platform properties',
138
138
  /**
139
- * @description Version for platform input field, platform relates to OS like Android, Windows etc.
139
+ * @description Version for platform input field. Platform relates to OS like Android, Windows, etc.
140
140
  */
141
141
  platformVersion: 'Platform version',
142
142
  /**
143
- * @description Placeholder for platform name input field, platform relates to OS like Android, Windows etc.
143
+ * @description Placeholder for platform name input field. Platform relates to OS like Android, Windows, etc.
144
144
  */
145
145
  platformPlaceholder: 'Platform (e.g. Android)',
146
146
  /**
147
- * @description Label for architecture (Eg: x86, x64, arm) input field.
147
+ * @description Label for architecture (e.g., x86, x64, arm) input field.
148
148
  */
149
149
  architecture: 'Architecture (Sec-CH-UA-Arch)',
150
150
  /**
151
- * @description Placeholder for architecture (Eg: x86, x64, arm) input field.
151
+ * @description Placeholder for architecture (e.g., x86, x64, arm) input field.
152
152
  */
153
153
  architecturePlaceholder: 'Architecture (e.g. x86)',
154
154
  /**
155
- * @description Device model row, including device model input field and mobile checkbox
155
+ * @description Device model row, including device model input field and mobile checkbox.
156
156
  */
157
157
  deviceProperties: 'Device properties',
158
158
  /**
159
- * @description Label for Device Model input field.
159
+ * @description Label for device model input field.
160
160
  */
161
161
  deviceModel: 'Device model (Sec-CH-UA-Model)',
162
162
  /**
163
- * @description Label for Mobile phone checkbox.
163
+ * @description Label for mobile phone checkbox.
164
164
  */
165
165
  mobileCheckboxLabel: 'Mobile',
166
166
  /**
@@ -168,7 +168,7 @@ const UIStrings = {
168
168
  */
169
169
  update: 'Update',
170
170
  /**
171
- * @description Field Error message in the Device settings pane that shows that the entered value has characters that can't be represented in the corresponding User Agent Client Hints
171
+ * @description Field error message in the Devices settings tab that shows that the entered value has characters that can't be represented in the corresponding user agent client hints.
172
172
  */
173
173
  notRepresentable: 'Not representable as structured headers string.',
174
174
  /**
@@ -178,16 +178,16 @@ const UIStrings = {
178
178
  'User agent client hints are an alternative to the user agent string that identify the browser and the device in a more structured way with better privacy accounting.',
179
179
  /**
180
180
  * @description Success message when brand row is successfully added in client hints form.
181
- * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge etc.
181
+ * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge, etc.
182
182
  */
183
183
  addedBrand: 'Added brand row',
184
184
  /**
185
185
  * @description Success message when brand row is successfully deleted in client hints form.
186
- * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge etc.
186
+ * Brands here relate to different browser brands/vendors like Google Chrome, Microsoft Edge, etc.
187
187
  */
188
188
  deletedBrand: 'Deleted brand row',
189
189
  /**
190
- * @description Text that is usually a hyperlink to more documentation
190
+ * @description Text that is usually a hyperlink to more documentation.
191
191
  */
192
192
  learnMore: 'Learn more',
193
193
  } as const;
@@ -9,7 +9,7 @@ import type * as Emulation from './emulation.js';
9
9
 
10
10
  const UIStrings = {
11
11
  /**
12
- * @description Title of the Devices tab/tool. Devices refers to e.g. phones/tablets.
12
+ * @description Title of the Devices tab/tool. Devices refers to e.g., phones/tablets.
13
13
  */
14
14
  devices: 'Devices',
15
15
  /**
@@ -13,59 +13,59 @@ import type * as Settings from './settings.js';
13
13
 
14
14
  const UIStrings = {
15
15
  /**
16
- * @description Text for keyboard shortcuts
16
+ * @description Text for keyboard shortcuts.
17
17
  */
18
18
  shortcuts: 'Shortcuts',
19
19
  /**
20
- * @description Text in Settings Screen of the Settings
20
+ * @description Text in Settings.
21
21
  */
22
22
  preferences: 'Preferences',
23
23
  /**
24
- * @description Text in Settings Screen of the Settings
24
+ * @description Text in Settings.
25
25
  */
26
26
  experiments: 'Experiments',
27
27
  /**
28
- * @description Title of Ignore list settings
28
+ * @description Title of Ignore list settings.
29
29
  */
30
30
  ignoreList: 'Ignore list',
31
31
  /**
32
- * @description Command for showing the keyboard shortcuts in Settings
32
+ * @description Command for showing the keyboard shortcuts in Settings.
33
33
  */
34
34
  showShortcuts: 'Show Shortcuts',
35
35
  /**
36
- * @description Command for showing the preference tab in the Settings Screen
36
+ * @description Command for showing the Preferences tab in Settings.
37
37
  */
38
38
  showPreferences: 'Show Preferences',
39
39
  /**
40
- * @description Command for showing the experiments tab in the Settings Screen
40
+ * @description Command for showing the Experiments tab in Settings.
41
41
  */
42
42
  showExperiments: 'Show Experiments',
43
43
  /**
44
- * @description Command for showing the Ignore list settings
44
+ * @description Command for showing the Ignore list settings.
45
45
  */
46
46
  showIgnoreList: 'Show Ignore list',
47
47
  /**
48
- * @description Name of the Settings view
48
+ * @description Name of the Settings view.
49
49
  */
50
50
  settings: 'Settings',
51
51
  /**
52
- * @description Text for the documentation of something
52
+ * @description Text for the documentation of something.
53
53
  */
54
54
  documentation: 'Documentation',
55
55
  /**
56
- * @description Text for AI innovation settings
56
+ * @description Text for AI innovations settings.
57
57
  */
58
58
  aiInnovations: 'AI innovations',
59
59
  /**
60
- * @description Command for showing the AI innovation settings
60
+ * @description Command for showing the AI innovations settings.
61
61
  */
62
62
  showAiInnovations: 'Show AI innovations',
63
63
  /**
64
- * @description Text of a DOM element in Workspace Settings Tab of the Workspace settings in Settings
64
+ * @description Text of a DOM element in Workspace settings tab of the Workspace settings in Settings.
65
65
  */
66
66
  workspace: 'Workspace',
67
67
  /**
68
- * @description Command for showing the Workspace tool in Settings
68
+ * @description Command for showing the Workspace tool in Settings.
69
69
  */
70
70
  showWorkspace: 'Show Workspace settings',
71
71
  } as const;
@@ -133,8 +133,8 @@ export class InplaceFormatterEditorAction implements EditorAction {
133
133
  private async contentLoaded(
134
134
  uiSourceCode: Workspace.UISourceCode.UISourceCode, sourceFrame: UISourceCodeFrame,
135
135
  content: string): Promise<void> {
136
- const {formattedContent, formattedMapping} =
137
- await Formatter.ScriptFormatter.format(uiSourceCode.contentType(), sourceFrame.contentType, content);
136
+ const {formattedContent, formattedMapping} = await Formatter.ScriptFormatter.format(
137
+ Common.Settings.Settings.instance(), uiSourceCode.contentType(), sourceFrame.contentType, content);
138
138
  if (uiSourceCode.workingCopy() === formattedContent) {
139
139
  return;
140
140
  }
@@ -186,7 +186,8 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
186
186
  private groupByAuthored?: boolean;
187
187
  private groupByDomain?: boolean;
188
188
  private groupByFolder?: boolean;
189
- constructor(jslogContext: string, enableAuthoredGrouping?: boolean) {
189
+ constructor(jslogContext: string, networkProjectManager: Bindings.NetworkProject.NetworkProjectManager,
190
+ enableAuthoredGrouping?: boolean) {
190
191
  super({
191
192
  jslog: `${VisualLogging.pane(jslogContext).track({resize: true})}`,
192
193
  useShadowDom: true,
@@ -242,10 +243,10 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
242
243
  SDK.TargetManager.TargetManager.instance().observeTargets(this);
243
244
  this.resetWorkspace(Workspace.Workspace.WorkspaceImpl.instance());
244
245
  this.#workspace.uiSourceCodes().forEach(this.addUISourceCode.bind(this));
245
- Bindings.NetworkProject.NetworkProjectManager.instance().addEventListener(
246
- Bindings.NetworkProject.Events.FRAME_ATTRIBUTION_ADDED, this.frameAttributionAdded, this);
247
- Bindings.NetworkProject.NetworkProjectManager.instance().addEventListener(
248
- Bindings.NetworkProject.Events.FRAME_ATTRIBUTION_REMOVED, this.frameAttributionRemoved, this);
246
+ networkProjectManager.addEventListener(Bindings.NetworkProject.Events.FRAME_ATTRIBUTION_ADDED,
247
+ this.frameAttributionAdded, this);
248
+ networkProjectManager.addEventListener(Bindings.NetworkProject.Events.FRAME_ATTRIBUTION_REMOVED,
249
+ this.frameAttributionRemoved, this);
249
250
  }
250
251
 
251
252
  private static treeElementOrder(treeElement: UI.TreeOutline.TreeElement): number {
@@ -726,7 +727,7 @@ export class NavigatorView extends UI.Widget.VBox implements SDK.TargetManager.O
726
727
  overlayModel.highlightFrame(frame.id);
727
728
  }
728
729
  } else {
729
- SDK.OverlayModel.OverlayModel.hideDOMNodeHighlight();
730
+ SDK.OverlayModel.OverlayModel.hideDOMNodeHighlight(SDK.TargetManager.TargetManager.instance());
730
731
  }
731
732
  }
732
733
  return frameNode;
@@ -76,40 +76,55 @@ interface ViewInput {
76
76
  scope: SDK.DebuggerModel.ScopeChainEntry,
77
77
  objectTree: ObjectUI.ObjectPropertiesSection.ObjectTree,
78
78
  }>|null;
79
+ onToggle: (objectTree: ObjectUI.ObjectPropertiesSection.ObjectTree, expanded: boolean) => void;
80
+ onContextMenu: (
81
+ objectTree: ObjectUI.ObjectPropertiesSection.ObjectTree,
82
+ contextMenu: UI.ContextMenu.ContextMenu,
83
+ ) => void;
79
84
  }
80
85
  type View = (input: ViewInput, output: object, target: HTMLElement) => void;
81
86
  export const DEFAULT_VIEW: View = (input, output, target) => {
82
- const createScopeSectionTreeElement =
83
- (scope: SDK.DebuggerModel.ScopeChainEntry,
84
- objectTree: ObjectUI.ObjectPropertiesSection.ObjectTree): TemplateResult => {
85
- let emptyPlaceholder: Common.UIString.LocalizedString|null = null;
86
- if (scope.type() === Protocol.Debugger.ScopeType.Local ||
87
- scope.type() === Protocol.Debugger.ScopeType.Closure) {
88
- emptyPlaceholder = i18nString(UIStrings.noVariables);
89
- }
90
- const icon = scope.icon();
91
- const {title, subtitle} = scopeTitle(scope);
92
- const section = new ObjectUI.ObjectPropertiesSection.RootElement(objectTree, input.linkifier, emptyPlaceholder);
93
- section.listItemElement.classList.add('scope-chain-sidebar-pane-section');
94
- section.listItemElement.setAttribute('aria-label', title);
95
-
96
- const titleNode = document.createDocumentFragment();
97
- // eslint-disable-next-line @devtools/no-lit-render-outside-of-view
98
- render(
99
- html`<div class='scope-chain-sidebar-pane-section-header tree-element-title'>${
100
- icon ? html`<img class=scope-chain-sidebar-pane-section-icon src=${icon}>` : nothing}
101
- <div class=scope-chain-sidebar-pane-section-subtitle>${subtitle}</div>
102
- <div class=scope-chain-sidebar-pane-section-title>${title}</div>
103
- </div>`,
104
- titleNode);
105
- section.title = titleNode;
87
+ const createScopeSection = ({scope, objectTree}: {
88
+ scope: SDK.DebuggerModel.ScopeChainEntry,
89
+ objectTree: ObjectUI.ObjectPropertiesSection.ObjectTree,
90
+ }): TemplateResult => {
91
+ let emptyPlaceholder: Common.UIString.LocalizedString|null = null;
92
+ if (scope.type() === Protocol.Debugger.ScopeType.Local || scope.type() === Protocol.Debugger.ScopeType.Closure) {
93
+ emptyPlaceholder = i18nString(UIStrings.noVariables);
94
+ }
95
+ const icon = scope.icon();
96
+ const {title, subtitle} = scopeTitle(scope);
106
97
 
107
- if (scope === input.scopeChain?.[0]?.scope) {
108
- section.select(/* omitFocus */ true);
109
- }
98
+ // clang-format off
99
+ return html`
100
+ <li role="treeitem"
101
+ class="scope-chain-sidebar-pane-section"
102
+ aria-label=${title}
103
+ ?open=${objectTree.expanded}
104
+ @expand=${(e: Event) => {
105
+ const customEvent = e as UI.TreeOutline.TreeViewElement.ExpandEvent;
106
+ input.onToggle(objectTree, customEvent.detail.expanded);
107
+ }}
108
+ @contextmenu=${(e: Event) => {
109
+ const contextMenu = new UI.ContextMenu.ContextMenu(e);
110
+ input.onContextMenu(objectTree, contextMenu);
111
+ void contextMenu.show();
112
+ }}>
113
+ <div class="scope-chain-sidebar-pane-section-header"
114
+ @click=${() => {
115
+ input.onToggle(objectTree, !objectTree.expanded);
116
+ }}>
117
+ ${icon ? html`<img class="scope-chain-sidebar-pane-section-icon" src=${icon}>` : nothing}
118
+ <div class="scope-chain-sidebar-pane-section-title">${title}</div>
119
+ <div class="scope-chain-sidebar-pane-section-subtitle">${subtitle}</div>
120
+ </div>
110
121
 
111
- return html`<devtools-tree-wrapper .treeElement=${section}></devtools-tree-wrapper>`;
112
- };
122
+ ${objectTree.expanded
123
+ ? ObjectUI.ObjectPropertiesSection.renderObjectTree(objectTree, input.linkifier, emptyPlaceholder)
124
+ : html`<ul role="group"></ul>`}
125
+ </li>`;
126
+ // clang-format on
127
+ };
113
128
 
114
129
  render(
115
130
  // clang-format off
@@ -121,7 +136,7 @@ export const DEFAULT_VIEW: View = (input, output, target) => {
121
136
  <style>${ObjectUI.ObjectPropertiesSection.objectValueStyles}</style>
122
137
  <style>${ObjectUI.ObjectPropertiesSection.objectPropertiesSectionStyles}</style>
123
138
  <style>${scopeChainSidebarPaneStyles}</style>
124
- ${input.scopeChain?.map(({scope, objectTree}) => createScopeSectionTreeElement(scope, objectTree)) ?? nothing}
139
+ ${input.scopeChain?.map(item => createScopeSection(item)) ?? nothing}
125
140
  </ul>`}>
126
141
  </devtools-tree>` : html`
127
142
  <div class=gray-info-message tabindex=-1>${
@@ -212,13 +227,41 @@ export class ScopeChainSidebarPane extends UI.Widget.VBox implements UI.ContextF
212
227
  }
213
228
 
214
229
  override performUpdate(): void {
215
- this.#view(
216
- {
217
- linkifier: this.#linkifier,
218
- isPaused: Boolean(this.#scopeChainModel),
219
- scopeChain: this.#scopeChain,
220
- },
221
- {}, this.contentElement);
230
+ this.#view({
231
+ linkifier: this.#linkifier,
232
+ isPaused: Boolean(this.#scopeChainModel),
233
+ scopeChain: this.#scopeChain,
234
+ onToggle: (objectTree: ObjectUI.ObjectPropertiesSection.ObjectTree, expanded: boolean) => {
235
+ objectTree.expanded = expanded;
236
+ this.requestUpdate();
237
+ },
238
+ onContextMenu: (
239
+ objectTree: ObjectUI.ObjectPropertiesSection.ObjectTree,
240
+ contextMenu: UI.ContextMenu.ContextMenu,
241
+ ) => {
242
+ ObjectUI.ObjectPropertiesSection.populateObjectTreeContextMenu(
243
+ contextMenu,
244
+ objectTree,
245
+ async () => {
246
+ await objectTree.expandRecursively(ObjectUI.ObjectPropertiesSection.EXPANDABLE_MAX_DEPTH);
247
+ this.requestUpdate();
248
+ },
249
+ () => {
250
+ objectTree.collapseRecursively();
251
+ this.requestUpdate();
252
+ },
253
+ () => {
254
+ objectTree.sortPropertiesAlphabetically = !objectTree.sortPropertiesAlphabetically;
255
+ this.requestUpdate();
256
+ },
257
+ () => {
258
+ objectTree.includeNullOrUndefinedValues = !objectTree.includeNullOrUndefinedValues;
259
+ this.requestUpdate();
260
+ },
261
+ );
262
+ },
263
+ },
264
+ {}, this.contentElement);
222
265
  }
223
266
 
224
267
  #buildScopeChain({scopeChain}: SourceMapScopes.ScopeChainModel.ScopeChain): void {
@@ -240,6 +283,9 @@ export class ScopeChainSidebarPane extends UI.Widget.VBox implements UI.ContextF
240
283
  readOnly: false,
241
284
  expansionTracker,
242
285
  });
286
+ objectTree.addEventListener(ObjectUI.ObjectPropertiesSection.ObjectTreeNodeBase.Events.CHILDREN_CHANGED, () => {
287
+ this.requestUpdate();
288
+ });
243
289
  void expansionTracker.apply(objectTree);
244
290
  objectTree.addExtraProperties(...scope.extraProperties());
245
291
  if (scope.type() === Protocol.Debugger.ScopeType.Global) {