chrome-devtools-frontend 1.0.1553956 → 1.0.1555430
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/front_end/Images/src/spark.svg +10 -0
- package/front_end/core/protocol_client/InspectorBackend.ts +1 -1
- package/front_end/core/root/Runtime.ts +0 -4
- package/front_end/core/sdk/DOMModel.ts +101 -7
- package/front_end/core/sdk/ResourceTreeModel.ts +0 -1
- package/front_end/generated/SupportedCSSProperties.js +18 -0
- package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +1 -1
- package/front_end/models/ai_assistance/agents/StylingAgent.ts +1 -1
- package/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.ts +1 -1
- package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.ts +1 -1
- package/front_end/{ui/components → models}/annotations/AnnotationRepository.ts +3 -3
- package/front_end/models/annotations/README.md +7 -0
- package/front_end/models/bindings/DebuggerWorkspaceBinding.ts +8 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +15 -23
- package/front_end/models/stack_trace/StackTrace.ts +13 -2
- package/front_end/models/stack_trace/StackTraceImpl.ts +81 -6
- package/front_end/models/stack_trace/StackTraceModel.ts +35 -3
- package/front_end/panels/ai_assistance/AiAssistancePanel.ts +45 -4
- package/front_end/panels/ai_assistance/components/ArtifactsViewer.ts +57 -0
- package/front_end/panels/ai_assistance/components/ChatView.ts +1 -0
- package/front_end/panels/ai_assistance/components/artifactsViewer.css +10 -0
- package/front_end/panels/application/BounceTrackingMitigationsTreeElement.ts +2 -6
- package/front_end/panels/application/components/BounceTrackingMitigationsView.ts +133 -118
- package/front_end/panels/application/preloading/PreloadingView.ts +12 -6
- package/front_end/panels/application/preloading/components/PreloadingDetailsReportView.ts +230 -237
- package/front_end/panels/application/preloading/components/PreloadingGrid.ts +96 -79
- package/front_end/panels/application/preloading/components/preloadingGrid.css +26 -29
- package/front_end/panels/application/preloading/preloadingView.css +6 -0
- package/front_end/panels/common/Annotation.ts +1 -1
- package/front_end/panels/common/AnnotationManager.ts +1 -1
- package/front_end/panels/common/ExtensionView.ts +1 -0
- package/front_end/panels/console/ConsoleContextSelector.ts +74 -9
- package/front_end/panels/console/consoleContextSelector.css +31 -29
- package/front_end/panels/coverage/coverageListView.css +59 -57
- package/front_end/panels/elements/ElementsPanel.ts +1 -1
- package/front_end/panels/elements/ElementsTreeElement.ts +39 -1
- package/front_end/panels/elements/ElementsTreeOutline.ts +23 -21
- package/front_end/panels/elements/TopLayerContainer.ts +26 -91
- package/front_end/panels/explain/components/ConsoleInsight.ts +3 -3
- package/front_end/panels/network/NetworkItemView.ts +1 -1
- package/front_end/panels/network/NetworkLogView.ts +1 -1
- package/front_end/panels/network/NetworkPanel.ts +1 -1
- package/front_end/panels/recorder/RecorderController.ts +0 -1
- package/front_end/panels/security/CookieControlsView.ts +21 -10
- package/front_end/panels/security/SecurityPanelSidebar.ts +5 -0
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +0 -1
- package/front_end/panels/timeline/TimelineUIUtils.ts +5 -8
- package/front_end/panels/timeline/components/Sidebar.ts +16 -7
- package/front_end/panels/timeline/components/SidebarInsightsTab.ts +169 -129
- package/front_end/panels/timeline/components/TimelineSummary.ts +75 -54
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +16 -25
- package/front_end/panels/timeline/components/insights/Cache.ts +12 -8
- package/front_end/panels/timeline/components/insights/Checklist.ts +53 -43
- package/front_end/panels/timeline/components/insights/DOMSize.ts +25 -21
- package/front_end/panels/timeline/components/insights/DocumentLatency.ts +6 -3
- package/front_end/panels/timeline/components/insights/DuplicatedJavaScript.ts +7 -7
- package/front_end/panels/timeline/components/insights/FontDisplay.ts +7 -5
- package/front_end/panels/timeline/components/insights/ForcedReflow.ts +11 -9
- package/front_end/panels/timeline/components/insights/INPBreakdown.ts +7 -6
- package/front_end/panels/timeline/components/insights/ImageDelivery.ts +7 -5
- package/front_end/panels/timeline/components/insights/InsightRenderer.ts +20 -18
- package/front_end/panels/timeline/components/insights/LCPBreakdown.ts +12 -12
- package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +7 -3
- package/front_end/panels/timeline/components/insights/LegacyJavaScript.ts +7 -7
- package/front_end/panels/timeline/components/insights/ModernHTTP.ts +7 -5
- package/front_end/panels/timeline/components/insights/NetworkDependencyTree.ts +15 -13
- package/front_end/panels/timeline/components/insights/RenderBlocking.ts +2 -2
- package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +15 -14
- package/front_end/panels/timeline/components/insights/Table.ts +152 -130
- package/front_end/panels/timeline/components/insights/ThirdParties.ts +11 -9
- package/front_end/panels/timeline/components/sidebarInsightsTab.css +50 -48
- package/front_end/panels/timeline/components/timelineSummary.css +58 -57
- package/front_end/panels/timeline/thirdPartyTreeView.css +109 -0
- package/front_end/panels/timeline/timelineDetailsView.css +2 -4
- package/front_end/panels/timeline/timelinePanel.css +0 -110
- package/front_end/third_party/chromium/README.chromium +1 -1
- package/front_end/ui/components/settings/SettingCheckbox.ts +4 -6
- package/front_end/ui/legacy/TabbedPane.ts +20 -13
- package/front_end/ui/legacy/ViewManager.ts +2 -32
- package/front_end/ui/legacy/Widget.ts +1 -3
- package/front_end/ui/legacy/tabbedPane.css +4 -7
- package/front_end/ui/visual_logging/KnownContextValues.ts +1 -0
- package/package.json +1 -1
- /package/front_end/{ui/components → models}/annotations/AnnotationType.ts +0 -0
- /package/front_end/{ui/components → models}/annotations/annotations.ts +0 -0
|
@@ -2,17 +2,19 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import './Checklist.js';
|
|
6
|
-
|
|
7
5
|
import * as i18n from '../../../../core/i18n/i18n.js';
|
|
8
6
|
import type {LCPDiscoveryInsightModel} from '../../../../models/trace/insights/LCPDiscovery.js';
|
|
9
7
|
import * as Trace from '../../../../models/trace/trace.js';
|
|
10
8
|
import * as uiI18n from '../../../../ui/i18n/i18n.js';
|
|
9
|
+
import * as UI from '../../../../ui/legacy/legacy.js';
|
|
11
10
|
import * as Lit from '../../../../ui/lit/lit.js';
|
|
12
11
|
|
|
13
12
|
import {BaseInsightComponent} from './BaseInsightComponent.js';
|
|
13
|
+
import {Checklist} from './Checklist.js';
|
|
14
14
|
import {imageRef} from './ImageRef.js';
|
|
15
15
|
|
|
16
|
+
const {widgetConfig} = UI.Widget;
|
|
17
|
+
|
|
16
18
|
const {UIStrings, i18nString, getImageData} = Trace.Insights.Models.LCPDiscovery;
|
|
17
19
|
|
|
18
20
|
const {html} = Lit;
|
|
@@ -89,7 +91,9 @@ export class LCPDiscovery extends BaseInsightComponent<LCPDiscoveryInsightModel>
|
|
|
89
91
|
// clang-format off
|
|
90
92
|
return html`
|
|
91
93
|
<div class="insight-section">
|
|
92
|
-
<devtools-
|
|
94
|
+
<devtools-widget .widgetConfig=${widgetConfig(Checklist, {
|
|
95
|
+
checklist: imageData.checklist,
|
|
96
|
+
})}></devtools-widget>
|
|
93
97
|
<div class="insight-section">${imageRef(imageData.request)}${delayEl}</div>
|
|
94
98
|
</div>`;
|
|
95
99
|
// clang-format on
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import './Table.js';
|
|
6
|
-
|
|
7
5
|
import * as Common from '../../../../core/common/common.js';
|
|
8
6
|
import * as i18n from '../../../../core/i18n/i18n.js';
|
|
9
7
|
import * as SDK from '../../../../core/sdk/sdk.js';
|
|
@@ -11,15 +9,17 @@ import * as Bindings from '../../../../models/bindings/bindings.js';
|
|
|
11
9
|
import type {
|
|
12
10
|
LegacyJavaScriptInsightModel, PatternMatchResult} from '../../../../models/trace/insights/LegacyJavaScript.js';
|
|
13
11
|
import * as Trace from '../../../../models/trace/trace.js';
|
|
12
|
+
import * as UI from '../../../../ui/legacy/legacy.js';
|
|
14
13
|
import * as Lit from '../../../../ui/lit/lit.js';
|
|
15
14
|
|
|
16
15
|
import {BaseInsightComponent} from './BaseInsightComponent.js';
|
|
17
16
|
import {scriptRef} from './ScriptRef.js';
|
|
18
|
-
import
|
|
17
|
+
import {Table, type TableDataRow} from './Table.js';
|
|
19
18
|
|
|
20
19
|
const {UIStrings, i18nString} = Trace.Insights.Models.LegacyJavaScript;
|
|
21
20
|
|
|
22
21
|
const {html} = Lit;
|
|
22
|
+
const {widgetConfig} = UI.Widget;
|
|
23
23
|
|
|
24
24
|
export class LegacyJavaScript extends BaseInsightComponent<LegacyJavaScriptInsightModel> {
|
|
25
25
|
override internalName = 'legacy-javascript';
|
|
@@ -85,13 +85,13 @@ export class LegacyJavaScript extends BaseInsightComponent<LegacyJavaScriptInsig
|
|
|
85
85
|
// clang-format off
|
|
86
86
|
return html`
|
|
87
87
|
<div class="insight-section">
|
|
88
|
-
<devtools-
|
|
89
|
-
|
|
88
|
+
<devtools-widget .widgetConfig=${widgetConfig(Table, {
|
|
89
|
+
data: {
|
|
90
90
|
insight: this,
|
|
91
91
|
headers: [i18nString(UIStrings.columnScript), i18nString(UIStrings.columnWastedBytes)],
|
|
92
92
|
rows,
|
|
93
|
-
}
|
|
94
|
-
</devtools-
|
|
93
|
+
}})}>
|
|
94
|
+
</devtools-widget>
|
|
95
95
|
</div>
|
|
96
96
|
`;
|
|
97
97
|
// clang-format on
|
|
@@ -6,15 +6,17 @@ import './Table.js';
|
|
|
6
6
|
|
|
7
7
|
import type {ModernHTTPInsightModel} from '../../../../models/trace/insights/ModernHTTP.js';
|
|
8
8
|
import * as Trace from '../../../../models/trace/trace.js';
|
|
9
|
+
import * as UI from '../../../../ui/legacy/legacy.js';
|
|
9
10
|
import * as Lit from '../../../../ui/lit/lit.js';
|
|
10
11
|
|
|
11
12
|
import {BaseInsightComponent} from './BaseInsightComponent.js';
|
|
12
13
|
import {eventRef} from './EventRef.js';
|
|
13
|
-
import {createLimitedRows, renderOthersLabel,
|
|
14
|
+
import {createLimitedRows, renderOthersLabel, Table, type TableDataRow} from './Table.js';
|
|
14
15
|
|
|
15
16
|
const {UIStrings, i18nString, createOverlayForRequest} = Trace.Insights.Models.ModernHTTP;
|
|
16
17
|
|
|
17
18
|
const {html} = Lit;
|
|
19
|
+
const {widgetConfig} = UI.Widget;
|
|
18
20
|
|
|
19
21
|
export class ModernHTTP extends BaseInsightComponent<ModernHTTPInsightModel> {
|
|
20
22
|
override internalName = 'modern-http';
|
|
@@ -56,13 +58,13 @@ export class ModernHTTP extends BaseInsightComponent<ModernHTTPInsightModel> {
|
|
|
56
58
|
// clang-format off
|
|
57
59
|
return html`
|
|
58
60
|
<div class="insight-section">
|
|
59
|
-
<devtools-
|
|
60
|
-
|
|
61
|
+
<devtools-widget .widgetConfig=${widgetConfig(Table, {
|
|
62
|
+
data: {
|
|
61
63
|
insight: this,
|
|
62
64
|
headers: [i18nString(UIStrings.request), i18nString(UIStrings.protocol)],
|
|
63
65
|
rows,
|
|
64
|
-
}
|
|
65
|
-
</devtools-
|
|
66
|
+
}})}>
|
|
67
|
+
</devtools-widget>
|
|
66
68
|
</div>`;
|
|
67
69
|
// clang-format on
|
|
68
70
|
}
|
|
@@ -10,6 +10,7 @@ import type {
|
|
|
10
10
|
CriticalRequestNode, NetworkDependencyTreeInsightModel} from
|
|
11
11
|
'../../../../models/trace/insights/NetworkDependencyTree.js';
|
|
12
12
|
import * as Trace from '../../../../models/trace/trace.js';
|
|
13
|
+
import * as UI from '../../../../ui/legacy/legacy.js';
|
|
13
14
|
import * as Lit from '../../../../ui/lit/lit.js';
|
|
14
15
|
|
|
15
16
|
import {BaseInsightComponent} from './BaseInsightComponent.js';
|
|
@@ -17,11 +18,12 @@ import {eventRef} from './EventRef.js';
|
|
|
17
18
|
import {md} from './Helpers.js';
|
|
18
19
|
import networkDependencyTreeInsightStyles from './networkDependencyTreeInsight.css.js';
|
|
19
20
|
import {nodeLink} from './NodeLink.js';
|
|
20
|
-
import {renderOthersLabel,
|
|
21
|
+
import {renderOthersLabel, Table, type TableDataRow} from './Table.js';
|
|
21
22
|
|
|
22
23
|
const {UIStrings, i18nString} = Trace.Insights.Models.NetworkDependencyTree;
|
|
23
24
|
|
|
24
25
|
const {html} = Lit;
|
|
26
|
+
const {widgetConfig} = UI.Widget;
|
|
25
27
|
|
|
26
28
|
export const MAX_CHAINS_TO_SHOW = 5;
|
|
27
29
|
|
|
@@ -115,13 +117,13 @@ export class NetworkDependencyTree extends BaseInsightComponent<NetworkDependenc
|
|
|
115
117
|
|
|
116
118
|
// clang-format off
|
|
117
119
|
return html`
|
|
118
|
-
<devtools-
|
|
119
|
-
|
|
120
|
+
<devtools-widget .widgetConfig=${widgetConfig(Table, {
|
|
121
|
+
data: {
|
|
120
122
|
insight: this,
|
|
121
123
|
headers: [i18nString(UIStrings.columnRequest), i18nString(UIStrings.columnTime)],
|
|
122
124
|
rows,
|
|
123
|
-
}
|
|
124
|
-
</devtools-
|
|
125
|
+
}})}>
|
|
126
|
+
</devtools-widget>
|
|
125
127
|
`;
|
|
126
128
|
// clang-format on
|
|
127
129
|
}
|
|
@@ -240,13 +242,13 @@ export class NetworkDependencyTree extends BaseInsightComponent<NetworkDependenc
|
|
|
240
242
|
<div class="insight-section">
|
|
241
243
|
${preconnectOriginsTableTitle}
|
|
242
244
|
${this.#renderTooManyPreconnectsWarning()}
|
|
243
|
-
<devtools-
|
|
244
|
-
|
|
245
|
+
<devtools-widget .widgetConfig=${widgetConfig(Table, {
|
|
246
|
+
data: {
|
|
245
247
|
insight: this,
|
|
246
248
|
headers: [i18nString(UIStrings.columnOrigin), i18nString(UIStrings.columnSource)],
|
|
247
249
|
rows,
|
|
248
|
-
}
|
|
249
|
-
</devtools-
|
|
250
|
+
}})}>
|
|
251
|
+
</devtools-widget>
|
|
250
252
|
</div>
|
|
251
253
|
`;
|
|
252
254
|
// clang-format on
|
|
@@ -283,13 +285,13 @@ export class NetworkDependencyTree extends BaseInsightComponent<NetworkDependenc
|
|
|
283
285
|
return html`
|
|
284
286
|
<div class="insight-section">
|
|
285
287
|
${estSavingTableTitle}
|
|
286
|
-
<devtools-
|
|
287
|
-
|
|
288
|
+
<devtools-widget .widgetConfig=${widgetConfig(Table, {
|
|
289
|
+
data: {
|
|
288
290
|
insight: this,
|
|
289
291
|
headers: [i18nString(UIStrings.columnOrigin), i18nString(UIStrings.columnWastedMs)],
|
|
290
292
|
rows,
|
|
291
|
-
}
|
|
292
|
-
</devtools-
|
|
293
|
+
}})}>
|
|
294
|
+
</devtools-widget>
|
|
293
295
|
</div>
|
|
294
296
|
`;
|
|
295
297
|
// clang-format on
|
|
@@ -58,13 +58,13 @@ export class RenderBlocking extends BaseInsightComponent<RenderBlockingInsightMo
|
|
|
58
58
|
// clang-format off
|
|
59
59
|
return html`
|
|
60
60
|
<div class="insight-section">
|
|
61
|
-
<devtools-
|
|
61
|
+
<devtools-widget
|
|
62
62
|
.data=${{
|
|
63
63
|
insight: this,
|
|
64
64
|
headers: [i18nString(UIStrings.renderBlockingRequest), i18nString(UIStrings.duration)],
|
|
65
65
|
rows,
|
|
66
66
|
}}>
|
|
67
|
-
</devtools-
|
|
67
|
+
</devtools-widget>
|
|
68
68
|
</div>
|
|
69
69
|
`;
|
|
70
70
|
// clang-format on
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
// Use of this source code is governed by a BSD-style license that can be
|
|
3
3
|
// found in the LICENSE file.
|
|
4
4
|
|
|
5
|
-
import './Table.js';
|
|
6
5
|
import '../../../../ui/components/linkifier/linkifier.js';
|
|
7
6
|
|
|
8
7
|
import * as i18n from '../../../../core/i18n/i18n.js';
|
|
@@ -12,14 +11,16 @@ import type * as Protocol from '../../../../generated/protocol.js';
|
|
|
12
11
|
import type {SlowCSSSelectorInsightModel} from '../../../../models/trace/insights/SlowCSSSelector.js';
|
|
13
12
|
import * as Trace from '../../../../models/trace/trace.js';
|
|
14
13
|
import type * as Linkifier from '../../../../ui/components/linkifier/linkifier.js';
|
|
14
|
+
import * as UI from '../../../../ui/legacy/legacy.js';
|
|
15
15
|
import * as Lit from '../../../../ui/lit/lit.js';
|
|
16
16
|
|
|
17
17
|
import {BaseInsightComponent} from './BaseInsightComponent.js';
|
|
18
|
-
import
|
|
18
|
+
import {Table} from './Table.js';
|
|
19
19
|
|
|
20
20
|
const {UIStrings, i18nString} = Trace.Insights.Models.SlowCSSSelector;
|
|
21
21
|
|
|
22
22
|
const {html} = Lit;
|
|
23
|
+
const {widgetConfig} = UI.Widget;
|
|
23
24
|
|
|
24
25
|
export class SlowCSSSelector extends BaseInsightComponent<SlowCSSSelectorInsightModel> {
|
|
25
26
|
override internalName = 'slow-css-selector';
|
|
@@ -106,8 +107,8 @@ export class SlowCSSSelector extends BaseInsightComponent<SlowCSSSelectorInsight
|
|
|
106
107
|
// clang-format off
|
|
107
108
|
const sections = [html`
|
|
108
109
|
<div class="insight-section">
|
|
109
|
-
<devtools-
|
|
110
|
-
|
|
110
|
+
<devtools-widget .widgetConfig=${widgetConfig(Table, {
|
|
111
|
+
data: {
|
|
111
112
|
insight: this,
|
|
112
113
|
headers: [i18nString(UIStrings.total), ''],
|
|
113
114
|
rows: [
|
|
@@ -115,8 +116,8 @@ export class SlowCSSSelector extends BaseInsightComponent<SlowCSSSelectorInsight
|
|
|
115
116
|
{values: [i18nString(UIStrings.matchCount), this.model.totalMatchCount]},
|
|
116
117
|
{values: [i18nString(UIStrings.elapsed), i18n.TimeUtilities.millisToString(this.model.totalElapsedMs)]},
|
|
117
118
|
],
|
|
118
|
-
}
|
|
119
|
-
</devtools-
|
|
119
|
+
}})}>
|
|
120
|
+
</devtools-widget>
|
|
120
121
|
</div>
|
|
121
122
|
`];
|
|
122
123
|
// clang-format on
|
|
@@ -126,14 +127,14 @@ export class SlowCSSSelector extends BaseInsightComponent<SlowCSSSelectorInsight
|
|
|
126
127
|
// clang-format off
|
|
127
128
|
sections.push(html`
|
|
128
129
|
<div class="insight-section">
|
|
129
|
-
<devtools-
|
|
130
|
-
|
|
130
|
+
<devtools-widget .widgetConfig=${widgetConfig(Table, {
|
|
131
|
+
data: {
|
|
131
132
|
insight: this,
|
|
132
133
|
headers: [`${i18nString(UIStrings.topSelectorElapsedTime)}: ${time(Trace.Types.Timing.Micro(selector['elapsed (us)']))}`],
|
|
133
134
|
rows: [{
|
|
134
135
|
values: [html`${selector.selector} ${Lit.Directives.until(this.getSelectorLinks(cssModel, selector))}`]}]
|
|
135
|
-
}}
|
|
136
|
-
</devtools-
|
|
136
|
+
}})}>
|
|
137
|
+
</devtools-widget>
|
|
137
138
|
</div>
|
|
138
139
|
`);
|
|
139
140
|
// clang-format on
|
|
@@ -144,15 +145,15 @@ export class SlowCSSSelector extends BaseInsightComponent<SlowCSSSelectorInsight
|
|
|
144
145
|
// clang-format off
|
|
145
146
|
sections.push(html`
|
|
146
147
|
<div class="insight-section">
|
|
147
|
-
<devtools-
|
|
148
|
-
|
|
148
|
+
<devtools-widget .widgetConfig=${widgetConfig(Table, {
|
|
149
|
+
data: {
|
|
149
150
|
insight: this,
|
|
150
151
|
headers: [`${i18nString(UIStrings.topSelectorMatchAttempt)}: ${selector['match_attempts']}`],
|
|
151
152
|
rows: [{
|
|
152
153
|
values: [html`${selector.selector} ${Lit.Directives.until(this.getSelectorLinks(cssModel, selector))}` as unknown as string],
|
|
153
154
|
}]
|
|
154
|
-
}}
|
|
155
|
-
</devtools-
|
|
155
|
+
}})}>
|
|
156
|
+
</devtools-widget>
|
|
156
157
|
</div>
|
|
157
158
|
`);
|
|
158
159
|
// clang-format on
|