chrome-devtools-frontend 1.0.1681498 → 1.0.1683520

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 (149) hide show
  1. package/eslint.config.mjs +8 -3
  2. package/front_end/core/sdk/ConsoleModel.ts +1 -1
  3. package/front_end/core/sdk/PreloadingModel.ts +44 -22
  4. package/front_end/core/sdk/RemoteObject.ts +4 -1
  5. package/front_end/core/sdk/RuntimeModel.ts +5 -5
  6. package/front_end/core/sdk/sdk.ts +2 -0
  7. package/front_end/entrypoints/formatter_worker/FormatterWorker.ts +1 -1
  8. package/front_end/entrypoints/inspector_main/InspectorMain.ts +5 -2
  9. package/front_end/entrypoints/inspector_main/inspector_main-meta.ts +2 -10
  10. package/front_end/entrypoints/main/MainImpl.ts +13 -13
  11. package/front_end/entrypoints/main/main-meta.ts +4 -20
  12. package/front_end/entrypoints/shell/shell.ts +0 -2
  13. package/front_end/entrypoints/trace_app/trace_app.ts +0 -2
  14. package/front_end/generated/InspectorBackendCommands.ts +3 -1
  15. package/front_end/generated/protocol-mapping.d.ts +16 -0
  16. package/front_end/generated/protocol-proxy-api.d.ts +12 -0
  17. package/front_end/generated/protocol.ts +25 -1
  18. package/front_end/models/ai_assistance/ExtensionScope.ts +11 -12
  19. package/front_end/models/ai_assistance/agents/AiAgent.ts +1 -1
  20. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +2 -1
  21. package/front_end/models/ai_assistance/agents/PerformanceAgent.snapshot.txt +1 -1
  22. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +2 -1
  23. package/front_end/models/ai_assistance/contexts/PerformanceTraceContext.ts +2 -1
  24. package/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.snapshot.txt +8 -8
  25. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +8 -8
  26. package/front_end/models/bindings/DebuggerLanguagePlugins.ts +1 -0
  27. package/front_end/models/formatter/ScriptFormatter.ts +1 -0
  28. package/front_end/models/javascript_metadata/NativeFunctions.js +9 -1
  29. package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +4 -4
  30. package/front_end/models/logs/NetworkLog.ts +8 -1
  31. package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +4 -2
  32. package/front_end/models/stack_trace/StackTraceImpl.ts +1 -0
  33. package/front_end/models/trace/Name.ts +5 -5
  34. package/front_end/models/trace/Processor.ts +1 -0
  35. package/front_end/models/trace/Styles.ts +115 -115
  36. package/front_end/models/trace/extras/TraceTree.ts +2 -1
  37. package/front_end/models/trace/helpers/Network.ts +4 -1
  38. package/front_end/models/trace/insights/CLSCulprits.ts +4 -2
  39. package/front_end/models/trace/insights/CharacterSet.ts +3 -3
  40. package/front_end/models/trace/insights/DOMSize.ts +1 -1
  41. package/front_end/models/trace/insights/DuplicatedJavaScript.ts +6 -2
  42. package/front_end/models/trace/insights/FontDisplay.ts +9 -3
  43. package/front_end/models/trace/insights/ForcedReflow.ts +4 -4
  44. package/front_end/models/trace/insights/INPBreakdown.ts +3 -4
  45. package/front_end/models/trace/insights/ImageDelivery.ts +2 -2
  46. package/front_end/models/trace/insights/LCPBreakdown.ts +1 -1
  47. package/front_end/models/trace/insights/LCPDiscovery.ts +5 -5
  48. package/front_end/models/trace/insights/LegacyJavaScript.ts +7 -3
  49. package/front_end/models/trace/insights/ModernHTTP.ts +3 -3
  50. package/front_end/models/trace/insights/NetworkDependencyTree.ts +13 -9
  51. package/front_end/models/trace/insights/RenderBlocking.ts +1 -1
  52. package/front_end/models/trace/insights/SlowCSSSelector.ts +29 -25
  53. package/front_end/models/trace/insights/ThirdParties.ts +13 -5
  54. package/front_end/models/trace/insights/Viewport.ts +4 -2
  55. package/front_end/models/workspace/IgnoreListManager.ts +53 -17
  56. package/front_end/panels/accessibility/ARIAAttributesView.ts +11 -2
  57. package/front_end/panels/ai_assistance/components/ChatMessage.ts +67 -53
  58. package/front_end/panels/ai_assistance/components/ChatView.ts +2 -2
  59. package/front_end/panels/ai_assistance/components/StylingAgentMarkdownRenderer.ts +2 -2
  60. package/front_end/panels/ai_assistance/components/WalkthroughView.ts +5 -5
  61. package/front_end/panels/animation/AnimationTimeline.ts +2 -0
  62. package/front_end/panels/application/preloading/PreloadingView.ts +9 -3
  63. package/front_end/panels/application/preloading/components/components.ts +2 -0
  64. package/front_end/panels/browser_debugger/ObjectEventListenersSidebarPane.ts +10 -11
  65. package/front_end/panels/changes/CombinedDiffView.ts +1 -1
  66. package/front_end/panels/common/ExtensionServer.ts +9 -10
  67. package/front_end/panels/css_overview/CSSOverviewCompletedView.ts +9 -4
  68. package/front_end/panels/elements/ElementStatePaneWidget.ts +3 -0
  69. package/front_end/panels/elements/ElementsPanel.ts +4 -2
  70. package/front_end/panels/elements/ElementsTreeElement.ts +7 -1
  71. package/front_end/panels/elements/EventListenersWidget.ts +10 -11
  72. package/front_end/panels/issues/IssueView.ts +5 -6
  73. package/front_end/panels/linear_memory_inspector/components/LinearMemoryViewer.ts +1 -1
  74. package/front_end/panels/media/PlayerPropertiesView.ts +309 -416
  75. package/front_end/panels/media/playerPropertiesView.css +1 -1
  76. package/front_end/panels/network/NetworkPanel.ts +2 -1
  77. package/front_end/panels/network/RequestPayloadView.ts +5 -2
  78. package/front_end/panels/network/components/ResponseHeaderSection.ts +1 -2
  79. package/front_end/panels/network/network-meta.ts +6 -0
  80. package/front_end/panels/performance_monitor/PerformanceMonitor.ts +2 -1
  81. package/front_end/panels/recorder/RecordingView.ts +89 -73
  82. package/front_end/panels/recorder/ReplaySection.ts +59 -40
  83. package/front_end/panels/recorder/injected/injected.ts +4 -0
  84. package/front_end/panels/security/SecurityPanel.ts +5 -6
  85. package/front_end/panels/security/SecurityPanelSidebar.ts +244 -204
  86. package/front_end/panels/security/security.ts +0 -4
  87. package/front_end/panels/settings/EditFileSystemView.ts +8 -7
  88. package/front_end/panels/settings/FrameworkIgnoreListSettingsTab.ts +20 -14
  89. package/front_end/panels/snippets/ScriptSnippetFileSystem.ts +10 -11
  90. package/front_end/panels/sources/SourcesPanel.ts +6 -3
  91. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +3 -3
  92. package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +5 -5
  93. package/front_end/panels/timeline/components/CWVMetrics.ts +1 -2
  94. package/front_end/panels/timeline/components/IgnoreListSetting.ts +5 -5
  95. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +2 -3
  96. package/front_end/panels/timeline/components/LiveMetricsView.ts +2 -2
  97. package/front_end/panels/timeline/components/Sidebar.ts +3 -3
  98. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +1 -2
  99. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +3 -1
  100. package/front_end/panels/timeline/components/insights/CLSCulprits.ts +1 -2
  101. package/front_end/panels/timeline/components/insights/Cache.ts +1 -2
  102. package/front_end/panels/timeline/components/insights/CharacterSet.ts +1 -2
  103. package/front_end/panels/timeline/components/insights/DOMSize.ts +1 -2
  104. package/front_end/panels/timeline/components/insights/DocumentLatency.ts +2 -2
  105. package/front_end/panels/timeline/components/insights/DuplicatedJavaScript.ts +2 -2
  106. package/front_end/panels/timeline/components/insights/FontDisplay.ts +1 -2
  107. package/front_end/panels/timeline/components/insights/ForcedReflow.ts +1 -2
  108. package/front_end/panels/timeline/components/insights/INPBreakdown.ts +1 -2
  109. package/front_end/panels/timeline/components/insights/ImageDelivery.ts +1 -2
  110. package/front_end/panels/timeline/components/insights/LCPBreakdown.ts +13 -13
  111. package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +1 -2
  112. package/front_end/panels/timeline/components/insights/LegacyJavaScript.ts +4 -4
  113. package/front_end/panels/timeline/components/insights/ModernHTTP.ts +1 -2
  114. package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +10 -8
  115. package/front_end/panels/timeline/components/insights/RenderBlocking.ts +2 -2
  116. package/front_end/panels/timeline/components/insights/SidebarInsight.ts +3 -1
  117. package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +2 -2
  118. package/front_end/panels/timeline/components/insights/ThirdParties.ts +1 -2
  119. package/front_end/panels/timeline/components/insights/Viewport.ts +1 -2
  120. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +1 -2
  121. package/front_end/panels/timeline/timeline.ts +0 -2
  122. package/front_end/panels/web_audio/WebAudioView.ts +7 -7
  123. package/front_end/panels/webauthn/WebauthnPane.ts +9 -9
  124. package/front_end/third_party/chromium/README.chromium +1 -1
  125. package/front_end/ui/components/diff_view/DiffView.ts +2 -1
  126. package/front_end/ui/components/report_view/ReportView.docs.ts +2 -2
  127. package/front_end/ui/components/text_editor/config.ts +2 -1
  128. package/front_end/ui/components/text_editor/javascript.ts +12 -13
  129. package/front_end/ui/legacy/GlassPane.ts +38 -14
  130. package/front_end/ui/legacy/Treeoutline.ts +14 -3
  131. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +1 -1
  132. package/front_end/ui/legacy/components/object_ui/JavaScriptREPL.ts +1 -1
  133. package/front_end/ui/legacy/components/object_ui/ObjectPopoverHelper.ts +1 -1
  134. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +21 -30
  135. package/front_end/ui/legacy/components/object_ui/RemoteObjectPreviewFormatter.ts +3 -8
  136. package/front_end/ui/legacy/components/utils/ImagePreview.ts +15 -16
  137. package/front_end/ui/legacy/components/utils/JSPresentationUtils.ts +4 -4
  138. package/front_end/ui/legacy/components/utils/Linkifier.ts +8 -10
  139. package/front_end/ui/legacy/theme_support/ThemeSupport.ts +5 -2
  140. package/front_end/ui/settings/InspectorMainSettings.ts +19 -0
  141. package/front_end/ui/settings/MainSettings.ts +33 -0
  142. package/front_end/ui/settings/settings.ts +4 -0
  143. package/front_end/ui/visual_logging/KnownContextValues.ts +29 -0
  144. package/mcp/mcp.ts +0 -6
  145. package/package.json +1 -1
  146. package/front_end/models/logs/logs-meta.ts +0 -24
  147. package/front_end/models/workspace/workspace-meta.ts +0 -40
  148. package/front_end/panels/security/OriginTreeElement.ts +0 -60
  149. package/front_end/panels/security/SecurityPanelSidebarTreeElement.ts +0 -30
@@ -38,7 +38,7 @@ Content:
38
38
  "details": [
39
39
  {
40
40
  "title": "Trace details",
41
- "text": "Trace summary:\nURL: https://chromedevtools.github.io/performance-stories/lcp-large-image/index.html\nTrace bounds: {min: 658799706428µs, max: 658804825864µs}\nCPU throttling: 1x\nNetwork throttling: No throttling\n\n# Available insight sets\n\nThe following is a list of insight sets. An insight set covers a specific part of the trace, split by navigations. The insights within each insight set are specific to that part of the trace. Be sure to consider the insight set id and bounds when calling functions. If no specific insight set or navigation is mentioned, assume the user is referring to the first one.\n\n## insight set id: NAVIGATION_0\n\nURL: https://chromedevtools.github.io/performance-stories/lcp-large-image/index.html\nBounds: {min: 658799738257µs, max: 658804825864µs}\nMetrics (lab / observed):\n - LCP: 110 ms, event: (eventKey: r-2399, ts: 658799847880), nodeId: 10\n - LCP breakdown:\n - TTFB: 7 ms, bounds: {min: 658799738257µs, max: 658799745193µs}\n - Load delay: 34 ms, bounds: {min: 658799745193µs, max: 658799778937µs}\n - Load duration: 12 ms, bounds: {min: 658799778937µs, max: 658799791032µs}\n - Render delay: 57 ms, bounds: {min: 658799791032µs, max: 658799847880µs}\n - CLS: 0.00\nMetrics (field / real users): n/a – no data for this page in CrUX\nAvailable insights:\n - insight name: LCPBreakdown\n description: Each [subpart has specific improvement strategies](https://developer.chrome.com/docs/performance/insights/lcp-breakdown). Ideally, most of the LCP time should be spent on loading the resources, not within delays.\n relevant trace bounds: {min: 658799738257µs, max: 658799847880µs}\n example question: Help me optimize my LCP score\n example question: Which LCP subpart was most problematic?\n example question: What can I do to reduce the LCP time for this page load?\n - insight name: LCPDiscovery\n description: [Optimize LCP](https://developer.chrome.com/docs/performance/insights/lcp-discovery) by making the LCP image discoverable from the HTML immediately, and avoiding lazy-loading\n relevant trace bounds: {min: 658799745193µs, max: 658799793683µs}\n example question: Suggest fixes to reduce my LCP\n example question: What can I do to reduce my LCP discovery time?\n example question: Why is LCP discovery time important?\n - insight name: RenderBlocking\n description: Requests are blocking the page’s initial render, which may delay LCP. [Deferring or inlining](https://developer.chrome.com/docs/performance/insights/render-blocking) can move these network requests out of the critical path.\n relevant trace bounds: {min: 658799775876µs, max: 658799791419µs}\n example question: Show me the most impactful render-blocking requests that I should focus on\n example question: How can I reduce the number of render-blocking requests?\n - insight name: Cache\n description: A long cache lifetime can speed up repeat visits to your page. [Learn more about caching](https://developer.chrome.com/docs/performance/insights/cache).\n relevant trace bounds: {min: 658799777502µs, max: 658799791419µs}\n example question: What caching strategies can I apply to improve my page performance?\n# Critical network requests\n\nnone\n\n# Main thread bottom-up summary\n\nThis is the bottom-up summary for the entire trace. Only the top 10 activities (sorted by self time) are shown. An activity is all the aggregated time spent on the same type of work. For example, it can be all the time spent in a specific JavaScript function, or all the time spent in a specific browser rendering stage (like layout, v8 compile, parsing html). \"Self time\" represents the aggregated time spent directly in an activity, across all occurrences. \"Total time\" represents the aggregated time spent in an activity or any of its children.\n\n- self: 57 ms, total: 79 ms, source: Task\n- self: 5 ms, total: 5 ms, source: Layout\n- self: 4 ms, total: 4 ms, source: Major GC\n- self: 3 ms, total: 3 ms, source: Parse HTML\n- self: 2 ms, total: 2 ms, source: Recalculate style\n- self: 2 ms, total: 2 ms, source: Commit\n- self: 1 ms, total: 1 ms, source: C++ GC\n- self: 1 ms, total: 1 ms, source: Paint\n\n# 3rd party summary\n\n- name: GitHub, main thread time: 3 ms, network transfer size: 0 B\n\n# Longest tasks\n\n- total time: 23 ms, event: (eventKey: r-617, ts: 658799757023)\n- total time: 12 ms, event: (eventKey: r-1571, ts: 658799793885)\n- total time: 11 ms, event: (eventKey: r-1891, ts: 658799811130)\n\nUser selected the LCPBreakdown insight.\n\n\n# User query\n\ntest"
41
+ "text": "Trace summary:\nURL: https://chromedevtools.github.io/performance-stories/lcp-large-image/index.html\nTrace bounds: {min: 658799706428µs, max: 658804825864µs}\nCPU throttling: 1x\nNetwork throttling: No throttling\n\n# Available insight sets\n\nThe following is a list of insight sets. An insight set covers a specific part of the trace, split by navigations. The insights within each insight set are specific to that part of the trace. Be sure to consider the insight set id and bounds when calling functions. If no specific insight set or navigation is mentioned, assume the user is referring to the first one.\n\n## insight set id: NAVIGATION_0\n\nURL: https://chromedevtools.github.io/performance-stories/lcp-large-image/index.html\nBounds: {min: 658799738257µs, max: 658804825864µs}\nMetrics (lab / observed):\n - LCP: 110 ms, event: (eventKey: r-2399, ts: 658799847880), nodeId: 10\n - LCP breakdown:\n - TTFB: 7 ms, bounds: {min: 658799738257µs, max: 658799745193µs}\n - Load delay: 34 ms, bounds: {min: 658799745193µs, max: 658799778937µs}\n - Load duration: 12 ms, bounds: {min: 658799778937µs, max: 658799791032µs}\n - Render delay: 57 ms, bounds: {min: 658799791032µs, max: 658799847880µs}\n - CLS: 0.00\nMetrics (field / real users): n/a – no data for this page in CrUX\nAvailable insights:\n - insight name: LCPBreakdown\n description: Each [subpart has specific improvement strategies](https://developer.chrome.com/docs/performance/insights/lcp-breakdown). Ideally, most of the LCP time should be spent on loading the resources, not within delays.\n relevant trace bounds: {min: 658799738257µs, max: 658799847880µs}\n example question: Help me optimize my LCP score\n example question: Which LCP subpart was most problematic?\n example question: What can I do to reduce the LCP time for this page load?\n - insight name: LCPDiscovery\n description: [Optimize LCP](https://developer.chrome.com/docs/performance/insights/lcp-discovery) by making the LCP image discoverable from the HTML immediately, and avoiding lazy-loading.\n relevant trace bounds: {min: 658799745193µs, max: 658799793683µs}\n example question: Suggest fixes to reduce my LCP\n example question: What can I do to reduce my LCP discovery time?\n example question: Why is LCP discovery time important?\n - insight name: RenderBlocking\n description: Requests are blocking the page’s initial render, which may delay LCP. [Deferring or inlining](https://developer.chrome.com/docs/performance/insights/render-blocking) can move these network requests out of the critical path.\n relevant trace bounds: {min: 658799775876µs, max: 658799791419µs}\n example question: Show me the most impactful render-blocking requests that I should focus on\n example question: How can I reduce the number of render-blocking requests?\n - insight name: Cache\n description: A long cache lifetime can speed up repeat visits to your page. [Learn more about caching](https://developer.chrome.com/docs/performance/insights/cache).\n relevant trace bounds: {min: 658799777502µs, max: 658799791419µs}\n example question: What caching strategies can I apply to improve my page performance?\n# Critical network requests\n\nnone\n\n# Main thread bottom-up summary\n\nThis is the bottom-up summary for the entire trace. Only the top 10 activities (sorted by self time) are shown. An activity is all the aggregated time spent on the same type of work. For example, it can be all the time spent in a specific JavaScript function, or all the time spent in a specific browser rendering stage (like layout, v8 compile, parsing html). \"Self time\" represents the aggregated time spent directly in an activity, across all occurrences. \"Total time\" represents the aggregated time spent in an activity or any of its children.\n\n- self: 57 ms, total: 79 ms, source: Task\n- self: 5 ms, total: 5 ms, source: Layout\n- self: 4 ms, total: 4 ms, source: Major GC\n- self: 3 ms, total: 3 ms, source: Parse HTML\n- self: 2 ms, total: 2 ms, source: Recalculate style\n- self: 2 ms, total: 2 ms, source: Commit\n- self: 1 ms, total: 1 ms, source: C++ GC\n- self: 1 ms, total: 1 ms, source: Paint\n\n# 3rd party summary\n\n- name: GitHub, main thread time: 3 ms, network transfer size: 0 B\n\n# Longest tasks\n\n- total time: 23 ms, event: (eventKey: r-617, ts: 658799757023)\n- total time: 12 ms, event: (eventKey: r-1571, ts: 658799793885)\n- total time: 11 ms, event: (eventKey: r-1891, ts: 658799811130)\n\nUser selected the LCPBreakdown insight.\n\n\n# User query\n\ntest"
42
42
  }
43
43
  ],
44
44
  "widgets": [
@@ -5,7 +5,6 @@
5
5
  import * as Common from '../../../core/common/common.js';
6
6
  import * as Host from '../../../core/host/host.js';
7
7
  import * as i18n from '../../../core/i18n/i18n.js';
8
- import type {UrlString} from '../../../core/platform/DevToolsPath.js';
9
8
  import type * as Platform from '../../../core/platform/platform.js';
10
9
  import * as Root from '../../../core/root/root.js';
11
10
  import * as SDK from '../../../core/sdk/sdk.js';
@@ -36,6 +35,8 @@ import {
36
35
  type ToolResult,
37
36
  } from './AiAgent.js';
38
37
 
38
+ type UrlString = Platform.DevToolsPath.UrlString;
39
+
39
40
  const UIStringsNotTranslated = {
40
41
  /**
41
42
  * @description Shown when the agent is investigating network activity
@@ -3,7 +3,6 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import * as Common from '../../../core/common/common.js';
6
- import type {UrlString} from '../../../core/platform/DevToolsPath.js';
7
6
  import type * as Platform from '../../../core/platform/platform.js';
8
7
  import * as SDK from '../../../core/sdk/sdk.js';
9
8
  import * as Tracing from '../../../services/tracing/tracing.js';
@@ -24,6 +23,8 @@ import {PerformanceTraceFormatter} from '../data_formatters/PerformanceTraceForm
24
23
  import type {AICallTree} from '../performance/AICallTree.js';
25
24
  import {AgentFocus} from '../performance/AIContext.js';
26
25
 
26
+ type UrlString = Platform.DevToolsPath.UrlString;
27
+
27
28
  /**
28
29
  * Labels used to identify specific periods or categories in the trace for getting main thread summary.
29
30
  * Supports hardcoded phases, dynamic navigation IDs (`NAVIGATION_X`), and insight models.
@@ -226,7 +226,7 @@ Response headers
226
226
 
227
227
  The result of the checks for this insight are:
228
228
  - fetchpriority=high should be applied: FAILED
229
- - LCP resources should not use loading=lazy: PASSED
229
+ - LCP resources shouldn’t use loading=lazy: PASSED
230
230
  - Request is discoverable in initial document: PASSED
231
231
 
232
232
  ## Estimated savings: none
@@ -1052,7 +1052,7 @@ The network dependency tree checks revealed no problems, but optimization sugges
1052
1052
 
1053
1053
  No rendering tasks impacted by network dependencies.
1054
1054
 
1055
- no origins were preconnected.
1055
+ No origins were preconnected.
1056
1056
 
1057
1057
  ## Estimated savings: none
1058
1058
 
@@ -1085,7 +1085,7 @@ The following is the critical request chain:
1085
1085
  - http://localhost:8787/lcp-iframes/app.js (eventKey: s-7225, ts: 566782574106) (5,015 ms) (longest chain)
1086
1086
  - http://localhost:8787/lcp-iframes/app.css (eventKey: s-7213, ts: 566782573909) (5,010 ms)
1087
1087
 
1088
- no origins were preconnected.
1088
+ No origins were preconnected.
1089
1089
 
1090
1090
  ## Estimated savings: none
1091
1091
 
@@ -1097,13 +1097,13 @@ no origins were preconnected.
1097
1097
 
1098
1098
  Title: PerformanceInsightFormatter SlowCssSelector serializes correctly when there are no results
1099
1099
  Content:
1100
- ## Insight Title: CSS Selector costs
1100
+ ## Insight Title: CSS selector costs
1101
1101
 
1102
1102
  ## Insight Summary:
1103
1103
  This insight identifies CSS selectors that are slowing down your page's rendering performance.
1104
1104
 
1105
1105
  ## Detailed analysis:
1106
- No CSS selector data was found. CSS selector stats need to be enabled in the performance panel settings.
1106
+ No CSS selector data was found. CSS selector stats need to be enabled in the Performance panel settings.
1107
1107
 
1108
1108
  ## Estimated savings: none
1109
1109
 
@@ -1114,7 +1114,7 @@ No CSS selector data was found. CSS selector stats need to be enabled in the per
1114
1114
 
1115
1115
  Title: PerformanceInsightFormatter SlowCssSelector serializes the correct details when CSS selectors are found
1116
1116
  Content:
1117
- ## Insight Title: CSS Selector costs
1117
+ ## Insight Title: CSS selector costs
1118
1118
 
1119
1119
  ## Insight Summary:
1120
1120
  This insight identifies CSS selectors that are slowing down your page's rendering performance.
@@ -1130,7 +1130,7 @@ Elapsed time: 0 ms
1130
1130
  Match attempts: 2444
1131
1131
  Match count: 465
1132
1132
 
1133
- If Recalculate Style costs remain high, selector optimization can reduce them. [Optimize the selectors](https://developer.chrome.com/docs/performance/insights/slow-css-selector) with both high elapsed time and high slow-path %. Simpler selectors, fewer selectors, a smaller DOM, and a shallower DOM will all reduce matching costs.
1133
+ If recalculate style costs remain high, selector optimization can reduce them. [Optimize the selectors](https://developer.chrome.com/docs/performance/insights/slow-css-selector) with both high elapsed time and high slow-path %. Simpler selectors, fewer selectors, a smaller DOM, and a shallower DOM will all reduce matching costs.
1134
1134
 
1135
1135
  ## Estimated savings: none
1136
1136
 
@@ -1258,7 +1258,7 @@ The webpage is not optimized for mobile viewing.
1258
1258
 
1259
1259
  The viewport meta tag is missing.
1260
1260
 
1261
- Tap interactions may be [delayed by up to 300 ms](https://developer.chrome.com/docs/performance/insights/viewport) if the viewport is not optimized for mobile.
1261
+ Tap interactions may be [delayed by up to 300 ms](https://developer.chrome.com/docs/performance/insights/viewport) if the viewport isn’t optimized for mobile.
1262
1262
 
1263
1263
  ## Estimated savings: none
1264
1264
 
@@ -530,7 +530,7 @@ Available insights:
530
530
  relevant trace bounds: {min: 157423489126µs, max: 157426527569µs}
531
531
  example question: How do I optimize my network dependency tree?
532
532
  - insight name: ImageDelivery
533
- description: Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size](https://developer.chrome.com/docs/performance/insights/image-delivery)
533
+ description: Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size](https://developer.chrome.com/docs/performance/insights/image-delivery).
534
534
  relevant trace bounds: {min: 157423794709µs, max: 157424082831µs}
535
535
  estimated metric savings: FCP 0 ms, LCP 0 ms
536
536
  estimated wasted bytes: 97.8 kB
@@ -552,7 +552,7 @@ Available insights:
552
552
  estimated wasted bytes: 847.4 kB
553
553
  example question: What caching strategies can I apply to improve my page performance?
554
554
  - insight name: LegacyJavaScript
555
- description: Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren’t necessary for modern browsers. Consider modifying your JavaScript build process to not transpile [Baseline](https://web.dev/articles/baseline-and-polyfills) features, unless you know you must support older browsers. [Learn why most sites can deploy ES6+ code without transpiling](https://developer.chrome.com/docs/performance/insights/legacy-javascript)
555
+ description: Polyfills and transforms enable older browsers to use new JavaScript features. However, many aren’t necessary for modern browsers. Consider modifying your JavaScript build process to not transpile [Baseline](https://web.dev/articles/baseline-and-polyfills) features, unless you know you must support older browsers. [Learn why most sites can deploy ES6+ code without transpiling](https://developer.chrome.com/docs/performance/insights/legacy-javascript).
556
556
  relevant trace bounds: {min: 157423489126µs, max: 157426132225µs}
557
557
  estimated metric savings: FCP 0 ms, LCP 0 ms
558
558
  estimated wasted bytes: 126.9 kB
@@ -660,7 +660,7 @@ Available insights:
660
660
  estimated wasted bytes: 971.5 kB
661
661
  example question: What caching strategies can I apply to improve my page performance?
662
662
  - insight name: ImageDelivery
663
- description: Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size](https://developer.chrome.com/docs/performance/insights/image-delivery)
663
+ description: Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size](https://developer.chrome.com/docs/performance/insights/image-delivery).
664
664
  relevant trace bounds: {min: 59728701403µs, max: 59729395208µs}
665
665
  estimated metric savings: FCP 0 ms, LCP 100 ms
666
666
  estimated wasted bytes: 2 MB
@@ -673,7 +673,7 @@ Available insights:
673
673
  example question: Which LCP subpart was most problematic?
674
674
  example question: What can I do to reduce the LCP time for this page load?
675
675
  - insight name: LCPDiscovery
676
- description: [Optimize LCP](https://developer.chrome.com/docs/performance/insights/lcp-discovery) by making the LCP image discoverable from the HTML immediately, and avoiding lazy-loading
676
+ description: [Optimize LCP](https://developer.chrome.com/docs/performance/insights/lcp-discovery) by making the LCP image discoverable from the HTML immediately, and avoiding lazy-loading.
677
677
  relevant trace bounds: {min: 59728656735µs, max: 59729209036µs}
678
678
  example question: Suggest fixes to reduce my LCP
679
679
  example question: What can I do to reduce my LCP discovery time?
@@ -691,7 +691,7 @@ Available insights:
691
691
  example question: How do I decrease the initial loading time of my page?
692
692
  example question: Did anything slow down the request for this document?
693
693
  - insight name: Viewport
694
- description: Tap interactions may be [delayed by up to 300 ms](https://developer.chrome.com/docs/performance/insights/viewport) if the viewport is not optimized for mobile.
694
+ description: Tap interactions may be [delayed by up to 300 ms](https://developer.chrome.com/docs/performance/insights/viewport) if the viewport isn’t optimized for mobile.
695
695
  relevant trace bounds: {min: 59728649746µs, max: 59734400108µs}
696
696
  estimated metric savings: INP 0 ms
697
697
  example question: How do I make sure my page is optimized for mobile viewing?
@@ -744,7 +744,7 @@ Available insights:
744
744
  estimated wasted bytes: 971.5 kB
745
745
  example question: What caching strategies can I apply to improve my page performance?
746
746
  - insight name: ImageDelivery
747
- description: Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size](https://developer.chrome.com/docs/performance/insights/image-delivery)
747
+ description: Reducing the download time of images can improve the perceived load time of the page and LCP. [Learn more about optimizing image size](https://developer.chrome.com/docs/performance/insights/image-delivery).
748
748
  relevant trace bounds: {min: 59728701403µs, max: 59729395208µs}
749
749
  estimated metric savings: FCP 0 ms, LCP 100 ms
750
750
  estimated wasted bytes: 2 MB
@@ -757,7 +757,7 @@ Available insights:
757
757
  example question: Which LCP subpart was most problematic?
758
758
  example question: What can I do to reduce the LCP time for this page load?
759
759
  - insight name: LCPDiscovery
760
- description: [Optimize LCP](https://developer.chrome.com/docs/performance/insights/lcp-discovery) by making the LCP image discoverable from the HTML immediately, and avoiding lazy-loading
760
+ description: [Optimize LCP](https://developer.chrome.com/docs/performance/insights/lcp-discovery) by making the LCP image discoverable from the HTML immediately, and avoiding lazy-loading.
761
761
  relevant trace bounds: {min: 59728656735µs, max: 59729209036µs}
762
762
  example question: Suggest fixes to reduce my LCP
763
763
  example question: What can I do to reduce my LCP discovery time?
@@ -775,7 +775,7 @@ Available insights:
775
775
  example question: How do I decrease the initial loading time of my page?
776
776
  example question: Did anything slow down the request for this document?
777
777
  - insight name: Viewport
778
- description: Tap interactions may be [delayed by up to 300 ms](https://developer.chrome.com/docs/performance/insights/viewport) if the viewport is not optimized for mobile.
778
+ description: Tap interactions may be [delayed by up to 300 ms](https://developer.chrome.com/docs/performance/insights/viewport) if the viewport isn’t optimized for mobile.
779
779
  relevant trace bounds: {min: 59728649746µs, max: 59734400108µs}
780
780
  estimated metric savings: INP 0 ms
781
781
  example question: How do I make sure my page is optimized for mobile viewing?
@@ -11,6 +11,7 @@ import * as SDK from '../../core/sdk/sdk.js';
11
11
  import * as TextUtils from '../../core/text_utils/text_utils.js';
12
12
  import * as Protocol from '../../generated/protocol.js';
13
13
  import * as StackTrace from '../stack_trace/stack_trace.js';
14
+ // eslint-disable-next-line @devtools/es-modules-import
14
15
  import type * as StackTraceImpl from '../stack_trace/stack_trace_impl.js';
15
16
  import * as Workspace from '../workspace/workspace.js';
16
17
 
@@ -4,6 +4,7 @@
4
4
 
5
5
  import type * as Common from '../../core/common/common.js';
6
6
  import * as Platform from '../../core/platform/platform.js';
7
+ // eslint-disable-next-line @devtools/es-modules-import
7
8
  import type * as FormatterActions from '../../entrypoints/formatter_worker/FormatterActions.js';
8
9
 
9
10
  import {formatterWorkerPool} from './FormatterWorkerPool.js';
@@ -6718,6 +6718,10 @@ export const NativeFunctions = [
6718
6718
  name: "copyElementImageToTexture",
6719
6719
  signatures: [["source","destination"]]
6720
6720
  },
6721
+ {
6722
+ name: "drawElementImageToTexture",
6723
+ signatures: [["source","destination"]]
6724
+ },
6721
6725
  {
6722
6726
  name: "multiDrawIndirect",
6723
6727
  signatures: [["indirectBuffer","indirectOffset","maxDrawCount","?drawCountBuffer","?drawCountBufferOffset"]]
@@ -6806,6 +6810,10 @@ export const NativeFunctions = [
6806
6810
  name: "texElementImage2D",
6807
6811
  signatures: [["target","internalformat","element","?config"]]
6808
6812
  },
6813
+ {
6814
+ name: "texElementSubImage2D",
6815
+ signatures: [["target","level","xoffset","yoffset","element","?config"]]
6816
+ },
6809
6817
  {
6810
6818
  name: "drawingBufferStorage",
6811
6819
  signatures: [["sizedformat","width","height"]]
@@ -8148,7 +8156,7 @@ export const NativeFunctions = [
8148
8156
  },
8149
8157
  {
8150
8158
  name: "drawElementImage",
8151
- signatures: [["element","dx","dy","?dwidth","?dheight"],["element","sx","sy","swidth","sheight","dx","dy","?dwidth","?dheight"]]
8159
+ signatures: [["element","dx","dy","?options"],["element","dx","dy","dwidth","dheight","?options"],["element","sx","sy","swidth","sheight","dx","dy","?options"],["element","sx","sy","swidth","sheight","dx","dy","dwidth","dheight","?options"]]
8152
8160
  },
8153
8161
  {
8154
8162
  name: "CanvasFilter",
@@ -2,7 +2,7 @@
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
4
 
5
- import type {INPAttribution, Metric} from '../../../../third_party/web-vitals/web-vitals.js';
5
+ import type * as WebVitals from '../../../../third_party/web-vitals/web-vitals.js';
6
6
  import type * as Trace from '../../../trace/trace.js';
7
7
 
8
8
  export const EVENT_BINDING_NAME = '__chromium_devtools_metrics_reporter';
@@ -48,7 +48,7 @@ export interface ClsChangeEvent {
48
48
  export interface InpChangeEvent {
49
49
  name: 'INP';
50
50
  value: Trace.Types.Timing.Milli;
51
- interactionType: INPAttribution['interactionType'];
51
+ interactionType: WebVitals.INPAttribution['interactionType'];
52
52
  subparts: InpSubparts;
53
53
  startTime: number;
54
54
  entryGroupId: InteractionEntryGroupId;
@@ -95,7 +95,7 @@ export interface PerformanceLongAnimationFrameTimingJSON {
95
95
  */
96
96
  export interface InteractionEntryEvent {
97
97
  name: 'InteractionEntry';
98
- interactionType?: INPAttribution['interactionType'];
98
+ interactionType?: WebVitals.INPAttribution['interactionType'];
99
99
  eventName: string;
100
100
  entryGroupId: InteractionEntryGroupId;
101
101
  startTime: number;
@@ -107,7 +107,7 @@ export interface InteractionEntryEvent {
107
107
  longAnimationFrameEntries: PerformanceLongAnimationFrameTimingJSON[];
108
108
  }
109
109
 
110
- export type NavigationType = Metric['navigationType'];
110
+ export type NavigationType = WebVitals.Metric['navigationType'];
111
111
 
112
112
  export interface LayoutShiftEvent {
113
113
  name: 'LayoutShift';
@@ -19,6 +19,13 @@ const UIStrings = {
19
19
  const str_ = i18n.i18n.registerUIStrings('models/logs/NetworkLog.ts', UIStrings);
20
20
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
21
21
 
22
+ export const recordNetworkLogSettingDescriptor: Common.Settings.SettingDescriptor<boolean> = {
23
+ name: 'network-log.record-log',
24
+ type: Common.Settings.SettingType.BOOLEAN,
25
+ defaultValue: true,
26
+ storageType: Common.Settings.SettingStorageType.SESSION,
27
+ };
28
+
22
29
  export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper<EventTypes> implements
23
30
  SDK.TargetManager.SDKModelObserver<SDK.NetworkManager.NetworkManager> {
24
31
  #requests: SDK.NetworkRequest.NetworkRequest[] = [];
@@ -43,7 +50,7 @@ export class NetworkLog extends Common.ObjectWrapper.ObjectWrapper<EventTypes> i
43
50
  this.#settings = settings;
44
51
 
45
52
  this.#targetManager.observeModels(SDK.NetworkManager.NetworkManager, this);
46
- const recordLogSetting: Common.Settings.Setting<boolean> = this.#settings.moduleSetting('network-log.record-log');
53
+ const recordLogSetting = this.#settings.resolve(recordNetworkLogSettingDescriptor);
47
54
  recordLogSetting.addChangeListener(() => {
48
55
  const preserveLogSetting = this.#settings.resolve(SDK.SDKSettings.preserveNetworkLogSettingDescriptor);
49
56
  if (!preserveLogSetting.get() && recordLogSetting.get()) {
@@ -6,8 +6,7 @@ import * as Common from '../../core/common/common.js';
6
6
  import * as Host from '../../core/host/host.js';
7
7
  import type * as Platform from '../../core/platform/platform.js';
8
8
  import * as Root from '../../core/root/root.js';
9
- import type {ContentDataOrError} from '../../core/text_utils/ContentData.js';
10
- import type {SearchMatch} from '../../core/text_utils/ContentProvider.js';
9
+ import type * as TextUtils from '../../core/text_utils/text_utils.js';
11
10
  import * as Workspace from '../workspace/workspace.js';
12
11
 
13
12
  import {
@@ -20,6 +19,9 @@ import {
20
19
  type IsolatedFileSystemManager,
21
20
  } from './IsolatedFileSystemManager.js';
22
21
 
22
+ type ContentDataOrError = TextUtils.ContentData.ContentDataOrError;
23
+ type SearchMatch = TextUtils.ContentProvider.SearchMatch;
24
+
23
25
  /**
24
26
  * Placeholder project that acts as an empty file system within the workspace,
25
27
  * and automatically disappears when the user connects the automatic workspace
@@ -6,6 +6,7 @@ import * as Common from '../../core/common/common.js';
6
6
  import type * as SDK from '../../core/sdk/sdk.js';
7
7
  import type * as Workspace from '../workspace/workspace.js';
8
8
 
9
+ // eslint-disable-next-line @devtools/es-modules-import
9
10
  import type * as StackTrace from './stack_trace.js';
10
11
  import type {EvalOrigin, FrameNode, ParsedFrameInfo} from './Trie.js';
11
12
 
@@ -16,7 +16,7 @@ const UIStrings = {
16
16
  */
17
17
  anonymous: '(anonymous)',
18
18
  /**
19
- * @description Text used to show an EventDispatch event which has a type associated with it
19
+ * @description Text used to show an EventDispatch event which has a type associated with it.
20
20
  * @example {click} PH1
21
21
  */
22
22
  eventDispatchS: 'Event: {PH1}',
@@ -25,20 +25,20 @@ const UIStrings = {
25
25
  */
26
26
  frame: 'Frame',
27
27
  /**
28
- * @description Text in Timeline Flame Chart Data Provider of the Performance panel
28
+ * @description Text in the flame chart of the Performance panel.
29
29
  */
30
30
  wsConnectionOpened: 'WebSocket opened',
31
31
  /**
32
- * @description Text in Timeline Flame Chart Data Provider of the Performance panel
32
+ * @description Text in the flame chart of the Performance panel.
33
33
  * @example {ws://example.com} PH1
34
34
  */
35
35
  wsConnectionOpenedWithUrl: 'WebSocket opened: {PH1}',
36
36
  /**
37
- * @description Text in Timeline Flame Chart Data Provider of the Performance panel
37
+ * @description Text in the flame chart of the Performance panel.
38
38
  */
39
39
  wsConnectionClosed: 'WebSocket closed',
40
40
  /**
41
- * @description Text in Timeline Flame Chart Data Provider of the Performance panel
41
+ * @description Text in the flame chart of the Performance panel.
42
42
  */
43
43
  layoutShift: 'Layout shift',
44
44
  } as const;
@@ -606,6 +606,7 @@ export class TraceProcessor extends EventTarget {
606
606
  'missing metric scores for main frame',
607
607
  'missing metric: FCP',
608
608
  'missing metric: LCP',
609
+ 'NO_LCP',
609
610
  'No network requests found in trace',
610
611
  'Trace is too old',
611
612
  ];