Skip to content

Commit 31a6cf1

Browse files
committed
collapsed to a single setting
Change-Id: I3886ba86705ce423ccf8024133bc58fff16fa6c8
1 parent 9623ae6 commit 31a6cf1

3 files changed

Lines changed: 23 additions & 4 deletions

File tree

src/tools/performance.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,12 @@ export const toggleCrux = defineTool({
178178
handler: async (request, response) => {
179179
try {
180180
const settings = DevTools.Common.Settings.Settings.instance();
181-
const cruxSetting = settings.createSetting('field-data-enabled', true);
182-
cruxSetting.set(request.params.enabled);
181+
const cruxSetting = settings.createSetting(
182+
'field-data',
183+
{enabled: false},
184+
DevTools.Common.Settings.SettingStorageType.GLOBAL,
185+
);
186+
cruxSetting.set({...cruxSetting.get(), enabled: request.params.enabled});
183187
response.appendResponseLine(
184188
`CrUX data fetching has been ${request.params.enabled ? 'enabled' : 'disabled'}.`,
185189
);

src/utils/crux.ts

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,13 @@ export async function populateCruxData(
185185
ensureCrUXManager();
186186
try {
187187
const settings = DevTools.Common.Settings.Settings.instance();
188-
const cruxSetting = settings.createSetting('field-data-enabled', true);
189-
if (!cruxSetting.get()) {
188+
const cruxSetting = settings.createSetting<ConfigSetting>(
189+
'field-data',
190+
{enabled: false},
191+
DevTools.Common.Settings.SettingStorageType.GLOBAL,
192+
);
193+
194+
if (!cruxSetting.get().enabled) {
190195
return;
191196
}
192197
} catch {

tests/utils/crux.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
traceResultIsSuccess,
1717
} from '../../src/trace-processing/parse.js';
1818
import {populateCruxData} from '../../src/utils/crux.js';
19+
import {ensureCrUXManager} from '../../src/utils/crux.js';
1920
import {loadTraceAsBuffer} from '../trace-processing/fixtures/load.js';
2021

2122
describe('crux util', () => {
@@ -69,6 +70,9 @@ describe('crux util', () => {
6970
.stub(DevTools.CrUXManager.CrUXManager, 'instance')
7071
.returns(mockCrUXManager as any);
7172

73+
const settings = DevTools.Common.Settings.Settings.instance();
74+
settings.createSetting('field-data', {enabled: false}).set({enabled: true});
75+
7276
await populateCruxData(result.parsedTrace);
7377
const summary = getTraceSummary(result);
7478

@@ -111,6 +115,9 @@ describe('crux util', () => {
111115
json: async () => mockResponse,
112116
} as Response);
113117

118+
const settings = DevTools.Common.Settings.Settings.instance();
119+
settings.createSetting('field-data', {enabled: false}).set({enabled: true});
120+
114121
await populateCruxData(fakeParsedTrace);
115122

116123
assert.ok(fakeParsedTrace.metadata.cruxFieldData);
@@ -145,6 +152,9 @@ describe('crux util', () => {
145152
status: 404,
146153
} as Response);
147154

155+
const settings = DevTools.Common.Settings.Settings.instance();
156+
settings.createSetting('field-data', {enabled: false}).set({enabled: true});
157+
148158
await populateCruxData(fakeParsedTrace);
149159

150160
assert.ok(fakeParsedTrace.metadata.cruxFieldData);

0 commit comments

Comments
 (0)