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
@@ -310,8 +310,8 @@ export const isMinified = function(text: string): boolean {
310
310
  *
311
311
  * @returns empty search matches if `contentData` is an error or not text content.
312
312
  */
313
- export const performSearchInContentData = function(
314
- contentData: ContentDataOrError, query: string, caseSensitive: boolean, isRegex: boolean): SearchMatch[] {
313
+ export const performSearchInContentData = function(contentData: ContentDataOrError, query: string,
314
+ caseSensitive: boolean, isRegex: boolean): SearchMatch[] {
315
315
  if (ContentData.isError(contentData) || !contentData.isTextContent) {
316
316
  return [];
317
317
  }
@@ -322,8 +322,8 @@ export const performSearchInContentData = function(
322
322
  * @returns One {@link SearchMatch} per match. Multiple matches on the same line each
323
323
  * result in their own `SearchMatchExact` instance.
324
324
  */
325
- export const performSearchInContent = function(
326
- text: Text, query: string, caseSensitive: boolean, isRegex: boolean): SearchMatch[] {
325
+ export const performSearchInContent = function(text: Text, query: string, caseSensitive: boolean,
326
+ isRegex: boolean): SearchMatch[] {
327
327
  const regex = Platform.StringUtilities.createSearchRegex(query, caseSensitive, isRegex);
328
328
 
329
329
  const result = [];
@@ -343,9 +343,9 @@ export const performSearchInContent = function(
343
343
  * @param matches is deliberatedly typed as an object literal so we can pass the
344
344
  * CDP search result type.
345
345
  */
346
- export const performSearchInSearchMatches = function(
347
- matches: Array<{lineNumber: number, lineContent: string}>, query: string, caseSensitive: boolean,
348
- isRegex: boolean): SearchMatch[] {
346
+ export const performSearchInSearchMatches = function(matches: Array<{lineNumber: number, lineContent: string}>,
347
+ query: string, caseSensitive: boolean,
348
+ isRegex: boolean): SearchMatch[] {
349
349
  const regex = Platform.StringUtilities.createSearchRegex(query, caseSensitive, isRegex);
350
350
  const result = [];
351
351
 
@@ -51,8 +51,8 @@ export class WasmDisassembly extends ContentData {
51
51
  }
52
52
 
53
53
  bytecodeOffsetToLineNumber(bytecodeOffset: number): number {
54
- return Platform.ArrayUtilities.upperBound(
55
- this.#offsets, bytecodeOffset, Platform.ArrayUtilities.DEFAULT_COMPARATOR) -
54
+ return Platform.ArrayUtilities.upperBound(this.#offsets, bytecodeOffset,
55
+ Platform.ArrayUtilities.DEFAULT_COMPARATOR) -
56
56
  1;
57
57
  }
58
58
 
@@ -0,0 +1,27 @@
1
+ // Copyright 2019 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 * 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
+ };
@@ -3,7 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as Platform from '../../core/platform/platform.js';
6
- import * as TextUtils from '../../models/text_utils/text_utils.js';
6
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
7
7
  import * as Acorn from '../../third_party/acorn/acorn.js';
8
8
 
9
9
  export type TokenOrComment = Acorn.Token|Acorn.Comment;
@@ -4,7 +4,7 @@
4
4
 
5
5
  import type * as PlatformApi from '../../core/platform/api/api.js';
6
6
  import * as Platform from '../../core/platform/platform.js';
7
- import * as TextUtils from '../../models/text_utils/text_utils.js';
7
+ import * as TextUtils from '../../core/text_utils/text_utils.js';
8
8
 
9
9
  import {type HeapSnapshotHeader, HeapSnapshotProgress, JSHeapSnapshot, type Profile} from './HeapSnapshot.js';
10
10
  import type {HeapSnapshotWorkerDispatcher} from './HeapSnapshotWorkerDispatcher.js';
@@ -27,8 +27,6 @@ const UIStrings = {
27
27
  const str_ = i18n.i18n.registerUIStrings('entrypoints/inspector_main/OutermostTargetSelector.ts', UIStrings);
28
28
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
29
29
 
30
- let outermostTargetSelectorInstance: OutermostTargetSelector;
31
-
32
30
  export class OutermostTargetSelector implements SDK.TargetManager.Observer, UI.SoftDropDown.Delegate<SDK.Target.Target>,
33
31
  UI.Toolbar.Provider {
34
32
  readonly listItems = new UI.ListModel.ListModel<SDK.Target.Target>();
@@ -54,17 +52,6 @@ export class OutermostTargetSelector implements SDK.TargetManager.Observer, UI.S
54
52
  UI.Context.Context.instance().addFlavorChangeListener(SDK.Target.Target, this.#targetChanged, this);
55
53
  }
56
54
 
57
- static instance(opts: {
58
- forceNew: boolean|null,
59
- } = {forceNew: null}): OutermostTargetSelector {
60
- const {forceNew} = opts;
61
- if (!outermostTargetSelectorInstance || forceNew) {
62
- outermostTargetSelectorInstance = new OutermostTargetSelector();
63
- }
64
-
65
- return outermostTargetSelectorInstance;
66
- }
67
-
68
55
  item(): UI.Toolbar.ToolbarItem {
69
56
  return this.#toolbarItem;
70
57
  }
@@ -216,9 +216,14 @@ export class RenderingOptionsView extends UI.Widget.VBox {
216
216
  this.#appendCheckbox(
217
217
  i18nString(UIStrings.scrollingPerformanceIssues), i18nString(UIStrings.highlightsElementsTealThatCan),
218
218
  Common.Settings.Settings.instance().moduleSetting('show-scroll-bottleneck-rects'));
219
- this.#appendCheckbox(
220
- i18nString(UIStrings.highlightAds), i18nString(UIStrings.highlightsElementsRedDetectedToBe),
221
- Common.Settings.Settings.instance().moduleSetting('show-ad-highlights'));
219
+
220
+ // The 'Highlight ads' setting now lives in the Ads panel under Application.
221
+ // We display this legacy setting only when the Ads panel isn't enabled.
222
+ if (!Root.Runtime.hostConfig.devToolsAdsPanel?.enabled) {
223
+ this.#appendCheckbox(i18nString(UIStrings.highlightAds), i18nString(UIStrings.highlightsElementsRedDetectedToBe),
224
+ Common.Settings.Settings.instance().moduleSetting('show-ad-highlights'));
225
+ }
226
+
222
227
  this.#appendCheckbox(
223
228
  i18nString(UIStrings.disableLocalFonts), i18nString(UIStrings.disablesLocalSourcesInFontface),
224
229
  Common.Settings.Settings.instance().moduleSetting('local-fonts-disabled'));
@@ -246,10 +246,10 @@ UI.Toolbar.registerToolbarItem({
246
246
  });
247
247
 
248
248
  UI.Toolbar.registerToolbarItem({
249
- async loadItem() {
249
+ loadItem: Common.Lazy.lazy(async () => {
250
250
  const InspectorMain = await loadInspectorMainModule();
251
- return InspectorMain.OutermostTargetSelector.OutermostTargetSelector.instance();
252
- },
251
+ return new InspectorMain.OutermostTargetSelector.OutermostTargetSelector();
252
+ }) as () => Promise<UI.Toolbar.Provider>,
253
253
  order: 97,
254
254
  location: UI.Toolbar.ToolbarItemLocation.MAIN_TOOLBAR_RIGHT,
255
255
  });
@@ -215,6 +215,11 @@ export class MainImpl {
215
215
  this.#universe = new Foundation.Universe.Universe(creationOptions);
216
216
  Root.DevToolsContext.setGlobalInstance(this.#universe.context as Root.DevToolsContext.WritableDevToolsContext);
217
217
 
218
+ // Mark 'cache-disabled' as requiring user interaction when multiple CDP clients are attached.
219
+ if (Root.Runtime.Runtime.queryParam('hasOtherClients')) {
220
+ this.#universe.settings.moduleSetting('cache-disabled').setRequiresUserAction(true);
221
+ }
222
+
218
223
  Root.Runtime.experiments.cleanUpStaleExperiments();
219
224
 
220
225
  await this.requestAndRegisterLocaleData();
@@ -455,7 +460,7 @@ export class MainImpl {
455
460
  targetManager.addEventListener(
456
461
  SDK.TargetManager.Events.SUSPEND_STATE_CHANGED, this.#onSuspendStateChanged.bind(this));
457
462
 
458
- new Bindings.PresentationConsoleMessageHelper.PresentationConsoleMessageManager();
463
+ new Bindings.PresentationConsoleMessageHelper.PresentationConsoleMessageManager(targetManager);
459
464
  targetManager.setScopeTarget(targetManager.primaryPageTarget());
460
465
  UI.Context.Context.instance().addFlavorChangeListener(SDK.Target.Target, ({data}) => {
461
466
  const outermostTarget = data?.outermostTarget();
@@ -483,6 +488,7 @@ export class MainImpl {
483
488
  () => Snackbar.Snackbar.Snackbar.show({message: i18nString(UIStrings.aiModelDownloaded)}));
484
489
 
485
490
  new PauseListener();
491
+ new ConsoleProfileFinishedListener();
486
492
 
487
493
  const actionRegistryInstance = UI.ActionRegistry.ActionRegistry.instance({forceNew: true});
488
494
  // Required for legacy a11y layout tests
@@ -503,8 +509,8 @@ export class MainImpl {
503
509
  'no-profile-and-not-eligible';
504
510
  void VisualLogging.logFunctionCall('gdp-client-initialize', contextString);
505
511
  });
506
- void Badges.UserBadges.instance().initialize();
507
- Badges.UserBadges.instance().addEventListener(Badges.Events.BADGE_TRIGGERED, async ev => {
512
+ void this.#universe.userBadges.initialize();
513
+ this.#universe.userBadges.addEventListener(Badges.Events.BADGE_TRIGGERED, async ev => {
508
514
  loadedPanelCommonModule ??= await import('../../panels/common/common.js') as typeof PanelCommon;
509
515
  const badgeNotification = new loadedPanelCommonModule.BadgeNotification();
510
516
  const {badge, reason} = ev.data;
@@ -956,6 +962,18 @@ export class PauseListener {
956
962
  }
957
963
  }
958
964
 
965
+ export class ConsoleProfileFinishedListener {
966
+ constructor() {
967
+ SDK.TargetManager.TargetManager.instance().addModelListener(SDK.CPUProfilerModel.CPUProfilerModel,
968
+ SDK.CPUProfilerModel.Events.CONSOLE_PROFILE_FINISHED,
969
+ this.#consoleProfileFinished, this);
970
+ }
971
+
972
+ #consoleProfileFinished(event: Common.EventTarget.EventTargetEvent<SDK.CPUProfilerModel.ProfileFinishedData>): void {
973
+ void Common.Revealer.reveal(event.data);
974
+ }
975
+ }
976
+
959
977
  /** Unused but mentioned at https://chromedevtools.github.io/devtools-protocol/#:~:text=use%20Main.MainImpl.-,sendOverProtocol,-()%20in%20the **/
960
978
  export function sendOverProtocol(
961
979
  method: ProtocolClient.InspectorBackend.QualifiedName, params: Object|null): Promise<unknown[]|null> {
@@ -6,7 +6,9 @@ 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
8
  import * as SDK from '../core/sdk/sdk.js';
9
+ import * as AiAssistance from '../models/ai_assistance/ai_assistance.js';
9
10
  import * as AutofillManager from '../models/autofill_manager/autofill_manager.js';
11
+ import * as Badges from '../models/badges/badges.js';
10
12
  import * as Bindings from '../models/bindings/bindings.js';
11
13
  import * as Breakpoints from '../models/breakpoints/breakpoints.js';
12
14
  import * as CrUXManager from '../models/crux-manager/crux-manager.js';
@@ -186,6 +188,12 @@ export class Universe {
186
188
  const liveMetrics = new LiveMetrics.LiveMetrics(targetManager, deviceModeModel);
187
189
  context.set(LiveMetrics.LiveMetrics, liveMetrics);
188
190
 
191
+ const userBadges = new Badges.UserBadges(settings, gdpClient, options.inspectorFrontendHost);
192
+ context.set(Badges.UserBadges, userBadges);
193
+
194
+ const aiHistoryStorage = new AiAssistance.AiHistoryStorage.AiHistoryStorage(settings);
195
+ context.set(AiAssistance.AiHistoryStorage.AiHistoryStorage, aiHistoryStorage);
196
+
189
197
  this.autofillManager = new AutofillManager.AutofillManager.AutofillManager(targetManager, frameManager);
190
198
  }
191
199
 
@@ -198,6 +206,10 @@ export class Universe {
198
206
  return this.context.get(Persistence.AutomaticFileSystemWorkspaceBinding.AutomaticFileSystemWorkspaceBinding);
199
207
  }
200
208
 
209
+ get aiHistoryStorage(): AiAssistance.AiHistoryStorage.AiHistoryStorage {
210
+ return this.context.get(AiAssistance.AiHistoryStorage.AiHistoryStorage);
211
+ }
212
+
201
213
  get breakpointManager(): Breakpoints.BreakpointManager.BreakpointManager {
202
214
  return this.context.get(Breakpoints.BreakpointManager.BreakpointManager);
203
215
  }
@@ -286,6 +298,10 @@ export class Universe {
286
298
  return this.context.get(SDK.TargetManager.TargetManager);
287
299
  }
288
300
 
301
+ get userBadges(): Badges.UserBadges {
302
+ return this.context.get(Badges.UserBadges);
303
+ }
304
+
289
305
  get workspace(): Workspace.Workspace.WorkspaceImpl {
290
306
  return this.context.get(Workspace.Workspace.WorkspaceImpl);
291
307
  }
@@ -77,7 +77,7 @@ inspectorBackend.registerEnum("Audits.CookieOperation", {SetCookie: "SetCookie",
77
77
  inspectorBackend.registerEnum("Audits.InsightType", {GitHubResource: "GitHubResource", GracePeriod: "GracePeriod", Heuristics: "Heuristics"});
78
78
  inspectorBackend.registerEnum("Audits.PerformanceIssueType", {DocumentCookie: "DocumentCookie"});
79
79
  inspectorBackend.registerEnum("Audits.MixedContentResolutionStatus", {MixedContentBlocked: "MixedContentBlocked", MixedContentAutomaticallyUpgraded: "MixedContentAutomaticallyUpgraded", MixedContentWarning: "MixedContentWarning"});
80
- inspectorBackend.registerEnum("Audits.MixedContentResourceType", {AttributionSrc: "AttributionSrc", Audio: "Audio", Beacon: "Beacon", CSPReport: "CSPReport", Download: "Download", EventSource: "EventSource", Favicon: "Favicon", Font: "Font", Form: "Form", Frame: "Frame", Image: "Image", Import: "Import", JSON: "JSON", Manifest: "Manifest", Ping: "Ping", PluginData: "PluginData", PluginResource: "PluginResource", Prefetch: "Prefetch", Resource: "Resource", Script: "Script", ServiceWorker: "ServiceWorker", SharedWorker: "SharedWorker", SpeculationRules: "SpeculationRules", Stylesheet: "Stylesheet", Track: "Track", Video: "Video", Worker: "Worker", XMLHttpRequest: "XMLHttpRequest", XSLT: "XSLT"});
80
+ inspectorBackend.registerEnum("Audits.MixedContentResourceType", {Audio: "Audio", Beacon: "Beacon", CSPReport: "CSPReport", Download: "Download", EventSource: "EventSource", Favicon: "Favicon", Font: "Font", Form: "Form", Frame: "Frame", Image: "Image", Import: "Import", JSON: "JSON", Manifest: "Manifest", Ping: "Ping", PluginData: "PluginData", PluginResource: "PluginResource", Prefetch: "Prefetch", Resource: "Resource", Script: "Script", ServiceWorker: "ServiceWorker", SharedWorker: "SharedWorker", SpeculationRules: "SpeculationRules", Stylesheet: "Stylesheet", Track: "Track", Video: "Video", Worker: "Worker", XMLHttpRequest: "XMLHttpRequest", XSLT: "XSLT"});
81
81
  inspectorBackend.registerEnum("Audits.BlockedByResponseReason", {CoepFrameResourceNeedsCoepHeader: "CoepFrameResourceNeedsCoepHeader", CoopSandboxedIFrameCannotNavigateToCoopPage: "CoopSandboxedIFrameCannotNavigateToCoopPage", CorpNotSameOrigin: "CorpNotSameOrigin", CorpNotSameOriginAfterDefaultedToSameOriginByCoep: "CorpNotSameOriginAfterDefaultedToSameOriginByCoep", CorpNotSameOriginAfterDefaultedToSameOriginByDip: "CorpNotSameOriginAfterDefaultedToSameOriginByDip", CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDip: "CorpNotSameOriginAfterDefaultedToSameOriginByCoepAndDip", CorpNotSameSite: "CorpNotSameSite", SRIMessageSignatureMismatch: "SRIMessageSignatureMismatch"});
82
82
  inspectorBackend.registerEnum("Audits.HeavyAdResolutionStatus", {HeavyAdBlocked: "HeavyAdBlocked", HeavyAdWarning: "HeavyAdWarning"});
83
83
  inspectorBackend.registerEnum("Audits.HeavyAdReason", {NetworkTotalLimit: "NetworkTotalLimit", CpuTotalLimit: "CpuTotalLimit", CpuPeakLimit: "CpuPeakLimit"});
@@ -203,7 +203,6 @@ inspectorBackend.registerEnum("Browser.WindowState", {Normal: "normal", Minimize
203
203
  inspectorBackend.registerEnum("Browser.PermissionType", {Ar: "ar", AudioCapture: "audioCapture", AutomaticFullscreen: "automaticFullscreen", BackgroundFetch: "backgroundFetch", BackgroundSync: "backgroundSync", CameraPanTiltZoom: "cameraPanTiltZoom", CapturedSurfaceControl: "capturedSurfaceControl", ClipboardReadWrite: "clipboardReadWrite", ClipboardSanitizedWrite: "clipboardSanitizedWrite", DisplayCapture: "displayCapture", DurableStorage: "durableStorage", Geolocation: "geolocation", HandTracking: "handTracking", IdleDetection: "idleDetection", KeyboardLock: "keyboardLock", LocalFonts: "localFonts", LocalNetwork: "localNetwork", LocalNetworkAccess: "localNetworkAccess", LoopbackNetwork: "loopbackNetwork", Midi: "midi", MidiSysex: "midiSysex", Nfc: "nfc", Notifications: "notifications", PaymentHandler: "paymentHandler", PeriodicBackgroundSync: "periodicBackgroundSync", PointerLock: "pointerLock", ProtectedMediaIdentifier: "protectedMediaIdentifier", Sensors: "sensors", SmartCard: "smartCard", SpeakerSelection: "speakerSelection", StorageAccess: "storageAccess", TopLevelStorageAccess: "topLevelStorageAccess", VideoCapture: "videoCapture", Vr: "vr", WakeLockScreen: "wakeLockScreen", WakeLockSystem: "wakeLockSystem", WebAppInstallation: "webAppInstallation", WebPrinting: "webPrinting", WindowManagement: "windowManagement"});
204
204
  inspectorBackend.registerEnum("Browser.PermissionSetting", {Granted: "granted", Denied: "denied", Prompt: "prompt"});
205
205
  inspectorBackend.registerEnum("Browser.BrowserCommandId", {OpenTabSearch: "openTabSearch", CloseTabSearch: "closeTabSearch", OpenGlic: "openGlic"});
206
- inspectorBackend.registerEnum("Browser.PrivacySandboxAPI", {BiddingAndAuctionServices: "BiddingAndAuctionServices", TrustedKeyValue: "TrustedKeyValue"});
207
206
  inspectorBackend.registerEvent("Browser.downloadWillBegin", ["frameId", "guid", "url", "suggestedFilename"]);
208
207
  inspectorBackend.registerEnum("Browser.DownloadProgressEventState", {InProgress: "inProgress", Completed: "completed", Canceled: "canceled"});
209
208
  inspectorBackend.registerEvent("Browser.downloadProgress", ["guid", "totalBytes", "receivedBytes", "state", "filePath"]);
@@ -227,7 +226,6 @@ inspectorBackend.registerCommand("Browser.setContentsSize", [{"name": "windowId"
227
226
  inspectorBackend.registerCommand("Browser.setDockTile", [{"name": "badgeLabel", "type": "string", "optional": true, "description": "", "typeRef": null}, {"name": "image", "type": "string", "optional": true, "description": "Png encoded image.", "typeRef": null}], [], "Set dock tile details, platform-specific.");
228
227
  inspectorBackend.registerCommand("Browser.executeBrowserCommand", [{"name": "commandId", "type": "string", "optional": false, "description": "", "typeRef": "Browser.BrowserCommandId"}], [], "Invoke custom browser commands used by telemetry.");
229
228
  inspectorBackend.registerCommand("Browser.addPrivacySandboxEnrollmentOverride", [{"name": "url", "type": "string", "optional": false, "description": "", "typeRef": null}], [], "Allows a site to use privacy sandbox features that require enrollment without the site actually being enrolled. Only supported on page targets.");
230
- inspectorBackend.registerCommand("Browser.addPrivacySandboxCoordinatorKeyConfig", [{"name": "api", "type": "string", "optional": false, "description": "", "typeRef": "Browser.PrivacySandboxAPI"}, {"name": "coordinatorOrigin", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "keyConfig", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "browserContextId", "type": "string", "optional": true, "description": "BrowserContext to perform the action in. When omitted, default browser context is used.", "typeRef": "Browser.BrowserContextID"}], [], "Configures encryption keys used with a given privacy sandbox API to talk to a trusted coordinator. Since this is intended for test automation only, coordinatorOrigin must be a .test domain. No existing coordinator configuration for the origin may exist.");
231
229
  inspectorBackend.registerType("Browser.Bounds", [{"name": "left", "type": "number", "optional": true, "description": "The offset from the left edge of the screen to the window in pixels.", "typeRef": null}, {"name": "top", "type": "number", "optional": true, "description": "The offset from the top edge of the screen to the window in pixels.", "typeRef": null}, {"name": "width", "type": "number", "optional": true, "description": "The window width in pixels.", "typeRef": null}, {"name": "height", "type": "number", "optional": true, "description": "The window height in pixels.", "typeRef": null}, {"name": "windowState", "type": "string", "optional": true, "description": "The window state. Default to normal.", "typeRef": "Browser.WindowState"}]);
232
230
  inspectorBackend.registerType("Browser.PermissionDescriptor", [{"name": "name", "type": "string", "optional": false, "description": "Name of permission. See https://cs.chromium.org/chromium/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl for valid permission names.", "typeRef": null}, {"name": "sysex", "type": "boolean", "optional": true, "description": "For \\\"midi\\\" permission, may also specify sysex control.", "typeRef": null}, {"name": "userVisibleOnly", "type": "boolean", "optional": true, "description": "For \\\"push\\\" permission, may specify userVisibleOnly. Note that userVisibleOnly = true is the only currently supported type.", "typeRef": null}, {"name": "allowWithoutSanitization", "type": "boolean", "optional": true, "description": "For \\\"clipboard\\\" permission, may specify allowWithoutSanitization.", "typeRef": null}, {"name": "allowWithoutGesture", "type": "boolean", "optional": true, "description": "For \\\"fullscreen\\\" permission, must specify allowWithoutGesture:true.", "typeRef": null}, {"name": "panTiltZoom", "type": "boolean", "optional": true, "description": "For \\\"camera\\\" permission, may specify panTiltZoom.", "typeRef": null}]);
233
231
  inspectorBackend.registerType("Browser.Bucket", [{"name": "low", "type": "number", "optional": false, "description": "Minimum value (inclusive).", "typeRef": null}, {"name": "high", "type": "number", "optional": false, "description": "Maximum value (exclusive).", "typeRef": null}, {"name": "count", "type": "number", "optional": false, "description": "Number of samples.", "typeRef": null}]);
@@ -1319,19 +1317,13 @@ inspectorBackend.registerType("SmartCardEmulation.ReaderStateOut", [{"name": "re
1319
1317
 
1320
1318
  // Storage.
1321
1319
  inspectorBackend.registerEnum("Storage.StorageType", {Cookies: "cookies", File_systems: "file_systems", Indexeddb: "indexeddb", Local_storage: "local_storage", Shader_cache: "shader_cache", Websql: "websql", Service_workers: "service_workers", Cache_storage: "cache_storage", Interest_groups: "interest_groups", Shared_storage: "shared_storage", Storage_buckets: "storage_buckets", All: "all", Other: "other"});
1322
- inspectorBackend.registerEnum("Storage.InterestGroupAccessType", {Join: "join", Leave: "leave", Update: "update", Loaded: "loaded", Bid: "bid", Win: "win", AdditionalBid: "additionalBid", AdditionalBidWin: "additionalBidWin", TopLevelBid: "topLevelBid", TopLevelAdditionalBid: "topLevelAdditionalBid", Clear: "clear"});
1323
- inspectorBackend.registerEnum("Storage.InterestGroupAuctionEventType", {Started: "started", ConfigResolved: "configResolved"});
1324
- inspectorBackend.registerEnum("Storage.InterestGroupAuctionFetchType", {BidderJs: "bidderJs", BidderWasm: "bidderWasm", SellerJs: "sellerJs", BidderTrustedSignals: "bidderTrustedSignals", SellerTrustedSignals: "sellerTrustedSignals"});
1325
- inspectorBackend.registerEnum("Storage.SharedStorageAccessScope", {Window: "window", SharedStorageWorklet: "sharedStorageWorklet", ProtectedAudienceWorklet: "protectedAudienceWorklet", Header: "header"});
1320
+ inspectorBackend.registerEnum("Storage.SharedStorageAccessScope", {Window: "window", SharedStorageWorklet: "sharedStorageWorklet", Header: "header"});
1326
1321
  inspectorBackend.registerEnum("Storage.SharedStorageAccessMethod", {AddModule: "addModule", CreateWorklet: "createWorklet", SelectURL: "selectURL", Run: "run", BatchUpdate: "batchUpdate", Set: "set", Append: "append", Delete: "delete", Clear: "clear", Get: "get", Keys: "keys", Values: "values", Entries: "entries", Length: "length", RemainingBudget: "remainingBudget"});
1327
1322
  inspectorBackend.registerEnum("Storage.StorageBucketsDurability", {Relaxed: "relaxed", Strict: "strict"});
1328
1323
  inspectorBackend.registerEvent("Storage.cacheStorageContentUpdated", ["origin", "storageKey", "bucketId", "cacheName"]);
1329
1324
  inspectorBackend.registerEvent("Storage.cacheStorageListUpdated", ["origin", "storageKey", "bucketId"]);
1330
1325
  inspectorBackend.registerEvent("Storage.indexedDBContentUpdated", ["origin", "storageKey", "bucketId", "databaseName", "objectStoreName"]);
1331
1326
  inspectorBackend.registerEvent("Storage.indexedDBListUpdated", ["origin", "storageKey", "bucketId"]);
1332
- inspectorBackend.registerEvent("Storage.interestGroupAccessed", ["accessTime", "type", "ownerOrigin", "name", "componentSellerOrigin", "bid", "bidCurrency", "uniqueAuctionId"]);
1333
- inspectorBackend.registerEvent("Storage.interestGroupAuctionEventOccurred", ["eventTime", "type", "uniqueAuctionId", "parentAuctionId", "auctionConfig"]);
1334
- inspectorBackend.registerEvent("Storage.interestGroupAuctionNetworkRequestCreated", ["type", "requestId", "auctions"]);
1335
1327
  inspectorBackend.registerEvent("Storage.sharedStorageAccessed", ["accessTime", "scope", "method", "mainFrameId", "ownerOrigin", "ownerSite", "params"]);
1336
1328
  inspectorBackend.registerEvent("Storage.sharedStorageWorkletOperationExecutionFinished", ["finishedTime", "executionTime", "method", "operationId", "workletTargetId", "mainFrameId", "ownerOrigin"]);
1337
1329
  inspectorBackend.registerEvent("Storage.storageBucketCreatedOrUpdated", ["bucketInfo"]);
@@ -1355,9 +1347,6 @@ inspectorBackend.registerCommand("Storage.untrackIndexedDBForOrigin", [{"name":
1355
1347
  inspectorBackend.registerCommand("Storage.untrackIndexedDBForStorageKey", [{"name": "storageKey", "type": "string", "optional": false, "description": "Storage key.", "typeRef": null}], [], "Unregisters storage key from receiving notifications for IndexedDB.");
1356
1348
  inspectorBackend.registerCommand("Storage.getTrustTokens", [], ["tokens"], "Returns the number of stored Trust Tokens per issuer for the current browsing context.");
1357
1349
  inspectorBackend.registerCommand("Storage.clearTrustTokens", [{"name": "issuerOrigin", "type": "string", "optional": false, "description": "", "typeRef": null}], ["didDeleteTokens"], "Removes all Trust Tokens issued by the provided issuerOrigin. Leaves other stored data, including the issuer's Redemption Records, intact.");
1358
- inspectorBackend.registerCommand("Storage.getInterestGroupDetails", [{"name": "ownerOrigin", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "name", "type": "string", "optional": false, "description": "", "typeRef": null}], ["details"], "Gets details for a named interest group.");
1359
- inspectorBackend.registerCommand("Storage.setInterestGroupTracking", [{"name": "enable", "type": "boolean", "optional": false, "description": "", "typeRef": null}], [], "Enables/Disables issuing of interestGroupAccessed events.");
1360
- inspectorBackend.registerCommand("Storage.setInterestGroupAuctionTracking", [{"name": "enable", "type": "boolean", "optional": false, "description": "", "typeRef": null}], [], "Enables/Disables issuing of interestGroupAuctionEventOccurred and interestGroupAuctionNetworkRequestCreated.");
1361
1350
  inspectorBackend.registerCommand("Storage.getSharedStorageMetadata", [{"name": "ownerOrigin", "type": "string", "optional": false, "description": "", "typeRef": null}], ["metadata"], "Gets metadata for an origin's shared storage.");
1362
1351
  inspectorBackend.registerCommand("Storage.getSharedStorageEntries", [{"name": "ownerOrigin", "type": "string", "optional": false, "description": "", "typeRef": null}], ["entries"], "Gets the entries in an given origin's shared storage.");
1363
1352
  inspectorBackend.registerCommand("Storage.setSharedStorageEntry", [{"name": "ownerOrigin", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "key", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "value", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "ignoreIfPresent", "type": "boolean", "optional": true, "description": "If `ignoreIfPresent` is included and true, then only sets the entry if `key` doesn't already exist.", "typeRef": null}], [], "Sets entry with `key` and `value` for a given origin's shared storage.");
@@ -1369,7 +1358,6 @@ inspectorBackend.registerCommand("Storage.setStorageBucketTracking", [{"name": "
1369
1358
  inspectorBackend.registerCommand("Storage.deleteStorageBucket", [{"name": "bucket", "type": "object", "optional": false, "description": "", "typeRef": "Storage.StorageBucket"}], [], "Deletes the Storage Bucket with the given storage key and bucket name.");
1370
1359
  inspectorBackend.registerCommand("Storage.runBounceTrackingMitigations", [], ["deletedSites"], "Deletes state for sites identified as potential bounce trackers, immediately.");
1371
1360
  inspectorBackend.registerCommand("Storage.getRelatedWebsiteSets", [], ["sets"], "Returns the effective Related Website Sets in use by this profile for the browser session. The effective Related Website Sets will not change during a browser session.");
1372
- inspectorBackend.registerCommand("Storage.setProtectedAudienceKAnonymity", [{"name": "owner", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "name", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "hashes", "type": "array", "optional": false, "description": "", "typeRef": "binary"}], [], "");
1373
1361
  inspectorBackend.registerType("Storage.UsageForType", [{"name": "storageType", "type": "string", "optional": false, "description": "Name of storage type.", "typeRef": "Storage.StorageType"}, {"name": "usage", "type": "number", "optional": false, "description": "Storage usage (bytes).", "typeRef": null}]);
1374
1362
  inspectorBackend.registerType("Storage.TrustTokens", [{"name": "issuerOrigin", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "count", "type": "number", "optional": false, "description": "", "typeRef": null}]);
1375
1363
  inspectorBackend.registerType("Storage.SharedStorageEntry", [{"name": "key", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "value", "type": "string", "optional": false, "description": "", "typeRef": null}]);
@@ -781,23 +781,6 @@ export namespace ProtocolMapping {
781
781
  * The origin's IndexedDB database list has been modified.
782
782
  */
783
783
  'Storage.indexedDBListUpdated': [Protocol.Storage.IndexedDBListUpdatedEvent];
784
- /**
785
- * One of the interest groups was accessed. Note that these events are global
786
- * to all targets sharing an interest group store.
787
- */
788
- 'Storage.interestGroupAccessed': [Protocol.Storage.InterestGroupAccessedEvent];
789
- /**
790
- * An auction involving interest groups is taking place. These events are
791
- * target-specific.
792
- */
793
- 'Storage.interestGroupAuctionEventOccurred': [Protocol.Storage.InterestGroupAuctionEventOccurredEvent];
794
- /**
795
- * Specifies which auctions a particular network fetch may be related to, and
796
- * in what role. Note that it is not ordered with respect to
797
- * Network.requestWillBeSent (but will happen before loadingFinished
798
- * loadingFailed).
799
- */
800
- 'Storage.interestGroupAuctionNetworkRequestCreated': [Protocol.Storage.InterestGroupAuctionNetworkRequestCreatedEvent];
801
784
  /**
802
785
  * Shared storage was accessed by the associated page.
803
786
  * The following parameters are included in all events.
@@ -1510,16 +1493,6 @@ export namespace ProtocolMapping {
1510
1493
  paramsType: [Protocol.Browser.AddPrivacySandboxEnrollmentOverrideRequest];
1511
1494
  returnType: void;
1512
1495
  };
1513
- /**
1514
- * Configures encryption keys used with a given privacy sandbox API to talk
1515
- * to a trusted coordinator. Since this is intended for test automation only,
1516
- * coordinatorOrigin must be a .test domain. No existing coordinator
1517
- * configuration for the origin may exist.
1518
- */
1519
- 'Browser.addPrivacySandboxCoordinatorKeyConfig': {
1520
- paramsType: [Protocol.Browser.AddPrivacySandboxCoordinatorKeyConfigRequest];
1521
- returnType: void;
1522
- };
1523
1496
  /**
1524
1497
  * Inserts a new rule with the given `ruleText` in a stylesheet with given `styleSheetId`, at the
1525
1498
  * position specified by `location`.
@@ -4920,28 +4893,6 @@ export namespace ProtocolMapping {
4920
4893
  paramsType: [Protocol.Storage.ClearTrustTokensRequest];
4921
4894
  returnType: Protocol.Storage.ClearTrustTokensResponse;
4922
4895
  };
4923
- /**
4924
- * Gets details for a named interest group.
4925
- */
4926
- 'Storage.getInterestGroupDetails': {
4927
- paramsType: [Protocol.Storage.GetInterestGroupDetailsRequest];
4928
- returnType: Protocol.Storage.GetInterestGroupDetailsResponse;
4929
- };
4930
- /**
4931
- * Enables/Disables issuing of interestGroupAccessed events.
4932
- */
4933
- 'Storage.setInterestGroupTracking': {
4934
- paramsType: [Protocol.Storage.SetInterestGroupTrackingRequest];
4935
- returnType: void;
4936
- };
4937
- /**
4938
- * Enables/Disables issuing of interestGroupAuctionEventOccurred and
4939
- * interestGroupAuctionNetworkRequestCreated.
4940
- */
4941
- 'Storage.setInterestGroupAuctionTracking': {
4942
- paramsType: [Protocol.Storage.SetInterestGroupAuctionTrackingRequest];
4943
- returnType: void;
4944
- };
4945
4896
  /**
4946
4897
  * Gets metadata for an origin's shared storage.
4947
4898
  */
@@ -5020,10 +4971,6 @@ export namespace ProtocolMapping {
5020
4971
  paramsType: [];
5021
4972
  returnType: Protocol.Storage.GetRelatedWebsiteSetsResponse;
5022
4973
  };
5023
- 'Storage.setProtectedAudienceKAnonymity': {
5024
- paramsType: [Protocol.Storage.SetProtectedAudienceKAnonymityRequest];
5025
- returnType: void;
5026
- };
5027
4974
  /**
5028
4975
  * Returns information about the system.
5029
4976
  */
@@ -713,14 +713,6 @@ declare namespace ProtocolProxyApi {
713
713
  */
714
714
  invoke_addPrivacySandboxEnrollmentOverride(params: Protocol.Browser.AddPrivacySandboxEnrollmentOverrideRequest): Promise<Protocol.ProtocolResponseWithError>;
715
715
 
716
- /**
717
- * Configures encryption keys used with a given privacy sandbox API to talk
718
- * to a trusted coordinator. Since this is intended for test automation only,
719
- * coordinatorOrigin must be a .test domain. No existing coordinator
720
- * configuration for the origin may exist.
721
- */
722
- invoke_addPrivacySandboxCoordinatorKeyConfig(params: Protocol.Browser.AddPrivacySandboxCoordinatorKeyConfigRequest): Promise<Protocol.ProtocolResponseWithError>;
723
-
724
716
  }
725
717
  export interface BrowserDispatcher {
726
718
  /**
@@ -4294,22 +4286,6 @@ declare namespace ProtocolProxyApi {
4294
4286
  */
4295
4287
  invoke_clearTrustTokens(params: Protocol.Storage.ClearTrustTokensRequest): Promise<Protocol.Storage.ClearTrustTokensResponse>;
4296
4288
 
4297
- /**
4298
- * Gets details for a named interest group.
4299
- */
4300
- invoke_getInterestGroupDetails(params: Protocol.Storage.GetInterestGroupDetailsRequest): Promise<Protocol.Storage.GetInterestGroupDetailsResponse>;
4301
-
4302
- /**
4303
- * Enables/Disables issuing of interestGroupAccessed events.
4304
- */
4305
- invoke_setInterestGroupTracking(params: Protocol.Storage.SetInterestGroupTrackingRequest): Promise<Protocol.ProtocolResponseWithError>;
4306
-
4307
- /**
4308
- * Enables/Disables issuing of interestGroupAuctionEventOccurred and
4309
- * interestGroupAuctionNetworkRequestCreated.
4310
- */
4311
- invoke_setInterestGroupAuctionTracking(params: Protocol.Storage.SetInterestGroupAuctionTrackingRequest): Promise<Protocol.ProtocolResponseWithError>;
4312
-
4313
4289
  /**
4314
4290
  * Gets metadata for an origin's shared storage.
4315
4291
  */
@@ -4366,8 +4342,6 @@ declare namespace ProtocolProxyApi {
4366
4342
  */
4367
4343
  invoke_getRelatedWebsiteSets(): Promise<Protocol.Storage.GetRelatedWebsiteSetsResponse>;
4368
4344
 
4369
- invoke_setProtectedAudienceKAnonymity(params: Protocol.Storage.SetProtectedAudienceKAnonymityRequest): Promise<Protocol.ProtocolResponseWithError>;
4370
-
4371
4345
  }
4372
4346
  export interface StorageDispatcher {
4373
4347
  /**
@@ -4390,26 +4364,6 @@ declare namespace ProtocolProxyApi {
4390
4364
  */
4391
4365
  indexedDBListUpdated(params: Protocol.Storage.IndexedDBListUpdatedEvent): void;
4392
4366
 
4393
- /**
4394
- * One of the interest groups was accessed. Note that these events are global
4395
- * to all targets sharing an interest group store.
4396
- */
4397
- interestGroupAccessed(params: Protocol.Storage.InterestGroupAccessedEvent): void;
4398
-
4399
- /**
4400
- * An auction involving interest groups is taking place. These events are
4401
- * target-specific.
4402
- */
4403
- interestGroupAuctionEventOccurred(params: Protocol.Storage.InterestGroupAuctionEventOccurredEvent): void;
4404
-
4405
- /**
4406
- * Specifies which auctions a particular network fetch may be related to, and
4407
- * in what role. Note that it is not ordered with respect to
4408
- * Network.requestWillBeSent (but will happen before loadingFinished
4409
- * loadingFailed).
4410
- */
4411
- interestGroupAuctionNetworkRequestCreated(params: Protocol.Storage.InterestGroupAuctionNetworkRequestCreatedEvent): void;
4412
-
4413
4367
  /**
4414
4368
  * Shared storage was accessed by the associated page.
4415
4369
  * The following parameters are included in all events.