From b303e7acb5be641f0d7440c327be198436327061 Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Thu, 15 Aug 2019 16:25:46 +0200 Subject: [PATCH] use safeprocess env --- src/vs/base/common/process.ts | 4 ++-- .../extensions/browser/extensionTipsService.ts | 17 +++-------------- .../browser/extensions.contribution.ts | 4 +++- .../electron-browser/extensionTipsService.ts | 15 --------------- .../electron-browser/extensions.contribution.ts | 3 --- src/vs/workbench/workbench.web.main.ts | 3 --- 6 files changed, 8 insertions(+), 38 deletions(-) delete mode 100644 src/vs/workbench/contrib/extensions/electron-browser/extensionTipsService.ts diff --git a/src/vs/base/common/process.ts b/src/vs/base/common/process.ts index a8447d58eea..7b9edd30963 100644 --- a/src/vs/base/common/process.ts +++ b/src/vs/base/common/process.ts @@ -3,11 +3,11 @@ * Licensed under the MIT License. See License.txt in the project root for license information. *--------------------------------------------------------------------------------------------*/ -import { isWindows, isMacintosh, setImmediate } from 'vs/base/common/platform'; +import { isWindows, isMacintosh, setImmediate, IProcessEnvironment } from 'vs/base/common/platform'; interface IProcess { platform: string; - env: object; + env: IProcessEnvironment; cwd(): string; nextTick(callback: (...args: any[]) => void): number; diff --git a/src/vs/workbench/contrib/extensions/browser/extensionTipsService.ts b/src/vs/workbench/contrib/extensions/browser/extensionTipsService.ts index 12a05302a75..ec9b7e82c0f 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensionTipsService.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensionTipsService.ts @@ -40,8 +40,8 @@ import { extname } from 'vs/base/common/resources'; import { IExeBasedExtensionTip, IProductService } from 'vs/platform/product/common/product'; import { timeout } from 'vs/base/common/async'; import { IWorkspaceStatsService } from 'vs/workbench/contrib/stats/common/workspaceStats'; -import { Platform, setImmediate, IProcessEnvironment } from 'vs/base/common/platform'; -import { platform } from 'vs/base/common/process'; +import { Platform, setImmediate } from 'vs/base/common/platform'; +import { platform, env as processEnv } from 'vs/base/common/process'; import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService'; const milliSecondsInADay = 1000 * 60 * 60 * 24; @@ -66,7 +66,7 @@ function caseInsensitiveGet(obj: { [key: string]: T }, key: string): T | unde return undefined; } -export abstract class BaseExtensionTipsService extends Disposable implements IExtensionTipsService { +export class ExtensionTipsService extends Disposable implements IExtensionTipsService { _serviceBrand: any; @@ -1020,7 +1020,6 @@ export abstract class BaseExtensionTipsService extends Disposable implements IEx if (!windowsPath || typeof windowsPath !== 'string') { return; } - const processEnv = this.getProcessEnvironment(); windowsPath = windowsPath.replace('%USERPROFILE%', processEnv['USERPROFILE']!) .replace('%ProgramFiles(x86)%', processEnv['ProgramFiles(x86)']!) .replace('%ProgramFiles%', processEnv['ProgramFiles']!) @@ -1146,14 +1145,4 @@ export abstract class BaseExtensionTipsService extends Disposable implements IEx return this._allIgnoredRecommendations.indexOf(id.toLowerCase()) === -1; } - protected abstract getProcessEnvironment(): IProcessEnvironment; -} - - -export class ExtensionTipsService extends BaseExtensionTipsService implements IExtensionTipsService { - - protected getProcessEnvironment(): IProcessEnvironment { - return {}; - } - } diff --git a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts index 32bd703fba0..b7bed063f07 100644 --- a/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts +++ b/src/vs/workbench/contrib/extensions/browser/extensions.contribution.ts @@ -10,7 +10,7 @@ import { Registry } from 'vs/platform/registry/common/platform'; import { SyncActionDescriptor, MenuRegistry, MenuId } from 'vs/platform/actions/common/actions'; import { registerSingleton } from 'vs/platform/instantiation/common/extensions'; import { ExtensionsLabel, ExtensionsChannelId, PreferencesLabel, IExtensionManagementService, IExtensionGalleryService } from 'vs/platform/extensionManagement/common/extensionManagement'; -import { IExtensionManagementServerService } from 'vs/workbench/services/extensionManagement/common/extensionManagement'; +import { IExtensionManagementServerService, IExtensionTipsService } from 'vs/workbench/services/extensionManagement/common/extensionManagement'; import { IWorkbenchActionRegistry, Extensions as WorkbenchActionExtensions } from 'vs/workbench/common/actions'; import { IWorkbenchContributionsRegistry, Extensions as WorkbenchExtensions, IWorkbenchContribution } from 'vs/workbench/common/contributions'; import { IOutputChannelRegistry, Extensions as OutputExtensions } from 'vs/workbench/contrib/output/common/output'; @@ -45,9 +45,11 @@ import { CancellationToken } from 'vs/base/common/cancellation'; import { ExtensionType } from 'vs/platform/extensions/common/extensions'; import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService'; import { RemoteExtensionsInstaller } from 'vs/workbench/contrib/extensions/browser/remoteExtensionsInstaller'; +import { ExtensionTipsService } from 'vs/workbench/contrib/extensions/browser/extensionTipsService'; // Singletons registerSingleton(IExtensionsWorkbenchService, ExtensionsWorkbenchService); +registerSingleton(IExtensionTipsService, ExtensionTipsService); Registry.as(OutputExtensions.OutputChannels) .registerChannel({ id: ExtensionsChannelId, label: ExtensionsLabel, log: false }); diff --git a/src/vs/workbench/contrib/extensions/electron-browser/extensionTipsService.ts b/src/vs/workbench/contrib/extensions/electron-browser/extensionTipsService.ts deleted file mode 100644 index f866ccbb7a8..00000000000 --- a/src/vs/workbench/contrib/extensions/electron-browser/extensionTipsService.ts +++ /dev/null @@ -1,15 +0,0 @@ -/*--------------------------------------------------------------------------------------------- - * Copyright (c) Microsoft Corporation. All rights reserved. - * Licensed under the MIT License. See License.txt in the project root for license information. - *--------------------------------------------------------------------------------------------*/ - -import { BaseExtensionTipsService } from 'vs/workbench/contrib/extensions/browser/extensionTipsService'; -import { IProcessEnvironment } from 'vs/base/common/platform'; - -export class ExtensionTipsService extends BaseExtensionTipsService { - - protected getProcessEnvironment(): IProcessEnvironment { - return process.env as IProcessEnvironment; - } - -} 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 74f15f54393..4c21e1e9181 100644 --- a/src/vs/workbench/contrib/extensions/electron-browser/extensions.contribution.ts +++ b/src/vs/workbench/contrib/extensions/electron-browser/extensions.contribution.ts @@ -21,11 +21,8 @@ import { RuntimeExtensionsInput } from 'vs/workbench/contrib/extensions/electron import { URI } from 'vs/base/common/uri'; import { ContextKeyExpr } from 'vs/platform/contextkey/common/contextkey'; import { ExtensionsAutoProfiler } from 'vs/workbench/contrib/extensions/electron-browser/extensionsAutoProfiler'; -import { IExtensionTipsService } from 'vs/workbench/services/extensionManagement/common/extensionManagement'; -import { ExtensionTipsService } from 'vs/workbench/contrib/extensions/electron-browser/extensionTipsService'; // Singletons -registerSingleton(IExtensionTipsService, ExtensionTipsService); registerSingleton(IExtensionHostProfileService, ExtensionHostProfileService, true); const workbenchRegistry = Registry.as(WorkbenchExtensions.Workbench); diff --git a/src/vs/workbench/workbench.web.main.ts b/src/vs/workbench/workbench.web.main.ts index 0c80d322d2a..40384b249b0 100644 --- a/src/vs/workbench/workbench.web.main.ts +++ b/src/vs/workbench/workbench.web.main.ts @@ -87,9 +87,6 @@ import 'vs/workbench/contrib/debug/browser/extensionHostDebugService'; import 'vs/workbench/contrib/webview/browser/webviewService'; import 'vs/workbench/contrib/webview/browser/webviewEditorService'; -// Extensions Management -import 'vs/workbench/contrib/extensions/browser/extensions.web.contribution'; - // Terminal import 'vs/workbench/contrib/terminal/browser/terminalNativeService'; import 'vs/workbench/contrib/terminal/browser/terminalInstanceService'; -- GitLab