提交 e146b7aa 编写于 作者: A Alex Dima

Tweak IExtHostContext

上级 97a1ccf1
......@@ -68,6 +68,7 @@ export interface IInitData {
telemetryInfo: ITelemetryInfo;
logLevel: LogLevel;
logsLocation: URI;
remoteAuthority?: string | null;
}
export interface IConfigurationInitData extends IConfigurationData {
......@@ -80,6 +81,7 @@ export interface IWorkspaceConfigurationChangeEventData {
}
export interface IExtHostContext extends IRPCProtocol {
remoteAuthority: string;
}
export interface IMainContext extends IRPCProtocol {
......
......@@ -133,6 +133,7 @@ export class ExtensionHostProcessManager extends Disposable {
constructor(
extensionHostProcessWorker: IExtensionHostStarter,
private readonly _remoteAuthority: string,
initialActivationEvents: string[],
@IInstantiationService private readonly _instantiationService: IInstantiationService,
@IEnvironmentService private readonly _environmentService: IEnvironmentService,
......@@ -193,6 +194,7 @@ export class ExtensionHostProcessManager extends Disposable {
this._extensionHostProcessRPCProtocol = new RPCProtocol(protocol, logger);
this._register(this._extensionHostProcessRPCProtocol.onDidChangeResponsiveState((responsiveState: ResponsiveState) => this._onDidChangeResponsiveState.fire(responsiveState)));
const extHostContext: IExtHostContext = {
remoteAuthority: this._remoteAuthority,
getProxy: <T>(identifier: ProxyIdentifier<T>): T => this._extensionHostProcessRPCProtocol.getProxy(identifier),
set: <T, R extends T>(identifier: ProxyIdentifier<T>, instance: R): R => this._extensionHostProcessRPCProtocol.set(identifier, instance),
assertRegistered: (identifiers: ProxyIdentifier<any>[]): void => this._extensionHostProcessRPCProtocol.assertRegistered(identifiers),
......@@ -384,7 +386,7 @@ export class ExtensionService extends Disposable implements IExtensionService {
this._stopExtensionHostProcess();
const extHostProcessWorker = this._instantiationService.createInstance(ExtensionHostProcessWorker, this.getExtensions(), this._extensionHostLogsLocation);
const extHostProcessManager = this._instantiationService.createInstance(ExtensionHostProcessManager, extHostProcessWorker, initialActivationEvents);
const extHostProcessManager = this._instantiationService.createInstance(ExtensionHostProcessManager, extHostProcessWorker, null, initialActivationEvents);
extHostProcessManager.onDidCrash(([code, signal]) => this._onExtensionHostCrashed(code, signal));
extHostProcessManager.onDidChangeResponsiveState((responsiveState) => this._onResponsiveStateChanged(responsiveState));
this._extensionHostProcessManagers.push(extHostProcessManager);
......
......@@ -10,6 +10,7 @@ import { isThenable } from 'vs/base/common/async';
export function SingleProxyRPCProtocol(thing: any): IExtHostContext {
return {
remoteAuthority: null,
getProxy<T>(): T {
return thing;
},
......@@ -22,6 +23,8 @@ export function SingleProxyRPCProtocol(thing: any): IExtHostContext {
export class TestRPCProtocol implements IExtHostContext {
public remoteAuthority = null;
private _callCountValue: number = 0;
private _idle: Promise<any>;
private _completeIdle: Function;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册