chrome-devtools-frontend 1.0.1664496 → 1.0.1665921

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 (407) hide show
  1. package/.agents/skills/devtools-testing-guidance/SKILL.md +48 -0
  2. package/.agents/skills/devtools-ux-writing-refactor/SKILL.md +3 -3
  3. package/.agents/skills/repro-flaky-tests/SKILL.md +2 -2
  4. package/.agents/skills/ui-eng-vision-local-lit-renderer/SKILL.md +7 -1
  5. package/.agents/skills/ui-eng-vision-widget-promoter/SKILL.md +2 -0
  6. package/.agents/skills/version-control/SKILL.md +4 -3
  7. package/docs/ui_engineering.md +89 -0
  8. package/eslint.config.mjs +9 -2
  9. package/front_end/Images/rollup.config.mjs +1 -1
  10. package/front_end/Tests.js +15 -16
  11. package/front_end/core/common/Gzip.ts +2 -2
  12. package/front_end/core/common/Settings.ts +4 -20
  13. package/front_end/core/common/Srcset.ts +1 -1
  14. package/front_end/core/common/VersionController.ts +1 -1
  15. package/front_end/core/host/AidaClient.ts +19 -4
  16. package/front_end/core/host/AidaGcaTranslation.ts +2 -2
  17. package/front_end/core/host/GcaClient.ts +2 -2
  18. package/front_end/core/host/GdpClient.ts +3 -3
  19. package/front_end/core/host/InspectorFrontendHostStub.ts +1 -1
  20. package/front_end/core/host/ResourceLoader.ts +15 -15
  21. package/front_end/core/protocol_client/DevToolsCDPConnection.ts +2 -2
  22. package/front_end/core/protocol_client/InspectorBackend.ts +1 -1
  23. package/front_end/core/root/Runtime.ts +0 -1
  24. package/front_end/core/sdk/CSSMatchedStyles.ts +78 -3
  25. package/front_end/core/sdk/CSSMetadata.ts +17 -12
  26. package/front_end/core/sdk/CSSProperty.ts +1 -1
  27. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +2 -2
  28. package/front_end/core/sdk/CSSRule.ts +3 -3
  29. package/front_end/core/sdk/CSSStyleSheetHeader.ts +3 -3
  30. package/front_end/core/sdk/CompilerSourceMappingContentProvider.ts +1 -1
  31. package/front_end/core/sdk/Connections.ts +1 -1
  32. package/front_end/core/sdk/DebuggerModel.ts +13 -13
  33. package/front_end/core/sdk/NetworkManager.ts +19 -19
  34. package/front_end/core/sdk/NetworkRequest.ts +57 -57
  35. package/front_end/core/sdk/OverlayModel.ts +1 -1
  36. package/front_end/core/sdk/PageResourceLoader.ts +2 -2
  37. package/front_end/core/sdk/RehydratingConnection.ts +5 -5
  38. package/front_end/core/sdk/ScreenCaptureModel.ts +1 -1
  39. package/front_end/core/sdk/Script.ts +2 -2
  40. package/front_end/core/sdk/ServerTiming.ts +7 -7
  41. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +1 -1
  42. package/front_end/core/sdk/ServiceWorkerManager.ts +11 -11
  43. package/front_end/core/sdk/SourceMapScopeChainEntry.ts +2 -2
  44. package/front_end/core/sdk/SourceMapScopesInfo.ts +1 -1
  45. package/front_end/core/sdk/StorageKeyManager.ts +1 -1
  46. package/front_end/core/sdk/sdk-meta.ts +98 -98
  47. package/front_end/devtools_compatibility.js +15 -13
  48. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +4 -8
  49. package/front_end/entrypoints/main/MainImpl.ts +2 -3
  50. package/front_end/entrypoints/main/main-meta.ts +1 -16
  51. package/front_end/entrypoints/shell/shell.ts +1 -0
  52. package/front_end/entrypoints/trace_app/trace_app.ts +1 -0
  53. package/front_end/foundation/README.md +1 -1
  54. package/front_end/foundation/Universe.test.api.ts +73 -0
  55. package/front_end/foundation/Universe.ts +22 -0
  56. package/front_end/generated/InspectorBackendCommands.ts +2 -2
  57. package/front_end/generated/SupportedCSSProperties.js +1 -1
  58. package/front_end/generated/protocol.ts +19 -0
  59. package/front_end/models/ai_assistance/AiAgent2.ts +1 -1
  60. package/front_end/models/ai_assistance/AiConversation.ts +1 -1
  61. package/front_end/models/ai_assistance/BuiltInAi.ts +1 -1
  62. package/front_end/models/ai_assistance/ChangeManager.ts +0 -70
  63. package/front_end/models/ai_assistance/ExtensionScope.ts +2 -36
  64. package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +9 -9
  65. package/front_end/models/ai_assistance/agents/AiAgent.ts +10 -2
  66. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +4 -4
  67. package/front_end/models/ai_assistance/agents/ExecuteJavascript.ts +1 -1
  68. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +21 -21
  69. package/front_end/models/ai_assistance/agents/StorageAgent.ts +4 -4
  70. package/front_end/models/ai_assistance/agents/StylingAgent.ts +1 -1
  71. package/front_end/models/ai_assistance/ai_assistance.ts +0 -5
  72. package/front_end/models/ai_assistance/data_formatters/FileFormatter.ts +11 -4
  73. package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +8 -2
  74. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.ts +14 -11
  75. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +2 -2
  76. package/front_end/models/ai_assistance/performance/AICallTree.ts +2 -2
  77. package/front_end/models/ai_assistance/tools/ExecuteJavaScript.ts +1 -1
  78. package/front_end/models/ai_assistance/tools/GetNetworkRequestDetails.ts +9 -2
  79. package/front_end/models/ai_assistance/tools/GetStyles.ts +4 -4
  80. package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +2 -5
  81. package/front_end/models/ai_code_completion/AiCodeCompletion.ts +2 -2
  82. package/front_end/models/ai_code_generation/AiCodeGeneration.ts +2 -2
  83. package/front_end/models/badges/badges-meta.ts +27 -0
  84. package/front_end/models/bindings/CSSWorkspaceBinding.ts +4 -3
  85. package/front_end/models/bindings/ContentProviderBasedProject.ts +1 -1
  86. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +6 -7
  87. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +5 -4
  88. package/front_end/models/bindings/PresentationConsoleMessageHelper.ts +72 -29
  89. package/front_end/models/bindings/ResourceMapping.ts +38 -32
  90. package/front_end/models/bindings/ResourceScriptMapping.ts +5 -7
  91. package/front_end/models/breakpoints/BreakpointManager.ts +2 -1
  92. package/front_end/models/har/Writer.ts +2 -2
  93. package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +1 -1
  94. package/front_end/models/issues_manager/GenericIssue.ts +1 -1
  95. package/front_end/models/issues_manager/IssuesManager.ts +14 -5
  96. package/front_end/models/issues_manager/PartitioningBlobURLIssue.ts +1 -1
  97. package/front_end/models/issues_manager/SRIMessageSignatureIssue.ts +2 -2
  98. package/front_end/models/issues_manager/SourceFrameIssuesManager.ts +13 -2
  99. package/front_end/models/issues_manager/issues_manager.ts +0 -2
  100. package/front_end/models/live-metrics/LiveMetrics.ts +22 -5
  101. package/front_end/models/live-metrics/web-vitals-injected/rollup.config.mjs +1 -1
  102. package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +10 -4
  103. package/front_end/models/logs/logs-meta.ts +23 -16
  104. package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +2 -2
  105. package/front_end/models/persistence/IsolatedFileSystem.ts +1 -1
  106. package/front_end/models/persistence/IsolatedFileSystemManager.ts +1 -1
  107. package/front_end/models/source_map_scopes/NamesResolver.ts +104 -86
  108. package/front_end/models/source_map_scopes/ScopeChainModel.ts +6 -2
  109. package/front_end/models/stack_trace/StackTraceModel.ts +1 -1
  110. package/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts +1 -1
  111. package/front_end/models/trace/handlers/UserTimingsHandler.ts +17 -6
  112. package/front_end/models/trace/helpers/SamplesIntegrator.ts +1 -1
  113. package/front_end/models/trace/helpers/Timing.ts +1 -1
  114. package/front_end/models/trace/insights/Common.ts +1 -1
  115. package/front_end/models/trace/insights/DocumentLatency.ts +3 -3
  116. package/front_end/models/trace/insights/LCPDiscovery.ts +1 -1
  117. package/front_end/models/trace/insights/ModernHTTP.ts +1 -1
  118. package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +2 -2
  119. package/front_end/models/workspace_diff/WorkspaceDiff.ts +14 -9
  120. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +2 -15
  121. package/front_end/panels/ai_assistance/ai_assistance.ts +1 -2
  122. package/front_end/panels/ai_assistance/components/ChatInput.ts +23 -19
  123. package/front_end/panels/ai_assistance/components/ChatMessage.ts +9 -18
  124. package/front_end/panels/ai_assistance/components/ChatView.ts +2 -35
  125. package/front_end/panels/ai_assistance/components/DisabledWidget.ts +1 -1
  126. package/front_end/panels/ai_assistance/components/ExploreWidget.ts +4 -4
  127. package/front_end/panels/ai_assistance/components/ImageResize.ts +74 -0
  128. package/front_end/panels/ai_assistance/components/WalkthroughView.ts +2 -2
  129. package/front_end/panels/animation/AnimationGroupPreviewUI.ts +28 -29
  130. package/front_end/panels/animation/AnimationTimeline.ts +3 -3
  131. package/front_end/panels/animation/animationTimeline.css +0 -2
  132. package/front_end/panels/application/AppManifestView.ts +1 -1
  133. package/front_end/panels/application/ApplicationPanelSidebar.ts +1 -1
  134. package/front_end/panels/application/CookieItemsView.ts +1 -1
  135. package/front_end/panels/application/CrashReportContextView.ts +3 -3
  136. package/front_end/panels/application/DeviceBoundSessionsModel.ts +1 -1
  137. package/front_end/panels/application/DeviceBoundSessionsTreeElement.ts +1 -1
  138. package/front_end/panels/application/DeviceBoundSessionsView.ts +1 -1
  139. package/front_end/panels/application/IndexedDBViews.ts +1 -1
  140. package/front_end/panels/application/KeyValueStorageItemsView.ts +1 -1
  141. package/front_end/panels/application/OriginTrialTreeView.ts +1 -1
  142. package/front_end/panels/application/ServiceWorkersView.ts +6 -6
  143. package/front_end/panels/application/StorageBucketsTreeElement.ts +1 -1
  144. package/front_end/panels/application/StorageItemsToolbar.ts +3 -3
  145. package/front_end/panels/application/WebMCPView.ts +7 -5
  146. package/front_end/panels/application/components/AdsView.ts +21 -6
  147. package/front_end/panels/application/components/BackForwardCacheView.ts +2 -2
  148. package/front_end/panels/application/components/ProtocolHandlersView.ts +1 -1
  149. package/front_end/panels/application/components/StorageMetadataView.ts +1 -1
  150. package/front_end/panels/application/preloading/components/MismatchedPreloadingGrid.ts +2 -2
  151. package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +2 -1
  152. package/front_end/panels/application/preloading/components/PreloadingString.ts +3 -3
  153. package/front_end/panels/application/preloading/components/UsedPreloadingView.ts +2 -1
  154. package/front_end/panels/autofill/AutofillView.ts +1 -1
  155. package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +1 -1
  156. package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +2 -2
  157. package/front_end/panels/changes/ChangesSidebar.ts +2 -2
  158. package/front_end/panels/changes/ChangesView.ts +4 -5
  159. package/front_end/panels/changes/CombinedDiffView.ts +3 -3
  160. package/front_end/panels/changes/changes-meta.ts +2 -2
  161. package/front_end/panels/common/AiCodeCompletionTeaser.ts +1 -1
  162. package/front_end/panels/common/AiCodeGenerationTeaser.ts +3 -3
  163. package/front_end/panels/common/BadgeNotification.ts +8 -8
  164. package/front_end/panels/common/DOMLinkifier.ts +1 -1
  165. package/front_end/panels/common/GdpSignUpDialog.ts +2 -2
  166. package/front_end/panels/common/GeminiRebrandPromoDialog.ts +1 -1
  167. package/front_end/panels/common/aiCodeCompletionDisclaimer.css +0 -1
  168. package/front_end/panels/console/ConsoleInsightTeaser.ts +1 -1
  169. package/front_end/panels/console/ConsolePinPane.ts +3 -3
  170. package/front_end/panels/console/ConsolePrompt.ts +6 -4
  171. package/front_end/panels/console/ConsoleSidebar.ts +8 -10
  172. package/front_end/panels/console_counters/WarningErrorCounter.ts +10 -11
  173. package/front_end/panels/coverage/CoverageView.ts +2 -2
  174. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +3 -3
  175. package/front_end/panels/css_overview/CSSOverviewSidebarPanel.ts +1 -1
  176. package/front_end/panels/developer_resources/DeveloperResourcesView.ts +1 -1
  177. package/front_end/panels/elements/CSSRuleValidator.ts +1 -1
  178. package/front_end/panels/elements/ComputedStyleWidget.ts +3 -2
  179. package/front_end/panels/elements/ElementsTreeElement.ts +3 -3
  180. package/front_end/panels/elements/EventListenersWidget.ts +1 -3
  181. package/front_end/panels/elements/LayoutPane.ts +23 -13
  182. package/front_end/panels/elements/StandaloneStylesContainer.ts +7 -7
  183. package/front_end/panels/elements/StylePropertiesSection.ts +33 -5
  184. package/front_end/panels/elements/StylePropertyTreeElement.ts +5 -5
  185. package/front_end/panels/elements/StylesAiCodeCompletionProvider.ts +6 -6
  186. package/front_end/panels/elements/StylesSidebarPane.ts +4 -3
  187. package/front_end/panels/elements/elements-meta.ts +18 -2
  188. package/front_end/panels/emulation/DeviceModeToolbar.ts +100 -40
  189. package/front_end/panels/emulation/DeviceModeView.ts +5 -4
  190. package/front_end/panels/emulation/MediaQueryInspector.ts +35 -19
  191. package/front_end/panels/event_listeners/EventListenersView.ts +4 -4
  192. package/front_end/panels/explain/components/ConsoleInsight.ts +8 -9
  193. package/front_end/panels/explain/explain-meta.ts +3 -3
  194. package/front_end/panels/layer_viewer/LayerTreeOutline.ts +135 -167
  195. package/front_end/panels/layer_viewer/Layers3DView.ts +10 -23
  196. package/front_end/panels/layer_viewer/layer_viewer-meta.ts +27 -0
  197. package/front_end/panels/lighthouse/LighthouseController.ts +44 -55
  198. package/front_end/panels/lighthouse/LighthousePanel.ts +9 -9
  199. package/front_end/panels/lighthouse/LighthouseReportSelector.ts +2 -2
  200. package/front_end/panels/lighthouse/LighthouseStartView.ts +9 -12
  201. package/front_end/panels/lighthouse/LighthouseStatusView.ts +33 -33
  202. package/front_end/panels/lighthouse/RadioSetting.ts +1 -1
  203. package/front_end/panels/lighthouse/lighthouse-meta.ts +131 -1
  204. package/front_end/panels/media/EventDisplayTable.ts +67 -94
  205. package/front_end/panels/media/PlayerListView.ts +1 -1
  206. package/front_end/panels/media/eventDisplayTable.css +9 -4
  207. package/front_end/panels/mobile_throttling/NetworkThrottlingSelector.ts +5 -5
  208. package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +1 -1
  209. package/front_end/panels/network/EventSourceMessagesView.ts +98 -107
  210. package/front_end/panels/network/NetworkLogViewColumns.ts +1 -1
  211. package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -1
  212. package/front_end/panels/network/RequestConditionsDrawer.ts +2 -2
  213. package/front_end/panels/network/RequestCookiesView.ts +2 -2
  214. package/front_end/panels/network/RequestHeadersView.ts +5 -5
  215. package/front_end/panels/network/RequestPayloadView.ts +4 -4
  216. package/front_end/panels/network/RequestTimingView.ts +2 -2
  217. package/front_end/panels/network/components/DirectSocketConnectionView.ts +1 -1
  218. package/front_end/panels/network/eventSourceMessagesView.css +12 -3
  219. package/front_end/panels/network/networkTimingTable.css +2 -2
  220. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +1 -1
  221. package/front_end/panels/profiler/BottomUpProfileDataGrid.ts +25 -29
  222. package/front_end/panels/profiler/HeapProfileView.ts +308 -247
  223. package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +13 -3
  224. package/front_end/panels/profiler/HeapSnapshotView.ts +30 -10
  225. package/front_end/panels/profiler/HeapTimelineOverview.ts +5 -2
  226. package/front_end/panels/profiler/ProfileDataGrid.ts +128 -157
  227. package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +17 -5
  228. package/front_end/panels/profiler/ProfilesPanel.ts +2 -2
  229. package/front_end/panels/profiler/TopDownProfileDataGrid.ts +17 -21
  230. package/front_end/panels/profiler/profilesPanel.css +9 -13
  231. package/front_end/panels/protocol_monitor/ProtocolMonitor.ts +2 -2
  232. package/front_end/panels/recorder/CreateRecordingView.ts +4 -4
  233. package/front_end/panels/recorder/RecorderPanel.ts +6 -6
  234. package/front_end/panels/recorder/RecordingView.ts +1 -1
  235. package/front_end/panels/recorder/ReplaySection.ts +1 -1
  236. package/front_end/panels/recorder/StepView.ts +1 -1
  237. package/front_end/panels/recorder/injected/rollup.config.mjs +1 -1
  238. package/front_end/panels/search/SearchView.ts +1 -1
  239. package/front_end/panels/security/SecurityPanel.ts +54 -41
  240. package/front_end/panels/sensors/LocationsSettingsTab.ts +246 -233
  241. package/front_end/panels/sensors/SensorsView.ts +1 -1
  242. package/front_end/panels/settings/AISettingsTab.ts +11 -10
  243. package/front_end/panels/settings/SettingsScreen.ts +29 -24
  244. package/front_end/panels/settings/emulation/components/UserAgentClientHintsForm.ts +2 -2
  245. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +5 -5
  246. package/front_end/panels/sources/BreakpointEditDialog.ts +2 -2
  247. package/front_end/panels/sources/BreakpointsView.ts +1 -1
  248. package/front_end/panels/sources/CallStackSidebarPane.ts +2 -2
  249. package/front_end/panels/sources/DebuggerPausedMessage.ts +2 -2
  250. package/front_end/panels/sources/DebuggerPlugin.ts +25 -22
  251. package/front_end/panels/sources/ScopeChainSidebarPane.ts +3 -1
  252. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +7 -5
  253. package/front_end/panels/sources/sources-meta.ts +1 -1
  254. package/front_end/panels/timeline/CountersGraph.ts +1 -2
  255. package/front_end/panels/timeline/ExtensionTrackAppender.ts +1 -1
  256. package/front_end/panels/timeline/TimelineDetailsView.ts +2 -2
  257. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +2 -2
  258. package/front_end/panels/timeline/TimelineFlameChartView.ts +4 -4
  259. package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
  260. package/front_end/panels/timeline/TimelinePanel.ts +53 -81
  261. package/front_end/panels/timeline/TimelineSelectorStatsView.ts +10 -3
  262. package/front_end/panels/timeline/TimelineUIUtils.ts +18 -4
  263. package/front_end/panels/timeline/TrackConfigBanner.ts +1 -1
  264. package/front_end/panels/timeline/components/ExportTraceOptions.ts +1 -1
  265. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +8 -9
  266. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +1 -1
  267. package/front_end/panels/timeline/components/TimelineRangeSummaryView.ts +1 -1
  268. package/front_end/panels/timeline/components/insights/DuplicatedJavaScript.ts +2 -2
  269. package/front_end/panels/timeline/components/insights/LCPBreakdown.ts +1 -1
  270. package/front_end/panels/timeline/components/insights/LegacyJavaScript.ts +1 -1
  271. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +2 -2
  272. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +5 -0
  273. package/front_end/panels/timeline/overlays/components/TimespanBreakdownOverlay.ts +13 -8
  274. package/front_end/panels/timeline/overlays/components/timespanBreakdownOverlay.css +1 -0
  275. package/front_end/panels/timeline/timeline-meta.ts +169 -0
  276. package/front_end/panels/timeline/timelineFlameChartView.css +5 -0
  277. package/front_end/panels/webauthn/WebauthnPane.ts +1 -1
  278. package/front_end/panels/whats_new/ReleaseNoteText.ts +9 -9
  279. package/front_end/panels/whats_new/resources/WNDT.md +7 -8
  280. package/front_end/third_party/chromium/README.chromium +1 -1
  281. package/front_end/third_party/web-vitals/README.chromium +2 -2
  282. package/front_end/third_party/web-vitals/package/README.md +120 -19
  283. package/front_end/third_party/web-vitals/package/attribution.d.ts +16 -0
  284. package/front_end/third_party/web-vitals/package/attribution.js +18 -0
  285. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onCLS.d.ts +1 -1
  286. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFCP.d.ts +1 -7
  287. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onFCP.js +53 -32
  288. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.d.ts +2 -2
  289. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.js +43 -12
  290. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.d.ts +1 -1
  291. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.js +21 -3
  292. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onTTFB.d.ts +1 -1
  293. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onTTFB.js +30 -24
  294. package/front_end/third_party/web-vitals/package/dist/modules/lib/FCPEntryManager.d.ts +3 -0
  295. package/front_end/third_party/web-vitals/package/dist/modules/lib/FCPEntryManager.js +18 -0
  296. package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.d.ts +2 -1
  297. package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.js +18 -2
  298. package/front_end/third_party/web-vitals/package/dist/modules/lib/LCPEntryManager.d.ts +1 -0
  299. package/front_end/third_party/web-vitals/package/dist/modules/lib/LCPEntryManager.js +1 -0
  300. package/front_end/third_party/web-vitals/package/dist/modules/lib/bindReporter.d.ts +1 -1
  301. package/front_end/third_party/web-vitals/package/dist/modules/lib/generateUniqueID.js +1 -1
  302. package/front_end/third_party/web-vitals/package/dist/modules/lib/getLoadState.d.ts +1 -1
  303. package/front_end/third_party/web-vitals/package/dist/modules/lib/getLoadState.js +7 -7
  304. package/front_end/third_party/web-vitals/package/dist/modules/lib/getSelector.js +1 -1
  305. package/front_end/third_party/web-vitals/package/dist/modules/lib/getVisibilityWatcher.d.ts +1 -1
  306. package/front_end/third_party/web-vitals/package/dist/modules/lib/getVisibilityWatcher.js +4 -1
  307. package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.d.ts +7 -3
  308. package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.js +20 -11
  309. package/front_end/third_party/web-vitals/package/dist/modules/lib/initUnique.js +8 -3
  310. package/front_end/third_party/web-vitals/package/dist/modules/lib/observe.d.ts +3 -1
  311. package/front_end/third_party/web-vitals/package/dist/modules/lib/observe.js +19 -4
  312. package/front_end/third_party/web-vitals/package/dist/modules/lib/polyfills/interactionCountPolyfill.js +1 -1
  313. package/front_end/third_party/web-vitals/package/dist/modules/lib/softNavs.d.ts +3 -0
  314. package/front_end/third_party/web-vitals/package/dist/modules/lib/softNavs.js +38 -0
  315. package/front_end/third_party/web-vitals/package/dist/modules/lib/whenIdleOrHidden.js +5 -1
  316. package/front_end/third_party/web-vitals/package/dist/modules/onCLS.d.ts +1 -1
  317. package/front_end/third_party/web-vitals/package/dist/modules/onCLS.js +30 -11
  318. package/front_end/third_party/web-vitals/package/dist/modules/onFCP.d.ts +1 -1
  319. package/front_end/third_party/web-vitals/package/dist/modules/onFCP.js +36 -4
  320. package/front_end/third_party/web-vitals/package/dist/modules/onINP.d.ts +1 -1
  321. package/front_end/third_party/web-vitals/package/dist/modules/onINP.js +42 -22
  322. package/front_end/third_party/web-vitals/package/dist/modules/onLCP.d.ts +1 -1
  323. package/front_end/third_party/web-vitals/package/dist/modules/onLCP.js +109 -30
  324. package/front_end/third_party/web-vitals/package/dist/modules/onTTFB.d.ts +1 -1
  325. package/front_end/third_party/web-vitals/package/dist/modules/onTTFB.js +25 -7
  326. package/front_end/third_party/web-vitals/package/dist/modules/types/base.d.ts +24 -1
  327. package/front_end/third_party/web-vitals/package/dist/modules/types/fcp.d.ts +1 -1
  328. package/front_end/third_party/web-vitals/package/dist/modules/types/inp.d.ts +14 -6
  329. package/front_end/third_party/web-vitals/package/dist/modules/types/lcp.d.ts +1 -1
  330. package/front_end/third_party/web-vitals/package/dist/modules/types/ttfb.d.ts +2 -2
  331. package/front_end/third_party/web-vitals/package/dist/modules/types.d.ts +26 -4
  332. package/front_end/third_party/web-vitals/package/package.json +21 -22
  333. package/front_end/third_party/web-vitals/package/src/attribution/onCLS.ts +1 -1
  334. package/front_end/third_party/web-vitals/package/src/attribution/onFCP.ts +62 -39
  335. package/front_end/third_party/web-vitals/package/src/attribution/onINP.ts +52 -15
  336. package/front_end/third_party/web-vitals/package/src/attribution/onLCP.ts +25 -7
  337. package/front_end/third_party/web-vitals/package/src/attribution/onTTFB.ts +43 -37
  338. package/front_end/third_party/web-vitals/package/src/lib/{polyfills/getFirstHiddenTimePolyfill.ts → FCPEntryManager.ts} +4 -14
  339. package/front_end/third_party/web-vitals/package/src/lib/InteractionManager.ts +22 -2
  340. package/front_end/third_party/web-vitals/package/src/lib/LCPEntryManager.ts +1 -0
  341. package/front_end/third_party/web-vitals/package/src/lib/bindReporter.ts +1 -1
  342. package/front_end/third_party/web-vitals/package/src/lib/generateUniqueID.ts +1 -1
  343. package/front_end/third_party/web-vitals/package/src/lib/getLoadState.ts +11 -12
  344. package/front_end/third_party/web-vitals/package/src/lib/getSelector.ts +1 -1
  345. package/front_end/third_party/web-vitals/package/src/lib/getVisibilityWatcher.ts +4 -1
  346. package/front_end/third_party/web-vitals/package/src/lib/initMetric.ts +24 -11
  347. package/front_end/third_party/web-vitals/package/src/lib/initUnique.ts +12 -4
  348. package/front_end/third_party/web-vitals/package/src/lib/observe.ts +26 -5
  349. package/front_end/third_party/web-vitals/package/src/lib/polyfills/interactionCountPolyfill.ts +1 -1
  350. package/front_end/third_party/web-vitals/package/src/lib/softNavs.ts +48 -0
  351. package/front_end/third_party/web-vitals/package/src/lib/whenIdleOrHidden.ts +12 -4
  352. package/front_end/third_party/web-vitals/package/src/onCLS.ts +75 -18
  353. package/front_end/third_party/web-vitals/package/src/onFCP.ts +66 -7
  354. package/front_end/third_party/web-vitals/package/src/onINP.ts +100 -39
  355. package/front_end/third_party/web-vitals/package/src/onLCP.ts +169 -34
  356. package/front_end/third_party/web-vitals/package/src/onTTFB.ts +50 -13
  357. package/front_end/third_party/web-vitals/package/src/types/base.ts +31 -10
  358. package/front_end/third_party/web-vitals/package/src/types/fcp.ts +1 -1
  359. package/front_end/third_party/web-vitals/package/src/types/inp.ts +14 -6
  360. package/front_end/third_party/web-vitals/package/src/types/lcp.ts +1 -1
  361. package/front_end/third_party/web-vitals/package/src/types/ttfb.ts +2 -2
  362. package/front_end/third_party/web-vitals/package/src/types.ts +32 -9
  363. package/front_end/third_party/web-vitals/patches/0001-Add-onEachInteraction-to-onINP-options.patch +11 -11
  364. package/front_end/third_party/web-vitals/rebuild.sh +2 -2
  365. package/front_end/third_party/web-vitals/web-vitals-tsconfig.json +2 -0
  366. package/front_end/ui/components/buttons/Button.ts +16 -0
  367. package/front_end/ui/components/dialogs/Dialog.ts +1 -1
  368. package/front_end/ui/components/highlighting/HighlightManager.ts +6 -1
  369. package/front_end/ui/components/highlighting/highlighting.ts +1 -1
  370. package/front_end/ui/components/icon_button/FileSourceIcon.ts +1 -1
  371. package/front_end/ui/components/linkifier/LinkifierImpl.ts +1 -1
  372. package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +2 -2
  373. package/front_end/ui/components/settings/SettingCheckbox.ts +12 -7
  374. package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +2 -2
  375. package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +6 -6
  376. package/front_end/ui/components/text_editor/javascript.ts +3 -1
  377. package/front_end/ui/components/tooltips/Tooltip.ts +1 -1
  378. package/front_end/ui/legacy/ContextMenu.ts +12 -2
  379. package/front_end/ui/legacy/ListControl.ts +1 -1
  380. package/front_end/ui/legacy/SelectMenu.docs.ts +17 -19
  381. package/front_end/ui/legacy/Toolbar.ts +4 -1
  382. package/front_end/ui/legacy/Treeoutline.ts +1 -1
  383. package/front_end/ui/legacy/components/color_picker/spectrum.css +1 -2
  384. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +1 -1
  385. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +50 -4
  386. package/front_end/ui/legacy/components/object_ui/JavaScriptREPL.ts +3 -1
  387. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +4 -4
  388. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +8 -7
  389. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +14 -11
  390. package/front_end/ui/legacy/components/quick_open/QuickOpen.ts +1 -1
  391. package/front_end/ui/legacy/components/settings_ui/SettingsUI.ts +15 -5
  392. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +4 -4
  393. package/front_end/ui/legacy/components/utils/Linkifier.ts +5 -1
  394. package/front_end/ui/lit/render.ts +1 -1
  395. package/front_end/ui/settings/SettingUIRegistration.ts +8 -3
  396. package/front_end/ui/visual_logging/KnownContextValues.ts +8 -0
  397. package/front_end/ui/visual_logging/LoggingEvents.ts +1 -1
  398. package/inspector_overlay/main.ts +1 -1
  399. package/mcp/mcp.ts +5 -4
  400. package/package.json +13 -13
  401. package/front_end/models/ai_assistance/AgentProject.ts +0 -261
  402. package/front_end/models/ai_assistance/agents/PatchAgent.ts +0 -306
  403. package/front_end/models/issues_manager/CheckFormsIssuesTrigger.ts +0 -45
  404. package/front_end/models/text_utils/text_utils.ts +0 -5
  405. package/front_end/panels/ai_assistance/PatchWidget.ts +0 -867
  406. package/front_end/panels/ai_assistance/SelectWorkspaceDialog.ts +0 -368
  407. package/front_end/panels/ai_assistance/selectWorkspaceDialog.css +0 -92
@@ -16,80 +16,80 @@ import type {LighthouseRun as LighthouseRunType, ProtocolService} from './Lighth
16
16
 
17
17
  const UIStrings = {
18
18
  /**
19
- * @description Explanation for user that Ligthhouse can only audit HTTP/HTTPS pages
19
+ * @description Explanation for user that Lighthouse can only audit HTTP/HTTPS pages.
20
20
  */
21
21
  canOnlyAuditHttphttpsPages: 'Can only audit pages on HTTP or HTTPS. Navigate to a different page.',
22
22
  /**
23
- * @description Text when stored data in one location may affect Lighthouse run
23
+ * @description Text when stored data in one location may affect Lighthouse run.
24
24
  * @example {IndexedDB} PH1
25
25
  */
26
26
  thereMayBeStoredDataAffectingSingular:
27
- 'There may be stored data affecting loading performance in this location: {PH1}. Audit this page in an incognito window to prevent those resources from affecting your scores.',
27
+ 'There may be stored data affecting loading performance in this location: {PH1}. Audit this page in an incognito window to stop those resources from affecting your scores.',
28
28
  /**
29
- * @description Text when stored data in multiple locations may affect Lighthouse run
29
+ * @description Text when stored data in multiple locations may affect Lighthouse run.
30
30
  * @example {IndexedDB, WebSQL} PH1
31
31
  */
32
32
  thereMayBeStoredDataAffectingLoadingPlural:
33
- 'There may be stored data affecting loading performance in these locations: {PH1}. Audit this page in an incognito window to prevent those resources from affecting your scores.',
33
+ 'There may be stored data affecting loading performance in these locations: {PH1}. Audit this page in an incognito window to stop those resources from affecting your scores.',
34
34
  /**
35
- * @description Help text in Lighthouse Controller
35
+ * @description Help text in the Lighthouse panel.
36
36
  */
37
37
  multipleTabsAreBeingControlledBy:
38
38
  'Multiple tabs are being controlled by the same `service worker`. Close your other tabs on the same origin to audit this page.',
39
39
  /**
40
- * @description Help text in Lighthouse Controller
40
+ * @description Help text in the Lighthouse panel.
41
41
  */
42
42
  atLeastOneCategoryMustBeSelected: 'At least one category must be selected.',
43
43
  /**
44
- * @description Text in Application Panel Sidebar of the Application panel
44
+ * @description Text in sidebar of the Application panel.
45
45
  */
46
46
  localStorage: 'Local storage',
47
47
  /**
48
- * @description Text in Application Panel Sidebar of the Application panel
48
+ * @description Text in sidebar of the Application panel.
49
49
  */
50
50
  indexeddb: 'IndexedDB',
51
51
  /**
52
- * @description Text in Application Panel Sidebar of the Application panel
52
+ * @description Text in sidebar of the Application panel.
53
53
  */
54
54
  webSql: 'Web SQL',
55
55
  /**
56
- * @description Text of checkbox to include running the performance audits in Lighthouse
56
+ * @description Text of checkbox to include running the performance audits in Lighthouse.
57
57
  */
58
58
  performance: 'Performance',
59
59
  /**
60
- * @description Tooltip text of checkbox to include running the performance audits in Lighthouse
60
+ * @description Tooltip text of checkbox to include running the performance audits in Lighthouse.
61
61
  */
62
62
  howLongDoesThisAppTakeToShow: 'How long does this app take to show content and become usable',
63
63
  /**
64
- * @description Text of checkbox to include running the Best Practices audits in Lighthouse
64
+ * @description Text of checkbox to include running the Best Practices audits in Lighthouse.
65
65
  */
66
66
  bestPractices: 'Best practices',
67
67
  /**
68
- * @description Tooltip text of checkbox to include running the Best Practices audits in Lighthouse
68
+ * @description Tooltip text of checkbox to include running the Best Practices audits in Lighthouse.
69
69
  */
70
70
  doesThisPageFollowBestPractices: 'Does this page follow best practices for modern web development',
71
71
  /**
72
- * @description Text of checkbox to include running the Accessibility audits in Lighthouse
72
+ * @description Text of checkbox to include running the Accessibility audits in Lighthouse.
73
73
  */
74
74
  accessibility: 'Accessibility',
75
75
  /**
76
- * @description Tooltip text of checkbox to include running the Accessibility audits in Lighthouse
76
+ * @description Tooltip text of checkbox to include running the Accessibility audits in Lighthouse.
77
77
  */
78
78
  isThisPageUsableByPeopleWith: 'Is this page usable by people with disabilities or impairments',
79
79
  /**
80
- * @description Text of checkbox to include running the Search Engine Optimization audits in Lighthouse
80
+ * @description Text of checkbox to include running the Search Engine Optimization audits in Lighthouse.
81
81
  */
82
82
  seo: 'SEO',
83
83
  /**
84
- * @description Tooltip text of checkbox to include running the Search Engine Optimization audits in Lighthouse
84
+ * @description Tooltip text of checkbox to include running the Search Engine Optimization audits in Lighthouse.
85
85
  */
86
86
  isThisPageOptimizedForSearch: 'Is this page optimized for search engine results ranking',
87
87
  /**
88
- * @description Text of checkbox to include running the Agentic Browsing audits in Lighthouse
88
+ * @description Text of checkbox to include running the Agentic Browsing audits in Lighthouse.
89
89
  */
90
90
  agenticBrowsing: 'Agentic browsing',
91
91
  /**
92
- * @description Tooltip text of checkbox to include running the Agentic Browsing audits in Lighthouse
92
+ * @description Tooltip text of checkbox to include running the Agentic Browsing audits in Lighthouse.
93
93
  */
94
94
  agenticBrowsingDescription:
95
95
  'These checks ensure high-quality, browsable websites for AI agents and validate the correctness of WebMCP integrations. This category is still under development and subject to change.',
@@ -98,11 +98,11 @@ const UIStrings = {
98
98
  */
99
99
  applyMobileEmulation: 'Apply mobile emulation',
100
100
  /**
101
- * @description Tooltip text of checkbox to emulate mobile device behavior when running audits in Lighthouse
101
+ * @description Tooltip text of checkbox to emulate mobile device behavior when running audits in Lighthouse.
102
102
  */
103
103
  applyMobileEmulationDuring: 'Apply mobile emulation during auditing',
104
104
  /**
105
- * @description Tooltip text of checkbox to emulate desktop device behavior when running audits in Lighthouse
105
+ * @description Tooltip text of checkbox to emulate desktop device behavior when running audits in Lighthouse.
106
106
  */
107
107
  applyDesktopEmulationDuring: 'Apply desktop emulation during auditing',
108
108
  /**
@@ -116,7 +116,7 @@ const UIStrings = {
116
116
  /**
117
117
  * @description Label of a radio option for a Lighthouse mode that audits a page navigation. This should be marked as the default radio option.
118
118
  */
119
- navigation: 'Navigation (Default)',
119
+ navigation: 'Navigation (default)',
120
120
  /**
121
121
  * @description Tooltip description of a radio option for a Lighthouse mode that audits a page navigation.
122
122
  */
@@ -138,11 +138,11 @@ const UIStrings = {
138
138
  */
139
139
  snapshotTooltip: 'Snapshot mode analyzes the page in a particular state, typically after user interactions.',
140
140
  /**
141
- * @description Text for the mobile platform, as opposed to desktop
141
+ * @description Text for the mobile platform, as opposed to desktop.
142
142
  */
143
143
  mobile: 'Mobile',
144
144
  /**
145
- * @description Text for the desktop platform, as opposed to mobile
145
+ * @description Text for the desktop platform, as opposed to mobile.
146
146
  */
147
147
  desktop: 'Desktop',
148
148
  /**
@@ -158,12 +158,12 @@ const UIStrings = {
158
158
  */
159
159
  devtoolsThrottling: 'DevTools throttling (advanced)',
160
160
  /**
161
- * @description Tooltip text that appears when hovering over the 'Simulated Throttling' checkbox in the settings pane opened by clicking the setting cog in the start view of the audits panel
161
+ * @description Tooltip text that appears when hovering over the 'Simulated Throttling' checkbox in the settings toolbar of the Lighthouse panel.
162
162
  */
163
163
  simulateASlowerPageLoadBasedOn:
164
164
  'Simulated throttling simulates a slower page load based on data from an initial unthrottled load. DevTools throttling actually slows down the page.',
165
165
  /**
166
- * @description Text of checkbox to reset storage features prior to running audits in Lighthouse
166
+ * @description Text of checkbox to reset storage features prior to running audits in Lighthouse.
167
167
  */
168
168
  clearStorage: 'Clear storage',
169
169
  /**
@@ -173,20 +173,19 @@ const UIStrings = {
173
173
  resetStorageLocalstorage:
174
174
  'Reset storage (`cache`, `service workers`, etc) before auditing. (Good for performance & `PWA` testing)',
175
175
  /**
176
- * @description Text of checkbox to enable JavaScript sampling while running audits in Lighthouse
176
+ * @description Text of checkbox to enable JavaScript sampling while running audits in Lighthouse.
177
177
  */
178
178
  enableSampling: 'Enable JS sampling',
179
179
  /**
180
- * @description Tooltip text of checkbox to enable JavaScript sampling while running audits in
181
- * Lighthouse. Resetting the storage clears/empties it to a neutral state.
180
+ * @description Tooltip text of checkbox to enable JavaScript sampling while running audits in Lighthouse.
182
181
  */
183
182
  enableJavaScriptSampling:
184
- 'Enable JavaScript sampling during the Lighthouse run. This will provide more execution details in the performance panel when you view the trace, but has higher CPU overhead and may impact the performance of the page.',
183
+ 'Enable JavaScript sampling during the Lighthouse run. This will provide more execution details in the Performance panel when you view the trace, but has higher CPU overhead and may impact the performance of the page.',
185
184
  /**
186
- * @description Explanation for user that Lighthouse can only audit when JavaScript is enabled
185
+ * @description Explanation for user that Lighthouse can only audit when JavaScript is enabled.
187
186
  */
188
187
  javaScriptDisabled:
189
- 'JavaScript is disabled. You need to enable JavaScript to audit this page. Open the Command Menu and run the Enable JavaScript command to enable JavaScript.',
188
+ 'JavaScript is disabled. You need to enable JavaScript to audit this page. Open the command menu and run the Enable JavaScript command to enable JavaScript.',
190
189
  } as const;
191
190
  const str_ = i18n.i18n.registerUIStrings('panels/lighthouse/LighthouseController.ts', UIStrings);
192
191
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
@@ -723,8 +722,7 @@ export function getPresets(): LighthouseModel.RunTypes.Preset[] {
723
722
  presets = [
724
723
  // configID maps to Lighthouse's Object.keys(config.categories)[0] value
725
724
  {
726
- setting: Common.Settings.Settings.instance().createSetting(
727
- 'lighthouse.cat-perf', true, Common.Settings.SettingStorageType.SYNCED),
725
+ setting: Common.Settings.Settings.instance().moduleSetting('lighthouse.cat-perf'),
728
726
  configID: 'performance',
729
727
  title: i18nLazyString(UIStrings.performance),
730
728
  description: i18nLazyString(UIStrings.howLongDoesThisAppTakeToShow),
@@ -732,8 +730,7 @@ export function getPresets(): LighthouseModel.RunTypes.Preset[] {
732
730
  userMetric: Host.UserMetrics.LighthouseCategoryUsed.PERFORMANCE,
733
731
  },
734
732
  {
735
- setting: Common.Settings.Settings.instance().createSetting(
736
- 'lighthouse.cat-a11y', true, Common.Settings.SettingStorageType.SYNCED),
733
+ setting: Common.Settings.Settings.instance().moduleSetting('lighthouse.cat-a11y'),
737
734
  configID: 'accessibility',
738
735
  title: i18nLazyString(UIStrings.accessibility),
739
736
  description: i18nLazyString(UIStrings.isThisPageUsableByPeopleWith),
@@ -741,8 +738,7 @@ export function getPresets(): LighthouseModel.RunTypes.Preset[] {
741
738
  userMetric: Host.UserMetrics.LighthouseCategoryUsed.ACCESSIBILITY,
742
739
  },
743
740
  {
744
- setting: Common.Settings.Settings.instance().createSetting(
745
- 'lighthouse.cat-best-practices', true, Common.Settings.SettingStorageType.SYNCED),
741
+ setting: Common.Settings.Settings.instance().moduleSetting('lighthouse.cat-best-practices'),
746
742
  configID: 'best-practices',
747
743
  title: i18nLazyString(UIStrings.bestPractices),
748
744
  description: i18nLazyString(UIStrings.doesThisPageFollowBestPractices),
@@ -750,8 +746,7 @@ export function getPresets(): LighthouseModel.RunTypes.Preset[] {
750
746
  userMetric: Host.UserMetrics.LighthouseCategoryUsed.BEST_PRACTICES,
751
747
  },
752
748
  {
753
- setting: Common.Settings.Settings.instance().createSetting(
754
- 'lighthouse.cat-seo', true, Common.Settings.SettingStorageType.SYNCED),
749
+ setting: Common.Settings.Settings.instance().moduleSetting('lighthouse.cat-seo'),
755
750
  configID: 'seo',
756
751
  title: i18nLazyString(UIStrings.seo),
757
752
  description: i18nLazyString(UIStrings.isThisPageOptimizedForSearch),
@@ -759,8 +754,7 @@ export function getPresets(): LighthouseModel.RunTypes.Preset[] {
759
754
  userMetric: Host.UserMetrics.LighthouseCategoryUsed.SEO,
760
755
  },
761
756
  {
762
- setting: Common.Settings.Settings.instance().createSetting(
763
- 'lighthouse.cat-agentic-browsing', false, Common.Settings.SettingStorageType.SYNCED),
757
+ setting: Common.Settings.Settings.instance().moduleSetting('lighthouse.cat-agentic-browsing'),
764
758
  configID: 'agentic-browsing',
765
759
  title: i18nLazyString(UIStrings.agenticBrowsing),
766
760
  description: i18nLazyString(UIStrings.agenticBrowsingDescription),
@@ -777,8 +771,7 @@ export function getRuntimeSettings(): LighthouseModel.RunTypes.RuntimeSetting[]
777
771
  if (!runtimeSettings) {
778
772
  runtimeSettings = [
779
773
  {
780
- setting: Common.Settings.Settings.instance().createSetting(
781
- 'lighthouse.device-type', 'mobile', Common.Settings.SettingStorageType.SYNCED),
774
+ setting: Common.Settings.Settings.instance().moduleSetting('lighthouse.device-type'),
782
775
  title: i18nLazyString(UIStrings.applyMobileEmulation),
783
776
  description: i18nLazyString(UIStrings.applyMobileEmulationDuring),
784
777
  setFlags: (flags: LighthouseModel.RunTypes.Flags, value: string|boolean) => {
@@ -789,18 +782,17 @@ export function getRuntimeSettings(): LighthouseModel.RunTypes.RuntimeSetting[]
789
782
  {
790
783
  label: i18nLazyString(UIStrings.mobile),
791
784
  tooltip: i18nLazyString(UIStrings.applyMobileEmulationDuring),
792
- value: 'mobile'
785
+ value: 'mobile',
793
786
  },
794
787
  {
795
788
  label: i18nLazyString(UIStrings.desktop),
796
789
  tooltip: i18nLazyString(UIStrings.applyDesktopEmulationDuring),
797
- value: 'desktop'
790
+ value: 'desktop',
798
791
  },
799
792
  ],
800
793
  },
801
794
  {
802
- setting: Common.Settings.Settings.instance().createSetting(
803
- 'lighthouse.mode', 'navigation', Common.Settings.SettingStorageType.SYNCED),
795
+ setting: Common.Settings.Settings.instance().moduleSetting('lighthouse.mode'),
804
796
  title: i18nLazyString(UIStrings.lighthouseMode),
805
797
  description: i18nLazyString(UIStrings.runLighthouseInMode),
806
798
  setFlags: (flags: LighthouseModel.RunTypes.Flags, value: string|boolean) => {
@@ -828,8 +820,7 @@ export function getRuntimeSettings(): LighthouseModel.RunTypes.RuntimeSetting[]
828
820
  },
829
821
  {
830
822
  // This setting is disabled, but we keep it around to show in the UI.
831
- setting: Common.Settings.Settings.instance().createSetting(
832
- 'lighthouse.throttling', 'simulate', Common.Settings.SettingStorageType.SYNCED),
823
+ setting: Common.Settings.Settings.instance().moduleSetting('lighthouse.throttling'),
833
824
  title: i18nLazyString(UIStrings.throttlingMethod),
834
825
  // We will disable this when we have a Lantern trace viewer within DevTools.
835
826
  learnMore:
@@ -849,8 +840,7 @@ export function getRuntimeSettings(): LighthouseModel.RunTypes.RuntimeSetting[]
849
840
  ],
850
841
  },
851
842
  {
852
- setting: Common.Settings.Settings.instance().createSetting(
853
- 'lighthouse.clear-storage', true, Common.Settings.SettingStorageType.SYNCED),
843
+ setting: Common.Settings.Settings.instance().moduleSetting('lighthouse.clear-storage'),
854
844
  title: i18nLazyString(UIStrings.clearStorage),
855
845
  description: i18nLazyString(UIStrings.resetStorageLocalstorage),
856
846
  setFlags: (flags: LighthouseModel.RunTypes.Flags, value: string|boolean) => {
@@ -858,8 +848,7 @@ export function getRuntimeSettings(): LighthouseModel.RunTypes.RuntimeSetting[]
858
848
  },
859
849
  },
860
850
  {
861
- setting: Common.Settings.Settings.instance().createSetting(
862
- 'lighthouse.enable-sampling', false, Common.Settings.SettingStorageType.SYNCED),
851
+ setting: Common.Settings.Settings.instance().moduleSetting('lighthouse.enable-sampling'),
863
852
  title: i18nLazyString(UIStrings.enableSampling),
864
853
  description: i18nLazyString(UIStrings.enableJavaScriptSampling),
865
854
  setFlags: (flags: LighthouseModel.RunTypes.Flags, value: string|boolean) => {
@@ -16,7 +16,7 @@ import {
16
16
  Events,
17
17
  LighthouseController,
18
18
  type PageAuditabilityChangedEvent,
19
- type PageWarningsChangedEvent
19
+ type PageWarningsChangedEvent,
20
20
  } from './LighthouseController.js';
21
21
  import lighthousePanelStyles from './lighthousePanel.css.js';
22
22
  import {CancelledError, ProtocolService} from './LighthouseProtocolService.js';
@@ -28,31 +28,31 @@ import {TimespanView} from './LighthouseTimespanView.js';
28
28
 
29
29
  const UIStrings = {
30
30
  /**
31
- * @description Text that appears when user drag and drop something (for example, a file) in Lighthouse Panel
31
+ * @description Text that appears when a user drags and drops a file in the Lighthouse panel.
32
32
  */
33
33
  dropLighthouseJsonHere: 'Drop `Lighthouse` JSON here',
34
34
  /**
35
- * @description Tooltip text that appears when hovering over the largeicon add button in the Lighthouse Panel
35
+ * @description Tooltip text that appears when hovering over the add button in the Lighthouse panel.
36
36
  */
37
37
  performAnAudit: 'Perform an audit…',
38
38
  /**
39
- * @description Text to clear everything
39
+ * @description Button text to clear all audit reports.
40
40
  */
41
41
  clearAll: 'Clear all',
42
42
  /**
43
- * @description Tooltip text that appears when hovering over the largeicon settings gear in show settings pane setting in start view of the audits panel
43
+ * @description Tooltip text that appears when hovering over the settings gear in the Lighthouse panel.
44
44
  */
45
45
  lighthouseSettings: '`Lighthouse` settings',
46
46
  /**
47
- * @description Status header in the Lighthouse panel
47
+ * @description Status header in the Lighthouse panel.
48
48
  */
49
49
  printing: 'Printing',
50
50
  /**
51
- * @description Status text in the Lighthouse panel
51
+ * @description Status text in the Lighthouse panel.
52
52
  */
53
- thePrintPopupWindowIsOpenPlease: 'The print popup window is open. Please close it to continue.',
53
+ thePrintPopupWindowIsOpenPlease: 'The print popup window is open. Close it to continue.',
54
54
  /**
55
- * @description Text in Lighthouse Panel
55
+ * @description Status text in the Lighthouse panel when an audit is cancelling.
56
56
  */
57
57
  cancelling: 'Cancelling',
58
58
  } as const;
@@ -10,11 +10,11 @@ import * as UI from '../../ui/legacy/legacy.js';
10
10
 
11
11
  const UIStrings = {
12
12
  /**
13
- * @description Title of combo box in audits report selector
13
+ * @description Title of combo box in the Lighthouse report selector.
14
14
  */
15
15
  reports: 'Reports',
16
16
  /**
17
- * @description New report item label in Lighthouse Report Selector
17
+ * @description Label for new report item in the Lighthouse report selector.
18
18
  */
19
19
  newReport: '(new report)',
20
20
  } as const;
@@ -25,19 +25,19 @@ const UIStrings = {
25
25
  */
26
26
  generateLighthouseReport: 'Generate a Lighthouse report',
27
27
  /**
28
- * @description Text that refers to the Lighthouse mode
28
+ * @description Section header for the Lighthouse mode options.
29
29
  */
30
30
  mode: 'Mode',
31
31
  /**
32
- * @description Title in the Lighthouse Start View for list of categories to run during audit
32
+ * @description Section header for the list of categories to run during an audit.
33
33
  */
34
34
  categories: 'Categories',
35
35
  /**
36
- * @description Label for a button to start analyzing a page navigation with Lighthouse
36
+ * @description Label for a button to start analyzing a page navigation with Lighthouse.
37
37
  */
38
38
  analyzeNavigation: 'Analyze page load',
39
39
  /**
40
- * @description Label for a button to start analyzing the current page state with Lighthouse
40
+ * @description Label for a button to start analyzing the current page state with Lighthouse.
41
41
  */
42
42
  analyzeSnapshot: 'Analyze page state',
43
43
  /**
@@ -45,11 +45,11 @@ const UIStrings = {
45
45
  */
46
46
  startTimespan: 'Start timespan',
47
47
  /**
48
- * @description Text that is usually a hyperlink to more documentation
48
+ * @description Text that is usually a hyperlink to more documentation.
49
49
  */
50
50
  learnMore: 'Learn more',
51
51
  /**
52
- * @description Text that refers to device such as a phone
52
+ * @description Section header for selecting the device type for auditing.
53
53
  */
54
54
  device: 'Device',
55
55
  } as const;
@@ -181,9 +181,8 @@ export class StartView extends UI.Widget.Widget {
181
181
  throw new Error(`${settingName} is not a setting with a title`);
182
182
  }
183
183
 
184
- runtimeSetting.setting.setTitle(runtimeSetting.title());
185
- const control = new UI.Toolbar.ToolbarSettingCheckbox(
186
- runtimeSetting.setting as Common.Settings.Setting<boolean>, runtimeSetting.description());
184
+ const control = new UI.Toolbar.ToolbarSettingCheckbox(runtimeSetting.setting as Common.Settings.Setting<boolean>,
185
+ runtimeSetting.description(), runtimeSetting.title());
187
186
  toolbar.appendToolbarItem(control);
188
187
  if (runtimeSetting.learnMore) {
189
188
  const link =
@@ -201,7 +200,6 @@ export class StartView extends UI.Widget.Widget {
201
200
 
202
201
  const options = runtimeSetting.options?.map(option => ({label: option.label(), value: option.value})) || [];
203
202
 
204
- runtimeSetting.setting.setTitle(runtimeSetting.title());
205
203
  const control = new UI.Toolbar.ToolbarSettingComboBox(
206
204
  options,
207
205
  runtimeSetting.setting as Common.Settings.Setting<string>,
@@ -227,8 +225,7 @@ export class StartView extends UI.Widget.Widget {
227
225
 
228
226
  this.checkboxes = [];
229
227
  for (const preset of getPresets()) {
230
- preset.setting.setTitle(preset.title());
231
- const checkbox = new UI.Toolbar.ToolbarSettingCheckbox(preset.setting, preset.description());
228
+ const checkbox = new UI.Toolbar.ToolbarSettingCheckbox(preset.setting, preset.description(), preset.title());
232
229
  const row = categoryFormElements.createChild('div', 'vbox lighthouse-launcher-row');
233
230
  row.appendChild(checkbox.element);
234
231
  checkbox.element.setAttribute('data-lh-category', preset.configID);
@@ -17,67 +17,67 @@ const {html} = Lit;
17
17
 
18
18
  const UIStrings = {
19
19
  /**
20
- * @description Text to cancel something
20
+ * @description Button text to cancel an operation.
21
21
  */
22
22
  cancel: 'Cancel',
23
23
  /**
24
- * @description Text when something is loading
24
+ * @description Status text when an operation is loading.
25
25
  */
26
26
  loading: 'Loading…',
27
27
  /**
28
- * @description Status text in Lighthouse splash screen while an audit is being performed
28
+ * @description Status text in Lighthouse splash screen while an audit is being performed.
29
29
  * @example {github.com} PH1
30
30
  */
31
31
  auditingS: 'Auditing {PH1}',
32
32
  /**
33
- * @description Status text in Lighthouse splash screen while an audit is being performed
33
+ * @description Status text in Lighthouse splash screen while an audit is being performed.
34
34
  */
35
35
  auditingYourWebPage: 'Auditing your web page',
36
36
  /**
37
- * @description Status text in Lighthouse splash screen while an AI assistant is performing an audit
37
+ * @description Status text in Lighthouse splash screen while an AI assistant is performing an audit.
38
38
  * @example {github.com} PH1
39
39
  */
40
40
  aiAuditingS: 'AI assistance is auditing {PH1}',
41
41
  /**
42
- * @description Status text in Lighthouse splash screen while an AI assistant is performing an audit
42
+ * @description Status text in Lighthouse splash screen while an AI assistant is performing an audit.
43
43
  */
44
44
  aiAuditingYourWebPage: 'AI assistance is auditing your web page',
45
45
  /**
46
- * @description Status text in Lighthouse splash screen while an audit is being performed, and cancellation to take effect
46
+ * @description Status text in Lighthouse splash screen while an audit is being performed, and cancellation to take effect.
47
47
  */
48
48
  cancelling: 'Cancelling…',
49
49
  /**
50
- * @description Status text in Lighthouse splash screen while preparing for an audit
50
+ * @description Status text in Lighthouse splash screen while preparing for an audit.
51
51
  */
52
52
  lighthouseIsWarmingUp: '`Lighthouse` is warming up…',
53
53
  /**
54
- * @description Status text in Lighthouse splash screen while an audit is being performed
54
+ * @description Status text in Lighthouse splash screen while an audit is being performed.
55
55
  */
56
56
  lighthouseIsLoadingYourPage: '`Lighthouse` is loading your page',
57
57
  /**
58
- * @description Text in Lighthouse Status View
58
+ * @description Status message showing a fast fact with an icon.
59
59
  * @example {75% of global mobile users in 2016 were on 2G or 3G [Source: GSMA Mobile]} PH1
60
60
  */
61
61
  fastFactMessageWithPlaceholder: '💡 {PH1}',
62
62
  /**
63
- * @description Text of a DOM element in Lighthouse Status View
63
+ * @description Error header shown when an audit encounters an error.
64
64
  */
65
- ahSorryWeRanIntoAnError: 'Ah, sorry! We ran into an error.',
65
+ ahSorryWeRanIntoAnError: 'We ran into an error.',
66
66
  /**
67
- * @description Text in Lighthouse Status View
67
+ * @description Suggestion for recovering from an audit error.
68
68
  */
69
69
  tryToNavigateToTheUrlInAFresh:
70
70
  'Try to navigate to the URL in a fresh `Chrome` profile without any other tabs or extensions open and try again.',
71
71
  /**
72
- * @description Text of a DOM element in Lighthouse Status View
72
+ * @description Instruction to report a bug if the issue is reproducible.
73
73
  */
74
- ifThisIssueIsReproduciblePlease: 'If this issue is reproducible, please report it at the `Lighthouse` `GitHub` repo.',
74
+ ifThisIssueIsReproduciblePlease: 'If this issue is reproducible, report it at the `Lighthouse` `GitHub` repo.',
75
75
  /**
76
- * @description Text in Lighthouse splash screen when loading the page for auditing
76
+ * @description Text in Lighthouse splash screen when loading the page for auditing.
77
77
  */
78
- lighthouseIsLoadingThePage: 'Lighthouse is loading the page.',
78
+ lighthouseIsLoadingThePage: '`Lighthouse` is loading the page.',
79
79
  /**
80
- * @description Text in Lighthouse splash screen when Lighthouse is gathering information for display
80
+ * @description Text in Lighthouse splash screen when Lighthouse is gathering information for display.
81
81
  */
82
82
  lighthouseIsGatheringInformation: '`Lighthouse` is gathering information about the page to compute your score.',
83
83
  /**
@@ -85,75 +85,75 @@ const UIStrings = {
85
85
  */
86
86
  almostThereLighthouseIsNow: 'Almost there! `Lighthouse` is now generating your report.',
87
87
  /**
88
- * @description Text in Lighthouse splash screen when loading the page for auditing
88
+ * @description Text in Lighthouse splash screen when loading the page for auditing.
89
89
  */
90
90
  lighthouseIsLoadingYourPageWith:
91
91
  '`Lighthouse` is loading your page with throttling to measure performance on a mobile device on 3G.',
92
92
  /**
93
- * @description Text in Lighthouse splash screen when loading the page for auditing
93
+ * @description Text in Lighthouse splash screen when loading the page for auditing.
94
94
  */
95
95
  lighthouseIsLoadingYourPageWithThrottling:
96
96
  '`Lighthouse` is loading your page with throttling to measure performance on a slow desktop on 3G.',
97
97
  /**
98
- * @description Text in Lighthouse splash screen when loading the page for auditing
98
+ * @description Text in Lighthouse splash screen when loading the page for auditing.
99
99
  */
100
100
  lighthouseIsLoadingYourPageWithMobile: '`Lighthouse` is loading your page with mobile emulation.',
101
101
  /**
102
- * @description Fast fact in the splash screen while Lighthouse is performing an audit
102
+ * @description Fast fact in the splash screen while Lighthouse is performing an audit.
103
103
  */
104
104
  mbTakesAMinimumOfSecondsTo:
105
105
  '1MB takes a minimum of 5 seconds to download on a typical 3G connection [Source: `WebPageTest` and `DevTools` 3G definition].',
106
106
  /**
107
- * @description Fast fact in the splash screen while Lighthouse is performing an audit
107
+ * @description Fast fact in the splash screen while Lighthouse is performing an audit.
108
108
  */
109
109
  rebuildingPinterestPagesFor:
110
110
  'Rebuilding Pinterest pages for performance increased conversion rates by 15% [Source: `WPO Stats`]',
111
111
  /**
112
- * @description Fast fact in the splash screen while Lighthouse is performing an audit
112
+ * @description Fast fact in the splash screen while Lighthouse is performing an audit.
113
113
  */
114
114
  byReducingTheResponseSizeOfJson:
115
115
  'By reducing the response size of JSON needed for displaying comments, Instagram saw increased impressions [Source: `WPO Stats`]',
116
116
  /**
117
- * @description Fast fact in the splash screen while Lighthouse is performing an audit
117
+ * @description Fast fact in the splash screen while Lighthouse is performing an audit.
118
118
  */
119
119
  walmartSawAIncreaseInRevenueFor:
120
120
  'Walmart saw a 1% increase in revenue for every 100ms improvement in page load [Source: `WPO Stats`]',
121
121
  /**
122
- * @description Fast fact in the splash screen while Lighthouse is performing an audit
122
+ * @description Fast fact in the splash screen while Lighthouse is performing an audit.
123
123
  */
124
124
  ifASiteTakesSecondToBecome:
125
125
  'If a site takes >1 second to become interactive, users lose attention, and their perception of completing the page task is broken [Source: `Google Developers Blog`]',
126
126
  /**
127
- * @description Fast fact in the splash screen while Lighthouse is performing an audit
127
+ * @description Fast fact in the splash screen while Lighthouse is performing an audit.
128
128
  */
129
129
  OfGlobalMobileUsersInWereOnGOrG: '75% of global mobile users in 2016 were on 2G or 3G [Source: `GSMA Mobile`]',
130
130
  /**
131
- * @description Fast fact in the splash screen while Lighthouse is performing an audit
131
+ * @description Fast fact in the splash screen while Lighthouse is performing an audit.
132
132
  */
133
133
  theAverageUserDeviceCostsLess:
134
134
  'The average user device costs less than 200 USD. [Source: `International Data Corporation`]',
135
135
  /**
136
- * @description Fast fact in the splash screen while Lighthouse is performing an audit
136
+ * @description Fast fact in the splash screen while Lighthouse is performing an audit.
137
137
  */
138
138
  SecondsIsTheAverageTimeAMobile:
139
139
  '19 seconds is the average time a mobile web page takes to load on a 3G connection [Source: `Google DoubleClick blog`]',
140
140
  /**
141
- * @description Fast fact in the splash screen while Lighthouse is performing an audit
141
+ * @description Fast fact in the splash screen while Lighthouse is performing an audit.
142
142
  */
143
143
  OfMobilePagesTakeNearlySeconds:
144
144
  '70% of mobile pages take nearly 7 seconds for the visual content above the fold to display on the screen. [Source: `Think with Google`]',
145
145
  /**
146
- * @description Fast fact in the splash screen while Lighthouse is performing an audit
146
+ * @description Fast fact in the splash screen while Lighthouse is performing an audit.
147
147
  */
148
148
  asPageLoadTimeIncreasesFromOne:
149
149
  'As page load time increases from one second to seven seconds, the probability of a mobile site visitor bouncing increases 113%. [Source: `Think with Google`]',
150
150
  /**
151
- * @description Fast fact in the splash screen while Lighthouse is performing an audit
151
+ * @description Fast fact in the splash screen while Lighthouse is performing an audit.
152
152
  */
153
153
  asTheNumberOfElementsOnAPage:
154
154
  'As the number of elements on a page increases from 400 to 6,000, the probability of conversion drops 95%. [Source: `Think with Google`]',
155
155
  /**
156
- * @description Fast fact in the splash screen while Lighthouse is performing an audit
156
+ * @description Fast fact in the splash screen while Lighthouse is performing an audit.
157
157
  */
158
158
  lighthouseOnlySimulatesMobile:
159
159
  '`Lighthouse` only simulates mobile performance; to measure performance on a real device, try WebPageTest.org [Source: `Lighthouse` team]',
@@ -46,7 +46,7 @@ export class RadioSetting {
46
46
  title=${ifDefined(description ? tooltip : undefined)}
47
47
  ${Directives.ref(el => {
48
48
  this.radioElements.push(el as HTMLInputElement);
49
- }
49
+ },
50
50
  )}
51
51
  />
52
52
  <span