From 1c780375b35ce8ae21eeb276b3056b73e12018b7 Mon Sep 17 00:00:00 2001 From: Benjamin Pasero Date: Fri, 4 Sep 2020 11:30:07 +0200 Subject: [PATCH] sandbox - lift more services to electron-sandbox --- .../extensions.contribution.ts | 2 +- .../extensionsActions.ts | 0 .../logs.contribution.ts | 2 +- .../logsActions.ts | 0 .../sandbox.simpleservices.ts | 66 +------------------ .../accessibilityService.ts | 0 .../configurationResolverService.ts | 1 + .../pathService.ts | 0 src/vs/workbench/workbench.desktop.main.ts | 6 -- src/vs/workbench/workbench.sandbox.main.ts | 6 ++ 10 files changed, 11 insertions(+), 72 deletions(-) rename src/vs/workbench/contrib/extensions/{electron-browser => electron-sandbox}/extensionsActions.ts (100%) rename src/vs/workbench/contrib/logs/{electron-browser => electron-sandbox}/logs.contribution.ts (95%) rename src/vs/workbench/contrib/logs/{electron-browser => electron-sandbox}/logsActions.ts (100%) rename src/vs/workbench/services/accessibility/{electron-browser => electron-sandbox}/accessibilityService.ts (100%) rename src/vs/workbench/services/configurationResolver/{electron-browser => electron-sandbox}/configurationResolverService.ts (96%) rename src/vs/workbench/services/path/{electron-browser => electron-sandbox}/pathService.ts (100%) diff --git a/src/vs/workbench/contrib/extensions/electron-browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/electron-browser/extensions.contribution.ts index 5ea10060ccc..24315638575 100644 --- a/src/vs/workbench/contrib/extensions/electron-browser/extensions.contribution.ts +++ b/src/vs/workbench/contrib/extensions/electron-browser/extensions.contribution.ts @@ -22,7 +22,7 @@ import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { ExtensionsAutoProfiler } from 'vs/workbench/contrib/extensions/electron-browser/extensionsAutoProfiler'; import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService'; import { INativeWorkbenchEnvironmentService } from 'vs/workbench/services/environment/electron-sandbox/environmentService'; -import { OpenExtensionsFolderAction } from 'vs/workbench/contrib/extensions/electron-browser/extensionsActions'; +import { OpenExtensionsFolderAction } from 'vs/workbench/contrib/extensions/electron-sandbox/extensionsActions'; import { ExtensionsLabel } from 'vs/platform/extensionManagement/common/extensionManagement'; import { ExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService'; import { IExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/common/extensions'; diff --git a/src/vs/workbench/contrib/extensions/electron-browser/extensionsActions.ts b/src/vs/workbench/contrib/extensions/electron-sandbox/extensionsActions.ts similarity index 100% rename from src/vs/workbench/contrib/extensions/electron-browser/extensionsActions.ts rename to src/vs/workbench/contrib/extensions/electron-sandbox/extensionsActions.ts diff --git a/src/vs/workbench/contrib/logs/electron-browser/logs.contribution.ts b/src/vs/workbench/contrib/logs/electron-sandbox/logs.contribution.ts similarity index 95% rename from src/vs/workbench/contrib/logs/electron-browser/logs.contribution.ts rename to src/vs/workbench/contrib/logs/electron-sandbox/logs.contribution.ts index 8196c1feabb..2985d0c6bd9 100644 --- a/src/vs/workbench/contrib/logs/electron-browser/logs.contribution.ts +++ b/src/vs/workbench/contrib/logs/electron-sandbox/logs.contribution.ts @@ -7,7 +7,7 @@ import * as nls from 'vs/nls'; import { Registry } from 'vs/platform/registry/common/platform'; import { IWorkbenchActionRegistry, Extensions as WorkbenchActionExtensions } from 'vs/workbench/common/actions'; import { SyncActionDescriptor } from 'vs/platform/actions/common/actions'; -import { OpenLogsFolderAction, OpenExtensionLogsFolderAction } from 'vs/workbench/contrib/logs/electron-browser/logsActions'; +import { OpenLogsFolderAction, OpenExtensionLogsFolderAction } from 'vs/workbench/contrib/logs/electron-sandbox/logsActions'; const workbenchActionsRegistry = Registry.as(WorkbenchActionExtensions.WorkbenchActions); const devCategory = nls.localize({ key: 'developer', comment: ['A developer on Code itself or someone diagnosing issues in Code'] }, "Developer"); diff --git a/src/vs/workbench/contrib/logs/electron-browser/logsActions.ts b/src/vs/workbench/contrib/logs/electron-sandbox/logsActions.ts similarity index 100% rename from src/vs/workbench/contrib/logs/electron-browser/logsActions.ts rename to src/vs/workbench/contrib/logs/electron-sandbox/logsActions.ts diff --git a/src/vs/workbench/electron-sandbox/sandbox.simpleservices.ts b/src/vs/workbench/electron-sandbox/sandbox.simpleservices.ts index 3b42484e070..95823d4a1c1 100644 --- a/src/vs/workbench/electron-sandbox/sandbox.simpleservices.ts +++ b/src/vs/workbench/electron-sandbox/sandbox.simpleservices.ts @@ -35,9 +35,7 @@ import { IKeyboardMapper } from 'vs/workbench/services/keybinding/common/keyboar import { ChordKeybinding, ResolvedKeybinding, SimpleKeybinding } from 'vs/base/common/keyCodes'; import { ScanCodeBinding } from 'vs/base/common/scanCode'; import { USLayoutResolvedKeybinding } from 'vs/platform/keybinding/common/usLayoutResolvedKeybinding'; -import { isWindows, OperatingSystem, OS } from 'vs/base/common/platform'; -import { IPathService } from 'vs/workbench/services/path/common/pathService'; -import { posix, win32 } from 'vs/base/common/path'; +import { isWindows, OS } from 'vs/base/common/platform'; import { IConfirmation, IConfirmationResult, IDialogOptions, IDialogService, IShowResult } from 'vs/platform/dialogs/common/dialogs'; import Severity from 'vs/base/common/severity'; import { IWebviewService, WebviewContentOptions, WebviewElement, WebviewExtensionDescription, WebviewIcons, WebviewOptions, WebviewOverlay } from 'vs/workbench/contrib/webview/browser/webview'; @@ -46,14 +44,12 @@ import { AbstractTextFileService } from 'vs/workbench/services/textfile/browser/ import { EnablementState, ExtensionRecommendationReason, IExtensionManagementServer, IExtensionManagementServerService, IExtensionRecommendation } from 'vs/workbench/services/extensionManagement/common/extensionManagement'; import { LanguageId, TokenizationRegistry } from 'vs/editor/common/modes'; import { IGrammar, ITextMateService } from 'vs/workbench/services/textMate/common/textMateService'; -import { AccessibilitySupport, IAccessibilityService } from 'vs/platform/accessibility/common/accessibility'; import { ITunnelProvider, ITunnelService, RemoteTunnel } from 'vs/platform/remote/common/tunnel'; import { Disposable, IDisposable } from 'vs/base/common/lifecycle'; import { IManualSyncTask, IResourcePreview, ISyncResourceHandle, ISyncTask, IUserDataAutoSyncService, IUserDataSyncService, IUserDataSyncStore, IUserDataSyncStoreManagementService, SyncResource, SyncStatus, UserDataSyncStoreType } from 'vs/platform/userDataSync/common/userDataSync'; import { IUserDataSyncAccount, IUserDataSyncAccountService } from 'vs/platform/userDataSync/common/userDataSyncAccount'; import { AbstractTimerService, IStartupMetrics, ITimerService, Writeable } from 'vs/workbench/services/timer/browser/timerService'; -import { IWorkspaceEditingService } from 'vs/workbench/services/workspaces/common/workspaceEditing'; -import { ISingleFolderWorkspaceIdentifier, IWorkspaceFolderCreationData, IWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces'; +import { ISingleFolderWorkspaceIdentifier, IWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces'; import { ITaskProvider, ITaskService, ITaskSummary, ProblemMatcherRunOptions, Task, TaskFilter, TaskTerminateResponse, WorkspaceFolderTaskResult } from 'vs/workbench/contrib/tasks/common/taskService'; import { Action } from 'vs/base/common/actions'; import { LinkedMap } from 'vs/base/common/map'; @@ -510,24 +506,6 @@ registerSingleton(IKeymapService, SimpleKeymapService); //#endregion -//#region Path - -class SimplePathService implements IPathService { - - declare readonly _serviceBrand: undefined; - - readonly resolvedUserHome = URI.file('user-home'); - readonly path = Promise.resolve(OS === OperatingSystem.Windows ? win32 : posix); - - async fileURI(path: string): Promise { return URI.file(path); } - async userHome(options?: { preferLocal: boolean; }): Promise { return this.resolvedUserHome; } -} - -registerSingleton(IPathService, SimplePathService); - -//#endregion - - //#region Dialog class SimpleDialogService implements IDialogService { @@ -607,25 +585,6 @@ registerSingleton(ITextMateService, SimpleTextMateService); //#endregion -//#region Accessibility - -class SimpleAccessibilityService implements IAccessibilityService { - - declare readonly _serviceBrand: undefined; - - onDidChangeScreenReaderOptimized = Event.None; - - isScreenReaderOptimized(): boolean { return false; } - async alwaysUnderlineAccessKeys(): Promise { return false; } - setAccessibilitySupport(accessibilitySupport: AccessibilitySupport): void { } - getAccessibilitySupport(): AccessibilitySupport { return AccessibilitySupport.Unknown; } -} - -registerSingleton(IAccessibilityService, SimpleAccessibilityService); - -//#endregion - - //#region Tunnel class SimpleTunnelService implements ITunnelService { @@ -759,27 +718,6 @@ registerSingleton(ITimerService, SimpleTimerService); //#endregion -//#region Workspace Editing - -class SimpleWorkspaceEditingService implements IWorkspaceEditingService { - - declare readonly _serviceBrand: undefined; - - async addFolders(folders: IWorkspaceFolderCreationData[], donotNotifyError?: boolean): Promise { } - async removeFolders(folders: URI[], donotNotifyError?: boolean): Promise { } - async updateFolders(index: number, deleteCount?: number, foldersToAdd?: IWorkspaceFolderCreationData[], donotNotifyError?: boolean): Promise { } - async enterWorkspace(path: URI): Promise { } - async createAndEnterWorkspace(folders: IWorkspaceFolderCreationData[], path?: URI): Promise { } - async saveAndEnterWorkspace(path: URI): Promise { } - async copyWorkspaceSettings(toWorkspace: IWorkspaceIdentifier): Promise { } - async pickNewWorkspacePath(): Promise { return undefined!; } -} - -registerSingleton(IWorkspaceEditingService, SimpleWorkspaceEditingService); - -//#endregion - - //#region Task class SimpleTaskService implements ITaskService { diff --git a/src/vs/workbench/services/accessibility/electron-browser/accessibilityService.ts b/src/vs/workbench/services/accessibility/electron-sandbox/accessibilityService.ts similarity index 100% rename from src/vs/workbench/services/accessibility/electron-browser/accessibilityService.ts rename to src/vs/workbench/services/accessibility/electron-sandbox/accessibilityService.ts diff --git a/src/vs/workbench/services/configurationResolver/electron-browser/configurationResolverService.ts b/src/vs/workbench/services/configurationResolver/electron-sandbox/configurationResolverService.ts similarity index 96% rename from src/vs/workbench/services/configurationResolver/electron-browser/configurationResolverService.ts rename to src/vs/workbench/services/configurationResolver/electron-sandbox/configurationResolverService.ts index 7683b4810bc..3d48987346a 100644 --- a/src/vs/workbench/services/configurationResolver/electron-browser/configurationResolverService.ts +++ b/src/vs/workbench/services/configurationResolver/electron-sandbox/configurationResolverService.ts @@ -14,6 +14,7 @@ import { IConfigurationResolverService } from 'vs/workbench/services/configurati import { registerSingleton } from 'vs/platform/instantiation/common/extensions'; import { IProcessEnvironment } from 'vs/base/common/platform'; import { BaseConfigurationResolverService } from 'vs/workbench/services/configurationResolver/browser/configurationResolverService'; +import { process } from 'vs/base/parts/sandbox/electron-sandbox/globals'; export class ConfigurationResolverService extends BaseConfigurationResolverService { diff --git a/src/vs/workbench/services/path/electron-browser/pathService.ts b/src/vs/workbench/services/path/electron-sandbox/pathService.ts similarity index 100% rename from src/vs/workbench/services/path/electron-browser/pathService.ts rename to src/vs/workbench/services/path/electron-sandbox/pathService.ts diff --git a/src/vs/workbench/workbench.desktop.main.ts b/src/vs/workbench/workbench.desktop.main.ts index e62f6f88c17..2e5444c99da 100644 --- a/src/vs/workbench/workbench.desktop.main.ts +++ b/src/vs/workbench/workbench.desktop.main.ts @@ -46,9 +46,7 @@ import 'vs/workbench/services/extensionManagement/electron-browser/extensionMana import 'vs/workbench/services/extensionManagement/electron-browser/extensionTipsService'; import 'vs/workbench/services/remote/electron-browser/remoteAgentServiceImpl'; import 'vs/workbench/services/telemetry/electron-browser/telemetryService'; -import 'vs/workbench/services/configurationResolver/electron-browser/configurationResolverService'; import 'vs/workbench/services/extensionManagement/node/extensionManagementService'; -import 'vs/workbench/services/accessibility/electron-browser/accessibilityService'; import 'vs/workbench/services/backup/node/backupFileService'; import 'vs/workbench/services/userDataSync/electron-browser/userDataSyncMachinesService'; import 'vs/workbench/services/userDataSync/electron-browser/userDataSyncService'; @@ -57,7 +55,6 @@ import 'vs/workbench/services/userDataSync/electron-browser/userDataSyncStoreMan import 'vs/workbench/services/userDataSync/electron-browser/userDataAutoSyncService'; import 'vs/workbench/services/sharedProcess/electron-browser/sharedProcessService'; import 'vs/workbench/services/localizations/electron-browser/localizationsService'; -import 'vs/workbench/services/path/electron-browser/pathService'; import 'vs/workbench/services/experiment/electron-browser/experimentService'; import { registerSingleton } from 'vs/platform/instantiation/common/extensions'; @@ -79,9 +76,6 @@ registerSingleton(IUserDataInitializationService, UserDataInitializationService) //#region --- workbench contributions -// Logs -import 'vs/workbench/contrib/logs/electron-browser/logs.contribution'; - // Tags import 'vs/workbench/contrib/tags/electron-browser/workspaceTagsService'; import 'vs/workbench/contrib/tags/electron-browser/tags.contribution'; diff --git a/src/vs/workbench/workbench.sandbox.main.ts b/src/vs/workbench/workbench.sandbox.main.ts index b4a9b96899b..fef2621ffcf 100644 --- a/src/vs/workbench/workbench.sandbox.main.ts +++ b/src/vs/workbench/workbench.sandbox.main.ts @@ -34,12 +34,18 @@ import 'vs/workbench/services/extensionResourceLoader/electron-sandbox/extension import 'vs/workbench/services/clipboard/electron-sandbox/clipboardService'; import 'vs/workbench/services/contextmenu/electron-sandbox/contextmenuService'; import 'vs/workbench/services/workspaces/electron-sandbox/workspaceEditingService'; +import 'vs/workbench/services/configurationResolver/electron-sandbox/configurationResolverService'; +import 'vs/workbench/services/accessibility/electron-sandbox/accessibilityService'; +import 'vs/workbench/services/path/electron-sandbox/pathService'; //#endregion //#region --- workbench contributions +// Logs +import 'vs/workbench/contrib/logs/electron-sandbox/logs.contribution'; + // Localizations import 'vs/workbench/contrib/localizations/browser/localizations.contribution'; -- GitLab