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
@@ -0,0 +1,112 @@
1
+ // Copyright 2026 The Chromium Authors
2
+ // Use of this source code is governed by a BSD-style license that can be
3
+ // found in the LICENSE file.
4
+
5
+ import type * as Puppeteer from '../../third_party/puppeteer/puppeteer.js';
6
+
7
+ import type * as CDPConnection from './CDPConnection.js';
8
+
9
+ // Hardcoded string literals corresponding to Puppeteer's CDPSessionEvent.SessionAttached ('sessionattached')
10
+ // and CDPSessionEvent.SessionDetached ('sessiondetached'). We redeclare these strings directly so we can use
11
+ // `import type * as Puppeteer` and avoid importing Puppeteer runtime JavaScript.
12
+ const SESSION_ATTACHED: Puppeteer.CDPSessionEventSessionAttached = 'sessionattached';
13
+ const SESSION_DETACHED: Puppeteer.CDPSessionEventSessionDetached = 'sessiondetached';
14
+
15
+ /**
16
+ * This class makes a puppeteer connection look like DevTools CDPConnection.
17
+ *
18
+ * Since we connect "root" DevTools targets to specific pages, we scope everything to a puppeteer CDP session.
19
+ *
20
+ * We don't have to recursively listen for 'sessionattached' as the "root" CDP session sees all child session attached
21
+ * events, regardless how deeply nested they are.
22
+ */
23
+ export class PuppeteerDevToolsConnection implements CDPConnection.CDPConnection {
24
+ readonly #connection: Puppeteer.Connection;
25
+ readonly #observers = new Set<CDPConnection.CDPConnectionObserver>();
26
+ readonly #sessionEventHandlers = new Map<string, Puppeteer.Handler<unknown>>();
27
+
28
+ constructor(session: Puppeteer.CDPSession) {
29
+ const connection = session.connection();
30
+ if (!connection) {
31
+ throw new Error('CDPSession has no connection');
32
+ }
33
+ this.#connection = connection;
34
+
35
+ session.on(
36
+ SESSION_ATTACHED,
37
+ this.#startForwardingCdpEvents.bind(this) as Puppeteer.Handler<unknown>,
38
+ );
39
+ session.on(
40
+ SESSION_DETACHED,
41
+ this.#stopForwardingCdpEvents.bind(this) as Puppeteer.Handler<unknown>,
42
+ );
43
+
44
+ this.#startForwardingCdpEvents(session);
45
+ }
46
+
47
+ send<T extends CDPConnection.Command>(
48
+ method: T,
49
+ params: CDPConnection.CommandParams<T>,
50
+ sessionId: string|undefined,
51
+ ): Promise<|{result: CDPConnection.CommandResult<T>}|{error: CDPConnection.CDPError}> {
52
+ if (sessionId === undefined) {
53
+ throw new Error(
54
+ 'Attempting to send on the root session. This must not happen',
55
+ );
56
+ }
57
+ const session = this.#connection.session(sessionId);
58
+ if (!session) {
59
+ throw new Error('Unknown session ' + sessionId);
60
+ }
61
+ /* eslint-disable @typescript-eslint/no-explicit-any */
62
+ return session.send(method as any, params).then(result => ({result})).catch(error => ({
63
+ error: {
64
+ code: (error as any).code ?? -32000,
65
+ message: (error as any).message ||
66
+ String(error),
67
+ },
68
+ })) as any;
69
+ /* eslint-enable @typescript-eslint/no-explicit-any */
70
+ }
71
+
72
+ observe(observer: CDPConnection.CDPConnectionObserver): void {
73
+ this.#observers.add(observer);
74
+ }
75
+
76
+ unobserve(observer: CDPConnection.CDPConnectionObserver): void {
77
+ this.#observers.delete(observer);
78
+ }
79
+
80
+ #startForwardingCdpEvents(session: Puppeteer.CDPSession): void {
81
+ const handler = this.#handleEvent.bind(
82
+ this,
83
+ session.id(),
84
+ ) as Puppeteer.Handler<unknown>;
85
+ this.#sessionEventHandlers.set(session.id(), handler);
86
+ session.on('*', handler);
87
+ }
88
+
89
+ #stopForwardingCdpEvents(session: Puppeteer.CDPSession): void {
90
+ const handler = this.#sessionEventHandlers.get(session.id());
91
+ if (handler) {
92
+ session.off('*', handler);
93
+ this.#sessionEventHandlers.delete(session.id());
94
+ }
95
+ }
96
+
97
+ #handleEvent(
98
+ sessionId: string,
99
+ type: string|symbol|number,
100
+ event: unknown,
101
+ ): void {
102
+ if (typeof type === 'string' && type !== SESSION_ATTACHED && type !== SESSION_DETACHED) {
103
+ this.#observers.forEach(
104
+ observer => observer.onEvent({
105
+ method: type as CDPConnection.Event,
106
+ sessionId,
107
+ params: event as CDPConnection.EventParams<CDPConnection.Event>,
108
+ }),
109
+ );
110
+ }
111
+ }
112
+ }
@@ -23,11 +23,10 @@ const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
23
23
 
24
24
  export class CPUProfilerModel extends SDKModel<EventTypes> implements ProtocolProxyApi.ProfilerDispatcher {
25
25
  #nextAnonymousConsoleProfileNumber: number;
26
- #anonymousConsoleProfileIdToTitle: Map<string, string>;
26
+ readonly #anonymousConsoleProfileIdToTitle: Map<string, string>;
27
27
  readonly #profilerAgent: ProtocolProxyApi.ProfilerApi;
28
28
  #preciseCoverageDeltaUpdateCallback: ((arg0: number, arg2: Protocol.Profiler.ScriptCoverage[]) => Promise<void>)|null;
29
29
  readonly #debuggerModel: DebuggerModel;
30
- readonly registeredConsoleProfileMessages: ProfileFinishedData[] = [];
31
30
 
32
31
  constructor(target: Target) {
33
32
  super(target);
@@ -62,11 +61,7 @@ export class CPUProfilerModel extends SDKModel<EventTypes> implements ProtocolPr
62
61
  title = this.#anonymousConsoleProfileIdToTitle.get(id);
63
62
  this.#anonymousConsoleProfileIdToTitle.delete(id);
64
63
  }
65
- const eventData: ProfileFinishedData = {
66
- ...this.createEventDataFrom(id, location, title),
67
- cpuProfile: profile,
68
- };
69
- this.registeredConsoleProfileMessages.push(eventData);
64
+ const eventData = new ProfileFinishedData(this.createEventDataFrom(id, location, title), profile);
70
65
  this.dispatchEventToListeners(Events.CONSOLE_PROFILE_FINISHED, eventData);
71
66
  }
72
67
 
@@ -91,10 +86,10 @@ export class CPUProfilerModel extends SDKModel<EventTypes> implements ProtocolPr
91
86
  return this.#profilerAgent.invoke_stop().then(response => response.profile || null);
92
87
  }
93
88
 
94
- startPreciseCoverage(
95
- jsCoveragePerBlock: boolean,
96
- preciseCoverageDeltaUpdateCallback: ((arg0: number, arg2: Protocol.Profiler.ScriptCoverage[]) => Promise<void>)|
97
- null): Promise<unknown> {
89
+ startPreciseCoverage(jsCoveragePerBlock: boolean,
90
+ preciseCoverageDeltaUpdateCallback:
91
+ ((arg0: number, arg2: Protocol.Profiler.ScriptCoverage[]) => Promise<void>)|
92
+ null): Promise<unknown> {
98
93
  const callCount = false;
99
94
  this.#preciseCoverageDeltaUpdateCallback = preciseCoverageDeltaUpdateCallback;
100
95
  const allowUpdatesTriggeredByBackend = true;
@@ -143,6 +138,19 @@ export interface EventData {
143
138
  cpuProfilerModel: CPUProfilerModel;
144
139
  }
145
140
 
146
- export interface ProfileFinishedData extends EventData {
147
- cpuProfile: Protocol.Profiler.Profile;
141
+ // This class is used used as a Revealer in timeline-meta.ts
142
+ export class ProfileFinishedData implements EventData {
143
+ readonly id: string;
144
+ readonly scriptLocation: Location;
145
+ readonly title: string;
146
+ readonly cpuProfilerModel: CPUProfilerModel;
147
+ readonly cpuProfile: Protocol.Profiler.Profile;
148
+
149
+ constructor(eventData: EventData, cpuProfile: Protocol.Profiler.Profile) {
150
+ this.id = eventData.id;
151
+ this.scriptLocation = eventData.scriptLocation;
152
+ this.title = eventData.title;
153
+ this.cpuProfilerModel = eventData.cpuProfilerModel;
154
+ this.cpuProfile = cpuProfile;
155
+ }
148
156
  }
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as Protocol from '../../generated/protocol.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
6
+ import * as TextUtils from '../text_utils/text_utils.js';
7
7
 
8
8
  import type {CSSModel} from './CSSModel.js';
9
9
  import {CSSQuery} from './CSSQuery.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as Protocol from '../../generated/protocol.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
6
+ import * as TextUtils from '../text_utils/text_utils.js';
7
7
 
8
8
  import type {CSSModel} from './CSSModel.js';
9
9
  import {CSSQuery} from './CSSQuery.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as Protocol from '../../generated/protocol.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
6
+ import * as TextUtils from '../text_utils/text_utils.js';
7
7
 
8
8
  import type {CSSModel} from './CSSModel.js';
9
9
  import {CSSQuery} from './CSSQuery.js';
@@ -4,11 +4,11 @@
4
4
 
5
5
  import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js';
6
6
  import type * as Protocol from '../../generated/protocol.js';
7
- import * as TextUtils from '../../models/text_utils/text_utils.js';
8
7
  import * as Common from '../common/common.js';
9
8
  import * as Host from '../host/host.js';
10
9
  import * as Platform from '../platform/platform.js';
11
10
  import * as Root from '../root/root.js';
11
+ import * as TextUtils from '../text_utils/text_utils.js';
12
12
 
13
13
  import {CSSFontFace} from './CSSFontFace.js';
14
14
  import {CSSMatchedStyles} from './CSSMatchedStyles.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as Protocol from '../../generated/protocol.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
6
+ import * as TextUtils from '../text_utils/text_utils.js';
7
7
 
8
8
  import type {CSSModel} from './CSSModel.js';
9
9
  import {CSSQuery} from './CSSQuery.js';
@@ -3,10 +3,10 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as Protocol from '../../generated/protocol.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
7
6
  import * as Common from '../common/common.js';
8
7
  import * as HostModule from '../host/host.js';
9
8
  import * as Platform from '../platform/platform.js';
9
+ import * as TextUtils from '../text_utils/text_utils.js';
10
10
 
11
11
  import type {CSSMatchedStyles} from './CSSMatchedStyles.js';
12
12
  import {cssMetadata, GridAreaRowRegex} from './CSSMetadata.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as Protocol from '../../generated/protocol.js';
6
- import type * as TextUtils from '../../models/text_utils/text_utils.js';
6
+ import type * as TextUtils from '../text_utils/text_utils.js';
7
7
 
8
8
  import {CSSLocation, type CSSModel, type Edit} from './CSSModel.js';
9
9
  import type {CSSStyleSheetHeader} from './CSSStyleSheetHeader.js';
@@ -3,8 +3,8 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as Protocol from '../../generated/protocol.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
7
6
  import * as Platform from '../platform/platform.js';
7
+ import * as TextUtils from '../text_utils/text_utils.js';
8
8
 
9
9
  import {CSSContainerQuery} from './CSSContainerQuery.js';
10
10
  import {CSSLayer} from './CSSLayer.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as Protocol from '../../generated/protocol.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
6
+ import * as TextUtils from '../text_utils/text_utils.js';
7
7
 
8
8
  import type {CSSModel} from './CSSModel.js';
9
9
  import {CSSQuery} from './CSSQuery.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as Protocol from '../../generated/protocol.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
6
+ import * as TextUtils from '../text_utils/text_utils.js';
7
7
 
8
8
  import type {CSSModel} from './CSSModel.js';
9
9
  import {CSSQuery} from './CSSQuery.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as Protocol from '../../generated/protocol.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
6
+ import * as TextUtils from '../text_utils/text_utils.js';
7
7
 
8
8
  import {cssMetadata} from './CSSMetadata.js';
9
9
  import type {CSSModel, Edit} from './CSSModel.js';
@@ -3,10 +3,10 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as Protocol from '../../generated/protocol.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
7
6
  import * as Common from '../common/common.js';
8
7
  import * as i18n from '../i18n/i18n.js';
9
8
  import * as Platform from '../platform/platform.js';
9
+ import * as TextUtils from '../text_utils/text_utils.js';
10
10
 
11
11
  import type {CSSModel} from './CSSModel.js';
12
12
  import {DeferredDOMNode} from './DOMModel.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as Protocol from '../../generated/protocol.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
6
+ import * as TextUtils from '../text_utils/text_utils.js';
7
7
 
8
8
  import type {CSSModel} from './CSSModel.js';
9
9
  import {CSSQuery} from './CSSQuery.js';
@@ -2,10 +2,10 @@
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 TextUtils from '../../models/text_utils/text_utils.js';
6
5
  import type * as Common from '../common/common.js';
7
6
  import * as i18n from '../i18n/i18n.js';
8
7
  import type * as Platform from '../platform/platform.js';
8
+ import * as TextUtils from '../text_utils/text_utils.js';
9
9
 
10
10
  import type {PageResourceLoader, PageResourceLoadInitiator} from './PageResourceLoader.js';
11
11
 
@@ -4,11 +4,11 @@
4
4
 
5
5
  import type * as ProtocolProxyApi from '../../generated/protocol-proxy-api.js';
6
6
  import * as Protocol from '../../generated/protocol.js';
7
- import * as TextUtils from '../../models/text_utils/text_utils.js';
8
7
  import * as Common from '../common/common.js';
9
8
  import * as i18n from '../i18n/i18n.js';
10
9
  import * as Platform from '../platform/platform.js';
11
10
  import * as Root from '../root/root.js';
11
+ import * as TextUtils from '../text_utils/text_utils.js';
12
12
 
13
13
  import {Cookie} from './Cookie.js';
14
14
  import {
@@ -3,10 +3,10 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as Protocol from '../../generated/protocol.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
7
6
  import * as Common from '../common/common.js';
8
7
  import * as i18n from '../i18n/i18n.js';
9
8
  import * as Platform from '../platform/platform.js';
9
+ import * as TextUtils from '../text_utils/text_utils.js';
10
10
 
11
11
  import {Attribute, type Cookie} from './Cookie.js';
12
12
  import {CookieModel} from './CookieModel.js';
@@ -33,11 +33,11 @@ const UIStrings = {
33
33
  /**
34
34
  * @description Tooltip to explain why a cookie was blocked
35
35
  */
36
- notOnPath: 'This cookie was blocked because its path was not an exact match for or a superdirectory of the request url\'s path.',
36
+ notOnPath: 'This cookie was blocked because its path was not an exact match for or a superdirectory of the request urls path.',
37
37
  /**
38
38
  * @description Tooltip to explain why a cookie was blocked
39
39
  */
40
- domainMismatch: 'This cookie was blocked because neither did the request URL\'s domain exactly match the cookie\'s domain, nor was the request URL\'s domain a subdomain of the cookie\'s Domain attribute value.',
40
+ domainMismatch: 'This cookie was blocked because neither did the request URLs domain exactly match the cookies domain, nor was the request URLs domain a subdomain of the cookies Domain attribute value.',
41
41
  /**
42
42
  * @description Tooltip to explain why a cookie was blocked
43
43
  */
@@ -49,7 +49,7 @@ const UIStrings = {
49
49
  /**
50
50
  * @description Tooltip to explain why a cookie was blocked
51
51
  */
52
- sameSiteUnspecifiedTreatedAsLax: 'This cookie didn\'t specify a "`SameSite`" attribute when it was stored and was defaulted to "SameSite=Lax," and was blocked because the request was made from a different site and was not initiated by a top-level navigation. The cookie had to have been set with "`SameSite=None`" to enable cross-site usage.',
52
+ sameSiteUnspecifiedTreatedAsLax: 'This cookie didnt specify a "`SameSite`" attribute when it was stored and was defaulted to "SameSite=Lax," and was blocked because the request was made from a different site and was not initiated by a top-level navigation. The cookie had to have been set with "`SameSite=None`" to enable cross-site usage.',
53
53
  /**
54
54
  * @description Tooltip to explain why a cookie was blocked
55
55
  */
@@ -77,7 +77,7 @@ const UIStrings = {
77
77
  /**
78
78
  * @description Tooltip to explain why a cookie was blocked due to Schemeful Same-Site
79
79
  */
80
- schemefulSameSiteUnspecifiedTreatedAsLax: 'This cookie didn\'t specify a "`SameSite`" attribute when it was stored, was defaulted to "`SameSite=Lax"`, and was blocked because the request was cross-site and was not initiated by a top-level navigation. This request is considered cross-site because the URL has a different scheme than the current site.',
80
+ schemefulSameSiteUnspecifiedTreatedAsLax: 'This cookie didnt specify a "`SameSite`" attribute when it was stored, was defaulted to "`SameSite=Lax"`, and was blocked because the request was cross-site and was not initiated by a top-level navigation. This request is considered cross-site because the URL has a different scheme than the current site.',
81
81
  /**
82
82
  * @description Tooltip to explain why a cookie was blocked due to exceeding the maximum size
83
83
  */
@@ -114,7 +114,7 @@ const UIStrings = {
114
114
  /**
115
115
  * @description Tooltip to explain why a cookie was blocked due to Schemeful Same-Site
116
116
  */
117
- thisSetcookieDidntSpecifyASamesite: 'This `Set-Cookie` header didn\'t specify a "`SameSite`" attribute, was defaulted to "`SameSite=Lax"`, and was blocked because it came from a cross-site response which was not the response to a top-level navigation. This response is considered cross-site because the URL has a different scheme than the current site.',
117
+ thisSetcookieDidntSpecifyASamesite: 'This `Set-Cookie` header didnt specify a "`SameSite`" attribute, was defaulted to "`SameSite=Lax"`, and was blocked because it came from a cross-site response which was not the response to a top-level navigation. This response is considered cross-site because the URL has a different scheme than the current site.',
118
118
  /**
119
119
  * @description Tooltip to explain why an attempt to set a cookie via a `Set-Cookie` HTTP header on a request's response was blocked.
120
120
  */
@@ -127,7 +127,7 @@ const UIStrings = {
127
127
  /**
128
128
  * @description Tooltip to explain why an attempt to set a cookie via a `Set-Cookie` HTTP header on a request's response was blocked.
129
129
  */
130
- blockedReasonSameSiteUnspecifiedTreatedAsLax: 'This `Set-Cookie` header didn\'t specify a "`SameSite`" attribute and was defaulted to "`SameSite=Lax,`" and was blocked because it came from a cross-site response which was not the response to a top-level navigation. The `Set-Cookie` had to have been set with "`SameSite=None`" to enable cross-site usage.',
130
+ blockedReasonSameSiteUnspecifiedTreatedAsLax: 'This `Set-Cookie` header didnt specify a "`SameSite`" attribute and was defaulted to "`SameSite=Lax,`" and was blocked because it came from a cross-site response which was not the response to a top-level navigation. The `Set-Cookie` had to have been set with "`SameSite=None`" to enable cross-site usage.',
131
131
  /**
132
132
  * @description Tooltip to explain why an attempt to set a cookie via a `Set-Cookie` HTTP header on a request's response was blocked.
133
133
  */
@@ -31,9 +31,9 @@
31
31
  */
32
32
 
33
33
  import type * as Protocol from '../../generated/protocol.js';
34
- import * as TextUtils from '../../models/text_utils/text_utils.js';
35
34
  import * as Common from '../common/common.js';
36
35
  import * as Platform from '../platform/platform.js';
36
+ import * as TextUtils from '../text_utils/text_utils.js';
37
37
 
38
38
  import type {NetworkRequest} from './NetworkRequest.js';
39
39
  import type {ResourceTreeFrame, ResourceTreeModel} from './ResourceTreeModel.js';
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as Formatter from '../../models/formatter/formatter.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
6
+ import * as TextUtils from '../text_utils/text_utils.js';
7
7
 
8
8
  import type {Script} from './Script.js';
9
9
 
@@ -29,9 +29,9 @@
29
29
 
30
30
  import * as Platform from '../../core/platform/platform.js';
31
31
  import * as Protocol from '../../generated/protocol.js';
32
- import * as TextUtils from '../../models/text_utils/text_utils.js';
33
32
  import * as Common from '../common/common.js';
34
33
  import * as i18n from '../i18n/i18n.js';
34
+ import * as TextUtils from '../text_utils/text_utils.js';
35
35
 
36
36
  import {
37
37
  COND_BREAKPOINT_SOURCE_URL,
@@ -2,7 +2,7 @@
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 TextUtils from '../../models/text_utils/text_utils.js';
5
+ import * as TextUtils from '../text_utils/text_utils.js';
6
6
 
7
7
  import {Events, type EventSourceMessage, type NetworkRequest} from './NetworkRequest.js';
8
8
  import {ServerSentEventsParser} from './ServerSentEventsProtocol.js';
@@ -273,16 +273,6 @@ export class ServiceWorkerCacheModel extends SDKModel<EventTypes> implements Pro
273
273
  indexedDBContentUpdated(_event: Protocol.Storage.IndexedDBContentUpdatedEvent): void {
274
274
  }
275
275
 
276
- interestGroupAuctionEventOccurred(_event: Protocol.Storage.InterestGroupAuctionEventOccurredEvent): void {
277
- }
278
-
279
- interestGroupAccessed(_event: Protocol.Storage.InterestGroupAccessedEvent): void {
280
- }
281
-
282
- interestGroupAuctionNetworkRequestCreated(_event: Protocol.Storage.InterestGroupAuctionNetworkRequestCreatedEvent):
283
- void {
284
- }
285
-
286
276
  sharedStorageAccessed(_event: Protocol.Storage.SharedStorageAccessedEvent): void {
287
277
  }
288
278
 
@@ -2,10 +2,10 @@
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 TextUtils from '../../models/text_utils/text_utils.js';
6
5
  import * as ScopesCodec from '../../third_party/source-map-scopes-codec/source-map-scopes-codec.js';
7
6
  import * as Common from '../common/common.js';
8
7
  import * as Platform from '../platform/platform.js';
8
+ import * as TextUtils from '../text_utils/text_utils.js';
9
9
 
10
10
  import type {CallFrame, ScopeChainEntry} from './DebuggerModel.js';
11
11
  import {scopeTreeForScript} from './ScopeTreeCache.js';
@@ -4,9 +4,9 @@
4
4
 
5
5
  import * as Protocol from '../../generated/protocol.js';
6
6
  import * as Formatter from '../../models/formatter/formatter.js';
7
- import type * as TextUtils from '../../models/text_utils/text_utils.js';
8
7
  import type * as ScopesCodec from '../../third_party/source-map-scopes-codec/source-map-scopes-codec.js';
9
8
  import type * as Platform from '../platform/platform.js';
9
+ import type * as TextUtils from '../text_utils/text_utils.js';
10
10
 
11
11
  import type {CallFrame, ScopeChainEntry} from './DebuggerModel.js';
12
12
  import type {SourceMap} from './SourceMap.js';
@@ -142,16 +142,6 @@ export class StorageBucketsModel extends SDKModel<EventTypes> implements Protoco
142
142
  }
143
143
  }
144
144
 
145
- interestGroupAccessed(_event: Protocol.Storage.InterestGroupAccessedEvent): void {
146
- }
147
-
148
- interestGroupAuctionEventOccurred(_event: Protocol.Storage.InterestGroupAuctionEventOccurredEvent): void {
149
- }
150
-
151
- interestGroupAuctionNetworkRequestCreated(_event: Protocol.Storage.InterestGroupAuctionNetworkRequestCreatedEvent):
152
- void {
153
- }
154
-
155
145
  indexedDBListUpdated(_event: Protocol.Storage.IndexedDBListUpdatedEvent): void {
156
146
  }
157
147
 
@@ -9,11 +9,11 @@ const UIStrings = {
9
9
  /**
10
10
  * @description Title of a setting under the Console category that can be invoked through the Command Menu
11
11
  */
12
- preserveLogUponNavigation: 'Preserve log upon navigation',
12
+ preserveLogUponNavigation: 'Keep log on navigation',
13
13
  /**
14
14
  * @description Title of a setting under the Console category that can be invoked through the Command Menu
15
15
  */
16
- doNotPreserveLogUponNavigation: 'Do not preserve log upon navigation',
16
+ doNotPreserveLogUponNavigation: 'Don’t keep log on navigation',
17
17
  /**
18
18
  * @description Text for pausing the debugger on exceptions
19
19
  */
@@ -53,7 +53,7 @@ const UIStrings = {
53
53
  /**
54
54
  * @description Text of a setting that do turn off the measuring rulers when hover over a target
55
55
  */
56
- doNotShowRulersOnHover: 'Don\'t show rulers on hover',
56
+ doNotShowRulersOnHover: 'Dont show rulers on hover',
57
57
  /**
58
58
  * @description Title of a setting that turns on grid area name labels
59
59
  */
@@ -1355,7 +1355,6 @@ Common.Settings.registerSettingExtension({
1355
1355
  settingType: Common.Settings.SettingType.BOOLEAN,
1356
1356
  order: 0,
1357
1357
  defaultValue: false,
1358
- userActionCondition: 'hasOtherClients',
1359
1358
  options: [
1360
1359
  {
1361
1360
  value: true,
@@ -17,9 +17,8 @@ export interface ContentProvider {
17
17
  }
18
18
 
19
19
  export class SearchMatch {
20
- constructor(
21
- readonly lineNumber: number, readonly lineContent: string, readonly columnNumber: number,
22
- readonly matchLength: number) {
20
+ constructor(readonly lineNumber: number, readonly lineContent: string, readonly columnNumber: number,
21
+ readonly matchLength: number) {
23
22
  }
24
23
 
25
24
  static comparator(a: SearchMatch, b: SearchMatch): number {
@@ -27,9 +26,8 @@ export class SearchMatch {
27
26
  }
28
27
  }
29
28
 
30
- export const contentAsDataURL = function(
31
- content: string|null, mimeType: string, contentEncoded: boolean, charset?: string|null,
32
- limitSize = true): string|null {
29
+ export const contentAsDataURL = function(content: string|null, mimeType: string, contentEncoded: boolean,
30
+ charset?: string|null, limitSize = true): string|null {
33
31
  const maxDataUrlSize = 1024 * 1024;
34
32
  if (content === undefined || content === null || (limitSize && content.length > maxDataUrlSize)) {
35
33
  return null;
@@ -14,17 +14,15 @@ export class StaticContentProvider implements ContentProvider {
14
14
  readonly #contentType: Common.ResourceType.ResourceType;
15
15
  readonly #lazyContent: () => Promise<ContentDataOrError>;
16
16
 
17
- constructor(
18
- contentURL: Platform.DevToolsPath.UrlString, contentType: Common.ResourceType.ResourceType,
19
- lazyContent: () => Promise<ContentDataOrError>) {
17
+ constructor(contentURL: Platform.DevToolsPath.UrlString, contentType: Common.ResourceType.ResourceType,
18
+ lazyContent: () => Promise<ContentDataOrError>) {
20
19
  this.#contentURL = contentURL;
21
20
  this.#contentType = contentType;
22
21
  this.#lazyContent = lazyContent;
23
22
  }
24
23
 
25
- static fromString(
26
- contentURL: Platform.DevToolsPath.UrlString, contentType: Common.ResourceType.ResourceType,
27
- content: string): StaticContentProvider {
24
+ static fromString(contentURL: Platform.DevToolsPath.UrlString, contentType: Common.ResourceType.ResourceType,
25
+ content: string): StaticContentProvider {
28
26
  const lazyContent = (): Promise<ContentData> =>
29
27
  Promise.resolve(new ContentData(content, /* isBase64 */ false, contentType.canonicalMimeType()));
30
28
  return new StaticContentProvider(contentURL, contentType, lazyContent);
@@ -86,8 +86,7 @@ export class StreamingContentData extends Common.ObjectWrapper.ObjectWrapper<Eve
86
86
  export type StreamingContentDataOrError = StreamingContentData|{error: string};
87
87
 
88
88
  export const isError = function(contentDataOrError: StreamingContentDataOrError): contentDataOrError is {
89
- error:
90
- string,
89
+ error: string,
91
90
  } {
92
91
  return 'error' in contentDataOrError;
93
92
  };
@@ -26,9 +26,8 @@ export class TextRange {
26
26
  }
27
27
 
28
28
  static fromObject(serializedTextRange: SerializedTextRange): TextRange {
29
- return new TextRange(
30
- serializedTextRange.startLine, serializedTextRange.startColumn, serializedTextRange.endLine,
31
- serializedTextRange.endColumn);
29
+ return new TextRange(serializedTextRange.startLine, serializedTextRange.startColumn, serializedTextRange.endLine,
30
+ serializedTextRange.endColumn);
32
31
  }
33
32
 
34
33
  static comparator(range1: TextRange, range2: TextRange): number {
@@ -263,4 +262,8 @@ export class TextRange {
263
262
  export class SourceRange {
264
263
  constructor(public offset: number, public length: number) {
265
264
  }
265
+
266
+ cssValue(): string {
267
+ return `${this.offset},${this.length}`;
268
+ }
266
269
  }