Skip to content

Commit ad3e7dc

Browse files
OrKoNDevtools-frontend LUCI CQ
authored andcommitted
Remove view dependency from NetworkPersistenceManager
Bug: 451895560 Change-Id: Id9a441518f63f71edb824c9e40452caa4c3e8ad2 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/7036758 Auto-Submit: Alex Rudenko <alexrudenko@chromium.org> Reviewed-by: Danil Somsikov <dsv@chromium.org> Commit-Queue: Danil Somsikov <dsv@chromium.org>
1 parent 6dc5ac0 commit ad3e7dc

File tree

2 files changed

+9
-6
lines changed

2 files changed

+9
-6
lines changed

front_end/entrypoints/main/MainImpl.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -582,7 +582,12 @@ export class MainImpl {
582582
Host.InspectorFrontendHost.InspectorFrontendHostInstance.events.addEventListener(
583583
Host.InspectorFrontendHostAPI.Events.RevealSourceLine, this.#revealSourceLine, this);
584584

585-
await UI.InspectorView.InspectorView.instance().createToolbars();
585+
const inspectorView = UI.InspectorView.InspectorView.instance();
586+
Persistence.NetworkPersistenceManager.NetworkPersistenceManager.instance().addEventListener(
587+
Persistence.NetworkPersistenceManager.Events.LOCAL_OVERRIDES_REQUESTED, event => {
588+
inspectorView.displaySelectOverrideFolderInfobar(event.data);
589+
});
590+
await inspectorView.createToolbars();
586591
Host.InspectorFrontendHost.InspectorFrontendHostInstance.loadCompleted();
587592

588593
// Initialize elements for the live announcer functionality for a11y.

front_end/models/persistence/NetworkPersistenceManager.ts

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ import * as Host from '../../core/host/host.js';
77
import * as Platform from '../../core/platform/platform.js';
88
import * as SDK from '../../core/sdk/sdk.js';
99
import * as Protocol from '../../generated/protocol.js';
10-
// TODO(crbug.com/442509324): remove UI dependency
11-
// eslint-disable-next-line rulesdir/no-imports-in-directory
12-
import * as UI from '../../ui/legacy/legacy.js';
1310
import * as Breakpoints from '../breakpoints/breakpoints.js';
1411
import * as TextUtils from '../text_utils/text_utils.js';
1512
import * as Workspace from '../workspace/workspace.js';
@@ -400,8 +397,7 @@ export class NetworkPersistenceManager extends Common.ObjectWrapper.ObjectWrappe
400397
// No overrides folder, set it up
401398
if (this.#shouldPromptSaveForOverridesDialog(uiSourceCode)) {
402399
Host.userMetrics.actionTaken(Host.UserMetrics.Action.OverrideContentContextMenuSetup);
403-
await new Promise<void>(
404-
resolve => UI.InspectorView.InspectorView.instance().displaySelectOverrideFolderInfobar(resolve));
400+
await new Promise<void>(resolve => this.dispatchEventToListeners(Events.LOCAL_OVERRIDES_REQUESTED, resolve));
405401
await IsolatedFileSystemManager.instance().addFileSystem('overrides');
406402
}
407403

@@ -980,12 +976,14 @@ export const enum Events {
980976
PROJECT_CHANGED = 'ProjectChanged',
981977
REQUEST_FOR_HEADER_OVERRIDES_FILE_CHANGED = 'RequestsForHeaderOverridesFileChanged',
982978
LOCAL_OVERRIDES_PROJECT_UPDATED = 'LocalOverridesProjectUpdated',
979+
LOCAL_OVERRIDES_REQUESTED = 'LocalOverridesRequested',
983980
}
984981

985982
export interface EventTypes {
986983
[Events.PROJECT_CHANGED]: Workspace.Workspace.Project|null;
987984
[Events.REQUEST_FOR_HEADER_OVERRIDES_FILE_CHANGED]: Workspace.UISourceCode.UISourceCode;
988985
[Events.LOCAL_OVERRIDES_PROJECT_UPDATED]: boolean;
986+
[Events.LOCAL_OVERRIDES_REQUESTED]: () => void;
989987
}
990988

991989
export interface HeaderOverride {

0 commit comments

Comments
 (0)