Skip to content

Commit 575d70c

Browse files
szuendDevtools-frontend LUCI CQ
authored andcommitted
[bindings] Pass CSSWorkspaceBinding via constructor to SASSSourceMapping
R=nvitkov@chromium.org Bug: 458180550 Change-Id: I22cd81a4987f521040e9bb3ddab80e77f18d3610 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/7165023 Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Nikolay Vitkov <nvitkov@chromium.org> Commit-Queue: Nikolay Vitkov <nvitkov@chromium.org> Auto-Submit: Simon Zünd <szuend@chromium.org>
1 parent ad11b9e commit 575d70c

2 files changed

Lines changed: 11 additions & 7 deletions

File tree

front_end/models/bindings/CSSWorkspaceBinding.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export class CSSWorkspaceBinding implements SDK.TargetManager.SDKModelObserver<S
6363
}
6464

6565
modelAdded(cssModel: SDK.CSSModel.CSSModel): void {
66-
this.#modelToInfo.set(cssModel, new ModelInfo(cssModel, this.#resourceMapping));
66+
this.#modelToInfo.set(cssModel, new ModelInfo(cssModel, this.#resourceMapping, this));
6767
}
6868

6969
modelRemoved(cssModel: SDK.CSSModel.CSSModel): void {
@@ -157,7 +157,8 @@ export class ModelInfo {
157157
#sassSourceMapping: SASSSourceMapping;
158158
readonly #locations: Platform.MapUtilities.Multimap<SDK.CSSStyleSheetHeader.CSSStyleSheetHeader, LiveLocation>;
159159
readonly #unboundLocations: Platform.MapUtilities.Multimap<Platform.DevToolsPath.UrlString, LiveLocation>;
160-
constructor(cssModel: SDK.CSSModel.CSSModel, resourceMapping: ResourceMapping) {
160+
constructor(
161+
cssModel: SDK.CSSModel.CSSModel, resourceMapping: ResourceMapping, cssWorkspaceBinding: CSSWorkspaceBinding) {
161162
this.#eventListeners = [
162163
cssModel.addEventListener(
163164
SDK.CSSModel.Events.StyleSheetAdded,
@@ -176,7 +177,8 @@ export class ModelInfo {
176177
this.#resourceMapping = resourceMapping;
177178
this.#stylesSourceMapping = new StylesSourceMapping(cssModel, resourceMapping.workspace);
178179
const sourceMapManager = cssModel.sourceMapManager();
179-
this.#sassSourceMapping = new SASSSourceMapping(cssModel.target(), sourceMapManager, resourceMapping.workspace);
180+
this.#sassSourceMapping =
181+
new SASSSourceMapping(cssModel.target(), sourceMapManager, resourceMapping.workspace, cssWorkspaceBinding);
180182

181183
this.#locations = new Platform.MapUtilities.Multimap();
182184
this.#unboundLocations = new Platform.MapUtilities.Multimap();

front_end/models/bindings/SASSSourceMapping.ts

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,22 @@ import * as TextUtils from '../text_utils/text_utils.js';
1010
import * as Workspace from '../workspace/workspace.js';
1111

1212
import {ContentProviderBasedProject} from './ContentProviderBasedProject.js';
13-
import {CSSWorkspaceBinding, type SourceMapping} from './CSSWorkspaceBinding.js';
13+
import type {CSSWorkspaceBinding, SourceMapping} from './CSSWorkspaceBinding.js';
1414
import {NetworkProject} from './NetworkProject.js';
1515

1616
export class SASSSourceMapping implements SourceMapping {
1717
readonly #sourceMapManager: SDK.SourceMapManager.SourceMapManager<SDK.CSSStyleSheetHeader.CSSStyleSheetHeader>;
1818
readonly #project: ContentProviderBasedProject;
1919
readonly #eventListeners: Common.EventTarget.EventDescriptor[];
2020
readonly #bindings: Map<string, Binding>;
21+
readonly #cssWorkspaceBinding: CSSWorkspaceBinding;
2122

2223
constructor(
2324
target: SDK.Target.Target,
2425
sourceMapManager: SDK.SourceMapManager.SourceMapManager<SDK.CSSStyleSheetHeader.CSSStyleSheetHeader>,
25-
workspace: Workspace.Workspace.WorkspaceImpl) {
26+
workspace: Workspace.Workspace.WorkspaceImpl, cssWorkspaceBinding: CSSWorkspaceBinding) {
2627
this.#sourceMapManager = sourceMapManager;
28+
this.#cssWorkspaceBinding = cssWorkspaceBinding;
2729
this.#project = new ContentProviderBasedProject(
2830
workspace, 'cssSourceMaps:' + target.id(), Workspace.Workspace.projectTypes.Network, '',
2931
false /* isServiceProject */);
@@ -58,7 +60,7 @@ export class SASSSourceMapping implements SourceMapping {
5860
}
5961
binding.addSourceMap(sourceMap, header.frameId);
6062
}
61-
await CSSWorkspaceBinding.instance().updateLocations(header);
63+
await this.#cssWorkspaceBinding.updateLocations(header);
6264
this.sourceMapAttachedForTest(sourceMap);
6365
}
6466

@@ -78,7 +80,7 @@ export class SASSSourceMapping implements SourceMapping {
7880
}
7981
}
8082
}
81-
await CSSWorkspaceBinding.instance().updateLocations(header);
83+
await this.#cssWorkspaceBinding.updateLocations(header);
8284
}
8385

8486
rawLocationToUILocation(rawLocation: SDK.CSSModel.CSSLocation): Workspace.UISourceCode.UILocation|null {

0 commit comments

Comments
 (0)