Skip to content

Commit 022cff6

Browse files
OrKoNDevtools-frontend LUCI CQ
authored andcommitted
Move PersistenceUtils to panels/common
Bypass-Check-License: move only Bug: 451895560 Change-Id: I3acc25b1b3599d7ab4fc231667297ab1bd2fcbe9 Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/7041142 Commit-Queue: Philip Pfaffe <pfaffe@chromium.org> Reviewed-by: Philip Pfaffe <pfaffe@chromium.org> Commit-Queue: Alex Rudenko <alexrudenko@chromium.org> Auto-Submit: Alex Rudenko <alexrudenko@chromium.org>
1 parent 989c3d0 commit 022cff6

File tree

11 files changed

+30
-30
lines changed

11 files changed

+30
-30
lines changed

config/gni/devtools_grd_files.gni

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1148,7 +1148,6 @@ grd_files_unbundled_sources = [
11481148
"front_end/models/persistence/IsolatedFileSystemManager.js",
11491149
"front_end/models/persistence/NetworkPersistenceManager.js",
11501150
"front_end/models/persistence/PersistenceImpl.js",
1151-
"front_end/models/persistence/PersistenceUtils.js",
11521151
"front_end/models/persistence/PlatformFileSystem.js",
11531152
"front_end/models/project_settings/ProjectSettingsModel.js",
11541153
"front_end/models/source_map_scopes/NamesResolver.js",
@@ -1431,6 +1430,7 @@ grd_files_unbundled_sources = [
14311430
"front_end/panels/common/BadgeNotification.js",
14321431
"front_end/panels/common/FreDialog.js",
14331432
"front_end/panels/common/GdpSignUpDialog.js",
1433+
"front_end/panels/common/PersistenceUtils.js",
14341434
"front_end/panels/common/aiCodeCompletionDisclaimer.css.js",
14351435
"front_end/panels/common/aiCodeCompletionSummaryToolbar.css.js",
14361436
"front_end/panels/common/aiCodeCompletionTeaser.css.js",

front_end/entrypoints/main/MainImpl.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ import * as Logs from '../../models/logs/logs.js';
5454
import * as Persistence from '../../models/persistence/persistence.js';
5555
import * as ProjectSettings from '../../models/project_settings/project_settings.js';
5656
import * as Workspace from '../../models/workspace/workspace.js';
57-
import type * as PanelCommon from '../../panels/common/common.js';
57+
import * as PanelCommon from '../../panels/common/common.js';
5858
import * as Snippets from '../../panels/snippets/snippets.js';
5959
import * as Buttons from '../../ui/components/buttons/buttons.js';
6060
import * as Snackbar from '../../ui/components/snackbars/snackbars.js';
@@ -480,11 +480,13 @@ export class MainImpl {
480480
isolatedFileSystemManager.addPlatformFileSystem(
481481
'snippet://' as Platform.DevToolsPath.UrlString, new Snippets.ScriptSnippetFileSystem.SnippetFileSystem());
482482

483-
Persistence.Persistence.PersistenceImpl.instance({
483+
const persistenceImpl = Persistence.Persistence.PersistenceImpl.instance({
484484
forceNew: true,
485485
workspace: Workspace.Workspace.WorkspaceImpl.instance(),
486486
breakpointManager: Breakpoints.BreakpointManager.BreakpointManager.instance(),
487487
});
488+
const linkDecorator = new PanelCommon.PersistenceUtils.LinkDecorator(persistenceImpl);
489+
Components.Linkifier.Linkifier.setLinkDecorator(linkDecorator);
488490
Persistence.NetworkPersistenceManager.NetworkPersistenceManager.instance(
489491
{forceNew: true, workspace: Workspace.Workspace.WorkspaceImpl.instance()});
490492

front_end/models/persistence/BUILD.gn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ devtools_module("persistence") {
1818
"IsolatedFileSystemManager.ts",
1919
"NetworkPersistenceManager.ts",
2020
"PersistenceImpl.ts",
21-
"PersistenceUtils.ts",
2221
"PlatformFileSystem.ts",
2322
]
2423

@@ -53,6 +52,7 @@ devtools_entrypoint("bundle") {
5352
"../../entrypoints/main/*",
5453
"../../panels/ai_assistance/*",
5554
"../../panels/changes/*",
55+
"../../panels/common/*",
5656
"../../panels/network/*",
5757
"../../panels/recorder/*",
5858
"../../panels/settings/*",

front_end/models/persistence/PersistenceImpl.ts

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,12 @@ import * as Common from '../../core/common/common.js';
66
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';
9-
import * as Components from '../../ui/legacy/components/utils/utils.js';
109
import * as Bindings from '../bindings/bindings.js';
1110
import * as BreakpointManager from '../breakpoints/breakpoints.js';
1211
import * as TextUtils from '../text_utils/text_utils.js';
1312
import * as Workspace from '../workspace/workspace.js';
1413

1514
import {Automapping, type AutomappingStatus} from './Automapping.js';
16-
import {LinkDecorator} from './PersistenceUtils.js';
1715

1816
let persistenceInstance: PersistenceImpl;
1917

@@ -33,9 +31,6 @@ export class PersistenceImpl extends Common.ObjectWrapper.ObjectWrapper<EventTyp
3331
this.#breakpointManager = breakpointManager;
3432
this.#breakpointManager.addUpdateBindingsCallback(this.#setupBindings.bind(this));
3533

36-
const linkDecorator = new LinkDecorator(this);
37-
Components.Linkifier.Linkifier.setLinkDecorator(linkDecorator);
38-
3934
this.#mapping = new Automapping(this.#workspace, this.onStatusAdded.bind(this), this.onStatusRemoved.bind(this));
4035
}
4136

front_end/models/persistence/persistence.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import * as IsolatedFileSystem from './IsolatedFileSystem.js';
1010
import * as IsolatedFileSystemManager from './IsolatedFileSystemManager.js';
1111
import * as NetworkPersistenceManager from './NetworkPersistenceManager.js';
1212
import * as Persistence from './PersistenceImpl.js';
13-
import * as PersistenceUtils from './PersistenceUtils.js';
1413
import * as PlatformFileSystem from './PlatformFileSystem.js';
1514

1615
export {
@@ -22,6 +21,5 @@ export {
2221
IsolatedFileSystemManager,
2322
NetworkPersistenceManager,
2423
Persistence,
25-
PersistenceUtils,
2624
PlatformFileSystem,
2725
};

front_end/panels/common/BUILD.gn

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ devtools_module("common") {
2828
"BadgeNotification.ts",
2929
"FreDialog.ts",
3030
"GdpSignUpDialog.ts",
31+
"PersistenceUtils.ts",
3132
]
3233

3334
deps = [
@@ -37,8 +38,10 @@ devtools_module("common") {
3738
"../../core/platform:bundle",
3839
"../../models/badges:bundle",
3940
"../../models/geometry:bundle",
41+
"../../models/persistence:bundle",
4042
"../../services/window_bounds:bundle",
4143
"../../ui/components/buttons:bundle",
44+
"../../ui/components/icon_button:bundle",
4245
"../../ui/components/snackbars:bundle",
4346
"../../ui/components/spinners:bundle",
4447
"../../ui/components/switch:bundle",

front_end/models/persistence/PersistenceUtils.ts renamed to front_end/panels/common/PersistenceUtils.ts

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,11 @@
66
import * as Common from '../../core/common/common.js';
77
import * as i18n from '../../core/i18n/i18n.js';
88
import * as Platform from '../../core/platform/platform.js';
9+
import * as Persistence from '../../models/persistence/persistence.js';
10+
import * as Workspace from '../../models/workspace/workspace.js';
911
import * as IconButton from '../../ui/components/icon_button/icon_button.js';
1012
import * as Components from '../../ui/legacy/components/utils/utils.js';
11-
// TODO(crbug.com/442509324): remove UI dependency
12-
// eslint-disable-next-line rulesdir/no-imports-in-directory
1313
import * as UI from '../../ui/legacy/legacy.js';
14-
import * as Workspace from '../workspace/workspace.js';
15-
16-
import {FileSystemWorkspaceBinding} from './FileSystemWorkspaceBinding.js';
17-
import {NetworkPersistenceManager} from './NetworkPersistenceManager.js';
18-
import {Events, type PersistenceBinding, PersistenceImpl} from './PersistenceImpl.js';
1914

2015
const UIStrings = {
2116
/**
@@ -29,16 +24,17 @@ const UIStrings = {
2924
*/
3025
linkedToS: 'Linked to {PH1}',
3126
} as const;
32-
const str_ = i18n.i18n.registerUIStrings('models/persistence/PersistenceUtils.ts', UIStrings);
27+
const str_ = i18n.i18n.registerUIStrings('panels/common/PersistenceUtils.ts', UIStrings);
3328
const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
3429
export class PersistenceUtils {
3530
static tooltipForUISourceCode(uiSourceCode: Workspace.UISourceCode.UISourceCode): string {
36-
const binding = PersistenceImpl.instance().binding(uiSourceCode);
31+
const binding = Persistence.Persistence.PersistenceImpl.instance().binding(uiSourceCode);
3732
if (!binding) {
3833
return '';
3934
}
4035
if (uiSourceCode === binding.network) {
41-
return FileSystemWorkspaceBinding.tooltipForUISourceCode(binding.fileSystem);
36+
return Persistence.FileSystemWorkspaceBinding.FileSystemWorkspaceBinding.tooltipForUISourceCode(
37+
binding.fileSystem);
4238
}
4339
if (binding.network.contentType().isFromSourceMap()) {
4440
return i18nString(
@@ -48,7 +44,7 @@ export class PersistenceUtils {
4844
}
4945

5046
static iconForUISourceCode(uiSourceCode: Workspace.UISourceCode.UISourceCode): IconButton.Icon.Icon|null {
51-
const binding = PersistenceImpl.instance().binding(uiSourceCode);
47+
const binding = Persistence.Persistence.PersistenceImpl.instance().binding(uiSourceCode);
5248
if (binding) {
5349
if (!Common.ParsedURL.schemeIs(binding.fileSystem.url(), 'file:')) {
5450
return null;
@@ -57,7 +53,8 @@ export class PersistenceUtils {
5753
icon.name = 'document';
5854
icon.classList.add('small');
5955
UI.Tooltip.Tooltip.install(icon, PersistenceUtils.tooltipForUISourceCode(binding.network));
60-
if (NetworkPersistenceManager.instance().project() === binding.fileSystem.project()) {
56+
if (Persistence.NetworkPersistenceManager.NetworkPersistenceManager.instance().project() ===
57+
binding.fileSystem.project()) {
6158
icon.classList.add('dot', 'purple');
6259
} else {
6360
icon.classList.add('dot', 'green');
@@ -70,7 +67,8 @@ export class PersistenceUtils {
7067
return null;
7168
}
7269

73-
if (NetworkPersistenceManager.instance().isActiveHeaderOverrides(uiSourceCode)) {
70+
if (Persistence.NetworkPersistenceManager.NetworkPersistenceManager.instance().isActiveHeaderOverrides(
71+
uiSourceCode)) {
7472
const icon = new IconButton.Icon.Icon();
7573
icon.name = 'document';
7674
icon.classList.add('small');
@@ -88,13 +86,13 @@ export class PersistenceUtils {
8886

8987
export class LinkDecorator extends Common.ObjectWrapper.ObjectWrapper<Components.Linkifier.LinkDecorator.EventTypes>
9088
implements Components.Linkifier.LinkDecorator {
91-
constructor(persistence: PersistenceImpl) {
89+
constructor(persistence: Persistence.Persistence.PersistenceImpl) {
9290
super();
93-
persistence.addEventListener(Events.BindingCreated, this.bindingChanged, this);
94-
persistence.addEventListener(Events.BindingRemoved, this.bindingChanged, this);
91+
persistence.addEventListener(Persistence.Persistence.Events.BindingCreated, this.bindingChanged, this);
92+
persistence.addEventListener(Persistence.Persistence.Events.BindingRemoved, this.bindingChanged, this);
9593
}
9694

97-
private bindingChanged(event: Common.EventTarget.EventTargetEvent<PersistenceBinding>): void {
95+
private bindingChanged(event: Common.EventTarget.EventTargetEvent<Persistence.Persistence.PersistenceBinding>): void {
9896
const binding = event.data;
9997
this.dispatchEventToListeners(Components.Linkifier.LinkDecorator.Events.LINK_ICON_CHANGED, binding.network);
10098
}

front_end/panels/common/common.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,3 +100,4 @@ export {GdpSignUpDialog} from './GdpSignUpDialog.js';
100100
export {AiCodeCompletionDisclaimer} from './AiCodeCompletionDisclaimer.js';
101101
export {AiCodeCompletionSummaryToolbar} from './AiCodeCompletionSummaryToolbar.js';
102102
export * from './BadgeNotification.js';
103+
export * as PersistenceUtils from './PersistenceUtils.js';

front_end/panels/sources/TabbedEditorContainer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import * as Tooltips from '../../ui/components/tooltips/tooltips.js';
1616
import * as SourceFrame from '../../ui/legacy/components/source_frame/source_frame.js';
1717
import * as UI from '../../ui/legacy/legacy.js';
1818
import * as VisualLogging from '../../ui/visual_logging/visual_logging.js';
19+
import * as PanelCommon from '../common/common.js';
1920
import * as Snippets from '../snippets/snippets.js';
2021

2122
import {SourcesView} from './SourcesView.js';
@@ -644,7 +645,7 @@ export class TabbedEditorContainer extends Common.ObjectWrapper.ObjectWrapper<Ev
644645
/* eslint-enable rulesdir/no-imperative-dom-api */
645646
this.tabbedPane.setSuffixElement(tabId, suffixElement);
646647
} else {
647-
const icon = Persistence.PersistenceUtils.PersistenceUtils.iconForUISourceCode(uiSourceCode);
648+
const icon = PanelCommon.PersistenceUtils.PersistenceUtils.iconForUISourceCode(uiSourceCode);
648649
this.tabbedPane.setTrailingTabIcon(tabId, icon);
649650
}
650651
}

front_end/panels/utils/BUILD.gn

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ devtools_entrypoint("bundle") {
1818
"../../ui/components/diff_view:bundle",
1919
"../../ui/components/icon_button:bundle",
2020
"../../ui/legacy:bundle",
21+
"../common:bundle",
2122
"../snippets:bundle",
2223
]
2324

0 commit comments

Comments
 (0)