Skip to content

Commit a561e22

Browse files
authored
report: show insight performance audits by default (#16552)
1 parent 4cecba5 commit a561e22

File tree

12 files changed

+31
-6
lines changed

12 files changed

+31
-6
lines changed

flow-report/test/setup/env-setup.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,9 @@ const rootHooks = {
4949

5050
// @ts-expect-error: for @testing-library/preact-hooks
5151
global.MessageChannel = MessageChannel;
52+
53+
// @ts-expect-error
54+
global.requestAnimationFrame = fn => fn();
5255
},
5356
};
5457

report/renderer/api.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ function renderReport(lhr, opts = {}) {
2121

2222
const dom = new DOM(rootEl.ownerDocument, rootEl);
2323
const renderer = new ReportRenderer(dom);
24+
if (opts._onSwapHook) dom._onSwapHook = opts._onSwapHook;
2425

2526
renderer.renderReport(lhr, rootEl, opts);
2627

report/renderer/dom.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ export class DOM {
3131
/** @type {WeakMap<Element, Element>} */
3232
this._swappableSections = new WeakMap();
3333
this._onSwap = () => {};
34+
this._onSwapHook = () => {};
3435
}
3536

3637
/**
@@ -356,5 +357,8 @@ export class DOM {
356357
parent.insertBefore(newSection, section);
357358
section.remove();
358359
this._onSwap();
360+
if (this._onSwapHook) {
361+
this._onSwapHook();
362+
}
359363
}
360364
}

report/renderer/performance-category-renderer.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {Globals} from './report-globals.js';
1212
import {Util} from '../../shared/util.js';
1313
import {createGauge, updateGauge} from './explodey-gauge.js';
1414

15-
const LOCAL_STORAGE_INSIGHTS_KEY = '__lh__insights_audits_toggle_state';
15+
const LOCAL_STORAGE_INSIGHTS_KEY = '__lh__insights_audits_toggle_state_2';
1616

1717
/**
1818
* @typedef {('DEFAULT'|'AUDITS'|'INSIGHTS')} InsightsExperimentState
@@ -159,7 +159,7 @@ export class PerformanceCategoryRenderer extends CategoryRenderer {
159159
**/
160160
_getInsightToggleState() {
161161
let state = this._getRawInsightToggleState();
162-
if (state === 'DEFAULT') state = 'AUDITS';
162+
if (state === 'DEFAULT') state = 'INSIGHTS';
163163
return state;
164164
}
165165

report/renderer/topbar-features.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ export class TopbarFeatures {
264264
this.categoriesEl = this._dom.find('div.lh-categories', this._dom.rootEl);
265265

266266
// Defer behind rAF to avoid forcing layout.
267-
window.requestAnimationFrame(() => window.requestAnimationFrame(() => {
267+
requestAnimationFrame(() => requestAnimationFrame(() => {
268268
// Only present in the DOM if it'll be used (>=2 categories)
269269
try {
270270
this.stickyHeaderEl = this._dom.find('div.lh-sticky-header', this._dom.rootEl);

report/test/clients/bundle-test.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ describe('lighthouseRenderer bundle', () => {
2424
document = window.document;
2525

2626
global.window = global.self = window;
27-
global.window.requestAnimationFrame = fn => fn();
27+
global.requestAnimationFrame = fn => fn();
2828
global.HTMLElement = window.HTMLElement;
2929
global.HTMLInputElement = window.HTMLInputElement;
3030
global.CustomEvent = window.CustomEvent;

report/test/renderer/performance-category-renderer-test.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ describe('PerfCategoryRenderer', () => {
3939
const document = window.document;
4040
global.HTMLElement = window.HTMLElement;
4141
global.CustomEvent = window.CustomEvent;
42+
global.requestAnimationFrame = fn => fn();
4243

4344
const dom = new DOM(document);
4445
const detailsRenderer = new DetailsRenderer(dom);
@@ -58,6 +59,7 @@ describe('PerfCategoryRenderer', () => {
5859

5960
after(() => {
6061
Globals.i18n = undefined;
62+
global.requestAnimationFrame = undefined;
6163
});
6264

6365
it('renders the category header', () => {

report/test/renderer/report-renderer-test.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ describe('ReportRenderer', () => {
3737
const {window} = new jsdom.JSDOM();
3838
global.self = window;
3939
global.HTMLElement = window.HTMLElement;
40+
global.CustomEvent = window.CustomEvent;
41+
global.requestAnimationFrame = fn => fn();
4042

4143
const dom = new DOM(window.document);
4244
const detailsRenderer = new DetailsRenderer(dom);
@@ -51,6 +53,8 @@ describe('ReportRenderer', () => {
5153
after(() => {
5254
global.self = undefined;
5355
global.matchMedia = undefined;
56+
global.requestAnimationFrame = undefined;
57+
global.CustomEvent = undefined;
5458
});
5559

5660
describe('renderReport', () => {

report/test/renderer/report-ui-features-test.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ describe('ReportUIFeatures', () => {
6161
global.HTMLElement = document.window.HTMLElement;
6262
global.HTMLInputElement = document.window.HTMLInputElement;
6363
global.CustomEvent = document.window.CustomEvent;
64+
global.requestAnimationFrame = fn => fn();
6465

6566
global.window = document.window;
66-
global.window.requestAnimationFrame = fn => fn();
6767
global.window.getComputedStyle = function() {
6868
return {
6969
marginTop: '10px',
@@ -85,6 +85,7 @@ describe('ReportUIFeatures', () => {
8585
global.HTMLElement = undefined;
8686
global.HTMLInputElement = undefined;
8787
global.CustomEvent = undefined;
88+
global.requestAnimationFrame = undefined;
8889
});
8990

9091
describe('initFeatures', () => {

report/types/report-renderer.d.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,11 @@ declare module Renderer {
4747
* data, which can be gotten from the artifacts.
4848
*/
4949
onViewTrace?: () => void;
50+
/**
51+
* Called when the performance audits/insights are swapped out.
52+
* TODO(v13): remove
53+
*/
54+
_onSwapHook?: () => void;
5055
}
5156
}
5257

0 commit comments

Comments
 (0)