diff options
Diffstat (limited to 'src/vs/workbench/services/extensions/electron-sandbox/sandboxExtensionService.ts')
-rw-r--r-- | src/vs/workbench/services/extensions/electron-sandbox/sandboxExtensionService.ts | 11 |
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); |