Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/microsoft/vscode.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/vs/workbench/services/extensions/electron-sandbox/sandboxExtensionService.ts')
-rw-r--r--src/vs/workbench/services/extensions/electron-sandbox/sandboxExtensionService.ts11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/vs/workbench/services/extensions/electron-sandbox/sandboxExtensionService.ts b/src/vs/workbench/services/extensions/electron-sandbox/sandboxExtensionService.ts
index ea51d7abc8f..58e5c5bf71c 100644
--- a/src/vs/workbench/services/extensions/electron-sandbox/sandboxExtensionService.ts
+++ b/src/vs/workbench/services/extensions/electron-sandbox/sandboxExtensionService.ts
@@ -4,10 +4,19 @@
*--------------------------------------------------------------------------------------------*/
import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
-import { IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
+import { ExtensionHostKind, ExtensionRunningLocation, IExtensionHost, IExtensionService } from 'vs/workbench/services/extensions/common/extensions';
import { ElectronExtensionService } from 'vs/workbench/services/extensions/electron-sandbox/electronExtensionService';
+import { NativeLocalProcessExtensionHost } from 'vs/workbench/services/extensions/electron-sandbox/nativeLocalProcessExtensionHost';
+import { process } from 'vs/base/parts/sandbox/electron-sandbox/globals';
export class SandboxExtensionService extends ElectronExtensionService {
+ protected override _createExtensionHost(runningLocation: ExtensionRunningLocation, isInitialStart: boolean): IExtensionHost | null {
+ if (!process.sandboxed && runningLocation.kind === ExtensionHostKind.LocalProcess) {
+ // TODO@bpasero remove me once electron utility process has landed
+ return this._instantiationService.createInstance(NativeLocalProcessExtensionHost, runningLocation, this._createLocalExtensionHostDataProvider(isInitialStart, runningLocation));
+ }
+ return super._createExtensionHost(runningLocation, isInitialStart);
+ }
}
registerSingleton(IExtensionService, SandboxExtensionService);