Skip to content

Commit 5086955

Browse files
szuendDevtools-frontend LUCI CQ
authored andcommitted
[SDK] Use context-based settings in OverlayModel
Bug: 493760728 Change-Id: I2ad020276f49f51dc92f3ae57dc23517f4f2d858 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/7693616 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Kim-Anh Tran <kimanh@chromium.org>
1 parent df17783 commit 5086955

3 files changed

Lines changed: 28 additions & 24 deletions

File tree

front_end/core/sdk/OverlayModel.ts

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,10 @@ export class OverlayModel extends SDKModel<EventTypes> implements ProtocolProxyA
9797
target.registerOverlayDispatcher(this);
9898
this.overlayAgent = target.overlayAgent();
9999

100+
const settings = this.target().targetManager().settings;
100101
this.#debuggerModel = target.model(DebuggerModel);
101102
if (this.#debuggerModel) {
102-
Common.Settings.Settings.instance()
103-
.moduleSetting('disable-paused-state-overlay')
103+
settings.moduleSetting('disable-paused-state-overlay')
104104
.addChangeListener(this.updatePausedInDebuggerMessage, this);
105105
this.#debuggerModel.addEventListener(
106106
DebuggerModelEvents.DebuggerPaused, this.updatePausedInDebuggerMessage, this);
@@ -114,21 +114,19 @@ export class OverlayModel extends SDKModel<EventTypes> implements ProtocolProxyA
114114
this.#defaultHighlighter = new DefaultHighlighter(this);
115115
this.#highlighter = this.#defaultHighlighter;
116116

117-
this.#showPaintRectsSetting = Common.Settings.Settings.instance().moduleSetting<boolean>('show-paint-rects');
118-
this.#showLayoutShiftRegionsSetting =
119-
Common.Settings.Settings.instance().moduleSetting<boolean>('show-layout-shift-regions');
120-
this.#showAdHighlightsSetting = Common.Settings.Settings.instance().moduleSetting<boolean>('show-ad-highlights');
121-
this.#showDebugBordersSetting = Common.Settings.Settings.instance().moduleSetting<boolean>('show-debug-borders');
122-
this.#showFPSCounterSetting = Common.Settings.Settings.instance().moduleSetting<boolean>('show-fps-counter');
123-
this.#showScrollBottleneckRectsSetting =
124-
Common.Settings.Settings.instance().moduleSetting<boolean>('show-scroll-bottleneck-rects');
117+
this.#showPaintRectsSetting = settings.moduleSetting<boolean>('show-paint-rects');
118+
this.#showLayoutShiftRegionsSetting = settings.moduleSetting<boolean>('show-layout-shift-regions');
119+
this.#showAdHighlightsSetting = settings.moduleSetting<boolean>('show-ad-highlights');
120+
this.#showDebugBordersSetting = settings.moduleSetting<boolean>('show-debug-borders');
121+
this.#showFPSCounterSetting = settings.moduleSetting<boolean>('show-fps-counter');
122+
this.#showScrollBottleneckRectsSetting = settings.moduleSetting<boolean>('show-scroll-bottleneck-rects');
125123

126124
if (!target.suspended()) {
127125
void this.overlayAgent.invoke_enable();
128126
void this.wireAgentToSettings();
129127
}
130128

131-
this.#persistentHighlighter = new OverlayPersistentHighlighter(this, {
129+
this.#persistentHighlighter = new OverlayPersistentHighlighter(this, settings, {
132130
onGridOverlayStateChanged: ({nodeId, enabled}) => {
133131
this.#domModel.nodeForId(nodeId)?.dispatchEventToListeners(DOMNodeEvents.GRID_OVERLAY_STATE_CHANGED, {enabled});
134132
this.dispatchEventToListeners(Events.PERSISTENT_GRID_OVERLAY_STATE_CHANGED, {nodeId, enabled});
@@ -291,8 +289,9 @@ export class OverlayModel extends SDKModel<EventTypes> implements ProtocolProxyA
291289
if (this.target().suspended()) {
292290
return;
293291
}
292+
const settings = this.target().targetManager().settings;
294293
const message = this.#debuggerModel && this.#debuggerModel.isPaused() &&
295-
!Common.Settings.Settings.instance().moduleSetting('disable-paused-state-overlay').get() ?
294+
!settings.moduleSetting('disable-paused-state-overlay').get() ?
296295
i18nString(UIStrings.pausedInDebugger) :
297296
undefined;
298297
void this.overlayAgent.invoke_setPausedInDebuggerMessage({message});
@@ -524,7 +523,8 @@ export class OverlayModel extends SDKModel<EventTypes> implements ProtocolProxyA
524523

525524
private buildHighlightConfig(mode: string|undefined = 'all', showDetailedToolip: boolean|undefined = false):
526525
Protocol.Overlay.HighlightConfig {
527-
const showRulers = Common.Settings.Settings.instance().moduleSetting('show-metrics-rulers').get();
526+
const settings = this.target().targetManager().settings;
527+
const showRulers = settings.moduleSetting('show-metrics-rulers').get();
528528
const highlightConfig: Protocol.Overlay.HighlightConfig = {
529529
showInfo: mode === 'all' || mode === 'container-outline',
530530
showRulers,

front_end/core/sdk/OverlayPersistentHighlighter.test.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,8 @@ describeWithEnvironment('OverlayPersistentHighlighter', () => {
9595
}),
9696
});
9797

98-
highlighter = new SDK.OverlayPersistentHighlighter.OverlayPersistentHighlighter(mockOverlayModel, stubbedCallbacks);
98+
highlighter = new SDK.OverlayPersistentHighlighter.OverlayPersistentHighlighter(
99+
mockOverlayModel, Common.Settings.Settings.instance(), stubbedCallbacks);
99100
resetSavedSetting();
100101
});
101102

front_end/core/sdk/OverlayPersistentHighlighter.ts

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,7 @@ export interface PersistentHighlighterCallbacks {
3333
export class OverlayPersistentHighlighter {
3434
readonly #model: OverlayModel;
3535
readonly #colors = new Map<Protocol.DOM.NodeId, Common.Color.Color>();
36-
readonly #persistentHighlightSetting =
37-
Common.Settings.Settings.instance().createLocalSetting<PersistentHighlightSettingItem[]>(
38-
'persistent-highlight-setting', []);
36+
readonly #persistentHighlightSetting: Common.Settings.Setting<PersistentHighlightSettingItem[]>;
3937
#gridHighlights = new Map<Protocol.DOM.NodeId, Protocol.Overlay.GridHighlightConfig>();
4038
#scrollSnapHighlights = new Map<Protocol.DOM.NodeId, Protocol.Overlay.ScrollSnapContainerHighlightConfig>();
4139
#flexHighlights = new Map<Protocol.DOM.NodeId, Protocol.Overlay.FlexContainerHighlightConfig>();
@@ -47,18 +45,23 @@ export class OverlayPersistentHighlighter {
4745
/**
4846
* @see `front_end/core/sdk/sdk-meta.ts`
4947
*/
50-
readonly #showGridLineLabelsSetting =
51-
Common.Settings.Settings.instance().moduleSetting<string>('show-grid-line-labels');
52-
readonly #extendGridLinesSetting = Common.Settings.Settings.instance().moduleSetting<boolean>('extend-grid-lines');
53-
readonly #showGridAreasSetting = Common.Settings.Settings.instance().moduleSetting<boolean>('show-grid-areas');
54-
readonly #showGridTrackSizesSetting =
55-
Common.Settings.Settings.instance().moduleSetting<boolean>('show-grid-track-sizes');
48+
readonly #showGridLineLabelsSetting: Common.Settings.Setting<string>;
49+
readonly #extendGridLinesSetting: Common.Settings.Setting<boolean>;
50+
readonly #showGridAreasSetting: Common.Settings.Setting<boolean>;
51+
readonly #showGridTrackSizesSetting: Common.Settings.Setting<boolean>;
5652

5753
readonly #callbacks: PersistentHighlighterCallbacks;
58-
constructor(model: OverlayModel, callbacks: PersistentHighlighterCallbacks) {
54+
constructor(model: OverlayModel, settings: Common.Settings.Settings, callbacks: PersistentHighlighterCallbacks) {
5955
this.#model = model;
6056
this.#callbacks = callbacks;
6157

58+
this.#persistentHighlightSetting =
59+
settings.createLocalSetting<PersistentHighlightSettingItem[]>('persistent-highlight-setting', []);
60+
this.#showGridLineLabelsSetting = settings.moduleSetting<string>('show-grid-line-labels');
61+
this.#extendGridLinesSetting = settings.moduleSetting<boolean>('extend-grid-lines');
62+
this.#showGridAreasSetting = settings.moduleSetting<boolean>('show-grid-areas');
63+
this.#showGridTrackSizesSetting = settings.moduleSetting<boolean>('show-grid-track-sizes');
64+
6265
this.#showGridLineLabelsSetting.addChangeListener(this.onSettingChange, this);
6366
this.#extendGridLinesSetting.addChangeListener(this.onSettingChange, this);
6467
this.#showGridAreasSetting.addChangeListener(this.onSettingChange, this);

0 commit comments

Comments
 (0)