chrome-devtools-frontend 1.0.1539972 → 1.0.1541169
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/eslint.config.mjs +167 -151
- package/front_end/core/common/Revealer.ts +5 -0
- package/front_end/core/host/InspectorFrontendHost.ts +10 -10
- package/front_end/core/sdk/NetworkManager.ts +16 -11
- package/front_end/core/sdk/sdk-meta.ts +0 -35
- package/front_end/entrypoints/shell/shell.ts +1 -0
- package/front_end/entrypoints/trace_app/trace_app.ts +1 -0
- package/front_end/generated/InspectorBackendCommands.ts +6 -3
- package/front_end/generated/SupportedCSSProperties.js +13 -0
- package/front_end/generated/protocol.ts +58 -2
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +121 -56
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +104 -62
- package/front_end/models/ai_assistance/performance/AIQueries.ts +56 -2
- package/front_end/{panels/issues → models/issues_manager}/IssueAggregator.ts +83 -65
- package/front_end/models/issues_manager/issues_manager.ts +2 -0
- package/front_end/models/trace/Processor.ts +5 -4
- package/front_end/models/trace/insights/types.ts +1 -1
- package/front_end/models/trace/types/TraceEvents.ts +1 -1
- package/front_end/models/workspace/IgnoreListManager.ts +41 -47
- package/front_end/models/workspace/workspace-meta.ts +40 -0
- package/front_end/panels/animation/AnimationTimeline.ts +4 -4
- package/front_end/panels/animation/AnimationUI.ts +28 -34
- package/front_end/panels/elements/ElementsTreeElement.ts +37 -9
- package/front_end/panels/elements/LayoutPane.ts +2 -2
- package/front_end/panels/elements/components/AdornerManager.ts +9 -9
- package/front_end/panels/elements/layoutPane.css +5 -9
- package/front_end/panels/event_listeners/EventListenersView.ts +1 -1
- package/front_end/panels/explain/components/ConsoleInsight.ts +498 -449
- package/front_end/panels/issues/AffectedResourcesView.ts +3 -4
- package/front_end/panels/issues/CorsIssueDetailsView.ts +1 -2
- package/front_end/panels/issues/IssueView.ts +1 -1
- package/front_end/panels/issues/IssuesPane.ts +12 -15
- package/front_end/panels/issues/issues.ts +0 -2
- package/front_end/panels/network/NetworkDataGridNode.ts +2 -1
- package/front_end/panels/network/RequestConditionsDrawer.ts +149 -46
- package/front_end/panels/network/RequestTimingView.ts +13 -8
- package/front_end/panels/network/network-meta.ts +11 -0
- package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +1 -1
- package/front_end/panels/sources/DebuggerPlugin.ts +1 -1
- package/front_end/panels/sources/WatchExpressionsSidebarPane.ts +1 -1
- package/front_end/panels/sources/breakpointsView.css +1 -1
- package/front_end/panels/sources/sourcesPanel.css +2 -2
- package/front_end/panels/timeline/TimelineFlameChartView.ts +3 -3
- package/front_end/panels/timeline/TimelinePanel.ts +3 -3
- package/front_end/panels/timeline/components/LayoutShiftDetails.ts +16 -10
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +2 -0
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/components/markdown_view/MarkdownView.ts +1 -0
- package/front_end/ui/components/snackbars/Snackbars.docs.ts +46 -0
- package/front_end/ui/{components/docs/context_menu/basic.ts → legacy/ContextMenu.docs.ts} +58 -25
- package/front_end/ui/legacy/UIUtils.ts +2 -1
- package/front_end/ui/legacy/components/inline_editor/BezierEditor.ts +1 -1
- package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +105 -92
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +3 -3
- package/front_end/ui/legacy/components/perf_ui/pieChart.css +1 -1
- package/front_end/ui/legacy/components/utils/Linkifier.ts +1 -1
- package/front_end/ui/legacy/inspectorCommon.css +3 -2
- package/mcp/mcp.ts +15 -1
- package/package.json +2 -1
- package/front_end/ui/components/docs/context_menu/basic.html +0 -45
- package/front_end/ui/components/docs/linkifier/simple-url.html +0 -25
- package/front_end/ui/components/docs/linkifier/simple-url.ts +0 -25
- package/front_end/ui/components/docs/panel_feedback/basic.html +0 -25
- package/front_end/ui/components/docs/panel_feedback/basic.ts +0 -21
- package/front_end/ui/components/docs/panel_feedback/button.html +0 -25
- package/front_end/ui/components/docs/panel_feedback/button.ts +0 -19
- package/front_end/ui/components/docs/panel_introduction_steps/basic.html +0 -25
- package/front_end/ui/components/docs/panel_introduction_steps/basic.ts +0 -28
- package/front_end/ui/components/docs/perf_piechart/basic-with-legend.html +0 -20
- package/front_end/ui/components/docs/perf_piechart/basic-with-legend.ts +0 -20
- package/front_end/ui/components/docs/perf_piechart/basic-without-legend.html +0 -20
- package/front_end/ui/components/docs/perf_piechart/basic-without-legend.ts +0 -18
- package/front_end/ui/components/docs/snackbars/basic.html +0 -17
- package/front_end/ui/components/docs/snackbars/basic.ts +0 -50
|
@@ -26,6 +26,10 @@ const UIStrings = {
|
|
|
26
26
|
* @description The UI destination when right clicking an item that can be revealed
|
|
27
27
|
*/
|
|
28
28
|
networkPanel: 'Network panel',
|
|
29
|
+
/**
|
|
30
|
+
* @description The UI destination when right clicking an item that can be revealed
|
|
31
|
+
*/
|
|
32
|
+
requestConditionsDrawer: 'Request conditions drawer',
|
|
29
33
|
/**
|
|
30
34
|
* @description The UI destination when right clicking an item that can be revealed
|
|
31
35
|
*/
|
|
@@ -181,6 +185,7 @@ export const RevealerDestination = {
|
|
|
181
185
|
CHANGES_DRAWER: i18nLazyString(UIStrings.changesDrawer),
|
|
182
186
|
ISSUES_VIEW: i18nLazyString(UIStrings.issuesView),
|
|
183
187
|
NETWORK_PANEL: i18nLazyString(UIStrings.networkPanel),
|
|
188
|
+
REQUEST_CONDITIONS_DRAWER: i18nLazyString(UIStrings.requestConditionsDrawer),
|
|
184
189
|
TIMELINE_PANEL: i18nLazyString(UIStrings.timelinePanel),
|
|
185
190
|
APPLICATION_PANEL: i18nLazyString(UIStrings.applicationPanel),
|
|
186
191
|
SOURCES_PANEL: i18nLazyString(UIStrings.sourcesPanel),
|
|
@@ -491,19 +491,19 @@ export class InspectorFrontendHostStub implements InspectorFrontendHostAPI {
|
|
|
491
491
|
* Whereas in **Non-hosted** (aka "embedded"), DevTools is embedded and fully dockable. It's the common way DevTools is run.
|
|
492
492
|
*
|
|
493
493
|
* **Hosted mode** == we're using the `InspectorFrontendHostStub`. impl. (@see `InspectorFrontendHostStub` class comment)
|
|
494
|
-
* Whereas with **non-hosted** mode, native `DevToolsEmbedderMessageDispatcher` is used for CDP and more.
|
|
494
|
+
* Whereas with **non-hosted** mode, native `DevToolsEmbedderMessageDispatcher` is used for CDP and more. `globalThis.DevToolsAPI` is present.
|
|
495
495
|
*
|
|
496
496
|
* Relationships to other signals:
|
|
497
|
-
* - Hosted-ness does not indicate whether the frontend is _connected to a valid CDP target_.
|
|
498
|
-
* - Being _"dockable"_ (aka `canDock`) is typically aligned but technically orthogonal.
|
|
499
|
-
* -
|
|
497
|
+
* - _Connection_: Hosted-ness does not indicate whether the frontend is _connected to a valid CDP target_.
|
|
498
|
+
* - _Dockability_: Being _"dockable"_ (aka `canDock`) is typically aligned but technically orthogonal.
|
|
499
|
+
* - _URL scheme_: If the main frame's URL scheme is `devtools://`, it's non-hosted.
|
|
500
500
|
*
|
|
501
|
-
* | Example case
|
|
502
|
-
* |
|
|
503
|
-
* | tab URL:
|
|
504
|
-
* | tab URL: `devtools://…?ws=…` | **Hosted**
|
|
505
|
-
* | tab URL: `devtools://…` but no connection | **Hosted**
|
|
506
|
-
* | tab URL: `https://…` but no connection | **Hosted** | `https://chrome-devtools-frontend.appspot.com/serve_rev/@.../
|
|
501
|
+
* | Example case | Mode | Example devtools |
|
|
502
|
+
* | :------------------------------------------ | :------------- | :---------------------------------------------------------------------------- |
|
|
503
|
+
* | tab URL: `devtools://…` | **NOT Hosted** | `devtools://devtools/bundled/devtools_app.html?targetType=tab&...` |
|
|
504
|
+
* | tab URL: `devtools://…?ws=…` | **NOT Hosted** | `devtools://devtools/bundled/devtools_app.html?ws=localhost:9228/...` |
|
|
505
|
+
* | tab URL: `devtools://…` but no connection | **NOT Hosted** | `devtools://devtools/bundled/trace_app.html` |
|
|
506
|
+
* | tab URL: `https://…` but no connection | **Hosted** | `https://chrome-devtools-frontend.appspot.com/serve_rev/@.../trace_app.html` |
|
|
507
507
|
* | tab URL: `http://…?ws=` (connected) | **Hosted** | `http://localhost:9222/devtools/inspector.html?ws=localhost:9222/...` |
|
|
508
508
|
*/
|
|
509
509
|
isHostedMode(): boolean {
|
|
@@ -1812,7 +1812,7 @@ export class RequestConditions extends Common.ObjectWrapper.ObjectWrapper<Reques
|
|
|
1812
1812
|
}
|
|
1813
1813
|
|
|
1814
1814
|
Platform.ArrayUtilities.swap(this.#conditions, index, index + 1);
|
|
1815
|
-
this
|
|
1815
|
+
this.#conditionsChanged();
|
|
1816
1816
|
}
|
|
1817
1817
|
|
|
1818
1818
|
increasePriority(condition: RequestCondition): void {
|
|
@@ -1822,7 +1822,7 @@ export class RequestConditions extends Common.ObjectWrapper.ObjectWrapper<Reques
|
|
|
1822
1822
|
}
|
|
1823
1823
|
|
|
1824
1824
|
Platform.ArrayUtilities.swap(this.#conditions, index - 1, index);
|
|
1825
|
-
this
|
|
1825
|
+
this.#conditionsChanged();
|
|
1826
1826
|
}
|
|
1827
1827
|
|
|
1828
1828
|
delete(condition: RequestCondition): void {
|
|
@@ -1939,11 +1939,13 @@ export class RequestConditions extends Common.ObjectWrapper.ObjectWrapper<Reques
|
|
|
1939
1939
|
return this.#conditionsAppliedForTestPromise;
|
|
1940
1940
|
}
|
|
1941
1941
|
|
|
1942
|
-
conditionsForId(appliedNetworkConditionsId: string): {
|
|
1943
|
-
|
|
1944
|
-
|
|
1945
|
-
|
|
1946
|
-
|
|
1942
|
+
conditionsForId(appliedNetworkConditionsId: string): AppliedNetworkConditions|undefined {
|
|
1943
|
+
const requestConditions = this.#requestConditionsById.get(appliedNetworkConditionsId);
|
|
1944
|
+
if (!requestConditions) {
|
|
1945
|
+
return undefined;
|
|
1946
|
+
}
|
|
1947
|
+
const {conditions, urlPattern} = requestConditions;
|
|
1948
|
+
return new AppliedNetworkConditions(conditions, appliedNetworkConditionsId, urlPattern);
|
|
1947
1949
|
}
|
|
1948
1950
|
}
|
|
1949
1951
|
|
|
@@ -1958,6 +1960,12 @@ export namespace RequestConditions {
|
|
|
1958
1960
|
|
|
1959
1961
|
let multiTargetNetworkManagerInstance: MultitargetNetworkManager|null;
|
|
1960
1962
|
|
|
1963
|
+
export class AppliedNetworkConditions {
|
|
1964
|
+
constructor(
|
|
1965
|
+
readonly conditions: Conditions, readonly appliedNetworkConditionsId: string, readonly urlPattern?: string) {
|
|
1966
|
+
}
|
|
1967
|
+
}
|
|
1968
|
+
|
|
1961
1969
|
export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrapper<MultitargetNetworkManager.EventTypes>
|
|
1962
1970
|
implements SDKModelObserver<NetworkManager> {
|
|
1963
1971
|
#userAgentOverride = '';
|
|
@@ -2327,10 +2335,7 @@ export class MultitargetNetworkManager extends Common.ObjectWrapper.ObjectWrappe
|
|
|
2327
2335
|
}, allowRemoteFilePaths));
|
|
2328
2336
|
}
|
|
2329
2337
|
|
|
2330
|
-
appliedRequestConditions(requestInternal: NetworkRequest): {
|
|
2331
|
-
conditions: Conditions,
|
|
2332
|
-
urlPattern?: string,
|
|
2333
|
-
}|undefined {
|
|
2338
|
+
appliedRequestConditions(requestInternal: NetworkRequest): AppliedNetworkConditions|undefined {
|
|
2334
2339
|
if (!requestInternal.appliedNetworkConditionsId) {
|
|
2335
2340
|
return undefined;
|
|
2336
2341
|
}
|
|
@@ -367,41 +367,6 @@ const UIStrings = {
|
|
|
367
367
|
const str_ = i18n.i18n.registerUIStrings('core/sdk/sdk-meta.ts', UIStrings);
|
|
368
368
|
const i18nLazyString = i18n.i18n.getLazilyComputedLocalizedString.bind(undefined, str_);
|
|
369
369
|
|
|
370
|
-
Common.Settings.registerSettingExtension({
|
|
371
|
-
storageType: Common.Settings.SettingStorageType.SYNCED,
|
|
372
|
-
settingName: 'skip-stack-frames-pattern',
|
|
373
|
-
settingType: Common.Settings.SettingType.REGEX,
|
|
374
|
-
defaultValue: '/node_modules/|^node:',
|
|
375
|
-
});
|
|
376
|
-
|
|
377
|
-
Common.Settings.registerSettingExtension({
|
|
378
|
-
storageType: Common.Settings.SettingStorageType.SYNCED,
|
|
379
|
-
settingName: 'skip-content-scripts',
|
|
380
|
-
settingType: Common.Settings.SettingType.BOOLEAN,
|
|
381
|
-
defaultValue: true,
|
|
382
|
-
});
|
|
383
|
-
|
|
384
|
-
Common.Settings.registerSettingExtension({
|
|
385
|
-
storageType: Common.Settings.SettingStorageType.SYNCED,
|
|
386
|
-
settingName: 'automatically-ignore-list-known-third-party-scripts',
|
|
387
|
-
settingType: Common.Settings.SettingType.BOOLEAN,
|
|
388
|
-
defaultValue: true,
|
|
389
|
-
});
|
|
390
|
-
|
|
391
|
-
Common.Settings.registerSettingExtension({
|
|
392
|
-
storageType: Common.Settings.SettingStorageType.SYNCED,
|
|
393
|
-
settingName: 'skip-anonymous-scripts',
|
|
394
|
-
settingType: Common.Settings.SettingType.BOOLEAN,
|
|
395
|
-
defaultValue: false,
|
|
396
|
-
});
|
|
397
|
-
|
|
398
|
-
Common.Settings.registerSettingExtension({
|
|
399
|
-
storageType: Common.Settings.SettingStorageType.SYNCED,
|
|
400
|
-
settingName: 'enable-ignore-listing',
|
|
401
|
-
settingType: Common.Settings.SettingType.BOOLEAN,
|
|
402
|
-
defaultValue: true,
|
|
403
|
-
});
|
|
404
|
-
|
|
405
370
|
Common.Settings.registerSettingExtension({
|
|
406
371
|
category: Common.Settings.SettingCategory.CONSOLE,
|
|
407
372
|
storageType: Common.Settings.SettingStorageType.SYNCED,
|
|
@@ -18,6 +18,7 @@ import '../main/main-meta.js';
|
|
|
18
18
|
import '../../ui/legacy/components/perf_ui/perf_ui-meta.js';
|
|
19
19
|
import '../../ui/legacy/components/quick_open/quick_open-meta.js';
|
|
20
20
|
import '../../core/sdk/sdk-meta.js';
|
|
21
|
+
import '../../models/workspace/workspace-meta.js';
|
|
21
22
|
import '../../ui/legacy/components/source_frame/source_frame-meta.js';
|
|
22
23
|
import '../../panels/console_counters/console_counters-meta.js';
|
|
23
24
|
import '../../ui/legacy/components/object_ui/object_ui-meta.js';
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import '../main/main-meta.js';
|
|
6
6
|
import '../inspector_main/inspector_main-meta.js';
|
|
7
7
|
import '../../core/sdk/sdk-meta.js';
|
|
8
|
+
import '../../models/workspace/workspace-meta.js';
|
|
8
9
|
import '../../Images/Images.js';
|
|
9
10
|
import '../../models/logs/logs-meta.js';
|
|
10
11
|
import '../../models/persistence/persistence-meta.js';
|
|
@@ -61,7 +61,7 @@ inspectorBackend.registerCommand("Animation.setPlaybackRate", [{"name": "playbac
|
|
|
61
61
|
inspectorBackend.registerCommand("Animation.setTiming", [{"name": "animationId", "type": "string", "optional": false, "description": "Animation id.", "typeRef": null}, {"name": "duration", "type": "number", "optional": false, "description": "Duration of the animation.", "typeRef": null}, {"name": "delay", "type": "number", "optional": false, "description": "Delay of the animation.", "typeRef": null}], [], "Sets the timing of an animation node.");
|
|
62
62
|
inspectorBackend.registerType("Animation.Animation", [{"name": "id", "type": "string", "optional": false, "description": "`Animation`'s id.", "typeRef": null}, {"name": "name", "type": "string", "optional": false, "description": "`Animation`'s name.", "typeRef": null}, {"name": "pausedState", "type": "boolean", "optional": false, "description": "`Animation`'s internal paused state.", "typeRef": null}, {"name": "playState", "type": "string", "optional": false, "description": "`Animation`'s play state.", "typeRef": null}, {"name": "playbackRate", "type": "number", "optional": false, "description": "`Animation`'s playback rate.", "typeRef": null}, {"name": "startTime", "type": "number", "optional": false, "description": "`Animation`'s start time. Milliseconds for time based animations and percentage [0 - 100] for scroll driven animations (i.e. when viewOrScrollTimeline exists).", "typeRef": null}, {"name": "currentTime", "type": "number", "optional": false, "description": "`Animation`'s current time.", "typeRef": null}, {"name": "type", "type": "string", "optional": false, "description": "Animation type of `Animation`.", "typeRef": null}, {"name": "source", "type": "object", "optional": true, "description": "`Animation`'s source animation node.", "typeRef": "Animation.AnimationEffect"}, {"name": "cssId", "type": "string", "optional": true, "description": "A unique ID for `Animation` representing the sources that triggered this CSS animation/transition.", "typeRef": null}, {"name": "viewOrScrollTimeline", "type": "object", "optional": true, "description": "View or scroll timeline", "typeRef": "Animation.ViewOrScrollTimeline"}]);
|
|
63
63
|
inspectorBackend.registerType("Animation.ViewOrScrollTimeline", [{"name": "sourceNodeId", "type": "number", "optional": true, "description": "Scroll container node", "typeRef": "DOM.BackendNodeId"}, {"name": "startOffset", "type": "number", "optional": true, "description": "Represents the starting scroll position of the timeline as a length offset in pixels from scroll origin.", "typeRef": null}, {"name": "endOffset", "type": "number", "optional": true, "description": "Represents the ending scroll position of the timeline as a length offset in pixels from scroll origin.", "typeRef": null}, {"name": "subjectNodeId", "type": "number", "optional": true, "description": "The element whose principal box's visibility in the scrollport defined the progress of the timeline. Does not exist for animations with ScrollTimeline", "typeRef": "DOM.BackendNodeId"}, {"name": "axis", "type": "string", "optional": false, "description": "Orientation of the scroll", "typeRef": "DOM.ScrollOrientation"}]);
|
|
64
|
-
inspectorBackend.registerType("Animation.AnimationEffect", [{"name": "delay", "type": "number", "optional": false, "description": "`AnimationEffect`'s delay.", "typeRef": null}, {"name": "endDelay", "type": "number", "optional": false, "description": "`AnimationEffect`'s end delay.", "typeRef": null}, {"name": "iterationStart", "type": "number", "optional": false, "description": "`AnimationEffect`'s iteration start.", "typeRef": null}, {"name": "iterations", "type": "number", "optional":
|
|
64
|
+
inspectorBackend.registerType("Animation.AnimationEffect", [{"name": "delay", "type": "number", "optional": false, "description": "`AnimationEffect`'s delay.", "typeRef": null}, {"name": "endDelay", "type": "number", "optional": false, "description": "`AnimationEffect`'s end delay.", "typeRef": null}, {"name": "iterationStart", "type": "number", "optional": false, "description": "`AnimationEffect`'s iteration start.", "typeRef": null}, {"name": "iterations", "type": "number", "optional": true, "description": "`AnimationEffect`'s iterations. Omitted if the value is infinite.", "typeRef": null}, {"name": "duration", "type": "number", "optional": false, "description": "`AnimationEffect`'s iteration duration. Milliseconds for time based animations and percentage [0 - 100] for scroll driven animations (i.e. when viewOrScrollTimeline exists).", "typeRef": null}, {"name": "direction", "type": "string", "optional": false, "description": "`AnimationEffect`'s playback direction.", "typeRef": null}, {"name": "fill", "type": "string", "optional": false, "description": "`AnimationEffect`'s fill mode.", "typeRef": null}, {"name": "backendNodeId", "type": "number", "optional": true, "description": "`AnimationEffect`'s target node.", "typeRef": "DOM.BackendNodeId"}, {"name": "keyframesRule", "type": "object", "optional": true, "description": "`AnimationEffect`'s keyframes.", "typeRef": "Animation.KeyframesRule"}, {"name": "easing", "type": "string", "optional": false, "description": "`AnimationEffect`'s timing function.", "typeRef": null}]);
|
|
65
65
|
inspectorBackend.registerType("Animation.KeyframesRule", [{"name": "name", "type": "string", "optional": true, "description": "CSS keyframed animation's name.", "typeRef": null}, {"name": "keyframes", "type": "array", "optional": false, "description": "List of animation keyframes.", "typeRef": "Animation.KeyframeStyle"}]);
|
|
66
66
|
inspectorBackend.registerType("Animation.KeyframeStyle", [{"name": "offset", "type": "string", "optional": false, "description": "Keyframe's time offset.", "typeRef": null}, {"name": "easing", "type": "string", "optional": false, "description": "`AnimationEffect`'s timing function.", "typeRef": null}]);
|
|
67
67
|
|
|
@@ -226,6 +226,8 @@ inspectorBackend.registerType("Browser.Histogram", [{"name": "name", "type": "st
|
|
|
226
226
|
inspectorBackend.registerEnum("CSS.StyleSheetOrigin", {Injected: "injected", UserAgent: "user-agent", Inspector: "inspector", Regular: "regular"});
|
|
227
227
|
inspectorBackend.registerEnum("CSS.CSSRuleType", {MediaRule: "MediaRule", SupportsRule: "SupportsRule", ContainerRule: "ContainerRule", LayerRule: "LayerRule", ScopeRule: "ScopeRule", StyleRule: "StyleRule", StartingStyleRule: "StartingStyleRule"});
|
|
228
228
|
inspectorBackend.registerEnum("CSS.CSSMediaSource", {MediaRule: "mediaRule", ImportRule: "importRule", LinkedSheet: "linkedSheet", InlineSheet: "inlineSheet"});
|
|
229
|
+
inspectorBackend.registerEnum("CSS.CSSAtRuleType", {FontFace: "font-face", FontFeatureValues: "font-feature-values", FontPaletteValues: "font-palette-values"});
|
|
230
|
+
inspectorBackend.registerEnum("CSS.CSSAtRuleSubsection", {Swash: "swash", Annotation: "annotation", Ornaments: "ornaments", Stylistic: "stylistic", Styleset: "styleset", CharacterVariant: "character-variant"});
|
|
229
231
|
inspectorBackend.registerEvent("CSS.fontsUpdated", ["font"]);
|
|
230
232
|
inspectorBackend.registerEvent("CSS.mediaQueryResultChanged", []);
|
|
231
233
|
inspectorBackend.registerEvent("CSS.styleSheetAdded", ["header"]);
|
|
@@ -245,7 +247,7 @@ inspectorBackend.registerCommand("CSS.resolveValues", [{"name": "values", "type"
|
|
|
245
247
|
inspectorBackend.registerCommand("CSS.getLonghandProperties", [{"name": "shorthandName", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "value", "type": "string", "optional": false, "description": "", "typeRef": null}], ["longhandProperties"], "");
|
|
246
248
|
inspectorBackend.registerCommand("CSS.getInlineStylesForNode", [{"name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId"}], ["inlineStyle", "attributesStyle"], "Returns the styles defined inline (explicitly in the \"style\" attribute and implicitly, using DOM attributes) for a DOM node identified by `nodeId`.");
|
|
247
249
|
inspectorBackend.registerCommand("CSS.getAnimatedStylesForNode", [{"name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId"}], ["animationStyles", "transitionsStyle", "inherited"], "Returns the styles coming from animations & transitions including the animation & transition styles coming from inheritance chain.");
|
|
248
|
-
inspectorBackend.registerCommand("CSS.getMatchedStylesForNode", [{"name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId"}], ["inlineStyle", "attributesStyle", "matchedCSSRules", "pseudoElements", "inherited", "inheritedPseudoElements", "cssKeyframesRules", "cssPositionTryRules", "activePositionFallbackIndex", "cssPropertyRules", "cssPropertyRegistrations", "cssFontPaletteValuesRule", "parentLayoutNodeId", "cssFunctionRules"], "Returns requested styles for a DOM node identified by `nodeId`.");
|
|
250
|
+
inspectorBackend.registerCommand("CSS.getMatchedStylesForNode", [{"name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId"}], ["inlineStyle", "attributesStyle", "matchedCSSRules", "pseudoElements", "inherited", "inheritedPseudoElements", "cssKeyframesRules", "cssPositionTryRules", "activePositionFallbackIndex", "cssPropertyRules", "cssPropertyRegistrations", "cssFontPaletteValuesRule", "cssAtRules", "parentLayoutNodeId", "cssFunctionRules"], "Returns requested styles for a DOM node identified by `nodeId`.");
|
|
249
251
|
inspectorBackend.registerCommand("CSS.getEnvironmentVariables", [], ["environmentVariables"], "Returns the values of the default UA-defined environment variables used in env()");
|
|
250
252
|
inspectorBackend.registerCommand("CSS.getMediaQueries", [], ["medias"], "Returns all media queries parsed by the rendering engine.");
|
|
251
253
|
inspectorBackend.registerCommand("CSS.getPlatformFontsForNode", [{"name": "nodeId", "type": "number", "optional": false, "description": "", "typeRef": "DOM.NodeId"}], ["fonts"], "Requests information about platform fonts which we used to render child TextNodes in the given node.");
|
|
@@ -304,6 +306,7 @@ inspectorBackend.registerType("CSS.CSSPositionTryRule", [{"name": "name", "type"
|
|
|
304
306
|
inspectorBackend.registerType("CSS.CSSKeyframesRule", [{"name": "animationName", "type": "object", "optional": false, "description": "Animation name.", "typeRef": "CSS.Value"}, {"name": "keyframes", "type": "array", "optional": false, "description": "List of keyframes.", "typeRef": "CSS.CSSKeyframeRule"}]);
|
|
305
307
|
inspectorBackend.registerType("CSS.CSSPropertyRegistration", [{"name": "propertyName", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "initialValue", "type": "object", "optional": true, "description": "", "typeRef": "CSS.Value"}, {"name": "inherits", "type": "boolean", "optional": false, "description": "", "typeRef": null}, {"name": "syntax", "type": "string", "optional": false, "description": "", "typeRef": null}]);
|
|
306
308
|
inspectorBackend.registerType("CSS.CSSFontPaletteValuesRule", [{"name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "CSS.StyleSheetId"}, {"name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin"}, {"name": "fontPaletteName", "type": "object", "optional": false, "description": "Associated font palette name.", "typeRef": "CSS.Value"}, {"name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle"}]);
|
|
309
|
+
inspectorBackend.registerType("CSS.CSSAtRule", [{"name": "type", "type": "string", "optional": false, "description": "Type of at-rule.", "typeRef": null}, {"name": "subsection", "type": "string", "optional": true, "description": "Subsection of font-feature-values, if this is a subsection.", "typeRef": null}, {"name": "name", "type": "object", "optional": true, "description": "LINT_SKIP.ThenChange(//third_party/blink/renderer/core/inspector/inspector_style_sheet.cc:FontVariantAlternatesFeatureType,//third_party/blink/renderer/core/inspector/inspector_css_agent.cc:FontVariantAlternatesFeatureType) Associated name, if applicable.", "typeRef": "CSS.Value"}, {"name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "CSS.StyleSheetId"}, {"name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin"}, {"name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle"}]);
|
|
307
310
|
inspectorBackend.registerType("CSS.CSSPropertyRule", [{"name": "styleSheetId", "type": "string", "optional": true, "description": "The css style sheet identifier (absent for user agent stylesheet and user-specified stylesheet rules) this rule came from.", "typeRef": "CSS.StyleSheetId"}, {"name": "origin", "type": "string", "optional": false, "description": "Parent stylesheet's origin.", "typeRef": "CSS.StyleSheetOrigin"}, {"name": "propertyName", "type": "object", "optional": false, "description": "Associated property name.", "typeRef": "CSS.Value"}, {"name": "style", "type": "object", "optional": false, "description": "Associated style declaration.", "typeRef": "CSS.CSSStyle"}]);
|
|
308
311
|
inspectorBackend.registerType("CSS.CSSFunctionParameter", [{"name": "name", "type": "string", "optional": false, "description": "The parameter name.", "typeRef": null}, {"name": "type", "type": "string", "optional": false, "description": "The parameter type.", "typeRef": null}]);
|
|
309
312
|
inspectorBackend.registerType("CSS.CSSFunctionConditionNode", [{"name": "media", "type": "object", "optional": true, "description": "Media query for this conditional block. Only one type of condition should be set.", "typeRef": "CSS.CSSMedia"}, {"name": "containerQueries", "type": "object", "optional": true, "description": "Container query for this conditional block. Only one type of condition should be set.", "typeRef": "CSS.CSSContainerQuery"}, {"name": "supports", "type": "object", "optional": true, "description": "@supports CSS at-rule condition. Only one type of condition should be set.", "typeRef": "CSS.CSSSupports"}, {"name": "children", "type": "array", "optional": false, "description": "Block body.", "typeRef": "CSS.CSSFunctionNode"}, {"name": "conditionText", "type": "string", "optional": false, "description": "The condition text.", "typeRef": null}]);
|
|
@@ -1351,7 +1354,7 @@ inspectorBackend.registerCommand("Target.setAutoAttach", [{"name": "autoAttach",
|
|
|
1351
1354
|
inspectorBackend.registerCommand("Target.autoAttachRelated", [{"name": "targetId", "type": "string", "optional": false, "description": "", "typeRef": "Target.TargetID"}, {"name": "waitForDebuggerOnStart", "type": "boolean", "optional": false, "description": "Whether to pause new targets when attaching to them. Use `Runtime.runIfWaitingForDebugger` to run paused targets.", "typeRef": null}, {"name": "filter", "type": "array", "optional": true, "description": "Only targets matching filter will be attached.", "typeRef": "Target.TargetFilter"}], [], "Adds the specified target to the list of targets that will be monitored for any related target creation (such as child frames, child workers and new versions of service worker) and reported through `attachedToTarget`. The specified target is also auto-attached. This cancels the effect of any previous `setAutoAttach` and is also cancelled by subsequent `setAutoAttach`. Only available at the Browser target.");
|
|
1352
1355
|
inspectorBackend.registerCommand("Target.setDiscoverTargets", [{"name": "discover", "type": "boolean", "optional": false, "description": "Whether to discover available targets.", "typeRef": null}, {"name": "filter", "type": "array", "optional": true, "description": "Only targets matching filter will be attached. If `discover` is false, `filter` must be omitted or empty.", "typeRef": "Target.TargetFilter"}], [], "Controls whether to discover available targets and notify via `targetCreated/targetInfoChanged/targetDestroyed` events.");
|
|
1353
1356
|
inspectorBackend.registerCommand("Target.setRemoteLocations", [{"name": "locations", "type": "array", "optional": false, "description": "List of remote locations.", "typeRef": "Target.RemoteLocation"}], [], "Enables target discovery for the specified locations, when `setDiscoverTargets` was set to `true`.");
|
|
1354
|
-
inspectorBackend.registerCommand("Target.openDevTools", [{"name": "targetId", "type": "string", "optional": false, "description": "This can be the page or tab target ID.", "typeRef": "Target.TargetID"}], ["targetId"], "Opens a DevTools window for the target.");
|
|
1357
|
+
inspectorBackend.registerCommand("Target.openDevTools", [{"name": "targetId", "type": "string", "optional": false, "description": "This can be the page or tab target ID.", "typeRef": "Target.TargetID"}, {"name": "panelId", "type": "string", "optional": true, "description": "The id of the panel we want DevTools to open initially. Currently supported panels are elements, console, network, sources and resources.", "typeRef": null}], ["targetId"], "Opens a DevTools window for the target.");
|
|
1355
1358
|
inspectorBackend.registerType("Target.TargetInfo", [{"name": "targetId", "type": "string", "optional": false, "description": "", "typeRef": "Target.TargetID"}, {"name": "type", "type": "string", "optional": false, "description": "List of types: https://source.chromium.org/chromium/chromium/src/+/main:content/browser/devtools/devtools_agent_host_impl.cc?ss=chromium&q=f:devtools%20-f:out%20%22::kTypeTab%5B%5D%22", "typeRef": null}, {"name": "title", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "url", "type": "string", "optional": false, "description": "", "typeRef": null}, {"name": "attached", "type": "boolean", "optional": false, "description": "Whether the target has an attached client.", "typeRef": null}, {"name": "openerId", "type": "string", "optional": true, "description": "Opener target Id", "typeRef": "Target.TargetID"}, {"name": "canAccessOpener", "type": "boolean", "optional": false, "description": "Whether the target has access to the originating window.", "typeRef": null}, {"name": "openerFrameId", "type": "string", "optional": true, "description": "Frame id of originating window (is only set if target has an opener).", "typeRef": "Page.FrameId"}, {"name": "parentFrameId", "type": "string", "optional": true, "description": "Id of the parent frame, only present for the \\\"iframe\\\" targets.", "typeRef": "Page.FrameId"}, {"name": "browserContextId", "type": "string", "optional": true, "description": "", "typeRef": "Browser.BrowserContextID"}, {"name": "subtype", "type": "string", "optional": true, "description": "Provides additional details for specific target types. For example, for the type of \\\"page\\\", this may be set to \\\"prerender\\\".", "typeRef": null}]);
|
|
1356
1359
|
inspectorBackend.registerType("Target.FilterEntry", [{"name": "exclude", "type": "boolean", "optional": true, "description": "If set, causes exclusion of matching targets from the list.", "typeRef": null}, {"name": "type", "type": "string", "optional": true, "description": "If not present, matches any type.", "typeRef": null}]);
|
|
1357
1360
|
inspectorBackend.registerType("Target.TargetFilter", [{"name": "TargetFilter", "type": "array", "optional": false, "description": "The entries in TargetFilter are matched sequentially against targets and the first entry that matches determines if the target is included or not, depending on the value of `exclude` field in the entry. If filter is not specified, the one assumed is [{type: \\\"browser\\\", exclude: true}, {type: \\\"tab\\\", exclude: true}, {}] (i.e. include everything but `browser` and `tab`).", "typeRef": "Target.FilterEntry"}]);
|
|
@@ -3845,6 +3845,19 @@ export const generatedProperties = [
|
|
|
3845
3845
|
],
|
|
3846
3846
|
"name": "rule-color"
|
|
3847
3847
|
},
|
|
3848
|
+
{
|
|
3849
|
+
"longhands": [
|
|
3850
|
+
"row-rule-edge-start-outset",
|
|
3851
|
+
"row-rule-edge-end-outset",
|
|
3852
|
+
"row-rule-interior-start-outset",
|
|
3853
|
+
"row-rule-interior-end-outset",
|
|
3854
|
+
"column-rule-edge-start-outset",
|
|
3855
|
+
"column-rule-edge-end-outset",
|
|
3856
|
+
"column-rule-interior-start-outset",
|
|
3857
|
+
"column-rule-interior-end-outset"
|
|
3858
|
+
],
|
|
3859
|
+
"name": "rule-outset"
|
|
3860
|
+
},
|
|
3848
3861
|
{
|
|
3849
3862
|
"longhands": [
|
|
3850
3863
|
"column-rule-style",
|
|
@@ -544,9 +544,9 @@ export namespace Animation {
|
|
|
544
544
|
*/
|
|
545
545
|
iterationStart: number;
|
|
546
546
|
/**
|
|
547
|
-
* `AnimationEffect`'s iterations.
|
|
547
|
+
* `AnimationEffect`'s iterations. Omitted if the value is infinite.
|
|
548
548
|
*/
|
|
549
|
-
iterations
|
|
549
|
+
iterations?: number;
|
|
550
550
|
/**
|
|
551
551
|
* `AnimationEffect`'s iteration duration.
|
|
552
552
|
* Milliseconds for time based animations and
|
|
@@ -3452,6 +3452,53 @@ export namespace CSS {
|
|
|
3452
3452
|
style: CSSStyle;
|
|
3453
3453
|
}
|
|
3454
3454
|
|
|
3455
|
+
export const enum CSSAtRuleType {
|
|
3456
|
+
FontFace = 'font-face',
|
|
3457
|
+
FontFeatureValues = 'font-feature-values',
|
|
3458
|
+
FontPaletteValues = 'font-palette-values',
|
|
3459
|
+
}
|
|
3460
|
+
|
|
3461
|
+
export const enum CSSAtRuleSubsection {
|
|
3462
|
+
Swash = 'swash',
|
|
3463
|
+
Annotation = 'annotation',
|
|
3464
|
+
Ornaments = 'ornaments',
|
|
3465
|
+
Stylistic = 'stylistic',
|
|
3466
|
+
Styleset = 'styleset',
|
|
3467
|
+
CharacterVariant = 'character-variant',
|
|
3468
|
+
}
|
|
3469
|
+
|
|
3470
|
+
/**
|
|
3471
|
+
* CSS generic @rule representation.
|
|
3472
|
+
*/
|
|
3473
|
+
export interface CSSAtRule {
|
|
3474
|
+
/**
|
|
3475
|
+
* Type of at-rule.
|
|
3476
|
+
*/
|
|
3477
|
+
type: CSSAtRuleType;
|
|
3478
|
+
/**
|
|
3479
|
+
* Subsection of font-feature-values, if this is a subsection.
|
|
3480
|
+
*/
|
|
3481
|
+
subsection?: CSSAtRuleSubsection;
|
|
3482
|
+
/**
|
|
3483
|
+
* LINT_SKIP.ThenChange(//third_party/blink/renderer/core/inspector/inspector_style_sheet.cc:FontVariantAlternatesFeatureType,//third_party/blink/renderer/core/inspector/inspector_css_agent.cc:FontVariantAlternatesFeatureType)
|
|
3484
|
+
* Associated name, if applicable.
|
|
3485
|
+
*/
|
|
3486
|
+
name?: Value;
|
|
3487
|
+
/**
|
|
3488
|
+
* The css style sheet identifier (absent for user agent stylesheet and user-specified
|
|
3489
|
+
* stylesheet rules) this rule came from.
|
|
3490
|
+
*/
|
|
3491
|
+
styleSheetId?: StyleSheetId;
|
|
3492
|
+
/**
|
|
3493
|
+
* Parent stylesheet's origin.
|
|
3494
|
+
*/
|
|
3495
|
+
origin: StyleSheetOrigin;
|
|
3496
|
+
/**
|
|
3497
|
+
* Associated style declaration.
|
|
3498
|
+
*/
|
|
3499
|
+
style: CSSStyle;
|
|
3500
|
+
}
|
|
3501
|
+
|
|
3455
3502
|
/**
|
|
3456
3503
|
* CSS property at-rule representation.
|
|
3457
3504
|
*/
|
|
@@ -3848,6 +3895,10 @@ export namespace CSS {
|
|
|
3848
3895
|
* A font-palette-values rule matching this node.
|
|
3849
3896
|
*/
|
|
3850
3897
|
cssFontPaletteValuesRule?: CSSFontPaletteValuesRule;
|
|
3898
|
+
/**
|
|
3899
|
+
* A list of simple @rules matching this node or its pseudo-elements.
|
|
3900
|
+
*/
|
|
3901
|
+
cssAtRules?: CSSAtRule[];
|
|
3851
3902
|
/**
|
|
3852
3903
|
* Id of the first parent element that does not have display: contents.
|
|
3853
3904
|
*/
|
|
@@ -18464,6 +18515,11 @@ export namespace Target {
|
|
|
18464
18515
|
* This can be the page or tab target ID.
|
|
18465
18516
|
*/
|
|
18466
18517
|
targetId: TargetID;
|
|
18518
|
+
/**
|
|
18519
|
+
* The id of the panel we want DevTools to open initially. Currently
|
|
18520
|
+
* supported panels are elements, console, network, sources and resources.
|
|
18521
|
+
*/
|
|
18522
|
+
panelId?: string;
|
|
18467
18523
|
}
|
|
18468
18524
|
|
|
18469
18525
|
export interface OpenDevToolsResponse extends ProtocolResponseWithError {
|
package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt
CHANGED
|
@@ -1,53 +1,3 @@
|
|
|
1
|
-
Title: PerformanceTraceFormatter formatCriticalRequests
|
|
2
|
-
Content:
|
|
3
|
-
Critical network requests:
|
|
4
|
-
|
|
5
|
-
Network requests data:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
allUrls = [0: http://localhost:8000/, 1: https://code.jquery.com/jquery-3.7.1.js, 2: http://localhost:8000/render-blocking-stylesheet.css, 3: http://localhost:8000/render-blocking-script.js]
|
|
10
|
-
|
|
11
|
-
0;s-1803;2 ms;3 ms;576 ms;583 ms;582 ms;0.4 ms;7 ms;200;text/html;VeryHigh;VeryHigh;VeryHigh;f;http/1.0;f;;[];[Content-Length: <redacted>|Date: Fri, 07 Mar 2025 15:02:27 GMT|Content-type: text/html|Last-Modified: Fri, 07 Mar 2025 14:58:55 GMT|Server: SimpleHTTP/0.6 Python/3.9.6]
|
|
12
|
-
1;s-1920;581 ms;585 ms;1,943 ms;1,944 ms;1,363 ms;776 ms;1 ms;200;application/javascript;High;High;High;t;h2;f;0;[];[content-encoding: gzip|etag: <redacted>|age: 3975412|x-cache: <redacted>|date: Fri, 07 Mar 2025 15:02:28 GMT|content-type: application/javascript; charset=utf-8|vary: Accept-Encoding|x-cache-hits: <redacted>|last-modified: Fri, 18 Oct 1991 12:00:00 GMT|x-served-by: <redacted>|cache-control: public, max-age=31536000, stale-while-revalidate=604800|x-timer: <redacted>|via: 1.1 varnish, 1.1 varnish|accept-ranges: bytes|access-control-allow-origin: *|content-length: <redacted>|server: nginx]
|
|
13
|
-
2;s-1924;582 ms;583 ms;1,193 ms;1,193 ms;612 ms;0.2 ms;0.2 ms;200;text/css;VeryHigh;VeryHigh;VeryHigh;t;http/1.0;f;0;[];[Content-Length: <redacted>|Date: Fri, 07 Mar 2025 15:02:28 GMT|Content-type: text/css|Last-Modified: Fri, 07 Mar 2025 14:58:07 GMT|Server: SimpleHTTP/0.6 Python/3.9.6]
|
|
14
|
-
3;s-1922;582 ms;583 ms;1,177 ms;1,178 ms;596 ms;0.4 ms;1 ms;200;text/javascript;High;High;High;t;http/1.0;f;0;[];[Content-Length: <redacted>|Date: Fri, 07 Mar 2025 15:02:28 GMT|Content-type: text/javascript|Last-Modified: Fri, 07 Mar 2025 15:00:28 GMT|Server: SimpleHTTP/0.6 Python/3.9.6]
|
|
15
|
-
=== end content
|
|
16
|
-
|
|
17
|
-
Title: PerformanceTraceFormatter formatLongestTasks
|
|
18
|
-
Content:
|
|
19
|
-
Longest 3 tasks:
|
|
20
|
-
- total time: 11 ms, event: (eventKey: r-62, ts: 2297273193336)
|
|
21
|
-
- total time: 3 ms, event: (eventKey: r-723, ts: 2297274436743)
|
|
22
|
-
- total time: 2 ms, event: (eventKey: r-631, ts: 2297274234151)
|
|
23
|
-
=== end content
|
|
24
|
-
|
|
25
|
-
Title: PerformanceTraceFormatter formatMainThreadBottomUpSummary
|
|
26
|
-
Content:
|
|
27
|
-
This 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.
|
|
28
|
-
|
|
29
|
-
- self: 186 ms, total: 193 ms, source: Compile code
|
|
30
|
-
- self: 98 ms, total: 993 ms, source: Task
|
|
31
|
-
- self: 56 ms, total: 70 ms, source: Compile script
|
|
32
|
-
- self: 52 ms, total: 64 ms, source: setTimeout
|
|
33
|
-
- self: 38 ms, total: 40 ms, source: aC (url: https://s.yimg.com/aaq/f10d509c/d1irmdsmbztlvx.js, line: 0, column: 19068)
|
|
34
|
-
- self: 35 ms, total: 35 ms, source: Recalculate style (url: https://news.yahoo.com/, line: 57, column: 187957)
|
|
35
|
-
- self: 34 ms, total: 34 ms, source: Layout (url: https://news.yahoo.com/, line: 57, column: 187957)
|
|
36
|
-
- self: 31 ms, total: 34 ms, source: clearTimeout
|
|
37
|
-
- self: 30 ms, total: 53 ms, source: Parse HTML
|
|
38
|
-
- self: 26 ms, total: 259 ms, source: Function call
|
|
39
|
-
=== end content
|
|
40
|
-
|
|
41
|
-
Title: PerformanceTraceFormatter formatThirdPartySummary
|
|
42
|
-
Content:
|
|
43
|
-
Third party summary:
|
|
44
|
-
- name: Google/Doubleclick Ads, main thread time: 53 ms, network transfer size: 258.6 kB
|
|
45
|
-
- name: Taboola, main thread time: 43 ms, network transfer size: 393.6 kB
|
|
46
|
-
- name: Google Tag Manager, main thread time: 19 ms, network transfer size: 123.8 kB
|
|
47
|
-
- name: AOL / Oath / Verizon Media, main thread time: 5 ms, network transfer size: 42.3 kB
|
|
48
|
-
- name: ay.delivery, main thread time: 4 ms, network transfer size: 123 kB
|
|
49
|
-
=== end content
|
|
50
|
-
|
|
51
1
|
Title: PerformanceTraceFormatter formatMainThreadTrackSummary
|
|
52
2
|
Content:
|
|
53
3
|
# Top-down main thread summary
|
|
@@ -512,7 +462,7 @@ Network throttling: none
|
|
|
512
462
|
|
|
513
463
|
The 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.
|
|
514
464
|
|
|
515
|
-
## insight set id:
|
|
465
|
+
## insight set id: NAVIGATION_0
|
|
516
466
|
|
|
517
467
|
URL: https://web.dev/cls/
|
|
518
468
|
Bounds: {min: 1020034834921, max: 1020036087961}
|
|
@@ -554,7 +504,7 @@ Network throttling: none
|
|
|
554
504
|
|
|
555
505
|
The 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.
|
|
556
506
|
|
|
557
|
-
## insight set id:
|
|
507
|
+
## insight set id: NAVIGATION_0
|
|
558
508
|
|
|
559
509
|
URL: https://news.yahoo.com/
|
|
560
510
|
Bounds: {min: 157423488682, max: 157427277166}
|
|
@@ -625,7 +575,7 @@ Network throttling: Fast 3G
|
|
|
625
575
|
|
|
626
576
|
The 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.
|
|
627
577
|
|
|
628
|
-
## insight set id:
|
|
578
|
+
## insight set id: NAVIGATION_0
|
|
629
579
|
|
|
630
580
|
URL: http://localhost:8080/render-blocking
|
|
631
581
|
Bounds: {min: 171607579779, max: 171613750571}
|
|
@@ -649,7 +599,7 @@ Available insights:
|
|
|
649
599
|
example question: Show me the most impactful render blocking requests that I should focus on
|
|
650
600
|
example question: How can I reduce the number of render blocking requests?
|
|
651
601
|
|
|
652
|
-
## insight set id:
|
|
602
|
+
## insight set id: NAVIGATION_1
|
|
653
603
|
|
|
654
604
|
URL: http://localhost:8080/render-blocking
|
|
655
605
|
Bounds: {min: 171613750571, max: 171616667355}
|
|
@@ -685,7 +635,7 @@ Network throttling: No throttling
|
|
|
685
635
|
|
|
686
636
|
The 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.
|
|
687
637
|
|
|
688
|
-
## insight set id:
|
|
638
|
+
## insight set id: NAVIGATION_0
|
|
689
639
|
|
|
690
640
|
URL: http://localhost/image-delivery-cases.html
|
|
691
641
|
Bounds: {min: 59728649746, max: 59734400108}
|
|
@@ -758,7 +708,7 @@ Network throttling: No throttling
|
|
|
758
708
|
|
|
759
709
|
The 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.
|
|
760
710
|
|
|
761
|
-
## insight set id:
|
|
711
|
+
## insight set id: NAVIGATION_0
|
|
762
712
|
|
|
763
713
|
URL: http://localhost/image-delivery-cases.html
|
|
764
714
|
Bounds: {min: 59728649746, max: 59734400108}
|
|
@@ -859,6 +809,121 @@ Available insights:
|
|
|
859
809
|
example question: Which third parties are having the largest impact on my page performance?
|
|
860
810
|
=== end content
|
|
861
811
|
|
|
812
|
+
Title: PerformanceTraceFormatter formatCriticalRequests render-blocking-requests.json.gz
|
|
813
|
+
Content:
|
|
814
|
+
# Critical network requests
|
|
815
|
+
|
|
816
|
+
|
|
817
|
+
Network requests data:
|
|
818
|
+
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
allUrls = [0: http://localhost:8000/, 1: https://code.jquery.com/jquery-3.7.1.js, 2: http://localhost:8000/render-blocking-stylesheet.css, 3: http://localhost:8000/render-blocking-script.js]
|
|
822
|
+
|
|
823
|
+
0;s-1803;2 ms;3 ms;576 ms;583 ms;582 ms;0.4 ms;7 ms;200;text/html;VeryHigh;VeryHigh;VeryHigh;f;http/1.0;f;;[];[Content-Length: <redacted>|Date: Fri, 07 Mar 2025 15:02:27 GMT|Content-type: text/html|Last-Modified: Fri, 07 Mar 2025 14:58:55 GMT|Server: SimpleHTTP/0.6 Python/3.9.6]
|
|
824
|
+
1;s-1920;581 ms;585 ms;1,943 ms;1,944 ms;1,363 ms;776 ms;1 ms;200;application/javascript;High;High;High;t;h2;f;0;[];[content-encoding: gzip|etag: <redacted>|age: 3975412|x-cache: <redacted>|date: Fri, 07 Mar 2025 15:02:28 GMT|content-type: application/javascript; charset=utf-8|vary: Accept-Encoding|x-cache-hits: <redacted>|last-modified: Fri, 18 Oct 1991 12:00:00 GMT|x-served-by: <redacted>|cache-control: public, max-age=31536000, stale-while-revalidate=604800|x-timer: <redacted>|via: 1.1 varnish, 1.1 varnish|accept-ranges: bytes|access-control-allow-origin: *|content-length: <redacted>|server: nginx]
|
|
825
|
+
2;s-1924;582 ms;583 ms;1,193 ms;1,193 ms;612 ms;0.2 ms;0.2 ms;200;text/css;VeryHigh;VeryHigh;VeryHigh;t;http/1.0;f;0;[];[Content-Length: <redacted>|Date: Fri, 07 Mar 2025 15:02:28 GMT|Content-type: text/css|Last-Modified: Fri, 07 Mar 2025 14:58:07 GMT|Server: SimpleHTTP/0.6 Python/3.9.6]
|
|
826
|
+
3;s-1922;582 ms;583 ms;1,177 ms;1,178 ms;596 ms;0.4 ms;1 ms;200;text/javascript;High;High;High;t;http/1.0;f;0;[];[Content-Length: <redacted>|Date: Fri, 07 Mar 2025 15:02:28 GMT|Content-type: text/javascript|Last-Modified: Fri, 07 Mar 2025 15:00:28 GMT|Server: SimpleHTTP/0.6 Python/3.9.6]
|
|
827
|
+
=== end content
|
|
828
|
+
|
|
829
|
+
Title: PerformanceTraceFormatter formatCriticalRequests multiple-navigations-render-blocking.json.gz
|
|
830
|
+
Content:
|
|
831
|
+
# Critical network requests
|
|
832
|
+
|
|
833
|
+
## insight set id: NAVIGATION_0
|
|
834
|
+
|
|
835
|
+
none
|
|
836
|
+
|
|
837
|
+
## insight set id: NAVIGATION_1
|
|
838
|
+
|
|
839
|
+
none
|
|
840
|
+
=== end content
|
|
841
|
+
|
|
842
|
+
Title: PerformanceTraceFormatter formatLongestTasks long-task-from-worker-thread.json.gz
|
|
843
|
+
Content:
|
|
844
|
+
# Longest tasks
|
|
845
|
+
|
|
846
|
+
- total time: 11 ms, event: (eventKey: r-62, ts: 2297273193336)
|
|
847
|
+
- total time: 3 ms, event: (eventKey: r-723, ts: 2297274436743)
|
|
848
|
+
- total time: 2 ms, event: (eventKey: r-631, ts: 2297274234151)
|
|
849
|
+
=== end content
|
|
850
|
+
|
|
851
|
+
Title: PerformanceTraceFormatter formatLongestTasks multiple-navigations-render-blocking.json.gz
|
|
852
|
+
Content:
|
|
853
|
+
# Longest tasks
|
|
854
|
+
|
|
855
|
+
## insight set id: NAVIGATION_0
|
|
856
|
+
|
|
857
|
+
- total time: 8 ms, event: (eventKey: r-6426, ts: 171608877757)
|
|
858
|
+
- total time: 7 ms, event: (eventKey: r-3609, ts: 171608164318)
|
|
859
|
+
- total time: 2 ms, event: (eventKey: r-6501, ts: 171608885367)
|
|
860
|
+
|
|
861
|
+
## insight set id: NAVIGATION_1
|
|
862
|
+
|
|
863
|
+
- total time: 3 ms, event: (eventKey: r-12777, ts: 171614328028)
|
|
864
|
+
- total time: 0.7 ms, event: (eventKey: r-15391, ts: 171615043591)
|
|
865
|
+
- total time: 0.7 ms, event: (eventKey: r-15448, ts: 171615044306)
|
|
866
|
+
=== end content
|
|
867
|
+
|
|
868
|
+
Title: PerformanceTraceFormatter formatMainThreadBottomUpSummary yahoo-news.json.gz
|
|
869
|
+
Content:
|
|
870
|
+
# Main thread bottom-up summary
|
|
871
|
+
|
|
872
|
+
This 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.
|
|
873
|
+
|
|
874
|
+
- self: 186 ms, total: 193 ms, source: Compile code
|
|
875
|
+
- self: 98 ms, total: 990 ms, source: Task
|
|
876
|
+
- self: 56 ms, total: 70 ms, source: Compile script
|
|
877
|
+
- self: 52 ms, total: 64 ms, source: setTimeout
|
|
878
|
+
- self: 38 ms, total: 40 ms, source: aC (url: https://s.yimg.com/aaq/f10d509c/d1irmdsmbztlvx.js, line: 0, column: 19068)
|
|
879
|
+
- self: 35 ms, total: 35 ms, source: Recalculate style (url: https://news.yahoo.com/, line: 57, column: 187957)
|
|
880
|
+
- self: 34 ms, total: 34 ms, source: Layout (url: https://news.yahoo.com/, line: 57, column: 187957)
|
|
881
|
+
- self: 31 ms, total: 34 ms, source: clearTimeout
|
|
882
|
+
- self: 30 ms, total: 53 ms, source: Parse HTML
|
|
883
|
+
- self: 26 ms, total: 259 ms, source: Function call
|
|
884
|
+
=== end content
|
|
885
|
+
|
|
886
|
+
Title: PerformanceTraceFormatter formatMainThreadBottomUpSummary multiple-navigations-render-blocking.json.gz
|
|
887
|
+
Content:
|
|
888
|
+
# Main thread bottom-up summary
|
|
889
|
+
|
|
890
|
+
This 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.
|
|
891
|
+
|
|
892
|
+
## insight set id: NAVIGATION_0
|
|
893
|
+
|
|
894
|
+
- self: 10 ms, total: 21 ms, source: Task
|
|
895
|
+
- self: 7 ms, total: 7 ms, source: Layout
|
|
896
|
+
- self: 2 ms, total: 2 ms, source: Profiling overhead
|
|
897
|
+
|
|
898
|
+
## insight set id: NAVIGATION_1
|
|
899
|
+
|
|
900
|
+
- self: 6 ms, total: 7 ms, source: Task
|
|
901
|
+
=== end content
|
|
902
|
+
|
|
903
|
+
Title: PerformanceTraceFormatter formatThirdPartySummary yahoo-news.json.gz
|
|
904
|
+
Content:
|
|
905
|
+
# 3rd party summary
|
|
906
|
+
|
|
907
|
+
- name: Yahoo!, main thread time: 270 ms, network transfer size: 2.4 MB
|
|
908
|
+
- name: Google/Doubleclick Ads, main thread time: 53 ms, network transfer size: 258.6 kB
|
|
909
|
+
- name: Taboola, main thread time: 43 ms, network transfer size: 393.6 kB
|
|
910
|
+
- name: Google Tag Manager, main thread time: 19 ms, network transfer size: 123.8 kB
|
|
911
|
+
- name: AOL / Oath / Verizon Media, main thread time: 5 ms, network transfer size: 42.3 kB
|
|
912
|
+
=== end content
|
|
913
|
+
|
|
914
|
+
Title: PerformanceTraceFormatter formatThirdPartySummary multiple-navigations-render-blocking.json.gz
|
|
915
|
+
Content:
|
|
916
|
+
# 3rd party summary
|
|
917
|
+
|
|
918
|
+
## insight set id: NAVIGATION_0
|
|
919
|
+
|
|
920
|
+
- name: localhost, main thread time: 0.8 ms, network transfer size: 22.9 kB
|
|
921
|
+
|
|
922
|
+
## insight set id: NAVIGATION_1
|
|
923
|
+
|
|
924
|
+
- name: localhost, main thread time: 0.3 ms, network transfer size: 22.9 kB
|
|
925
|
+
=== end content
|
|
926
|
+
|
|
862
927
|
Title: PerformanceTraceFormatter formatNetworkRequests formats network requests that have redirects
|
|
863
928
|
Content:
|
|
864
929
|
## Network request: http://localhost:3000/redirect3
|