chrome-devtools-frontend 1.0.1675430 → 1.0.1676824

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 (225) hide show
  1. package/WATCHLISTS +0 -4
  2. package/front_end/core/common/Settings.ts +0 -66
  3. package/front_end/core/root/Runtime.ts +0 -5
  4. package/front_end/core/sdk/CSSMetadata.ts +5 -9
  5. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +8 -28
  6. package/front_end/core/sdk/DebuggerModel.ts +50 -30
  7. package/front_end/core/sdk/ResourceTreeModel.ts +20 -1
  8. package/front_end/core/sdk/Script.ts +9 -53
  9. package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +213 -23
  10. package/front_end/entrypoints/main/MainImpl.ts +31 -0
  11. package/front_end/generated/InspectorBackendCommands.ts +3 -1
  12. package/front_end/generated/SupportedCSSProperties.ts +21 -4
  13. package/front_end/generated/protocol-mapping.d.ts +14 -0
  14. package/front_end/generated/protocol-proxy-api.d.ts +10 -0
  15. package/front_end/generated/protocol.ts +35 -0
  16. package/front_end/models/ai_assistance/AiAgent2.ts +11 -0
  17. package/front_end/models/ai_assistance/AiConversation.ts +22 -5
  18. package/front_end/models/ai_assistance/README.md +52 -26
  19. package/front_end/models/ai_assistance/agents/AiAgent.ts +54 -8
  20. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +1 -1
  21. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +7 -194
  22. package/front_end/models/ai_assistance/agents/StorageAgent.ts +8 -87
  23. package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +2 -1
  24. package/front_end/models/ai_assistance/ai_assistance.ts +16 -0
  25. package/front_end/models/ai_assistance/contexts/PerformanceTraceContext.ts +124 -0
  26. package/front_end/models/ai_assistance/contexts/StorageContext.ts +111 -0
  27. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +69 -1
  28. package/front_end/models/ai_assistance/skills/README.md +63 -1
  29. package/front_end/models/ai_assistance/skills/Skill.ts +1 -1
  30. package/front_end/models/ai_assistance/skills/SkillRegistry.ts +4 -0
  31. package/front_end/models/ai_assistance/skills/performance.md +8 -0
  32. package/front_end/models/ai_assistance/skills/sources.md +16 -0
  33. package/front_end/models/ai_assistance/skills/storage.md +31 -0
  34. package/front_end/models/ai_assistance/tools/GetSourceContent.ts +101 -0
  35. package/front_end/models/ai_assistance/tools/GetTraceEventByKey.ts +83 -0
  36. package/front_end/models/ai_assistance/tools/GetTraceMainThreadSummary.ts +106 -0
  37. package/front_end/models/ai_assistance/tools/GetTraceNetworkSummary.ts +104 -0
  38. package/front_end/models/ai_assistance/tools/ListPageOrigins.ts +81 -0
  39. package/front_end/models/ai_assistance/tools/ListSources.ts +116 -0
  40. package/front_end/models/ai_assistance/tools/SelectTraceEventByKey.ts +90 -0
  41. package/front_end/models/ai_assistance/tools/Tool.ts +22 -1
  42. package/front_end/models/ai_assistance/tools/ToolRegistry.ts +14 -0
  43. package/front_end/models/bindings/CSSWorkspaceBinding.ts +4 -0
  44. package/front_end/models/bindings/CompilerScriptMapping.ts +4 -0
  45. package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +8 -0
  46. package/front_end/models/bindings/ResourceScriptMapping.ts +3 -201
  47. package/front_end/models/bindings/SASSSourceMapping.ts +6 -0
  48. package/front_end/models/breakpoints/BreakpointManager.ts +2 -49
  49. package/front_end/models/heap_snapshot/HeapSnapshotModel.ts +27 -0
  50. package/front_end/models/heap_snapshot/HeapSnapshotProxy.ts +10 -2
  51. package/front_end/models/issues_manager/descriptions/connectionAllowlistEmbeddingRequirementNotSatisfied.md +26 -0
  52. package/front_end/models/issues_manager/descriptions/connectionAllowlistIFrameAttributeLoosensEmbeddingRequirement.md +19 -0
  53. package/front_end/models/issues_manager/descriptions/connectionAllowlistInvalidAllowConnectionAllowlistFrom.md +21 -0
  54. package/front_end/models/javascript_metadata/NativeFunctions.js +1 -1
  55. package/front_end/models/persistence/IsolatedFileSystem.ts +7 -8
  56. package/front_end/models/persistence/IsolatedFileSystemManager.ts +2 -2
  57. package/front_end/models/persistence/PlatformFileSystem.ts +1 -1
  58. package/front_end/models/persistence/persistence-meta.ts +9 -9
  59. package/front_end/models/trace/types/TraceEvents.ts +36 -0
  60. package/front_end/panels/accessibility/ARIAAttributesView.ts +3 -3
  61. package/front_end/panels/accessibility/AccessibilityNodeView.ts +36 -36
  62. package/front_end/panels/accessibility/AccessibilityStrings.ts +168 -168
  63. package/front_end/panels/accessibility/SourceOrderView.ts +7 -7
  64. package/front_end/panels/accessibility/accessibility-meta.ts +2 -2
  65. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +5 -5
  66. package/front_end/panels/ai_assistance/components/AIv2MarkdownRenderer.ts +2 -3
  67. package/front_end/panels/ai_assistance/components/ChatInput.ts +2 -2
  68. package/front_end/panels/ai_assistance/components/ChatMessage.ts +27 -2
  69. package/front_end/panels/application/IndexedDBViews.ts +65 -63
  70. package/front_end/panels/application/WebMCPView.ts +16 -7
  71. package/front_end/panels/common/AiCodeCompletionSummaryToolbar.ts +5 -5
  72. package/front_end/panels/common/BadgeNotification.ts +8 -8
  73. package/front_end/panels/common/ExtensionServer.ts +21 -1
  74. package/front_end/panels/common/GdpSignUpDialog.ts +16 -16
  75. package/front_end/panels/common/GeminiRebrandPromoDialog.ts +5 -6
  76. package/front_end/panels/common/PersistenceUtils.ts +2 -2
  77. package/front_end/panels/common/common.ts +0 -97
  78. package/front_end/panels/console/ConsoleInsightTeaser.ts +2 -2
  79. package/front_end/panels/console/ConsolePinPane.ts +2 -2
  80. package/front_end/panels/console/ConsoleView.ts +20 -19
  81. package/front_end/panels/elements/LayoutPane.ts +2 -8
  82. package/front_end/panels/event_listeners/EventListenersView.ts +8 -4
  83. package/front_end/panels/issues/AffectedTrackingSitesView.ts +25 -14
  84. package/front_end/panels/media/PlayerMessagesView.ts +149 -68
  85. package/front_end/panels/network/NetworkPanel.ts +1 -1
  86. package/front_end/panels/network/RequestPayloadView.ts +1 -0
  87. package/front_end/panels/profiler/HeapSnapshotView.ts +0 -2
  88. package/front_end/panels/profiler/heapProfiler.css +0 -9
  89. package/front_end/panels/recorder/RecorderPanel.ts +2 -3
  90. package/front_end/panels/screencast/ScreencastView.ts +148 -138
  91. package/front_end/panels/sources/AiCodeCompletionPlugin.ts +2 -2
  92. package/front_end/panels/sources/DebuggerPlugin.ts +9 -58
  93. package/front_end/panels/sources/ScopeChainSidebarPane.ts +1 -1
  94. package/front_end/panels/sources/UISourceCodeFrame.ts +3 -8
  95. package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +4 -2
  96. package/front_end/panels/timeline/TimelineController.ts +36 -64
  97. package/front_end/panels/timeline/TimelinePanel.ts +11 -8
  98. package/front_end/panels/timeline/TimelineUIUtils.ts +5 -2
  99. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +2 -2
  100. package/front_end/panels/timeline/timelinePanel.css +0 -10
  101. package/front_end/panels/utils/utils.ts +7 -7
  102. package/front_end/services/tracing/PerformanceTracing.ts +5 -17
  103. package/front_end/third_party/chromium/README.chromium +1 -1
  104. package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
  105. package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
  106. package/front_end/third_party/codemirror.next/package.json +2 -2
  107. package/front_end/third_party/codemirror.next/rebuild.sh +4 -1
  108. package/front_end/ui/comments/CommentAnchorResolver.ts +436 -10
  109. package/front_end/ui/comments/CommentManager.ts +640 -0
  110. package/front_end/ui/comments/CommentsOverlayWidget.ts +121 -0
  111. package/front_end/ui/comments/comments.ts +4 -0
  112. package/front_end/ui/comments/commentsOverlay.css +49 -0
  113. package/front_end/{panels/common → ui/components/dialogs}/FreDialog.ts +6 -6
  114. package/front_end/ui/components/dialogs/TypeToAllowDialog.ts +96 -0
  115. package/front_end/ui/components/dialogs/dialogs.ts +4 -0
  116. package/front_end/ui/components/settings/SettingCheckbox.ts +3 -3
  117. package/front_end/{panels/common → ui/components/text_editor}/AiCodeCompletionDisclaimer.ts +13 -13
  118. package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +7 -6
  119. package/front_end/{panels/common → ui/components/text_editor}/AiCodeCompletionTeaser.ts +43 -46
  120. package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +22 -26
  121. package/front_end/{panels/common → ui/components/text_editor}/AiCodeGenerationTeaser.ts +10 -10
  122. package/front_end/{panels/common → ui/components/text_editor}/AiCodeGenerationUpgradeDialog.ts +5 -5
  123. package/front_end/ui/components/text_editor/text_editor.ts +4 -0
  124. package/front_end/ui/legacy/Toolbar.ts +1 -1
  125. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +11 -3
  126. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +270 -162
  127. package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +5 -0
  128. package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +11 -16
  129. package/front_end/ui/legacy/components/settings_ui/SettingsUI.ts +5 -12
  130. package/front_end/ui/legacy/components/source_frame/JSONView.ts +8 -1
  131. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +2 -2
  132. package/front_end/ui/settings/SettingUIRegistration.ts +55 -6
  133. package/front_end/ui/visual_logging/KnownContextValues.ts +1 -0
  134. package/mcp/mcp.ts +6 -1
  135. package/package.json +1 -1
  136. package/front_end/Images/toolbarResizerVertical.png +0 -0
  137. package/front_end/emulated_devices/MotoG4-landscape.svg +0 -155
  138. package/front_end/emulated_devices/MotoG4-portrait.svg +0 -155
  139. package/front_end/emulated_devices/Nexus5X-landscape.svg +0 -19
  140. package/front_end/emulated_devices/Nexus5X-portrait.svg +0 -19
  141. package/front_end/emulated_devices/Nexus6P-landscape.svg +0 -50
  142. package/front_end/emulated_devices/Nexus6P-portrait.svg +0 -54
  143. package/front_end/emulated_devices/google-nest-hub-horizontal.png +0 -0
  144. package/front_end/emulated_devices/google-nest-hub-max-horizontal.png +0 -0
  145. package/front_end/emulated_devices/google-nexus-5-horizontal-default-1x.png +0 -0
  146. package/front_end/emulated_devices/google-nexus-5-horizontal-default-2x.png +0 -0
  147. package/front_end/emulated_devices/google-nexus-5-horizontal-keyboard-1x.png +0 -0
  148. package/front_end/emulated_devices/google-nexus-5-horizontal-keyboard-2x.png +0 -0
  149. package/front_end/emulated_devices/google-nexus-5-horizontal-navigation-1x.png +0 -0
  150. package/front_end/emulated_devices/google-nexus-5-horizontal-navigation-2x.png +0 -0
  151. package/front_end/emulated_devices/google-nexus-5-vertical-default-1x.png +0 -0
  152. package/front_end/emulated_devices/google-nexus-5-vertical-default-2x.png +0 -0
  153. package/front_end/emulated_devices/google-nexus-5-vertical-keyboard-1x.png +0 -0
  154. package/front_end/emulated_devices/google-nexus-5-vertical-keyboard-2x.png +0 -0
  155. package/front_end/emulated_devices/google-nexus-5-vertical-navigation-1x.png +0 -0
  156. package/front_end/emulated_devices/google-nexus-5-vertical-navigation-2x.png +0 -0
  157. package/front_end/emulated_devices/google-nexus-5x-horizontal-default-1x.png +0 -0
  158. package/front_end/emulated_devices/google-nexus-5x-horizontal-default-2x.png +0 -0
  159. package/front_end/emulated_devices/google-nexus-5x-horizontal-keyboard-1x.png +0 -0
  160. package/front_end/emulated_devices/google-nexus-5x-horizontal-keyboard-2x.png +0 -0
  161. package/front_end/emulated_devices/google-nexus-5x-horizontal-navigation-1x.png +0 -0
  162. package/front_end/emulated_devices/google-nexus-5x-horizontal-navigation-2x.png +0 -0
  163. package/front_end/emulated_devices/google-nexus-5x-vertical-default-1x.png +0 -0
  164. package/front_end/emulated_devices/google-nexus-5x-vertical-default-2x.png +0 -0
  165. package/front_end/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png +0 -0
  166. package/front_end/emulated_devices/google-nexus-5x-vertical-keyboard-2x.png +0 -0
  167. package/front_end/emulated_devices/google-nexus-5x-vertical-navigation-1x.png +0 -0
  168. package/front_end/emulated_devices/google-nexus-5x-vertical-navigation-2x.png +0 -0
  169. package/front_end/emulated_devices/iPad-landscape.svg +0 -73
  170. package/front_end/emulated_devices/iPad-portrait.svg +0 -76
  171. package/front_end/emulated_devices/iPhone5-landscape.svg +0 -99
  172. package/front_end/emulated_devices/iPhone5-portrait.svg +0 -83
  173. package/front_end/emulated_devices/iPhone6-landscape.svg +0 -111
  174. package/front_end/emulated_devices/iPhone6-portrait.svg +0 -116
  175. package/front_end/emulated_devices/iPhone6Plus-landscape.svg +0 -118
  176. package/front_end/emulated_devices/iPhone6Plus-portrait.svg +0 -116
  177. package/front_end/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
  178. package/front_end/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
  179. package/front_end/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
  180. package/front_end/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
  181. package/front_end/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
  182. package/front_end/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
  183. package/front_end/emulated_devices/optimized/README.md +0 -9
  184. package/front_end/emulated_devices/optimized/google-nest-hub-horizontal.avif +0 -0
  185. package/front_end/emulated_devices/optimized/google-nest-hub-max-horizontal.avif +0 -0
  186. package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
  187. package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
  188. package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
  189. package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
  190. package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
  191. package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
  192. package/front_end/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
  193. package/front_end/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
  194. package/front_end/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
  195. package/front_end/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
  196. package/front_end/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
  197. package/front_end/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
  198. package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
  199. package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
  200. package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
  201. package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
  202. package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
  203. package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
  204. package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
  205. package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
  206. package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
  207. package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
  208. package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
  209. package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
  210. package/front_end/emulated_devices/optimized/iPad-landscape.avif +0 -0
  211. package/front_end/emulated_devices/optimized/iPad-portrait.avif +0 -0
  212. package/front_end/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
  213. package/front_end/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
  214. package/front_end/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
  215. package/front_end/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
  216. package/front_end/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
  217. package/front_end/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
  218. package/front_end/emulated_devices/optimized/optimized_images.gni +0 -53
  219. package/front_end/models/ai_assistance/agents/README.md +0 -136
  220. /package/front_end/{panels/common → ui/components/dialogs}/freDialog.css +0 -0
  221. /package/front_end/{panels/common/common.css → ui/components/dialogs/typeToAllowDialog.css} +0 -0
  222. /package/front_end/{panels/common → ui/components/text_editor}/aiCodeCompletionDisclaimer.css +0 -0
  223. /package/front_end/{panels/common → ui/components/text_editor}/aiCodeCompletionTeaser.css +0 -0
  224. /package/front_end/{panels/common → ui/components/text_editor}/aiCodeGenerationTeaser.css +0 -0
  225. /package/front_end/{panels/common → ui/components/text_editor}/aiCodeGenerationUpgradeDialog.css +0 -0
@@ -205,10 +205,6 @@ export class TimelineController implements Tracing.TracingManager.TracingManager
205
205
  }
206
206
 
207
207
  async startRecording(options: RecordingOptions): Promise<void> {
208
- function disabledByDefault(category: string): string {
209
- return 'disabled-by-default-' + category;
210
- }
211
-
212
208
  this.client.recordingStatus(i18nString(UIStrings.initializingTracing));
213
209
 
214
210
  // If we are doing "Reload & record", we first navigate the page to
@@ -220,51 +216,9 @@ export class TimelineController implements Tracing.TracingManager.TracingManager
220
216
  await this.#navigateToAboutBlank();
221
217
  }
222
218
 
223
- // The following categories are also used in other tools, but this panel
224
- // offers the possibility of turning them off (see below).
225
- // 'disabled-by-default-devtools.screenshot'
226
- // └ default: on, option: captureFilmStrip
227
- // 'disabled-by-default-devtools.timeline.invalidationTracking'
228
- // └ default: off, experiment: timelineInvalidationTracking
229
- // 'disabled-by-default-v8.cpu_profiler'
230
- // └ default: on, option: enableJSSampling
231
- const categoriesArray = [
232
- Common.Settings.Settings.instance().moduleSetting('timeline-show-all-events').get() ? '*' : '-*',
233
- Trace.Types.Events.Categories.Console,
234
- Trace.Types.Events.Categories.Loading,
235
- Trace.Types.Events.Categories.UserTiming,
236
- 'devtools.timeline',
237
- disabledByDefault('devtools.target-rundown'),
238
- disabledByDefault('devtools.timeline.frame'),
239
- disabledByDefault('devtools.timeline.stack'),
240
- disabledByDefault('devtools.timeline'),
241
- disabledByDefault('devtools.v8-source-rundown-sources'),
242
- disabledByDefault('devtools.v8-source-rundown'),
243
- disabledByDefault('layout_shift.debug'),
244
- // Looking for disabled-by-default-v8.compile? We disabled it: crbug.com/414330508.
245
- disabledByDefault('v8.inspector'),
246
- disabledByDefault('v8.cpu_profiler.hires'),
247
- disabledByDefault('lighthouse'),
248
- 'v8.execute',
249
- 'v8',
250
- 'cppgc',
251
- 'navigation,rail',
252
- ];
253
-
254
- if (options.enableJSSampling) {
255
- categoriesArray.push(disabledByDefault('v8.cpu_profiler'));
256
- }
257
- if (Common.Settings.Settings.instance().moduleSetting('timeline-invalidation-tracking').get() as boolean) {
258
- categoriesArray.push(disabledByDefault('devtools.timeline.invalidationTracking'));
259
- }
260
- if (options.capturePictures) {
261
- categoriesArray.push(
262
- disabledByDefault('devtools.timeline.layers'), disabledByDefault('devtools.timeline.picture'),
263
- disabledByDefault('blink.graphics_context_annotations'));
264
- }
219
+ const categoriesArray = this.#categoriesForRecording(options);
265
220
  const screenshotOptions: Tracing.TracingManager.TracingStartOptions = {};
266
221
  if (options.captureFilmStrip) {
267
- categoriesArray.push(disabledByDefault('devtools.screenshot'));
268
222
  if (options.screenshotMaxSize !== undefined) {
269
223
  screenshotOptions.screenshotMaxSize = options.screenshotMaxSize;
270
224
  }
@@ -272,17 +226,12 @@ export class TimelineController implements Tracing.TracingManager.TracingManager
272
226
  screenshotOptions.screenshotMaxCount = options.screenshotMaxCount;
273
227
  }
274
228
  }
275
- if (options.captureSelectorStats) {
276
- categoriesArray.push(disabledByDefault('blink.debug'));
277
- // enable invalidation nodes
278
- categoriesArray.push(disabledByDefault('devtools.timeline.invalidationTracking'));
279
- }
280
229
 
281
230
  await LiveMetrics.LiveMetrics.instance().disable();
282
231
 
283
- SDK.TargetManager.TargetManager.instance().addModelListener(
284
- SDK.ResourceTreeModel.ResourceTreeModel, SDK.ResourceTreeModel.Events.FrameNavigated, this.#onFrameNavigated,
285
- this);
232
+ SDK.TargetManager.TargetManager.instance().addModelListener(SDK.ResourceTreeModel.ResourceTreeModel,
233
+ SDK.ResourceTreeModel.Events.FrameNavigated,
234
+ this.#onFrameNavigated, this);
286
235
 
287
236
  this.#navigationUrls = [];
288
237
  this.#fieldData = null;
@@ -311,9 +260,8 @@ export class TimelineController implements Tracing.TracingManager.TracingManager
311
260
 
312
261
  const loadEvent = this.#navigateWithSDK(options.navigateToUrl);
313
262
  this.#statusChecker.add(i18nString(UIStrings.waitingForLoadEvent), loadEvent);
314
- this.#statusChecker.add(
315
- i18nString(UIStrings.waitingForLoadEventPlus5Seconds),
316
- loadEvent.then(() => new Promise(resolve => setTimeout(resolve, 5000))));
263
+ this.#statusChecker.add(i18nString(UIStrings.waitingForLoadEventPlus5Seconds),
264
+ loadEvent.then(() => new Promise(resolve => setTimeout(resolve, 5000))));
317
265
 
318
266
  this.#statusChecker.setListener(status => {
319
267
  if (status === null) {
@@ -352,9 +300,9 @@ export class TimelineController implements Tracing.TracingManager.TracingManager
352
300
  this.tracingManager.stop();
353
301
  }
354
302
 
355
- SDK.TargetManager.TargetManager.instance().removeModelListener(
356
- SDK.ResourceTreeModel.ResourceTreeModel, SDK.ResourceTreeModel.Events.FrameNavigated, this.#onFrameNavigated,
357
- this);
303
+ SDK.TargetManager.TargetManager.instance().removeModelListener(SDK.ResourceTreeModel.ResourceTreeModel,
304
+ SDK.ResourceTreeModel.Events.FrameNavigated,
305
+ this.#onFrameNavigated, this);
358
306
  SDK.TargetManager.TargetManager.instance().removeModelListener(
359
307
  SDK.ResourceTreeModel.ResourceTreeModel, SDK.ResourceTreeModel.Events.Load, this.#onLoadEventFired, this);
360
308
 
@@ -475,6 +423,30 @@ export class TimelineController implements Tracing.TracingManager.TracingManager
475
423
  eventsRetrievalProgress(progress: number): void {
476
424
  this.client.loadingProgress(progress);
477
425
  }
426
+
427
+ #categoriesForRecording(options: RecordingOptions): string[] {
428
+ const categoriesArray = [
429
+ Common.Settings.Settings.instance().moduleSetting('timeline-show-all-events').get() ? '*' : '-*',
430
+ ...Trace.Types.Events.DefaultCategories,
431
+ ];
432
+
433
+ if (options.enableJSSampling) {
434
+ categoriesArray.push(...Trace.Types.Events.OptionalCategories.JsSampling);
435
+ }
436
+ if (Common.Settings.Settings.instance().moduleSetting('timeline-invalidation-tracking').get() as boolean) {
437
+ categoriesArray.push(...Trace.Types.Events.OptionalCategories.InvalidationTracking);
438
+ }
439
+ if (options.capturePictures) {
440
+ categoriesArray.push(...Trace.Types.Events.OptionalCategories.AdvancedPaint);
441
+ }
442
+ if (options.captureFilmStrip) {
443
+ categoriesArray.push(...Trace.Types.Events.OptionalCategories.Screenshot);
444
+ }
445
+ if (options.captureSelectorStats) {
446
+ categoriesArray.push(...Trace.Types.Events.OptionalCategories.CssSelectorStats);
447
+ }
448
+ return categoriesArray;
449
+ }
478
450
  }
479
451
 
480
452
  export interface Client {
@@ -483,9 +455,9 @@ export interface Client {
483
455
  loadingStarted(): void;
484
456
  processingStarted(): void;
485
457
  loadingProgress(progress?: number): void;
486
- loadingComplete(
487
- collectedEvents: Trace.Types.Events.Event[], exclusiveFilter: Trace.Extras.TraceFilter.TraceFilter|null,
488
- metadata: Trace.Types.File.MetaData|null): Promise<void>;
458
+ loadingComplete(collectedEvents: Trace.Types.Events.Event[],
459
+ exclusiveFilter: Trace.Extras.TraceFilter.TraceFilter|null,
460
+ metadata: Trace.Types.File.MetaData|null): Promise<void>;
489
461
  loadingCompleteForTest(): void;
490
462
  }
491
463
  export interface RecordingOptions {
@@ -58,6 +58,7 @@ import * as PerfUI from '../../ui/legacy/components/perf_ui/perf_ui.js';
58
58
  import * as SettingsUI from '../../ui/legacy/components/settings_ui/settings_ui.js';
59
59
  import * as UI from '../../ui/legacy/legacy.js';
60
60
  import * as ThemeSupport from '../../ui/legacy/theme_support/theme_support.js';
61
+ import * as SettingUIRegistration from '../../ui/settings/settings.js';
61
62
  import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
62
63
  import * as MobileThrottling from '../mobile_throttling/mobile_throttling.js';
63
64
 
@@ -1326,8 +1327,8 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
1326
1327
  MobileThrottling.CPUThrottlingSelector.CPUThrottlingSelector.createForGlobalConditions(cpuThrottlingPane);
1327
1328
 
1328
1329
  this.settingsPane.append(SettingsUI.SettingsUI.createSettingCheckbox(
1329
- this.captureSelectorStatsSetting.title(), this.captureSelectorStatsSetting,
1330
- i18nString(UIStrings.capturesSelectorStats)));
1330
+ SettingUIRegistration.SettingUIRegistration.resolve(this.captureSelectorStatsSetting.descriptor()).title,
1331
+ this.captureSelectorStatsSetting, i18nString(UIStrings.capturesSelectorStats)));
1331
1332
 
1332
1333
  const networkThrottlingPane = this.settingsPane.createChild('div');
1333
1334
  networkThrottlingPane.append(i18nString(UIStrings.network));
@@ -1337,17 +1338,18 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
1337
1338
  );
1338
1339
 
1339
1340
  this.settingsPane.append(SettingsUI.SettingsUI.createSettingCheckbox(
1340
- this.captureLayersAndPicturesSetting.title(), this.captureLayersAndPicturesSetting,
1341
- i18nString(UIStrings.capturesAdvancedPaint)));
1341
+ SettingUIRegistration.SettingUIRegistration.resolve(this.captureLayersAndPicturesSetting.descriptor()).title,
1342
+ this.captureLayersAndPicturesSetting, i18nString(UIStrings.capturesAdvancedPaint)));
1342
1343
 
1343
1344
  this.settingsPane.append(SettingsUI.SettingsUI.createSettingCheckbox(
1344
- this.disableCaptureJSProfileSetting.title(), this.disableCaptureJSProfileSetting,
1345
- i18nString(UIStrings.disablesJavascriptSampling)));
1345
+ SettingUIRegistration.SettingUIRegistration.resolve(this.disableCaptureJSProfileSetting.descriptor()).title,
1346
+ this.disableCaptureJSProfileSetting, i18nString(UIStrings.disablesJavascriptSampling)));
1346
1347
 
1347
1348
  const screenshotPresetSelect = new UI.Toolbar.ToolbarComboBox(
1348
1349
  () =>
1349
1350
  this.screenshotCaptureModeSetting.set((screenshotPresetSelect.selectedOption() as HTMLOptionElement).value),
1350
- this.screenshotCaptureModeSetting.title(), '', 'screenshot-capture-mode');
1351
+ SettingUIRegistration.SettingUIRegistration.resolve(this.screenshotCaptureModeSetting.descriptor()).title, '',
1352
+ 'screenshot-capture-mode');
1351
1353
  let selectedScreenshotPresetIndex = 0;
1352
1354
  for (let i = 0; i < SCREENSHOT_CAPTURE_PRESETS.length; ++i) {
1353
1355
  const preset = SCREENSHOT_CAPTURE_PRESETS[i];
@@ -1359,7 +1361,8 @@ export class TimelinePanel extends Common.ObjectWrapper.eventMixin<EventTypes, t
1359
1361
  }
1360
1362
  screenshotPresetSelect.setSelectedIndex(selectedScreenshotPresetIndex);
1361
1363
  const screenshotPresetPane = this.settingsPane.createChild('div');
1362
- screenshotPresetPane.append(this.screenshotCaptureModeSetting.title());
1364
+ screenshotPresetPane.append(
1365
+ SettingUIRegistration.SettingUIRegistration.resolve(this.screenshotCaptureModeSetting.descriptor()).title);
1363
1366
  screenshotPresetPane.append(screenshotPresetSelect.element);
1364
1367
  // Surface the dropdown only when the "Screenshots" checkbox is on, since the
1365
1368
  // preset only affects the screenshots captured during the recording.
@@ -61,6 +61,7 @@ import * as LegacyComponents from '../../ui/legacy/components/utils/utils.js';
61
61
  import * as UI from '../../ui/legacy/legacy.js';
62
62
  import * as ThemeSupport from '../../ui/legacy/theme_support/theme_support.js';
63
63
  import {html, render} from '../../ui/lit/lit.js';
64
+ import * as SettingUIRegistration from '../../ui/settings/settings.js';
64
65
  import * as PanelsCommon from '../common/common.js';
65
66
 
66
67
  import {getDurationString} from './AppenderUtils.js';
@@ -1278,10 +1279,12 @@ export class TimelineUIUtils {
1278
1279
  contentHelper.appendTextRow(i18nString(UIStrings.elementsAffected), unsafeEventArgs['elementCount']);
1279
1280
 
1280
1281
  const selectorStatsSetting =
1281
- Common.Settings.Settings.instance().createSetting('timeline-capture-selector-stats', false);
1282
+ Common.Settings.Settings.instance().moduleSetting('timeline-capture-selector-stats');
1282
1283
  if (!selectorStatsSetting.get()) {
1283
1284
  const note = document.createElement('span');
1284
- note.textContent = i18nString(UIStrings.sSelectorStatsInfo, {PH1: selectorStatsSetting.title()});
1285
+ note.textContent = i18nString(UIStrings.sSelectorStatsInfo, {
1286
+ PH1: SettingUIRegistration.SettingUIRegistration.resolve(selectorStatsSetting.descriptor()).title,
1287
+ });
1285
1288
  contentHelper.appendElementRow(i18nString(UIStrings.selectorStatsTitle), note);
1286
1289
  }
1287
1290
 
@@ -14,13 +14,13 @@ import * as Platform from '../../../../core/platform/platform.js';
14
14
  import * as Root from '../../../../core/root/root.js';
15
15
  import * as AiAssistanceModels from '../../../../models/ai_assistance/ai_assistance.js';
16
16
  import * as Buttons from '../../../../ui/components/buttons/buttons.js';
17
+ import * as Dialogs from '../../../../ui/components/dialogs/dialogs.js';
17
18
  import * as ComponentHelpers from '../../../../ui/components/helpers/helpers.js';
18
19
  import * as UIHelpers from '../../../../ui/helpers/helpers.js';
19
20
  import * as UI from '../../../../ui/legacy/legacy.js';
20
21
  import * as ThemeSupport from '../../../../ui/legacy/theme_support/theme_support.js';
21
22
  import * as Lit from '../../../../ui/lit/lit.js';
22
23
  import * as VisualLogging from '../../../../ui/visual_logging/visual_logging.js';
23
- import * as PanelCommon from '../../../common/common.js';
24
24
 
25
25
  import entryLabelOverlayStyles from './entryLabelOverlay.css.js';
26
26
 
@@ -568,7 +568,7 @@ export class EntryLabelOverlay extends HTMLElement {
568
568
  */
569
569
  async #showUserAiFirstRunDialog(): Promise<boolean> {
570
570
  this.dispatchEvent(new LabelAnnotationsConsentDialogVisibilityChange(true));
571
- const userConsented = await PanelCommon.FreDialog.show({
571
+ const userConsented = await Dialogs.FreDialog.FreDialog.show({
572
572
  ariaLabel: i18nString(UIStrings.freDialog),
573
573
  header: {iconName: 'pen-spark', text: lockedString(UIStringsNotTranslate.freDisclaimerHeader)},
574
574
  reminderItems: [
@@ -151,16 +151,6 @@
151
151
  justify-content: space-between;
152
152
  }
153
153
 
154
- #memory-graphs-container .timeline-memory-header::after {
155
- content: "";
156
- /* stylelint-disable-next-line custom-property-pattern */
157
- background-image: var(--image-file-toolbarResizerVertical);
158
- background-repeat: no-repeat;
159
- background-position: right center, center;
160
- flex: 20px 0 0;
161
- margin: 0 4px;
162
- }
163
-
164
154
  .timeline-memory-toolbar {
165
155
  flex-shrink: 1;
166
156
  }
@@ -21,35 +21,35 @@ const {ref, styleMap, ifDefined} = Directives;
21
21
 
22
22
  const UIStrings = {
23
23
  /**
24
- * @description Tooltip to explain the resource's overridden status
24
+ * @description Tooltip to explain the resource's overridden status.
25
25
  */
26
26
  requestContentHeadersOverridden: 'Both request content and headers are overridden',
27
27
  /**
28
- * @description Tooltip to explain the resource's overridden status
28
+ * @description Tooltip to explain the resource's overridden status.
29
29
  */
30
30
  requestContentOverridden: 'Request content is overridden',
31
31
  /**
32
- * @description Tooltip to explain the resource's overridden status
32
+ * @description Tooltip to explain the resource's overridden status.
33
33
  */
34
34
  requestHeadersOverridden: 'Request headers are overridden',
35
35
  /**
36
- * @description Tooltip to explain why the request has warning icon
36
+ * @description Tooltip to explain why the request has a warning icon.
37
37
  */
38
38
  thirdPartyPhaseout:
39
39
  'Cookies for this request are blocked either because of Chrome flags or browser configuration. Learn more in the Issues panel.',
40
40
  /**
41
- * @description Tooltip to explain that a request was throttled
41
+ * @description Tooltip to explain that a request was throttled.
42
42
  * @example {Image} PH1
43
43
  * @example {3G} PH2
44
44
  */
45
45
  resourceTypeWithThrottling: '{PH1} (throttled to {PH2})',
46
46
  /**
47
- * @description Tooltip for a failed request
47
+ * @description Tooltip for a failed request.
48
48
  * @example {Document} PH1
49
49
  */
50
50
  requestFailed: '{PH1} request failed',
51
51
  /**
52
- * @description Tooltip for a failed request
52
+ * @description Tooltip for a failed prefetch request.
53
53
  * @example {Document} PH1
54
54
  */
55
55
  prefetchFailed: '{PH1} prefetch request failed',
@@ -3,6 +3,7 @@
3
3
  // found in the LICENSE file.
4
4
 
5
5
  import type * as SDK from '../../core/sdk/sdk.js';
6
+ import * as Trace from '../../models/trace/trace.js';
6
7
 
7
8
  import {TracingManager, type TracingManagerClient} from './TracingManager.js';
8
9
 
@@ -24,26 +25,13 @@ export class PerformanceTracing implements TracingManagerClient {
24
25
  }
25
26
 
26
27
  // This panel may be opened with trace data recorded in other tools.
27
- // Keep in sync with the categories arrays in:
28
- // https://source.chromium.org/chromium/chromium/src/+/main:third_party/devtools-frontend/src/front_end/panels/timeline/TimelineController.ts
29
- // https://github.com/GoogleChrome/lighthouse/blob/master/lighthouse-core/gather/gatherers/trace.js
30
28
  const categories = [
31
29
  '-*',
32
- 'blink.console',
33
- 'blink.user_timing',
34
- 'devtools.timeline',
35
- 'disabled-by-default-devtools.screenshot',
36
- 'disabled-by-default-devtools.timeline',
37
- 'disabled-by-default-devtools.timeline.invalidationTracking',
38
- 'disabled-by-default-devtools.timeline.frame',
39
- 'disabled-by-default-devtools.timeline.stack',
40
- 'disabled-by-default-v8.cpu_profiler',
41
- 'disabled-by-default-v8.cpu_profiler.hires',
30
+ ...Trace.Types.Events.DefaultCategories,
31
+ ...Trace.Types.Events.OptionalCategories.JsSampling,
32
+ ...Trace.Types.Events.OptionalCategories.Screenshot,
33
+ ...Trace.Types.Events.OptionalCategories.InvalidationTracking,
42
34
  'latencyInfo',
43
- 'loading',
44
- 'disabled-by-default-lighthouse',
45
- 'v8.execute',
46
- 'v8',
47
35
  ].join(',');
48
36
 
49
37
  const started = await this.#tracingManager.start(this, categories);
@@ -1,7 +1,7 @@
1
1
  Name: Dependencies sourced from the upstream `chromium` repository
2
2
  URL: Internal
3
3
  Version: N/A
4
- Revision: cd73d963934f9330aa868dcc05bbce063513294b
4
+ Revision: 41b7a5e674af3d9fbf97c86ae90137b4086b253c
5
5
  Update Mechanism: Manual (https://crbug.com/428069060)
6
6
  License: BSD-3-Clause
7
7
  License File: LICENSE