Skip to content

Commit 4f8453d

Browse files
author
Benjamin Pasero
committed
sandbox - allow native workbench environment service on common layer
1 parent 4c3f4a5 commit 4f8453d

46 files changed

Lines changed: 134 additions & 178 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

src/vs/code/electron-main/window.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,10 @@ import { IConfigurationService } from 'vs/platform/configuration/common/configur
1515
import { parseArgs, OPTIONS } from 'vs/platform/environment/node/argv';
1616
import { NativeParsedArgs } from 'vs/platform/environment/common/argv';
1717
import product from 'vs/platform/product/common/product';
18-
import { IWindowSettings, MenuBarVisibility, getTitleBarStyle, getMenuBarVisibility, zoomLevelToZoomFactor } from 'vs/platform/windows/common/windows';
18+
import { IWindowSettings, MenuBarVisibility, getTitleBarStyle, getMenuBarVisibility, zoomLevelToZoomFactor, INativeWindowConfiguration } from 'vs/platform/windows/common/windows';
1919
import { Disposable, toDisposable } from 'vs/base/common/lifecycle';
2020
import { isLinux, isMacintosh, isWindows } from 'vs/base/common/platform';
2121
import { ICodeWindow, IWindowState, WindowMode } from 'vs/platform/windows/electron-main/windows';
22-
import { INativeWindowConfiguration } from 'vs/platform/windows/node/window';
2322
import { IWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces';
2423
import { IWorkspacesMainService } from 'vs/platform/workspaces/electron-main/workspacesMainService';
2524
import { IBackupMainService } from 'vs/platform/backup/electron-main/backup';

src/vs/platform/windows/common/windows.ts

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,14 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { isMacintosh, isLinux, isWeb } from 'vs/base/common/platform';
6+
import { isMacintosh, isLinux, isWeb, IProcessEnvironment } from 'vs/base/common/platform';
77
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
88
import { URI, UriComponents } from 'vs/base/common/uri';
99
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
1010
import { IWorkspaceIdentifier, ISingleFolderWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces';
11+
import { NativeParsedArgs } from 'vs/platform/environment/common/argv';
12+
import { LogLevel } from 'vs/platform/log/common/log';
13+
import { ExportData } from 'vs/base/common/performance';
1114

1215
export interface IBaseOpenWindowsOptions {
1316
forceReuseWindow?: boolean;
@@ -215,6 +218,34 @@ export interface IWindowConfiguration {
215218
filesToDiff?: IPath[];
216219
}
217220

221+
export interface INativeWindowConfiguration extends IWindowConfiguration, NativeParsedArgs {
222+
mainPid: number;
223+
224+
windowId: number;
225+
machineId: string;
226+
227+
appRoot: string;
228+
execPath: string;
229+
backupPath?: string;
230+
231+
nodeCachedDataDir?: string;
232+
partsSplashPath: string;
233+
234+
workspace?: IWorkspaceIdentifier;
235+
folderUri?: ISingleFolderWorkspaceIdentifier;
236+
237+
isInitialStartup?: boolean;
238+
logLevel: LogLevel;
239+
zoomLevel?: number;
240+
fullscreen?: boolean;
241+
maximized?: boolean;
242+
accessibilitySupport?: boolean;
243+
perfEntries: ExportData;
244+
245+
userEnv: IProcessEnvironment;
246+
filesToWait?: IPathsToWaitFor;
247+
}
248+
218249
/**
219250
* According to Electron docs: `scale := 1.2 ^ level`.
220251
* https://github.com/electron/electron/blob/master/docs/api/web-contents.md#contentssetzoomlevellevel

src/vs/platform/windows/electron-main/windows.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { IWindowOpenable, IOpenEmptyWindowOptions } from 'vs/platform/windows/common/windows';
7-
import { INativeWindowConfiguration, OpenContext } from 'vs/platform/windows/node/window';
6+
import { IWindowOpenable, IOpenEmptyWindowOptions, INativeWindowConfiguration } from 'vs/platform/windows/common/windows';
7+
import { OpenContext } from 'vs/platform/windows/node/window';
88
import { NativeParsedArgs } from 'vs/platform/environment/common/argv';
99
import { Event } from 'vs/base/common/event';
1010
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';

src/vs/platform/windows/electron-main/windowsMainService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ import { screen, BrowserWindow, MessageBoxOptions, Display, app, nativeTheme } f
1818
import { ILifecycleMainService, UnloadReason, LifecycleMainService, LifecycleMainPhase } from 'vs/platform/lifecycle/electron-main/lifecycleMainService';
1919
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
2020
import { ILogService } from 'vs/platform/log/common/log';
21-
import { IWindowSettings, IPath, isFileToOpen, isWorkspaceToOpen, isFolderToOpen, IWindowOpenable, IOpenEmptyWindowOptions, IAddFoldersRequest, IPathsToWaitFor } from 'vs/platform/windows/common/windows';
22-
import { getLastActiveWindow, findBestWindowOrFolderForFile, findWindowOnWorkspace, findWindowOnExtensionDevelopmentPath, findWindowOnWorkspaceOrFolderUri, INativeWindowConfiguration, OpenContext } from 'vs/platform/windows/node/window';
21+
import { IWindowSettings, IPath, isFileToOpen, isWorkspaceToOpen, isFolderToOpen, IWindowOpenable, IOpenEmptyWindowOptions, IAddFoldersRequest, IPathsToWaitFor, INativeWindowConfiguration } from 'vs/platform/windows/common/windows';
22+
import { getLastActiveWindow, findBestWindowOrFolderForFile, findWindowOnWorkspace, findWindowOnExtensionDevelopmentPath, findWindowOnWorkspaceOrFolderUri, OpenContext } from 'vs/platform/windows/node/window';
2323
import { Emitter } from 'vs/base/common/event';
2424
import product from 'vs/platform/product/common/product';
2525
import { IWindowsMainService, IOpenConfiguration, IWindowsCountChangedEvent, ICodeWindow, IWindowState as ISingleWindowState, WindowMode, IOpenEmptyConfiguration } from 'vs/platform/windows/electron-main/windows';

src/vs/platform/windows/node/window.ts

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,11 @@
33
* Licensed under the MIT License. See License.txt in the project root for license information.
44
*--------------------------------------------------------------------------------------------*/
55

6-
import { IWindowConfiguration, IPathsToWaitFor } from 'vs/platform/windows/common/windows';
76
import { URI } from 'vs/base/common/uri';
87
import * as platform from 'vs/base/common/platform';
98
import * as extpath from 'vs/base/common/extpath';
109
import { IWorkspaceIdentifier, IResolvedWorkspace, ISingleFolderWorkspaceIdentifier, isSingleFolderWorkspaceIdentifier, isWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces';
1110
import { extUriBiasedIgnorePathCase } from 'vs/base/common/resources';
12-
import { LogLevel } from 'vs/platform/log/common/log';
13-
import { ExportData } from 'vs/base/common/performance';
14-
import { NativeParsedArgs } from 'vs/platform/environment/common/argv';
1511

1612
export const enum OpenContext {
1713

@@ -34,34 +30,6 @@ export const enum OpenContext {
3430
API
3531
}
3632

37-
export interface INativeWindowConfiguration extends IWindowConfiguration, NativeParsedArgs {
38-
mainPid: number;
39-
40-
windowId: number;
41-
machineId: string;
42-
43-
appRoot: string;
44-
execPath: string;
45-
backupPath?: string;
46-
47-
nodeCachedDataDir?: string;
48-
partsSplashPath: string;
49-
50-
workspace?: IWorkspaceIdentifier;
51-
folderUri?: ISingleFolderWorkspaceIdentifier;
52-
53-
isInitialStartup?: boolean;
54-
logLevel: LogLevel;
55-
zoomLevel?: number;
56-
fullscreen?: boolean;
57-
maximized?: boolean;
58-
accessibilitySupport?: boolean;
59-
perfEntries: ExportData;
60-
61-
userEnv: platform.IProcessEnvironment;
62-
filesToWait?: IPathsToWaitFor;
63-
}
64-
6533
export interface IWindowContext {
6634
openedWorkspace?: IWorkspaceIdentifier;
6735
openedFolderUri?: URI;

src/vs/workbench/contrib/configExporter/electron-browser/configurationExportHelper.contribution.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,8 @@ import { IWorkbenchContribution, IWorkbenchContributionsRegistry, Extensions as
77
import { Registry } from 'vs/platform/registry/common/platform';
88
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
99
import { LifecyclePhase } from 'vs/platform/lifecycle/common/lifecycle';
10-
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
10+
import { IWorkbenchEnvironmentService, INativeWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
1111
import { DefaultConfigurationExportHelper } from 'vs/workbench/contrib/configExporter/electron-browser/configurationExportHelper';
12-
import { INativeWorkbenchEnvironmentService } from 'vs/workbench/services/environment/electron-browser/environmentService';
1312

1413
export class ExtensionPoints implements IWorkbenchContribution {
1514

src/vs/workbench/contrib/configExporter/electron-browser/configurationExportHelper.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@
55

66
import { writeFile } from 'vs/base/node/pfs';
77
import product from 'vs/platform/product/common/product';
8-
import { INativeWorkbenchEnvironmentService } from 'vs/workbench/services/environment/electron-browser/environmentService';
9-
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
8+
import { IWorkbenchEnvironmentService, INativeWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
109
import { Registry } from 'vs/platform/registry/common/platform';
1110
import { IConfigurationNode, IConfigurationRegistry, Extensions, IConfigurationPropertySchema } from 'vs/platform/configuration/common/configurationRegistry';
1211
import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';

src/vs/workbench/contrib/extensions/browser/extensionsViewlet.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ import { Query } from 'vs/workbench/contrib/extensions/common/extensionQuery';
4949
import { SuggestEnabledInput, attachSuggestEnabledInputBoxStyler } from 'vs/workbench/contrib/codeEditor/browser/suggestEnabledInput/suggestEnabledInput';
5050
import { alert } from 'vs/base/browser/ui/aria/aria';
5151
import { createErrorWithActions } from 'vs/base/common/errorsWithActions';
52-
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
5352
import { ExtensionType, EXTENSION_CATEGORIES } from 'vs/platform/extensions/common/extensions';
5453
import { Registry } from 'vs/platform/registry/common/platform';
5554
import { ILabelService } from 'vs/platform/label/common/label';
@@ -750,7 +749,7 @@ export class MaliciousExtensionChecker implements IWorkbenchContribution {
750749
@IHostService private readonly hostService: IHostService,
751750
@ILogService private readonly logService: ILogService,
752751
@INotificationService private readonly notificationService: INotificationService,
753-
@IEnvironmentService private readonly environmentService: IEnvironmentService
752+
@IWorkbenchEnvironmentService private readonly environmentService: IWorkbenchEnvironmentService
754753
) {
755754
if (!this.environmentService.disableExtensions) {
756755
this.loopCheckForMaliciousExtensions();

src/vs/workbench/contrib/extensions/electron-browser/extensions.contribution.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,7 @@ import { ExtensionHostProfileService } from 'vs/workbench/contrib/extensions/ele
2020
import { RuntimeExtensionsInput } from 'vs/workbench/contrib/extensions/electron-browser/runtimeExtensionsInput';
2121
import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey';
2222
import { ExtensionsAutoProfiler } from 'vs/workbench/contrib/extensions/electron-browser/extensionsAutoProfiler';
23-
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
24-
import { INativeWorkbenchEnvironmentService } from 'vs/workbench/services/environment/electron-browser/environmentService';
23+
import { IWorkbenchEnvironmentService, INativeWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
2524
import { OpenExtensionsFolderAction } from 'vs/workbench/contrib/extensions/electron-browser/extensionsActions';
2625
import { ExtensionsLabel } from 'vs/platform/extensionManagement/common/extensionManagement';
2726
import { ExtensionsWorkbenchService } from 'vs/workbench/contrib/extensions/browser/extensionsWorkbenchService';

src/vs/workbench/contrib/extensions/electron-browser/extensionsActions.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,7 @@ import { localize } from 'vs/nls';
77
import { Action } from 'vs/base/common/actions';
88
import { IFileService } from 'vs/platform/files/common/files';
99
import { URI } from 'vs/base/common/uri';
10-
import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
11-
import { INativeWorkbenchEnvironmentService } from 'vs/workbench/services/environment/electron-browser/environmentService';
10+
import { IWorkbenchEnvironmentService, INativeWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService';
1211
import { IElectronService } from 'vs/platform/electron/electron-sandbox/electron';
1312
import { Schemas } from 'vs/base/common/network';
1413

0 commit comments

Comments
 (0)