chrome-devtools-frontend 1.0.1662289 → 1.0.1664496

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 (319) hide show
  1. package/.agents/skills/{creating-a-model → devtools-model-management}/SKILL.md +0 -1
  2. package/.agents/skills/devtools-unicode-escaping/SKILL.md +64 -0
  3. package/.agents/skills/devtools-ux-writing-refactor/SKILL.md +2 -1
  4. package/.agents/skills/fixing-skipped-tests/SKILL.md +3 -3
  5. package/.agents/skills/merging-devtools-module/SKILL.md +1 -1
  6. package/.agents/skills/migrate-chromium-test/SKILL.md +32 -6
  7. package/.agents/skills/repro-flaky-tests/SKILL.md +71 -31
  8. package/.agents/skills/ui-eng-vision-widget-promoter/SKILL.md +1 -0
  9. package/docs/ui_engineering.md +2 -0
  10. package/eslint.config.mjs +1 -0
  11. package/front_end/core/common/SettingRegistration.ts +0 -5
  12. package/front_end/core/common/Settings.ts +144 -3
  13. package/front_end/core/platform/StringUtilities.ts +38 -6
  14. package/front_end/core/protocol_client/PuppeteerDevToolsConnection.ts +112 -0
  15. package/front_end/core/sdk/CPUProfilerModel.ts +21 -13
  16. package/front_end/core/sdk/CSSContainerQuery.ts +1 -1
  17. package/front_end/core/sdk/CSSLayer.ts +1 -1
  18. package/front_end/core/sdk/CSSMedia.ts +1 -1
  19. package/front_end/core/sdk/CSSModel.ts +1 -1
  20. package/front_end/core/sdk/CSSNavigation.ts +1 -1
  21. package/front_end/core/sdk/CSSProperty.ts +1 -1
  22. package/front_end/core/sdk/CSSQuery.ts +1 -1
  23. package/front_end/core/sdk/CSSRule.ts +1 -1
  24. package/front_end/core/sdk/CSSScope.ts +1 -1
  25. package/front_end/core/sdk/CSSStartingStyle.ts +1 -1
  26. package/front_end/core/sdk/CSSStyleDeclaration.ts +1 -1
  27. package/front_end/core/sdk/CSSStyleSheetHeader.ts +1 -1
  28. package/front_end/core/sdk/CSSSupports.ts +1 -1
  29. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +1 -1
  30. package/front_end/core/sdk/NetworkManager.ts +1 -1
  31. package/front_end/core/sdk/NetworkRequest.ts +7 -7
  32. package/front_end/core/sdk/Resource.ts +1 -1
  33. package/front_end/core/sdk/ScopeTreeCache.ts +1 -1
  34. package/front_end/core/sdk/Script.ts +1 -1
  35. package/front_end/core/sdk/ServerSentEvents.ts +1 -1
  36. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +0 -10
  37. package/front_end/core/sdk/SourceMap.ts +1 -1
  38. package/front_end/core/sdk/SourceMapScopesInfo.ts +1 -1
  39. package/front_end/core/sdk/StorageBucketsModel.ts +0 -10
  40. package/front_end/core/sdk/sdk-meta.ts +3 -4
  41. package/front_end/{models → core}/text_utils/ContentProvider.ts +4 -6
  42. package/front_end/{models → core}/text_utils/StaticContentProvider.ts +4 -6
  43. package/front_end/{models → core}/text_utils/StreamingContentData.ts +1 -2
  44. package/front_end/{models → core}/text_utils/TextRange.ts +6 -3
  45. package/front_end/{models → core}/text_utils/TextUtils.ts +7 -7
  46. package/front_end/{models → core}/text_utils/WasmDisassembly.ts +2 -2
  47. package/front_end/core/text_utils/text_utils.ts +27 -0
  48. package/front_end/entrypoints/formatter_worker/AcornTokenizer.ts +1 -1
  49. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshotLoader.ts +1 -1
  50. package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +0 -13
  51. package/front_end/entrypoints/inspector_main/RenderingOptions.ts +8 -3
  52. package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +3 -3
  53. package/front_end/entrypoints/main/MainImpl.ts +21 -3
  54. package/front_end/foundation/Universe.ts +16 -0
  55. package/front_end/generated/InspectorBackendCommands.ts +2 -14
  56. package/front_end/generated/protocol-mapping.d.ts +0 -53
  57. package/front_end/generated/protocol-proxy-api.d.ts +0 -46
  58. package/front_end/generated/protocol.ts +0 -148
  59. package/front_end/models/ai_assistance/AgentProject.ts +1 -1
  60. package/front_end/models/ai_assistance/AiAgent2.ts +3 -3
  61. package/front_end/models/ai_assistance/AiConversation.ts +21 -10
  62. package/front_end/models/ai_assistance/AiHistoryStorage.ts +21 -10
  63. package/front_end/models/ai_assistance/ChangeManager.ts +2 -2
  64. package/front_end/models/ai_assistance/ExtensionScope.ts +6 -2
  65. package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +4 -7
  66. package/front_end/models/ai_assistance/agents/AiAgent.ts +9 -2
  67. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +19 -11
  68. package/front_end/models/ai_assistance/agents/PerformanceAgent.snapshot.txt +2 -2
  69. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +23 -10
  70. package/front_end/models/ai_assistance/agents/StorageAgent.ts +19 -18
  71. package/front_end/models/ai_assistance/agents/StylingAgent.ts +3 -4
  72. package/front_end/models/ai_assistance/contexts/FileContext.ts +7 -3
  73. package/front_end/models/ai_assistance/contexts/PerformanceTraceContext.ts +39 -11
  74. package/front_end/models/ai_assistance/data_formatters/FileFormatter.ts +6 -3
  75. package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +1 -1
  76. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +4 -4
  77. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +8 -8
  78. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +76 -3
  79. package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +11 -1
  80. package/front_end/models/badges/AiExplorerBadge.ts +8 -3
  81. package/front_end/models/badges/Badge.ts +1 -0
  82. package/front_end/models/badges/UserBadges.ts +43 -23
  83. package/front_end/models/bindings/CompilerScriptMapping.ts +1 -1
  84. package/front_end/models/bindings/ContentProviderBasedProject.ts +1 -1
  85. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +2 -2
  86. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +1 -1
  87. package/front_end/models/bindings/DefaultScriptMapping.ts +1 -1
  88. package/front_end/models/bindings/FileUtils.ts +1 -1
  89. package/front_end/models/bindings/NetworkProject.ts +16 -4
  90. package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +7 -10
  91. package/front_end/models/bindings/ResourceMapping.ts +1 -1
  92. package/front_end/models/bindings/ResourceScriptMapping.ts +1 -1
  93. package/front_end/models/bindings/SASSSourceMapping.ts +1 -1
  94. package/front_end/models/bindings/StylesSourceMapping.ts +1 -1
  95. package/front_end/models/breakpoints/BreakpointManager.ts +1 -1
  96. package/front_end/models/crux-manager/CrUXManager.ts +1 -1
  97. package/front_end/models/emulation/DeviceModeModel.ts +67 -5
  98. package/front_end/models/emulation/EmulatedDevices.ts +3 -2
  99. package/front_end/models/extensions/RecorderPluginManager.ts +10 -6
  100. package/front_end/models/har/Importer.ts +1 -1
  101. package/front_end/models/har/Log.snapshot.txt +193 -0
  102. package/front_end/models/har/Log.ts +3 -2
  103. package/front_end/models/har/Writer.ts +1 -1
  104. package/front_end/models/issues_manager/IssueAggregator.ts +9 -0
  105. package/front_end/models/issues_manager/IssuesManager.ts +5 -0
  106. package/front_end/models/issues_manager/LazyLoadImageIssue.ts +76 -0
  107. package/front_end/models/issues_manager/descriptions/lazyLoadImageZeroSize.md +7 -0
  108. package/front_end/models/issues_manager/issues_manager.ts +2 -0
  109. package/front_end/models/javascript_metadata/NativeFunctions.js +9 -10
  110. package/front_end/models/live-metrics/LiveMetrics.ts +2 -3
  111. package/front_end/models/logs/NetworkLog.ts +4 -3
  112. package/front_end/models/logs/logs-meta.ts +3 -3
  113. package/front_end/models/network_time_calculator/NetworkTimeCalculator.ts +4 -4
  114. package/front_end/models/persistence/Automapping.ts +1 -1
  115. package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +2 -2
  116. package/front_end/models/persistence/FileSystemWorkspaceBinding.ts +1 -1
  117. package/front_end/models/persistence/IsolatedFileSystem.ts +2 -2
  118. package/front_end/models/persistence/NetworkPersistenceManager.ts +1 -1
  119. package/front_end/models/persistence/PersistenceImpl.ts +1 -1
  120. package/front_end/models/persistence/PlatformFileSystem.ts +1 -1
  121. package/front_end/models/source_map_scopes/FunctionCodeResolver.ts +8 -6
  122. package/front_end/models/source_map_scopes/NamesResolver.ts +37 -31
  123. package/front_end/models/stack_trace/StackTrace.ts +17 -0
  124. package/front_end/models/text_utils/text_utils.ts +2 -24
  125. package/front_end/models/trace/insights/ImageDelivery.ts +2 -2
  126. package/front_end/models/trace/insights/LegacyJavaScript.ts +1 -1
  127. package/front_end/models/trace/insights/RenderBlocking.ts +1 -1
  128. package/front_end/models/trace/insights/ThirdParties.ts +1 -1
  129. package/front_end/models/workspace/FileManager.ts +1 -1
  130. package/front_end/models/workspace/UISourceCode.ts +1 -1
  131. package/front_end/models/workspace/WorkspaceImpl.ts +1 -1
  132. package/front_end/models/workspace_diff/WorkspaceDiff.ts +1 -1
  133. package/front_end/panels/accessibility/AccessibilityNodeView.ts +1 -1
  134. package/front_end/panels/accessibility/AccessibilityStrings.ts +2 -2
  135. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +1 -1
  136. package/front_end/panels/ai_assistance/ExportConversation.ts +1 -1
  137. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +1 -1
  138. package/front_end/panels/ai_assistance/components/ChatMessage.ts +1 -1
  139. package/front_end/panels/application/AppManifestView.ts +4 -4
  140. package/front_end/panels/application/ApplicationPanelSidebar.ts +1 -2
  141. package/front_end/panels/application/CrashReportContextView.ts +1 -1
  142. package/front_end/panels/application/DOMStorageItemsView.ts +1 -1
  143. package/front_end/panels/application/DeviceBoundSessionsView.ts +4 -4
  144. package/front_end/panels/application/ExtensionStorageItemsView.ts +1 -1
  145. package/front_end/panels/application/FrameDetailsView.ts +1 -1
  146. package/front_end/panels/application/IndexedDBModel.ts +0 -10
  147. package/front_end/panels/application/IndexedDBViews.ts +240 -164
  148. package/front_end/panels/application/ServiceWorkerCacheTreeElement.ts +12 -2
  149. package/front_end/panels/application/ServiceWorkerCacheViews.ts +1 -1
  150. package/front_end/panels/application/SharedStorageModel.ts +0 -10
  151. package/front_end/panels/application/application.ts +2 -0
  152. package/front_end/panels/application/components/AdsView.ts +23 -0
  153. package/front_end/panels/application/components/BackForwardCacheView.ts +21 -5
  154. package/front_end/panels/application/components/CrashReportContextGrid.ts +1 -1
  155. package/front_end/panels/application/components/SharedStorageAccessGrid.ts +1 -1
  156. package/front_end/panels/application/components/TrustTokensView.ts +2 -2
  157. package/front_end/panels/application/components/adsView.css +21 -1
  158. package/front_end/panels/application/indexedDBViews.css +1 -1
  159. package/front_end/panels/application/preloading/PreloadingView.ts +1 -1
  160. package/front_end/panels/application/preloading/components/PreloadingDisabledInfobar.ts +2 -2
  161. package/front_end/panels/application/preloading/components/PreloadingString.ts +2 -2
  162. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +4 -4
  163. package/front_end/panels/autofill/AutofillView.ts +1 -1
  164. package/front_end/panels/common/AiCodeCompletionTeaser.ts +1 -1
  165. package/front_end/panels/common/ExtensionServer.ts +1 -1
  166. package/front_end/panels/console/ConsoleFilter.ts +1 -1
  167. package/front_end/panels/console/ConsoleSidebar.ts +1 -1
  168. package/front_end/panels/console/ConsoleView.ts +1 -1
  169. package/front_end/panels/console/ConsoleViewMessage.ts +1 -1
  170. package/front_end/panels/console/PromptBuilder.ts +1 -1
  171. package/front_end/panels/coverage/CoverageDecorationManager.ts +9 -1
  172. package/front_end/panels/coverage/CoverageModel.ts +1 -1
  173. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +1 -1
  174. package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
  175. package/front_end/panels/developer_resources/DeveloperResourcesView.ts +1 -1
  176. package/front_end/panels/elements/AccessibilityTreeView.ts +38 -3
  177. package/front_end/panels/elements/AdoptedStyleSheetTreeElement.ts +1 -1
  178. package/front_end/panels/elements/ElementIssueUtils.ts +2 -2
  179. package/front_end/panels/elements/ElementsTreeElement.ts +10 -3
  180. package/front_end/panels/elements/StandaloneStylesContainer.ts +1 -1
  181. package/front_end/panels/elements/StylePropertiesSection.ts +1 -1
  182. package/front_end/panels/elements/StylePropertyTreeElement.ts +1 -1
  183. package/front_end/panels/elements/StylesAiCodeCompletionProvider.ts +1 -1
  184. package/front_end/panels/elements/StylesContainer.ts +1 -1
  185. package/front_end/panels/elements/StylesSidebarPane.ts +1 -1
  186. package/front_end/panels/elements/components/CSSPropertyDocsView.ts +1 -1
  187. package/front_end/panels/explain/components/ConsoleInsight.ts +2 -2
  188. package/front_end/panels/issues/AffectedLazyLoadImagesView.ts +76 -0
  189. package/front_end/panels/issues/AffectedResourcesView.ts +1 -1
  190. package/front_end/panels/issues/CorsIssueDetailsView.ts +1 -1
  191. package/front_end/panels/issues/IssueView.ts +2 -0
  192. package/front_end/panels/issues/issues.ts +2 -0
  193. package/front_end/panels/layer_viewer/Layers3DView.ts +1 -1
  194. package/front_end/panels/lighthouse/LighthouseController.ts +5 -0
  195. package/front_end/panels/lighthouse/LighthouseReportRenderer.ts +1 -1
  196. package/front_end/panels/network/BinaryResourceView.ts +1 -1
  197. package/front_end/panels/network/NetworkDataGridNode.ts +72 -8
  198. package/front_end/panels/network/NetworkLogView.ts +1 -1
  199. package/front_end/panels/network/NetworkLogViewColumns.ts +6 -6
  200. package/front_end/panels/network/NetworkPanel.ts +4 -4
  201. package/front_end/panels/network/NetworkSearchScope.ts +1 -1
  202. package/front_end/panels/network/RequestConditionsDrawer.ts +1 -1
  203. package/front_end/panels/network/RequestHTMLView.ts +1 -1
  204. package/front_end/panels/network/RequestInitiatorView.ts +24 -2
  205. package/front_end/panels/network/RequestPayloadView.ts +1 -1
  206. package/front_end/panels/network/RequestPreviewView.ts +1 -1
  207. package/front_end/panels/network/RequestResponseView.ts +1 -1
  208. package/front_end/panels/network/ResourceChunkView.ts +1 -1
  209. package/front_end/panels/network/ResourceDirectSocketChunkView.ts +1 -1
  210. package/front_end/panels/network/ResourceWebSocketFrameView.ts +1 -1
  211. package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -1
  212. package/front_end/panels/network/forward/UIRequestLocation.ts +1 -1
  213. package/front_end/panels/network/network-meta.ts +3 -3
  214. package/front_end/panels/network/networkLogView.css +5 -0
  215. package/front_end/panels/network/requestInitiatorViewTree.css +5 -0
  216. package/front_end/panels/profiler/HeapProfileView.ts +200 -81
  217. package/front_end/panels/profiler/HeapSnapshotView.ts +1 -1
  218. package/front_end/panels/profiler/ProfileDataGrid.ts +12 -8
  219. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +1 -1
  220. package/front_end/panels/recorder/README.md +1 -2
  221. package/front_end/panels/recorder/RecorderPanel.ts +1861 -17
  222. package/front_end/panels/recorder/RecordingListView.ts +8 -37
  223. package/front_end/panels/recorder/RecordingView.ts +54 -27
  224. package/front_end/panels/recorder/SelectorPicker.ts +0 -13
  225. package/front_end/panels/recorder/StepEditor.ts +6 -14
  226. package/front_end/panels/recorder/StepView.ts +36 -105
  227. package/front_end/panels/recorder/recorder.ts +0 -2
  228. package/front_end/panels/search/SearchResultsPane.ts +1 -1
  229. package/front_end/panels/security/SecurityPanel.ts +3 -3
  230. package/front_end/panels/settings/AISettingsTab.ts +17 -4
  231. package/front_end/panels/settings/components/SyncSection.ts +4 -4
  232. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +3 -3
  233. package/front_end/panels/snippets/ScriptSnippetFileSystem.ts +1 -1
  234. package/front_end/panels/sources/BreakpointsView.ts +1 -1
  235. package/front_end/panels/sources/CoveragePlugin.ts +1 -1
  236. package/front_end/panels/sources/DebuggerPlugin.ts +4 -4
  237. package/front_end/panels/sources/FilteredUISourceCodeListProvider.ts +27 -3
  238. package/front_end/panels/sources/NavigatorView.ts +1 -1
  239. package/front_end/panels/sources/PersistenceActions.ts +1 -1
  240. package/front_end/panels/sources/SourcesNavigator.ts +1 -1
  241. package/front_end/panels/sources/SourcesSearchScope.ts +1 -1
  242. package/front_end/panels/sources/TabbedEditorContainer.ts +3 -3
  243. package/front_end/panels/sources/UISourceCodeFrame.ts +1 -1
  244. package/front_end/panels/sources/components/HeadersView.ts +1 -1
  245. package/front_end/panels/sources/filteredUISourceCodeListProvider.css +12 -1
  246. package/front_end/panels/sources/sources-meta.ts +1 -1
  247. package/front_end/panels/timeline/StatusDialog.ts +1 -1
  248. package/front_end/panels/timeline/TimelineController.ts +24 -3
  249. package/front_end/panels/timeline/TimelinePanel.ts +116 -25
  250. package/front_end/panels/timeline/TimelineSelectorStatsView.ts +2 -2
  251. package/front_end/panels/timeline/TimelineUIUtils.ts +1 -1
  252. package/front_end/panels/timeline/components/CWVMetrics.ts +1 -1
  253. package/front_end/panels/timeline/components/IgnoreListSetting.ts +1 -1
  254. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +2 -2
  255. package/front_end/panels/timeline/timeline-meta.ts +13 -0
  256. package/front_end/services/tracing/TracingManager.ts +27 -2
  257. package/front_end/third_party/chromium/README.chromium +1 -1
  258. package/front_end/third_party/lighthouse/README.chromium +2 -2
  259. package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1418 -1413
  260. package/front_end/third_party/lighthouse/locales/en-US.json +12 -6
  261. package/front_end/third_party/lighthouse/locales/en-XL.json +12 -6
  262. package/front_end/third_party/lighthouse/report-assets/report-generator.mjs +1 -1
  263. package/front_end/third_party/puppeteer/puppeteer.ts +20 -1
  264. package/front_end/ui/components/highlighting/HighlightElement.ts +4 -1
  265. package/front_end/ui/components/highlighting/HighlightManager.ts +1 -1
  266. package/front_end/ui/components/highlighting/MarkupHighlight.ts +1 -1
  267. package/front_end/ui/components/markdown_view/MarkdownView.ts +46 -2
  268. package/front_end/ui/components/markdown_view/markdownView.css +23 -0
  269. package/front_end/ui/components/spinners/Spinner.ts +29 -32
  270. package/front_end/ui/components/spinners/spinner.css +32 -84
  271. package/front_end/ui/components/text_editor/config.ts +1 -1
  272. package/front_end/ui/components/tree_outline/TreeOutline.ts +7 -1
  273. package/front_end/ui/legacy/Infobar.ts +1 -1
  274. package/front_end/ui/legacy/InspectorView.ts +12 -7
  275. package/front_end/ui/legacy/SuggestBox.ts +1 -1
  276. package/front_end/ui/legacy/TextPrompt.ts +1 -1
  277. package/front_end/ui/legacy/Toolbar.ts +5 -2
  278. package/front_end/ui/legacy/Treeoutline.ts +40 -13
  279. package/front_end/ui/legacy/UIUtils.ts +25 -10
  280. package/front_end/ui/legacy/Widget.ts +17 -10
  281. package/front_end/ui/legacy/components/color_picker/Spectrum.ts +1 -1
  282. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +37 -8
  283. package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +1 -1
  284. package/front_end/ui/legacy/components/data_grid/dataGrid.css +1 -1
  285. package/front_end/ui/legacy/components/inline_editor/AnimationTimingUI.ts +27 -13
  286. package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +5 -2
  287. package/front_end/ui/legacy/components/inline_editor/CSSLinearEasingModel.ts +23 -0
  288. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +223 -121
  289. package/front_end/ui/legacy/components/object_ui/RemoteObjectPreviewFormatter.ts +1 -1
  290. package/front_end/ui/legacy/components/object_ui/objectValue.css +2 -1
  291. package/front_end/ui/legacy/components/quick_open/FilteredListWidget.ts +1 -1
  292. package/front_end/ui/legacy/components/source_frame/BinaryResourceViewFactory.ts +1 -1
  293. package/front_end/ui/legacy/components/source_frame/FontView.ts +1 -1
  294. package/front_end/ui/legacy/components/source_frame/ImageView.ts +1 -1
  295. package/front_end/ui/legacy/components/source_frame/JSONView.ts +105 -115
  296. package/front_end/ui/legacy/components/source_frame/PreviewFactory.ts +1 -1
  297. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +1 -1
  298. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +3 -3
  299. package/front_end/ui/legacy/components/source_frame/StreamingContentHexView.ts +1 -1
  300. package/front_end/ui/legacy/components/source_frame/XMLView.ts +5 -1
  301. package/front_end/ui/legacy/components/source_frame/jsonView.css +4 -0
  302. package/front_end/ui/legacy/components/utils/Linkifier.ts +1 -1
  303. package/front_end/ui/legacy/inspectorCommon.css +10 -6
  304. package/front_end/ui/lit/lit.ts +1 -0
  305. package/front_end/ui/lit/render.ts +44 -10
  306. package/front_end/ui/lit/strip-whitespace.ts +23 -2
  307. package/front_end/ui/settings/SettingUIRegistration.ts +105 -0
  308. package/front_end/ui/settings/settings.ts +9 -0
  309. package/front_end/ui/visual_logging/KnownContextValues.ts +13 -0
  310. package/mcp/mcp.ts +1 -0
  311. package/package.json +1 -1
  312. package/front_end/panels/recorder/RecorderController.ts +0 -1759
  313. /package/.agents/skills/{verification → devtools-verification}/SKILL.md +0 -0
  314. /package/front_end/{models → core}/text_utils/CodeMirrorUtils.ts +0 -0
  315. /package/front_end/{models → core}/text_utils/ContentData.ts +0 -0
  316. /package/front_end/{models → core}/text_utils/Text.ts +0 -0
  317. /package/front_end/{models → core}/text_utils/TextCursor.ts +0 -0
  318. /package/front_end/{models → core}/text_utils/TextUtils.snapshot.txt +0 -0
  319. /package/front_end/panels/recorder/{recorderController.css → recorderPanel.css} +0 -0
@@ -40,14 +40,14 @@ import type {Calculator} from './Calculator.js';
40
40
 
41
41
  const UIStrings = {
42
42
  /**
43
- * @description Latency download total format in Network Time Calculator of the Network panel
43
+ * @description Latency download total format in Network Time Calculator of the Network panel.
44
44
  * @example {20ms} PH1
45
45
  * @example {20ms} PH2
46
46
  * @example {40ms} PH3
47
47
  */
48
48
  sLatencySDownloadSTotal: '{PH1} latency, {PH2} download ({PH3} total)',
49
49
  /**
50
- * @description Latency format in Network Time Calculator of the Network panel
50
+ * @description Latency format in Network Time Calculator of the Network panel.
51
51
  * @example {20ms} PH1
52
52
  */
53
53
  sLatency: '{PH1} latency',
@@ -57,12 +57,12 @@ const UIStrings = {
57
57
  */
58
58
  sDownload: '{PH1} download',
59
59
  /**
60
- * @description From service worker format in Network Time Calculator of the Network panel
60
+ * @description From service worker format in Network Time Calculator of the Network panel.
61
61
  * @example {20ms latency} PH1
62
62
  */
63
63
  sFromServiceworker: '{PH1} (from `ServiceWorker`)',
64
64
  /**
65
- * @description From cache format in Network Time Calculator of the Network panel
65
+ * @description From cache format in Network Time Calculator of the Network panel.
66
66
  * @example {20ms latency} PH1
67
67
  */
68
68
  sFromCache: '{PH1} (from cache)',
@@ -6,8 +6,8 @@ import * as Common from '../../core/common/common.js';
6
6
  import * as Host from '../../core/host/host.js';
7
7
  import type * as Platform from '../../core/platform/platform.js';
8
8
  import * as SDK from '../../core/sdk/sdk.js';
9
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
9
10
  import * as Bindings from '../bindings/bindings.js';
10
- import * as TextUtils from '../text_utils/text_utils.js';
11
11
  import * as Workspace from '../workspace/workspace.js';
12
12
 
13
13
  import {type FileSystem, FileSystemWorkspaceBinding} from './FileSystemWorkspaceBinding.js';
@@ -6,8 +6,8 @@ import * as Common from '../../core/common/common.js';
6
6
  import * as Host from '../../core/host/host.js';
7
7
  import type * as Platform from '../../core/platform/platform.js';
8
8
  import * as Root from '../../core/root/root.js';
9
- import type {ContentDataOrError} from '../text_utils/ContentData.js';
10
- import type {SearchMatch} from '../text_utils/ContentProvider.js';
9
+ import type {ContentDataOrError} from '../../core/text_utils/ContentData.js';
10
+ import type {SearchMatch} from '../../core/text_utils/ContentProvider.js';
11
11
  import * as Workspace from '../workspace/workspace.js';
12
12
 
13
13
  import {
@@ -5,7 +5,7 @@
5
5
  import * as Common from '../../core/common/common.js';
6
6
  import * as Host from '../../core/host/host.js';
7
7
  import * as Platform from '../../core/platform/platform.js';
8
- import * as TextUtils from '../text_utils/text_utils.js';
8
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
9
9
  import * as Workspace from '../workspace/workspace.js';
10
10
 
11
11
  import type {IsolatedFileSystem} from './IsolatedFileSystem.js';
@@ -6,7 +6,7 @@ import * as Common from '../../core/common/common.js';
6
6
  import * as Host from '../../core/host/host.js';
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
8
  import * as Platform from '../../core/platform/platform.js';
9
- import * as TextUtils from '../text_utils/text_utils.js';
9
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
10
10
 
11
11
  import {Events, type IsolatedFileSystemManager} from './IsolatedFileSystemManager.js';
12
12
  import {Events as PlatformFileSystemEvents, PlatformFileSystem, PlatformFileSystemType} from './PlatformFileSystem.js';
@@ -26,7 +26,7 @@ const UIStrings = {
26
26
  * @example {c:\dir\file.js} PH1
27
27
  * @example {Underlying error} PH2
28
28
  */
29
- cantReadFileSS: 'Can\'t read file: {PH1}: {PH2}',
29
+ cantReadFileSS: 'Cant read file: {PH1}: {PH2}',
30
30
  /**
31
31
  * @description Text to show something is linked to another
32
32
  * @example {example.url} PH1
@@ -7,9 +7,9 @@ import * as Host from '../../core/host/host.js';
7
7
  import * as Platform from '../../core/platform/platform.js';
8
8
  import * as Root from '../../core/root/root.js';
9
9
  import * as SDK from '../../core/sdk/sdk.js';
10
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
10
11
  import * as Protocol from '../../generated/protocol.js';
11
12
  import * as Breakpoints from '../breakpoints/breakpoints.js';
12
- import * as TextUtils from '../text_utils/text_utils.js';
13
13
  import * as Workspace from '../workspace/workspace.js';
14
14
 
15
15
  import {type FileSystem, FileSystemWorkspaceBinding} from './FileSystemWorkspaceBinding.js';
@@ -7,9 +7,9 @@ import * as Host from '../../core/host/host.js';
7
7
  import * as Platform from '../../core/platform/platform.js';
8
8
  import * as Root from '../../core/root/root.js';
9
9
  import * as SDK from '../../core/sdk/sdk.js';
10
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
10
11
  import * as Bindings from '../bindings/bindings.js';
11
12
  import * as BreakpointManager from '../breakpoints/breakpoints.js';
12
- import * as TextUtils from '../text_utils/text_utils.js';
13
13
  import * as Workspace from '../workspace/workspace.js';
14
14
 
15
15
  import {Automapping, type AutomappingStatus} from './Automapping.js';
@@ -5,7 +5,7 @@
5
5
  import * as Common from '../../core/common/common.js';
6
6
  import * as i18n from '../../core/i18n/i18n.js';
7
7
  import type * as Platform from '../../core/platform/platform.js';
8
- import type * as TextUtils from '../text_utils/text_utils.js';
8
+ import type * as TextUtils from '../../core/text_utils/text_utils.js';
9
9
 
10
10
  const UIStrings = {
11
11
  /**
@@ -5,9 +5,9 @@
5
5
  import type * as Common from '../../core/common/common.js';
6
6
  import type * as Platform from '../../core/platform/platform.js';
7
7
  import * as SDK from '../../core/sdk/sdk.js';
8
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
8
9
  import * as Bindings from '../bindings/bindings.js';
9
10
  import * as Formatter from '../formatter/formatter.js';
10
- import * as TextUtils from '../text_utils/text_utils.js';
11
11
  import * as Workspace from '../workspace/workspace.js';
12
12
 
13
13
  /** Represents the source code for a given function, including additional context of surrounding lines. */
@@ -216,14 +216,15 @@ function createFunctionCode(
216
216
  */
217
217
  export async function getFunctionCodeFromLocation(
218
218
  target: SDK.Target.Target, url: Platform.DevToolsPath.UrlString, line: number, column: number,
219
- options?: CreateFunctionCodeOptions): Promise<FunctionCode|null> {
219
+ options?: CreateFunctionCodeOptions,
220
+ debuggerWorkspaceBinding =
221
+ Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance()): Promise<FunctionCode|null> {
220
222
  const debuggerModel = target.model(SDK.DebuggerModel.DebuggerModel);
221
223
  if (!debuggerModel) {
222
224
  throw new Error('missing debugger model');
223
225
  }
224
226
 
225
227
  let uiSourceCode: Workspace.UISourceCode.UISourceCode|null = null;
226
- const debuggerWorkspaceBinding = Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance();
227
228
  const projects = debuggerWorkspaceBinding.workspace.projectsForType(Workspace.Workspace.projectTypes.Network);
228
229
  for (const project of projects) {
229
230
  if (Bindings.NetworkProject.NetworkProject.getTargetForProject(project) !== target) {
@@ -245,7 +246,7 @@ export async function getFunctionCodeFromLocation(
245
246
  return null;
246
247
  }
247
248
 
248
- return await getFunctionCodeFromRawLocation(rawLocation, options);
249
+ return await getFunctionCodeFromRawLocation(rawLocation, options, debuggerWorkspaceBinding);
249
250
  }
250
251
 
251
252
  async function format(uiSourceCode: Workspace.UISourceCode.UISourceCode, content: string,
@@ -264,8 +265,9 @@ async function format(uiSourceCode: Workspace.UISourceCode.UISourceCode, content
264
265
  * Returns a {@link FunctionCode} for the given raw location.
265
266
  */
266
267
  export async function getFunctionCodeFromRawLocation(
267
- rawLocation: SDK.DebuggerModel.Location, options?: CreateFunctionCodeOptions): Promise<FunctionCode|null> {
268
- const debuggerWorkspaceBinding = Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance();
268
+ rawLocation: SDK.DebuggerModel.Location, options?: CreateFunctionCodeOptions,
269
+ debuggerWorkspaceBinding =
270
+ Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance()): Promise<FunctionCode|null> {
269
271
  const functionBounds = await debuggerWorkspaceBinding.functionBoundsAtRawLocation(rawLocation);
270
272
  if (!functionBounds) {
271
273
  return null;
@@ -2,12 +2,11 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
- import * as Common from '../../core/common/common.js';
6
5
  import * as SDK from '../../core/sdk/sdk.js';
6
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
7
7
  import * as Protocol from '../../generated/protocol.js';
8
8
  import * as Bindings from '../bindings/bindings.js';
9
9
  import * as Formatter from '../formatter/formatter.js';
10
- import * as TextUtils from '../text_utils/text_utils.js';
11
10
 
12
11
  interface CachedScopeMap {
13
12
  sourceMap: SDK.SourceMap.SourceMap|undefined;
@@ -190,7 +189,11 @@ const enum Punctuation {
190
189
 
191
190
  const resolveDebuggerScope = async(scope: SDK.DebuggerModel.ScopeChainEntry):
192
191
  Promise<{variableMapping: Map<string, string>, thisMapping: string | null}> => {
193
- if (!Common.Settings.Settings.instance().moduleSetting('js-source-maps-enabled').get()) {
192
+ if (!scope.callFrame()
193
+ .debuggerModel.target()
194
+ .targetManager()
195
+ .settings.moduleSetting('js-source-maps-enabled')
196
+ .get()) {
194
197
  return {variableMapping: new Map(), thisMapping: null};
195
198
  }
196
199
  const script = scope.callFrame().script;
@@ -278,16 +281,17 @@ const resolveScope = async(script: SDK.Script.Script, scopeChain: Formatter.Form
278
281
 
279
282
  async function resolveSourceName(
280
283
  script: SDK.Script.Script, sourceMap: SDK.SourceMap.SourceMap, name: string,
281
- position: {lineNumber: number, columnNumber: number}): Promise<string|null> {
284
+ position: {lineNumber: number, columnNumber: number},
285
+ debuggerWorkspaceBinding: Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding =
286
+ Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance()): Promise<string|null> {
282
287
  const ranges = sourceMap.findEntryRanges(position.lineNumber, position.columnNumber);
283
288
  if (!ranges) {
284
289
  return null;
285
290
  }
286
291
  // Extract the underlying text from the compiled code's range and make sure that
287
292
  // it starts with the identifier |name|.
288
- const uiSourceCode =
289
- Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance().uiSourceCodeForSourceMapSourceURL(
290
- script.debuggerModel, ranges.sourceURL, script.isContentScript());
293
+ const uiSourceCode = debuggerWorkspaceBinding.uiSourceCodeForSourceMapSourceURL(
294
+ script.debuggerModel, ranges.sourceURL, script.isContentScript());
291
295
  if (!uiSourceCode) {
292
296
  return null;
293
297
  }
@@ -363,24 +367,27 @@ const resolveScope = async(script: SDK.Script.Script, scopeChain: Formatter.Form
363
367
  };
364
368
 
365
369
  export const resolveScopeChain =
366
- async function(callFrame: SDK.DebuggerModel.CallFrame): Promise<SDK.DebuggerModel.ScopeChainEntry[]> {
367
- const {pluginManager} = Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance();
368
- const scopeChain: SDK.DebuggerModel.ScopeChainEntry[]|null|undefined =
369
- await pluginManager.resolveScopeChain(callFrame);
370
- if (scopeChain) {
371
- return scopeChain;
372
- }
370
+ async function(callFrame: SDK.DebuggerModel.CallFrame,
371
+ debuggerWorkspaceBinding: Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding =
372
+ Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance()):
373
+ Promise<SDK.DebuggerModel.ScopeChainEntry[]> {
374
+ const {pluginManager} = debuggerWorkspaceBinding;
375
+ const scopeChain: SDK.DebuggerModel.ScopeChainEntry[]|null|undefined =
376
+ await pluginManager.resolveScopeChain(callFrame);
377
+ if (scopeChain) {
378
+ return scopeChain;
379
+ }
373
380
 
374
- // TODO(crbug.com/465968290): Re-enable creating the scope chain from the source map once:
375
- // 1) We have a flag indicating whether the source map contained variable/binding information.
376
- // 2) We have a chrome feature flag.
381
+ // TODO(crbug.com/465968290): Re-enable creating the scope chain from the source map once:
382
+ // 1) We have a flag indicating whether the source map contained variable/binding information.
383
+ // 2) We have a chrome feature flag.
377
384
 
378
- if (callFrame.script.isWasm()) {
379
- return callFrame.scopeChain();
380
- }
381
- const thisObject = await resolveThisObject(callFrame);
382
- return callFrame.scopeChain().map(scope => new ScopeWithSourceMappedVariables(scope, thisObject));
383
- };
385
+ if (callFrame.script.isWasm()) {
386
+ return callFrame.scopeChain();
387
+ }
388
+ const thisObject = await resolveThisObject(callFrame);
389
+ return callFrame.scopeChain().map(scope => new ScopeWithSourceMappedVariables(scope, thisObject));
390
+ };
384
391
 
385
392
  /**
386
393
  * @returns A mapping from original name -> compiled name. If the orignal name is unavailable (e.g. because the compiled name was
@@ -388,7 +395,7 @@ export const resolveScopeChain =
388
395
  */
389
396
  export const allVariablesInCallFrame =
390
397
  async(callFrame: SDK.DebuggerModel.CallFrame): Promise<Map<string, string|null>> => {
391
- if (!Common.Settings.Settings.instance().moduleSetting('js-source-maps-enabled').get()) {
398
+ if (!callFrame.debuggerModel.target().targetManager().settings.moduleSetting('js-source-maps-enabled').get()) {
392
399
  return new Map<string, string|null>();
393
400
  }
394
401
  const cachedMap = cachedMapByCallFrame.get(callFrame);
@@ -424,13 +431,13 @@ export const allVariablesInCallFrame =
424
431
  export const allVariablesAtPosition =
425
432
  async(location: SDK.DebuggerModel.Location): Promise<Map<string, string|null>> => {
426
433
  const reverseMapping = new Map<string, string|null>();
427
- if (!Common.Settings.Settings.instance().moduleSetting('js-source-maps-enabled').get()) {
428
- return reverseMapping;
429
- }
430
434
  const script = location.script();
431
435
  if (!script) {
432
436
  return reverseMapping;
433
437
  }
438
+ if (!script.debuggerModel.target().targetManager().settings.moduleSetting('js-source-maps-enabled').get()) {
439
+ return reverseMapping;
440
+ }
434
441
 
435
442
  const scopeTreeAndText = await computeScopeTree(script);
436
443
  if (!scopeTreeAndText) {
@@ -727,8 +734,9 @@ export async function resolveDebuggerFrameFunctionName(frame: SDK.DebuggerModel.
727
734
  }
728
735
 
729
736
  export async function resolveProfileFrameFunctionName(
730
- {scriptId, lineNumber, columnNumber}: Partial<Protocol.Runtime.CallFrame>,
731
- target: SDK.Target.Target|null): Promise<string|null> {
737
+ {scriptId, lineNumber, columnNumber}: Partial<Protocol.Runtime.CallFrame>, target: SDK.Target.Target|null,
738
+ debuggerWorkspaceBinding: Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding =
739
+ Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance()): Promise<string|null> {
732
740
  if (!target || lineNumber === undefined || columnNumber === undefined || scriptId === undefined) {
733
741
  return null;
734
742
  }
@@ -738,8 +746,6 @@ export async function resolveProfileFrameFunctionName(
738
746
  if (!debuggerModel || !script) {
739
747
  return null;
740
748
  }
741
-
742
- const debuggerWorkspaceBinding = Bindings.DebuggerWorkspaceBinding.DebuggerWorkspaceBinding.instance();
743
749
  const location = new SDK.DebuggerModel.Location(debuggerModel, scriptId, lineNumber, columnNumber);
744
750
  const functionInfoFromPlugin = await debuggerWorkspaceBinding.pluginManager.getFunctionInfo(script, location);
745
751
  if (functionInfoFromPlugin && 'frames' in functionInfoFromPlugin) {
@@ -4,6 +4,7 @@
4
4
 
5
5
  import type * as Common from '../../core/common/common.js';
6
6
  import type * as SDK from '../../core/sdk/sdk.js';
7
+ import type * as Protocol from '../../generated/protocol.js';
7
8
  import type * as Workspace from '../workspace/workspace.js';
8
9
 
9
10
  export type StackTrace = BaseStackTrace<Fragment>;
@@ -131,3 +132,19 @@ export class DebuggableFrameFlavor {
131
132
  return DebuggableFrameFlavor.#last;
132
133
  }
133
134
  }
135
+
136
+ /**
137
+ * Returns whether the given stack trace originated from a direct console
138
+ * invocation. A console-originated stack trace has exactly one frame with
139
+ * no url and no function name.
140
+ *
141
+ * TODO(crbug.com/40726969): Accept a translated `StackTrace` instead of a raw `Protocol.Runtime.StackTrace`.
142
+ */
143
+ export function isConsoleOriginated(stackTrace: Protocol.Runtime.StackTrace): boolean {
144
+ const callFrames = stackTrace.callFrames;
145
+ if (callFrames.length !== 1) {
146
+ return false;
147
+ }
148
+ const frame = callFrames[0];
149
+ return frame.url === '' && frame.functionName === '';
150
+ }
@@ -1,27 +1,5 @@
1
- // Copyright 2019 The Chromium Authors
1
+ // Copyright 2019 The Chromium Authors. All rights reserved.
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
- import * as CodeMirrorUtils from './CodeMirrorUtils.js';
6
- import * as ContentData from './ContentData.js';
7
- import * as ContentProvider from './ContentProvider.js';
8
- import * as StaticContentProvider from './StaticContentProvider.js';
9
- import * as StreamingContentData from './StreamingContentData.js';
10
- import * as Text from './Text.js';
11
- import * as TextCursor from './TextCursor.js';
12
- import * as TextRange from './TextRange.js';
13
- import * as TextUtils from './TextUtils.js';
14
- import * as WasmDisassembly from './WasmDisassembly.js';
15
-
16
- export {
17
- CodeMirrorUtils,
18
- ContentData,
19
- ContentProvider,
20
- StaticContentProvider,
21
- StreamingContentData,
22
- Text,
23
- TextCursor,
24
- TextRange,
25
- TextUtils,
26
- WasmDisassembly,
27
- };
5
+ export * from '../../core/text_utils/text_utils.js';
@@ -29,12 +29,12 @@ export const UIStrings = {
29
29
  /**
30
30
  * @description Message displayed in a chip explaining that an image file size is large for the # of pixels it has and recommends possible adjustments to improve the image size.
31
31
  */
32
- useCompression: 'Increasing the image compression factor could improve this image\'s download size.',
32
+ useCompression: 'Increasing the image compression factor could improve this images download size.',
33
33
  /**
34
34
  * @description Message displayed in a chip explaining that an image file size is large for the # of pixels it has and recommends possible adjustments to improve the image size.
35
35
  */
36
36
  useModernFormat:
37
- 'Using a modern image format (WebP, AVIF) or increasing the image compression could improve this image\'s download size.',
37
+ 'Using a modern image format (WebP, AVIF) or increasing the image compression could improve this images download size.',
38
38
  /**
39
39
  * @description Message displayed in a chip advising the user to use video formats instead of GIFs because videos generally have smaller file sizes.
40
40
  */
@@ -28,7 +28,7 @@ export const UIStrings = {
28
28
  * @description Description of an insight that identifies polyfills for modern JavaScript features, and recommends their removal.
29
29
  */
30
30
  description:
31
- 'Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren\'t necessary for modern browsers. Consider modifying your JavaScript build process to not transpile [Baseline](https://web.dev/articles/baseline-and-polyfills) features, unless you know you must support older browsers. [Learn why most sites can deploy ES6+ code without transpiling](https://developer.chrome.com/docs/performance/insights/legacy-javascript)',
31
+ 'Polyfills and transforms enable older browsers to use new JavaScript features. However, many arent necessary for modern browsers. Consider modifying your JavaScript build process to not transpile [Baseline](https://web.dev/articles/baseline-and-polyfills) features, unless you know you must support older browsers. [Learn why most sites can deploy ES6+ code without transpiling](https://developer.chrome.com/docs/performance/insights/legacy-javascript)',
32
32
  /** Label for a column in a data table; entries will be the individual JavaScript scripts. */
33
33
  columnScript: 'Script',
34
34
  /** Label for a column in a data table; entries will be the number of wasted bytes (aka the estimated savings in terms of bytes). */
@@ -28,7 +28,7 @@ export const UIStrings = {
28
28
  /**
29
29
  * @description Text to describe that there are requests blocking rendering, which may affect LCP.
30
30
  */
31
- description: 'Requests are blocking the page\'s initial render, which may delay LCP. ' +
31
+ description: 'Requests are blocking the pages initial render, which may delay LCP. ' +
32
32
  '[Deferring or inlining](https://developer.chrome.com/docs/performance/insights/render-blocking) ' +
33
33
  'can move these network requests out of the critical path.',
34
34
  /**
@@ -24,7 +24,7 @@ export const UIStrings = {
24
24
  * This is displayed after a user expands the section to see more. No character length limits.
25
25
  */
26
26
  description: '3rd party code can significantly impact load performance. ' +
27
- '[Reduce and defer loading of 3rd party code](https://developer.chrome.com/docs/performance/insights/third-parties) to prioritize your page\'s content.',
27
+ '[Reduce and defer loading of 3rd party code](https://developer.chrome.com/docs/performance/insights/third-parties) to prioritize your pages content.',
28
28
  /** Label for a table column that displays the name of a third-party provider. */
29
29
  columnThirdParty: '3rd party',
30
30
  /** Label for a column in a data table; entries will be the download size of a web resource in kilobytes. */
@@ -6,7 +6,7 @@ import * as Common from '../../core/common/common.js';
6
6
  import * as Host from '../../core/host/host.js';
7
7
  import type * as Platform from '../../core/platform/platform.js';
8
8
  import * as Root from '../../core/root/root.js';
9
- import type * as TextUtils from '../text_utils/text_utils.js';
9
+ import type * as TextUtils from '../../core/text_utils/text_utils.js';
10
10
 
11
11
  export interface SaveCallbackParam {
12
12
  fileSystemPath?: Platform.DevToolsPath.RawPathString|Platform.DevToolsPath.UrlString;
@@ -7,7 +7,7 @@
7
7
  import * as Common from '../../core/common/common.js';
8
8
  import * as i18n from '../../core/i18n/i18n.js';
9
9
  import * as Platform from '../../core/platform/platform.js';
10
- import * as TextUtils from '../text_utils/text_utils.js';
10
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
11
11
 
12
12
  import {IgnoreListManager} from './IgnoreListManager.js';
13
13
  import {Events as WorkspaceImplEvents, type Project} from './WorkspaceImpl.js';
@@ -5,7 +5,7 @@
5
5
  import * as Common from '../../core/common/common.js';
6
6
  import type * as Platform from '../../core/platform/platform.js';
7
7
  import * as Root from '../../core/root/root.js';
8
- import type * as TextUtils from '../text_utils/text_utils.js';
8
+ import type * as TextUtils from '../../core/text_utils/text_utils.js';
9
9
 
10
10
  import type {SearchConfig} from './SearchConfig.js';
11
11
  import {UISourceCode, type UISourceCodeMetadata} from './UISourceCode.js';
@@ -5,10 +5,10 @@
5
5
  import * as Common from '../../core/common/common.js';
6
6
  import * as Host from '../../core/host/host.js';
7
7
  import * as Root from '../../core/root/root.js';
8
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
8
9
  import * as Diff from '../../third_party/diff/diff.js';
9
10
  import * as FormatterModule from '../formatter/formatter.js';
10
11
  import * as Persistence from '../persistence/persistence.js';
11
- import * as TextUtils from '../text_utils/text_utils.js';
12
12
  import * as Workspace from '../workspace/workspace.js';
13
13
 
14
14
  interface DiffResponse {
@@ -54,7 +54,7 @@ const UIStrings = {
54
54
  /**
55
55
  * @description Reason element in Accessibility Node View of the Accessibility panel
56
56
  */
57
- ancestorChildrenAreAll: 'Ancestor\'s children are all presentational:\xA0',
57
+ ancestorChildrenAreAll: 'Ancestors children are all presentational:\xA0',
58
58
  /**
59
59
  * @description Reason element in Accessibility Node View of the Accessibility panel
60
60
  * @example {aria-hidden} PH1
@@ -20,7 +20,7 @@ const UIStrings = {
20
20
  * @description Tooltip text that appears when hovering over the 'Invalid user entry' attribute name under the Computed Properties section in the Accessibility pane of the Elements pane
21
21
  */
22
22
  ifTrueThisElementsUserentered:
23
- 'If true, this element\'s user-entered value does not conform to validation requirement.',
23
+ 'If true, this elements user-entered value does not conform to validation requirement.',
24
24
  /**
25
25
  * @description Accessibility attribute name that appears under the Computed Properties section in the Accessibility pane of the Elements pane
26
26
  */
@@ -153,7 +153,7 @@ const UIStrings = {
153
153
  /**
154
154
  * @description Tooltip text that appears when hovering over the 'Orientation' attribute name under the Computed Properties section in the Accessibility pane of the Elements pane
155
155
  */
156
- whetherThisLinearElements: 'Whether this linear element\'s orientation is horizontal or vertical.',
156
+ whetherThisLinearElements: 'Whether this linear elements orientation is horizontal or vertical.',
157
157
  /**
158
158
  * @description Accessibility attribute name that appears under the Computed Properties section in the Accessibility pane of the Elements pane
159
159
  */
@@ -110,7 +110,7 @@ const UIStrings = {
110
110
  */
111
111
  noPastConversations: 'No past conversations',
112
112
  /**
113
- * @description Placeholder text for an inactive text field. When active, its used for the users input to AI assistance.
113
+ * @description Placeholder text for an inactive text field. When active, it's used for the user's input to AI assistance.
114
114
  */
115
115
  followTheSteps: 'Follow the steps above to ask a question',
116
116
  /**
@@ -2,8 +2,8 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
  import * as Platform from '../../core/platform/platform.js';
5
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
5
6
  import type * as AiAssistanceModel from '../../models/ai_assistance/ai_assistance.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
7
7
  import * as Workspace from '../../models/workspace/workspace.js';
8
8
 
9
9
  export async function saveToDisk(conversation: AiAssistanceModel.AiConversation.AiConversation): Promise<void> {
@@ -56,7 +56,7 @@ const UIStrings = {
56
56
  */
57
57
  wrongLocale: 'To use this feature, set your language preference to English in DevTools settings.',
58
58
  /**
59
- * @description Message shown to the user if the users region is not
59
+ * @description Message shown to the user if the user's region is not
60
60
  * supported.
61
61
  */
62
62
  geoRestricted: 'This feature is unavailable in your region.',
@@ -11,6 +11,7 @@ import * as i18n from '../../../core/i18n/i18n.js';
11
11
  import * as Platform from '../../../core/platform/platform.js';
12
12
  import * as Root from '../../../core/root/root.js';
13
13
  import * as SDK from '../../../core/sdk/sdk.js';
14
+ import * as TextUtils from '../../../core/text_utils/text_utils.js';
14
15
  import type * as Protocol from '../../../generated/protocol.js';
15
16
  import type {
16
17
  AiWidget, BottomUpTreeAiWidget, ComputedStyleAiWidget, CoreVitalsAiWidget, DomTreeAiWidget, LighthouseReportAiWidget,
@@ -20,7 +21,6 @@ import type {
20
21
  import * as AiAssistanceModel from '../../../models/ai_assistance/ai_assistance.js';
21
22
  import * as ComputedStyle from '../../../models/computed_style/computed_style.js';
22
23
  import * as Formatter from '../../../models/formatter/formatter.js';
23
- import * as TextUtils from '../../../models/text_utils/text_utils.js';
24
24
  import * as Trace from '../../../models/trace/trace.js';
25
25
  import * as Workspace from '../../../models/workspace/workspace.js';
26
26
  import * as PanelsCommon from '../../../panels/common/common.js';
@@ -387,13 +387,13 @@ const UIStrings = {
387
387
  * @example {Image} PH1
388
388
  * @example {https://example.com/image.png} PH2
389
389
  */
390
- sSWidthDoesNotComplyWithRatioRequirement: '{PH1} {PH2} width can\'t be more than 2.3 times as long as the height',
390
+ sSWidthDoesNotComplyWithRatioRequirement: '{PH1} {PH2} width cant be more than 2.3 times as long as the height',
391
391
  /**
392
392
  * @description Warning message for image resources from the manifest
393
393
  * @example {Image} PH1
394
394
  * @example {https://example.com/image.png} PH2
395
395
  */
396
- sSHeightDoesNotComplyWithRatioRequirement: '{PH1} {PH2} height can\'t be more than 2.3 times as long as the width',
396
+ sSHeightDoesNotComplyWithRatioRequirement: '{PH1} {PH2} height cant be more than 2.3 times as long as the width',
397
397
  /**
398
398
  * @description Manifest installability error in the Application panel
399
399
  * @example {https://example.com/image.png} url
@@ -435,11 +435,11 @@ const UIStrings = {
435
435
  * @example {https://developer.mozilla.org/en-US/docs/Web/Manifest/display_override} PH1
436
436
  */
437
437
  wcoNotFound:
438
- 'Define {PH1} in the manifest to use the Window Controls Overlay API and customize your app\'s title bar.',
438
+ 'Define {PH1} in the manifest to use the Window Controls Overlay API and customize your apps title bar.',
439
439
  /**
440
440
  * @description Link text for more information on customizing Window Controls Overlay title bar in the Application panel
441
441
  */
442
- customizePwaTitleBar: 'Customize the window controls overlay of your PWA\'s title bar',
442
+ customizePwaTitleBar: 'Customize the window controls overlay of your PWAs title bar',
443
443
  /**
444
444
  * @description Text wrapping link to documentation on how to customize WCO title bar
445
445
  * @example {https://learn.microsoft.com/en-us/microsoft-edge/progressive-web-apps-chromium/how-to/window-controls-overlay} PH1
@@ -296,7 +296,7 @@ const UIStrings = {
296
296
  /**
297
297
  * @description Description text in the Application Panel describing a frame's resources
298
298
  */
299
- resourceDescription: 'On this page you can view the frame\'s resources.'
299
+ resourceDescription: 'On this page you can view the frames resources.'
300
300
  } as const;
301
301
  const str_ = i18n.i18n.registerUIStrings('panels/application/ApplicationPanelSidebar.ts', UIStrings);
302
302
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -655,7 +655,6 @@ export class ApplicationPanelSidebar extends UI.Widget.VBox implements SDK.Targe
655
655
  this.addCookieDocument(frame);
656
656
  }
657
657
 
658
- this.cacheStorageListTreeElement.initialize();
659
658
  const backgroundServiceModel = this.target?.model(BackgroundServiceModel) || null;
660
659
  this.backgroundFetchTreeElement.initialize(backgroundServiceModel);
661
660
  this.backgroundSyncTreeElement.initialize(backgroundServiceModel);
@@ -7,8 +7,8 @@ import '../../ui/legacy/legacy.js';
7
7
  import * as i18n from '../../core/i18n/i18n.js';
8
8
  import * as Platform from '../../core/platform/platform.js';
9
9
  import * as SDK from '../../core/sdk/sdk.js';
10
+ import type * as TextUtils from '../../core/text_utils/text_utils.js';
10
11
  import type * as Protocol from '../../generated/protocol.js';
11
- import type * as TextUtils from '../../models/text_utils/text_utils.js';
12
12
  import * as Buttons from '../../ui/components/buttons/buttons.js';
13
13
  import * as UI from '../../ui/legacy/legacy.js';
14
14
  import {html, render} from '../../ui/lit/lit.js';
@@ -33,8 +33,8 @@ import * as Common from '../../core/common/common.js';
33
33
  import * as i18n from '../../core/i18n/i18n.js';
34
34
  import type * as Platform from '../../core/platform/platform.js';
35
35
  import * as SDK from '../../core/sdk/sdk.js';
36
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
36
37
  import * as AiAssistanceModel from '../../models/ai_assistance/ai_assistance.js';
37
- import * as TextUtils from '../../models/text_utils/text_utils.js';
38
38
  import * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
39
39
  import * as UI from '../../ui/legacy/legacy.js';
40
40
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';