[RPP] Remove Duplicated JavaScript insight from experimental

Also configures the "initialView" when opening the treemap from this
insight card.

Fixed: 394373632
Change-Id: Ic0ed412193a337d7d68e031d14a664516bb8d6ee
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/6408022
Commit-Queue: Paul Irish <paulirish@chromium.org>
Commit-Queue: Connor Clark <cjamcl@chromium.org>
Auto-Submit: Connor Clark <cjamcl@chromium.org>
Reviewed-by: Paul Irish <paulirish@chromium.org>
This commit is contained in:
Connor Clark
2025-03-28 14:00:27 -07:00
committed by Devtools-frontend LUCI CQ
parent 42fe2c4d98
commit 39b158a8da
5 changed files with 11 additions and 6 deletions
@@ -35,7 +35,7 @@ export const UIStrings = {
const str_ = i18n.i18n.registerUIStrings('models/trace/insights/DuplicatedJavaScript.ts', UIStrings);
export const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
export type DuplicateJavaScriptInsightModel = InsightModel<typeof UIStrings, {
export type DuplicatedJavaScriptInsightModel = InsightModel<typeof UIStrings, {
duplication: Extras.ScriptDuplication.ScriptDuplication,
duplicationGroupedByNodeModules: Extras.ScriptDuplication.ScriptDuplication,
scriptsWithDuplication: Handlers.ModelHandlers.Scripts.Script[],
@@ -43,7 +43,8 @@ export type DuplicateJavaScriptInsightModel = InsightModel<typeof UIStrings, {
mainDocumentUrl: string,
}>;
function finalize(partialModel: PartialInsightModel<DuplicateJavaScriptInsightModel>): DuplicateJavaScriptInsightModel {
function finalize(partialModel: PartialInsightModel<DuplicatedJavaScriptInsightModel>):
DuplicatedJavaScriptInsightModel {
const requests = partialModel.scriptsWithDuplication.map(script => script.request).filter(e => !!e);
return {
@@ -59,7 +60,7 @@ function finalize(partialModel: PartialInsightModel<DuplicateJavaScriptInsightMo
}
export function generateInsight(
parsedTrace: Handlers.Types.ParsedTrace, context: InsightSetContext): DuplicateJavaScriptInsightModel {
parsedTrace: Handlers.Types.ParsedTrace, context: InsightSetContext): DuplicatedJavaScriptInsightModel {
const scripts = parsedTrace.Scripts.scripts.filter(script => {
if (!context.navigation) {
return false;
@@ -67,6 +67,7 @@ describeWithEnvironment('SidebarSingleInsightSet', () => {
'Font display',
'Optimize viewport for mobile',
'Optimize DOM size',
'Duplicated JavaScript',
'CSS Selector costs',
'Forced reflow',
'Use efficient cache lifetimes',
@@ -84,6 +85,7 @@ describeWithEnvironment('SidebarSingleInsightSet', () => {
'Font display',
'Optimize viewport for mobile',
'Optimize DOM size',
'Duplicated JavaScript',
'CSS Selector costs',
'Forced reflow',
'Use efficient cache lifetimes',
@@ -124,6 +126,7 @@ describeWithEnvironment('SidebarSingleInsightSet', () => {
'Document request latency',
'Optimize viewport for mobile',
'Optimize DOM size',
'Duplicated JavaScript',
'CSS Selector costs',
'Forced reflow',
'Modern HTTP',
@@ -140,6 +143,7 @@ describeWithEnvironment('SidebarSingleInsightSet', () => {
'Document request latency',
'Optimize viewport for mobile',
'Optimize DOM size',
'Duplicated JavaScript',
'CSS Selector costs',
'Forced reflow',
'Modern HTTP',
@@ -90,7 +90,6 @@ export interface SidebarSingleInsightSetData {
* us to ship incrementally without turning insights on by default for all
* users. */
const EXPERIMENTAL_INSIGHTS: ReadonlySet<string> = new Set([
'DuplicatedJavaScript',
]);
type InsightNameToComponentMapping =
@@ -5,7 +5,7 @@
import './Table.js';
import * as i18n from '../../../../core/i18n/i18n.js';
import type {DuplicateJavaScriptInsightModel} from '../../../../models/trace/insights/DuplicatedJavaScript.js';
import type {DuplicatedJavaScriptInsightModel} from '../../../../models/trace/insights/DuplicatedJavaScript.js';
import * as Trace from '../../../../models/trace/trace.js';
import * as Buttons from '../../../../ui/components/buttons/buttons.js';
import * as Lit from '../../../../ui/lit/lit.js';
@@ -21,7 +21,7 @@ const {UIStrings, i18nString} = Trace.Insights.Models.DuplicatedJavaScript;
const {html} = Lit;
export class DuplicatedJavaScript extends BaseInsightComponent<DuplicateJavaScriptInsightModel> {
export class DuplicatedJavaScript extends BaseInsightComponent<DuplicatedJavaScriptInsightModel> {
static override readonly litTagName = Lit.StaticHtml.literal`devtools-performance-duplicated-javascript`;
override internalName = 'duplicated-javascript';
#treemapData: Utils.Treemap.TreemapData|null = null;
@@ -71,6 +71,7 @@ export function openTreemap(treemapData: TreemapData, mainDocumentUrl: string, w
locale: i18n.DevToolsLocale.DevToolsLocale.instance().locale,
},
},
initialView: 'duplicate-modules',
};
const url = 'https://googlechrome.github.io/lighthouse/treemap/';
const windowName = `treemap-${windowNameSuffix}`;