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.
- package/WATCHLISTS +0 -4
- package/front_end/core/common/Settings.ts +0 -66
- package/front_end/core/root/Runtime.ts +0 -5
- package/front_end/core/sdk/CSSMetadata.ts +5 -9
- package/front_end/core/sdk/CSSPropertyParserMatchers.ts +8 -28
- package/front_end/core/sdk/DebuggerModel.ts +50 -30
- package/front_end/core/sdk/ResourceTreeModel.ts +20 -1
- package/front_end/core/sdk/Script.ts +9 -53
- package/front_end/entrypoints/heap_snapshot_worker/HeapSnapshot.ts +213 -23
- package/front_end/entrypoints/main/MainImpl.ts +31 -0
- package/front_end/generated/InspectorBackendCommands.ts +3 -1
- package/front_end/generated/SupportedCSSProperties.ts +21 -4
- package/front_end/generated/protocol-mapping.d.ts +14 -0
- package/front_end/generated/protocol-proxy-api.d.ts +10 -0
- package/front_end/generated/protocol.ts +35 -0
- package/front_end/models/ai_assistance/AiAgent2.ts +11 -0
- package/front_end/models/ai_assistance/AiConversation.ts +22 -5
- package/front_end/models/ai_assistance/README.md +52 -26
- package/front_end/models/ai_assistance/agents/AiAgent.ts +54 -8
- package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +1 -1
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +7 -194
- package/front_end/models/ai_assistance/agents/StorageAgent.ts +8 -87
- package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +2 -1
- package/front_end/models/ai_assistance/ai_assistance.ts +16 -0
- package/front_end/models/ai_assistance/contexts/PerformanceTraceContext.ts +124 -0
- package/front_end/models/ai_assistance/contexts/StorageContext.ts +111 -0
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +69 -1
- package/front_end/models/ai_assistance/skills/README.md +63 -1
- package/front_end/models/ai_assistance/skills/Skill.ts +1 -1
- package/front_end/models/ai_assistance/skills/SkillRegistry.ts +4 -0
- package/front_end/models/ai_assistance/skills/performance.md +8 -0
- package/front_end/models/ai_assistance/skills/sources.md +16 -0
- package/front_end/models/ai_assistance/skills/storage.md +31 -0
- package/front_end/models/ai_assistance/tools/GetSourceContent.ts +101 -0
- package/front_end/models/ai_assistance/tools/GetTraceEventByKey.ts +83 -0
- package/front_end/models/ai_assistance/tools/GetTraceMainThreadSummary.ts +106 -0
- package/front_end/models/ai_assistance/tools/GetTraceNetworkSummary.ts +104 -0
- package/front_end/models/ai_assistance/tools/ListPageOrigins.ts +81 -0
- package/front_end/models/ai_assistance/tools/ListSources.ts +116 -0
- package/front_end/models/ai_assistance/tools/SelectTraceEventByKey.ts +90 -0
- package/front_end/models/ai_assistance/tools/Tool.ts +22 -1
- package/front_end/models/ai_assistance/tools/ToolRegistry.ts +14 -0
- package/front_end/models/bindings/CSSWorkspaceBinding.ts +4 -0
- package/front_end/models/bindings/CompilerScriptMapping.ts +4 -0
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +8 -0
- package/front_end/models/bindings/ResourceScriptMapping.ts +3 -201
- package/front_end/models/bindings/SASSSourceMapping.ts +6 -0
- package/front_end/models/breakpoints/BreakpointManager.ts +2 -49
- package/front_end/models/heap_snapshot/HeapSnapshotModel.ts +27 -0
- package/front_end/models/heap_snapshot/HeapSnapshotProxy.ts +10 -2
- package/front_end/models/issues_manager/descriptions/connectionAllowlistEmbeddingRequirementNotSatisfied.md +26 -0
- package/front_end/models/issues_manager/descriptions/connectionAllowlistIFrameAttributeLoosensEmbeddingRequirement.md +19 -0
- package/front_end/models/issues_manager/descriptions/connectionAllowlistInvalidAllowConnectionAllowlistFrom.md +21 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +1 -1
- package/front_end/models/persistence/IsolatedFileSystem.ts +7 -8
- package/front_end/models/persistence/IsolatedFileSystemManager.ts +2 -2
- package/front_end/models/persistence/PlatformFileSystem.ts +1 -1
- package/front_end/models/persistence/persistence-meta.ts +9 -9
- package/front_end/models/trace/types/TraceEvents.ts +36 -0
- package/front_end/panels/accessibility/ARIAAttributesView.ts +3 -3
- package/front_end/panels/accessibility/AccessibilityNodeView.ts +36 -36
- package/front_end/panels/accessibility/AccessibilityStrings.ts +168 -168
- package/front_end/panels/accessibility/SourceOrderView.ts +7 -7
- package/front_end/panels/accessibility/accessibility-meta.ts +2 -2
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +5 -5
- package/front_end/panels/ai_assistance/components/AIv2MarkdownRenderer.ts +2 -3
- package/front_end/panels/ai_assistance/components/ChatInput.ts +2 -2
- package/front_end/panels/ai_assistance/components/ChatMessage.ts +27 -2
- package/front_end/panels/application/IndexedDBViews.ts +65 -63
- package/front_end/panels/application/WebMCPView.ts +16 -7
- package/front_end/panels/common/AiCodeCompletionSummaryToolbar.ts +5 -5
- package/front_end/panels/common/BadgeNotification.ts +8 -8
- package/front_end/panels/common/ExtensionServer.ts +21 -1
- package/front_end/panels/common/GdpSignUpDialog.ts +16 -16
- package/front_end/panels/common/GeminiRebrandPromoDialog.ts +5 -6
- package/front_end/panels/common/PersistenceUtils.ts +2 -2
- package/front_end/panels/common/common.ts +0 -97
- package/front_end/panels/console/ConsoleInsightTeaser.ts +2 -2
- package/front_end/panels/console/ConsolePinPane.ts +2 -2
- package/front_end/panels/console/ConsoleView.ts +20 -19
- package/front_end/panels/elements/LayoutPane.ts +2 -8
- package/front_end/panels/event_listeners/EventListenersView.ts +8 -4
- package/front_end/panels/issues/AffectedTrackingSitesView.ts +25 -14
- package/front_end/panels/media/PlayerMessagesView.ts +149 -68
- package/front_end/panels/network/NetworkPanel.ts +1 -1
- package/front_end/panels/network/RequestPayloadView.ts +1 -0
- package/front_end/panels/profiler/HeapSnapshotView.ts +0 -2
- package/front_end/panels/profiler/heapProfiler.css +0 -9
- package/front_end/panels/recorder/RecorderPanel.ts +2 -3
- package/front_end/panels/screencast/ScreencastView.ts +148 -138
- package/front_end/panels/sources/AiCodeCompletionPlugin.ts +2 -2
- package/front_end/panels/sources/DebuggerPlugin.ts +9 -58
- package/front_end/panels/sources/ScopeChainSidebarPane.ts +1 -1
- package/front_end/panels/sources/UISourceCodeFrame.ts +3 -8
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +4 -2
- package/front_end/panels/timeline/TimelineController.ts +36 -64
- package/front_end/panels/timeline/TimelinePanel.ts +11 -8
- package/front_end/panels/timeline/TimelineUIUtils.ts +5 -2
- package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +2 -2
- package/front_end/panels/timeline/timelinePanel.css +0 -10
- package/front_end/panels/utils/utils.ts +7 -7
- package/front_end/services/tracing/PerformanceTracing.ts +5 -17
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/third_party/codemirror.next/chunk/codemirror.js +1 -1
- package/front_end/third_party/codemirror.next/chunk/codemirror.js.map +1 -1
- package/front_end/third_party/codemirror.next/package.json +2 -2
- package/front_end/third_party/codemirror.next/rebuild.sh +4 -1
- package/front_end/ui/comments/CommentAnchorResolver.ts +436 -10
- package/front_end/ui/comments/CommentManager.ts +640 -0
- package/front_end/ui/comments/CommentsOverlayWidget.ts +121 -0
- package/front_end/ui/comments/comments.ts +4 -0
- package/front_end/ui/comments/commentsOverlay.css +49 -0
- package/front_end/{panels/common → ui/components/dialogs}/FreDialog.ts +6 -6
- package/front_end/ui/components/dialogs/TypeToAllowDialog.ts +96 -0
- package/front_end/ui/components/dialogs/dialogs.ts +4 -0
- package/front_end/ui/components/settings/SettingCheckbox.ts +3 -3
- package/front_end/{panels/common → ui/components/text_editor}/AiCodeCompletionDisclaimer.ts +13 -13
- package/front_end/ui/components/text_editor/AiCodeCompletionProvider.ts +7 -6
- package/front_end/{panels/common → ui/components/text_editor}/AiCodeCompletionTeaser.ts +43 -46
- package/front_end/ui/components/text_editor/AiCodeGenerationProvider.ts +22 -26
- package/front_end/{panels/common → ui/components/text_editor}/AiCodeGenerationTeaser.ts +10 -10
- package/front_end/{panels/common → ui/components/text_editor}/AiCodeGenerationUpgradeDialog.ts +5 -5
- package/front_end/ui/components/text_editor/text_editor.ts +4 -0
- package/front_end/ui/legacy/Toolbar.ts +1 -1
- package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +11 -3
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +270 -162
- package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +5 -0
- package/front_end/ui/legacy/components/quick_open/CommandMenu.ts +11 -16
- package/front_end/ui/legacy/components/settings_ui/SettingsUI.ts +5 -12
- package/front_end/ui/legacy/components/source_frame/JSONView.ts +8 -1
- package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +2 -2
- package/front_end/ui/settings/SettingUIRegistration.ts +55 -6
- package/front_end/ui/visual_logging/KnownContextValues.ts +1 -0
- package/mcp/mcp.ts +6 -1
- package/package.json +1 -1
- package/front_end/Images/toolbarResizerVertical.png +0 -0
- package/front_end/emulated_devices/MotoG4-landscape.svg +0 -155
- package/front_end/emulated_devices/MotoG4-portrait.svg +0 -155
- package/front_end/emulated_devices/Nexus5X-landscape.svg +0 -19
- package/front_end/emulated_devices/Nexus5X-portrait.svg +0 -19
- package/front_end/emulated_devices/Nexus6P-landscape.svg +0 -50
- package/front_end/emulated_devices/Nexus6P-portrait.svg +0 -54
- package/front_end/emulated_devices/google-nest-hub-horizontal.png +0 -0
- package/front_end/emulated_devices/google-nest-hub-max-horizontal.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-horizontal-default-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-horizontal-default-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-horizontal-keyboard-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-horizontal-keyboard-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-horizontal-navigation-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-horizontal-navigation-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-vertical-default-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-vertical-default-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-vertical-keyboard-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-vertical-keyboard-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-vertical-navigation-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5-vertical-navigation-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-horizontal-default-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-horizontal-default-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-horizontal-keyboard-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-horizontal-keyboard-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-horizontal-navigation-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-horizontal-navigation-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-vertical-default-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-vertical-default-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-vertical-keyboard-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-vertical-keyboard-2x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-vertical-navigation-1x.png +0 -0
- package/front_end/emulated_devices/google-nexus-5x-vertical-navigation-2x.png +0 -0
- package/front_end/emulated_devices/iPad-landscape.svg +0 -73
- package/front_end/emulated_devices/iPad-portrait.svg +0 -76
- package/front_end/emulated_devices/iPhone5-landscape.svg +0 -99
- package/front_end/emulated_devices/iPhone5-portrait.svg +0 -83
- package/front_end/emulated_devices/iPhone6-landscape.svg +0 -111
- package/front_end/emulated_devices/iPhone6-portrait.svg +0 -116
- package/front_end/emulated_devices/iPhone6Plus-landscape.svg +0 -118
- package/front_end/emulated_devices/iPhone6Plus-portrait.svg +0 -116
- package/front_end/emulated_devices/optimized/MotoG4-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/MotoG4-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/Nexus5X-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/Nexus5X-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/Nexus6P-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/Nexus6P-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/README.md +0 -9
- package/front_end/emulated_devices/optimized/google-nest-hub-horizontal.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nest-hub-max-horizontal.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-default-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-default-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-keyboard-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-navigation-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-horizontal-navigation-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-vertical-default-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-vertical-default-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-vertical-keyboard-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-vertical-keyboard-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-vertical-navigation-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5-vertical-navigation-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-default-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-default-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-keyboard-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-horizontal-navigation-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-default-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-default-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-keyboard-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-navigation-1x.avif +0 -0
- package/front_end/emulated_devices/optimized/google-nexus-5x-vertical-navigation-2x.avif +0 -0
- package/front_end/emulated_devices/optimized/iPad-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/iPad-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/iPhone5-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/iPhone5-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/iPhone6-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/iPhone6-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/iPhone6Plus-landscape.avif +0 -0
- package/front_end/emulated_devices/optimized/iPhone6Plus-portrait.avif +0 -0
- package/front_end/emulated_devices/optimized/optimized_images.gni +0 -53
- package/front_end/models/ai_assistance/agents/README.md +0 -136
- /package/front_end/{panels/common → ui/components/dialogs}/freDialog.css +0 -0
- /package/front_end/{panels/common/common.css → ui/components/dialogs/typeToAllowDialog.css} +0 -0
- /package/front_end/{panels/common → ui/components/text_editor}/aiCodeCompletionDisclaimer.css +0 -0
- /package/front_end/{panels/common → ui/components/text_editor}/aiCodeCompletionTeaser.css +0 -0
- /package/front_end/{panels/common → ui/components/text_editor}/aiCodeGenerationTeaser.css +0 -0
- /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
|
-
|
|
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
|
-
|
|
285
|
-
|
|
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
|
-
|
|
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
|
-
|
|
357
|
-
|
|
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
|
-
|
|
488
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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(
|
|
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().
|
|
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, {
|
|
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
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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:
|
|
4
|
+
Revision: 41b7a5e674af3d9fbf97c86ae90137b4086b253c
|
|
5
5
|
Update Mechanism: Manual (https://crbug.com/428069060)
|
|
6
6
|
License: BSD-3-Clause
|
|
7
7
|
License File: LICENSE
|