Skip to content

Commit 595ae84

Browse files
committed
[cleanup] Remove several unnnecessary foo as FooData casts.
This removes most unnecessary `foo as FooData` casts that we previously enforced for `.data=${...}` assignments in lit-html templates. These casts in this CL were 100% redundant and didn't hide any typing bugs. There's another set of casts that were hiding potential bugs, and that will be addressed in a separate CL. Bug: 375114000 Change-Id: I4fa89a802e4f7880fbd47073c8b077adecdf5d5c Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/5956835 Auto-Submit: Benedikt Meurer <[email protected]> Reviewed-by: Danil Somsikov <[email protected]>
1 parent a75ec1d commit 595ae84

File tree

61 files changed

+199
-276
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

61 files changed

+199
-276
lines changed

extensions/cxx_debugging/src/ExtensionOptions.ts

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@
66
/* eslint-disable rulesdir/inject_checkbox_styles */
77
/* eslint-disable rulesdir/lit_html_host_this */
88

9+
import './CreditsItem.js';
10+
import './ModuleConfigurationList.js';
11+
912
import {html, render} from 'lit-html';
1013
import {until} from 'lit-html/directives/until.js'; // eslint-disable-line rulesdir/es_modules_import
1114

1215
import {type CreditsItemData} from './CreditsItem.js';
13-
import './CreditsItem.js';
14-
import {type ModuleConfigurationsChangedEvent} from './ModuleConfigurationList.js';
15-
import './ModuleConfigurationList.js';
16-
import {DEFAULT_MODULE_CONFIGURATIONS} from './ModuleConfiguration.js';
1716
import {type Storage} from './DevToolsPluginHost.js';
17+
import {DEFAULT_MODULE_CONFIGURATIONS} from './ModuleConfiguration.js';
18+
import {type ModuleConfigurationsChangedEvent} from './ModuleConfigurationList.js';
1819

1920
const CREDITS_ITEMS: CreditsItemData[] = [
2021
{
@@ -697,8 +698,7 @@ export class ExtensionOptions extends HTMLElement {
697698
698699
<h2>Credits</h2>
699700
<div>${CREDITS_ITEMS.map(data => {
700-
return html`<devtools-cxx-debugging-credits-item .data=${
701-
data as CreditsItemData}></devtools-cxx-debugging-credits-item>`;
701+
return html`<devtools-cxx-debugging-credits-item .data=${data}></devtools-cxx-debugging-credits-item>`;
702702
})}</div>`;
703703
render(output, this.shadow, {
704704
eventContext: this,

extensions/cxx_debugging/tests/CreditsItem_test.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ describe('CreditsItem', () => {
3131
homepage: 'https://www.example.com',
3232
license: 'Do whatever you want!'
3333
};
34-
const el = await createItem(html`<devtools-cxx-debugging-credits-item .data=${
35-
data as CreditsItemData}></devtools-cxx-debugging-credits-item>`);
34+
const el = await createItem(
35+
html`<devtools-cxx-debugging-credits-item .data=${data}></devtools-cxx-debugging-credits-item>`);
3636
expect(el.data).to.equal(data);
3737

3838
el.data = {title: 'title', homepage: 'homepage', license: 'license'};
@@ -43,8 +43,8 @@ describe('CreditsItem', () => {
4343

4444
it('renders title and homepage correctly', async () => {
4545
const data: CreditsItemData = {title: 'My project', homepage: 'https://www.example.com', license: '3-BSD License'};
46-
const el = await createItem(html`<devtools-cxx-debugging-credits-item .data=${
47-
data as CreditsItemData}></devtools-cxx-debugging-credits-item>`);
46+
const el = await createItem(
47+
html`<devtools-cxx-debugging-credits-item .data=${data}></devtools-cxx-debugging-credits-item>`);
4848
expect(el.shadowRoot?.querySelector('.title')?.textContent).to.eql(data.title);
4949
expect(el.shadowRoot?.querySelector('a')?.getAttribute('href')).to.eql(data.homepage);
5050
});

front_end/panels/application/components/BounceTrackingMitigationsView.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import * as Buttons from '../../../ui/components/buttons/buttons.js';
1111
import * as ChromeLink from '../../../ui/components/chrome_link/chrome_link.js';
1212
import * as DataGrid from '../../../ui/components/data_grid/data_grid.js';
1313
import * as LegacyWrapper from '../../../ui/components/legacy_wrapper/legacy_wrapper.js';
14-
import type * as ReportView from '../../../ui/components/report_view/report_view.js';
1514
import * as LitHtml from '../../../ui/lit-html/lit-html.js';
1615
import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
1716

@@ -91,10 +90,8 @@ export class BounceTrackingMitigationsView extends LegacyWrapper.LegacyWrapper.W
9190
async #render(): Promise<void> {
9291
// clang-format off
9392
LitHtml.render(html`
94-
<devtools-report .data=${
95-
{reportTitle: i18nString(UIStrings.bounceTrackingMitigationsTitle)} as ReportView.ReportView.ReportData
96-
}
97-
jslog=${VisualLogging.pane('bounce-tracking-mitigations')}>
93+
<devtools-report .data=${{reportTitle: i18nString(UIStrings.bounceTrackingMitigationsTitle)}}
94+
jslog=${VisualLogging.pane('bounce-tracking-mitigations')}>
9895
${await this.#renderMainFrameInformation()}
9996
</devtools-report>
10097
`, this.#shadow, {host: this});
@@ -200,8 +197,7 @@ export class BounceTrackingMitigationsView extends LegacyWrapper.LegacyWrapper.W
200197
// clang-format off
201198
return html`
202199
<devtools-report-section>
203-
<devtools-data-grid-controller .data=${
204-
gridData as DataGrid.DataGridController.DataGridControllerData}>
200+
<devtools-data-grid-controller .data=${gridData}>
205201
</devtools-data-grid-controller>
206202
</devtools-report-section>
207203
`;

front_end/panels/application/components/EndpointsGrid.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,7 @@ export class EndpointsGrid extends HTMLElement {
7777
<div class="reporting-container" jslog=${VisualLogging.section('endpoints')}>
7878
<div class="reporting-header">${i18n.i18n.lockedString('Endpoints')}</div>
7979
${this.#endpoints.size > 0 ? html`
80-
<devtools-data-grid-controller .data=${
81-
endpointsGridData as DataGrid.DataGridController.DataGridControllerData}>
80+
<devtools-data-grid-controller .data=${endpointsGridData}>
8281
</devtools-data-grid-controller>
8382
` : html`
8483
<div class="reporting-placeholder">

front_end/panels/application/components/InterestGroupAccessGrid.ts

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import * as i18n from '../../../core/i18n/i18n.js';
66
import type * as Protocol from '../../../generated/protocol.js';
77
import * as DataGrid from '../../../ui/components/data_grid/data_grid.js';
8-
import type * as IconButton from '../../../ui/components/icon_button/icon_button.js';
98
import * as LitHtml from '../../../ui/lit-html/lit-html.js';
109

1110
import interestGroupAccessGridStyles from './interestGroupAccessGrid.css.js';
@@ -71,11 +70,9 @@ export class InterestGroupAccessGrid extends HTMLElement {
7170
LitHtml.render(html`
7271
<div>
7372
<span class="heading">Interest Groups</span>
74-
<devtools-icon class="info-icon" title=${
75-
i18nString(UIStrings.allInterestGroupStorageEvents)}
76-
.data=${
77-
{iconName: 'info', color: 'var(--icon-default)', width: '16px'} as
78-
IconButton.Icon.IconWithName}>
73+
<devtools-icon class="info-icon"
74+
title=${i18nString(UIStrings.allInterestGroupStorageEvents)}
75+
.data=${{iconName: 'info', color: 'var(--icon-default)', width: '16px'}}>
7976
</devtools-icon>
8077
${this.#renderGridOrNoDataMessage()}
8178
</div>
@@ -131,8 +128,7 @@ export class InterestGroupAccessGrid extends HTMLElement {
131128
};
132129

133130
return html`
134-
<devtools-data-grid-controller .data=${
135-
gridData as DataGrid.DataGridController.DataGridControllerData}></devtools-data-grid-controller>
131+
<devtools-data-grid-controller .data=${gridData}></devtools-data-grid-controller>
136132
`;
137133
}
138134

front_end/panels/application/components/PermissionsPolicySection.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file.
44

5-
import '../../../ui/components/report_view/report_view.js';
65
import '../../../ui/components/icon_button/icon_button.js';
6+
import '../../../ui/components/report_view/report_view.js';
77

88
import * as Common from '../../../core/common/common.js';
99
import * as i18n from '../../../core/i18n/i18n.js';
@@ -12,7 +12,6 @@ import * as SDK from '../../../core/sdk/sdk.js';
1212
import * as Protocol from '../../../generated/protocol.js';
1313
import * as NetworkForward from '../../../panels/network/forward/forward.js';
1414
import * as Buttons from '../../../ui/components/buttons/buttons.js';
15-
import type * as IconButton from '../../../ui/components/icon_button/icon_button.js';
1615
import * as Coordinator from '../../../ui/components/render_coordinator/render_coordinator.js';
1716
import * as LitHtml from '../../../ui/lit-html/lit-html.js';
1817
import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
@@ -187,7 +186,7 @@ export class PermissionsPolicySection extends HTMLElement {
187186
color: 'var(--icon-error)',
188187
iconName: 'cross-circle',
189188
width: '20px', height: '20px',
190-
} as IconButton.Icon.IconData}>
189+
}}>
191190
</devtools-icon>
192191
</div>
193192
<div class="feature-name text-ellipsis">
@@ -210,7 +209,7 @@ export class PermissionsPolicySection extends HTMLElement {
210209
</div>
211210
</div>
212211
`;
213-
// clang-format on
212+
// clang-format on
214213
}));
215214

216215
return html`

front_end/panels/application/components/ReportsGrid.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import * as i18n from '../../../core/i18n/i18n.js';
1010
import * as Root from '../../../core/root/root.js';
1111
import type * as Protocol from '../../../generated/protocol.js';
1212
import type * as DataGrid from '../../../ui/components/data_grid/data_grid.js';
13-
import type * as IconButton from '../../../ui/components/icon_button/icon_button.js';
1413
import * as LitHtml from '../../../ui/lit-html/lit-html.js';
1514
import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
1615

@@ -63,7 +62,7 @@ export class ReportsGridStatusHeader extends HTMLElement {
6362
color: 'var(--icon-link)',
6463
width: '16px',
6564
height: '16px',
66-
} as IconButton.Icon.IconData}></devtools-icon>
65+
}}></devtools-icon>
6766
</x-link>
6867
`, this.#shadow, {host: this});
6968
// clang-format on
@@ -155,8 +154,7 @@ export class ReportsGrid extends HTMLElement {
155154
<div class="reporting-container" jslog=${VisualLogging.section('reports')}>
156155
<div class="reporting-header">${i18n.i18n.lockedString('Reports')}</div>
157156
${this.#reports.length > 0 ? html`
158-
<devtools-data-grid-controller .data=${
159-
reportsGridData as DataGrid.DataGridController.DataGridControllerData}>
157+
<devtools-data-grid-controller .data=${reportsGridData}>
160158
</devtools-data-grid-controller>
161159
` : html`
162160
<div class="reporting-placeholder">

front_end/panels/application/components/SharedStorageAccessGrid.ts

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
import * as i18n from '../../../core/i18n/i18n.js';
66
import type * as Protocol from '../../../generated/protocol.js';
77
import * as DataGrid from '../../../ui/components/data_grid/data_grid.js';
8-
import type * as IconButton from '../../../ui/components/icon_button/icon_button.js';
98
import * as LitHtml from '../../../ui/lit-html/lit-html.js';
109

1110
import sharedStorageAccessGridStyles from './sharedStorageAccessGrid.css.js';
@@ -76,12 +75,9 @@ export class SharedStorageAccessGrid extends HTMLElement {
7675
LitHtml.render(html`
7776
<div>
7877
<span class="heading">${i18nString(UIStrings.sharedStorage)}</span>
79-
<devtools-icon class="info-icon" title=${
80-
i18nString(UIStrings.allSharedStorageEvents)}
81-
.data=${
82-
{iconName: 'info',
83-
color: 'var(--icon-default)', width: '16px'} as
84-
IconButton.Icon.IconWithName}>
78+
<devtools-icon class="info-icon"
79+
title=${i18nString(UIStrings.allSharedStorageEvents)}
80+
.data=${{iconName: 'info', color: 'var(--icon-default)', width: '16px'}}>
8581
</devtools-icon>
8682
${this.#renderGridOrNoDataMessage()}
8783
</div>
@@ -146,8 +142,7 @@ export class SharedStorageAccessGrid extends HTMLElement {
146142
};
147143

148144
return html`
149-
<devtools-data-grid-controller .data=${
150-
gridData as DataGrid.DataGridController.DataGridControllerData}></devtools-data-grid-controller>
145+
<devtools-data-grid-controller .data=${gridData}></devtools-data-grid-controller>
151146
`;
152147
}
153148

front_end/panels/application/components/StackTrace.ts

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@ import * as i18n from '../../../core/i18n/i18n.js';
88
import type * as SDK from '../../../core/sdk/sdk.js';
99
import type * as Protocol from '../../../generated/protocol.js';
1010
import * as Bindings from '../../../models/bindings/bindings.js';
11-
import type * as ExpandableList from '../../../ui/components/expandable_list/expandable_list.js';
1211
import * as Components from '../../../ui/legacy/components/utils/utils.js';
1312
import * as LitHtml from '../../../ui/lit-html/lit-html.js';
1413
import * as VisualLogging from '../../../ui/visual_logging/visual_logging.js';
@@ -135,7 +134,6 @@ export class StackTraceLinkButton extends HTMLElement {
135134
}
136135

137136
export class StackTrace extends HTMLElement {
138-
139137
readonly #shadow = this.attachShadow({mode: 'open'});
140138
readonly #linkifier = new Components.Linkifier.Linkifier();
141139
#stackTraceRows: (Components.JSPresentationUtils.StackTraceRegularRow|
@@ -185,8 +183,9 @@ export class StackTrace extends HTMLElement {
185183
if ('functionName' in item) {
186184
expandableRows.push(html`
187185
<devtools-stack-trace-row data-stack-trace-row .data=${{
188-
stackTraceRowItem: item,
189-
} as StackTraceRowData}></devtools-stack-trace-row>`);
186+
stackTraceRowItem:
187+
item,
188+
}}></devtools-stack-trace-row>`);
190189
}
191190
if ('asyncDescription' in item) {
192191
expandableRows.push(html`
@@ -202,7 +201,7 @@ export class StackTrace extends HTMLElement {
202201
// Disabled until https://crbug.com/1079231 is fixed.
203202
// clang-format off
204203
expandableRows.push(html`
205-
<devtools-stack-trace-link-button data-stack-trace-row .data=${{onShowAllClick: this.#onToggleShowAllClick.bind(this), hiddenCallFramesCount, expandedView: this.#showHidden} as StackTraceLinkButtonData}></devtools-stack-trace-link-button>
204+
<devtools-stack-trace-link-button data-stack-trace-row .data=${{onShowAllClick: this.#onToggleShowAllClick.bind(this), hiddenCallFramesCount, expandedView: this.#showHidden}}></devtools-stack-trace-link-button>
206205
`);
207206
// clang-format on
208207
}
@@ -225,10 +224,8 @@ export class StackTrace extends HTMLElement {
225224
const expandableRows = this.createRowTemplates();
226225
LitHtml.render(
227226
html`
228-
<devtools-expandable-list .data=${{
229-
rows: expandableRows, title: i18nString(UIStrings.creationStackTrace),
230-
} as ExpandableList.ExpandableList.ExpandableListData}>
231-
jslog=${VisualLogging.tree()}>
227+
<devtools-expandable-list .data=${{rows: expandableRows, title: i18nString(UIStrings.creationStackTrace)}}
228+
jslog=${VisualLogging.tree()}>
232229
</devtools-expandable-list>
233230
`,
234231
this.#shadow, {host: this});

front_end/panels/application/components/StorageMetadataView.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import type * as Protocol from '../../../generated/protocol.js';
1111
import * as Buttons from '../../../ui/components/buttons/buttons.js';
1212
import * as LegacyWrapper from '../../../ui/components/legacy_wrapper/legacy_wrapper.js';
1313
import * as Coordinator from '../../../ui/components/render_coordinator/render_coordinator.js';
14-
import type * as ReportView from '../../../ui/components/report_view/report_view.js';
1514
import * as UI from '../../../ui/legacy/legacy.js';
1615
import * as LitHtml from '../../../ui/lit-html/lit-html.js';
1716

@@ -143,7 +142,7 @@ export class StorageMetadataView extends LegacyWrapper.LegacyWrapper.WrappableCo
143142
// Disabled until https://crbug.com/1079231 is fixed.
144143
// clang-format off
145144
LitHtml.render(html`
146-
<devtools-report .data=${{reportTitle: this.getTitle() ?? i18nString(UIStrings.loading)} as ReportView.ReportView.ReportData}>
145+
<devtools-report .data=${{reportTitle: this.getTitle() ?? i18nString(UIStrings.loading)}}>
147146
${await this.renderReportContent()}
148147
</devtools-report>`, this.#shadow, {host: this});
149148
// clang-format on

0 commit comments

Comments
 (0)