mirror of
https://github.com/Microsoft/vscode
synced 2024-09-18 01:58:27 +00:00
parent
09bd9f7dee
commit
1f7d35bd4b
|
@ -6,7 +6,6 @@
|
||||||
import { assign } from 'vs/base/common/objects';
|
import { assign } from 'vs/base/common/objects';
|
||||||
import { memoize } from 'vs/base/common/decorators';
|
import { memoize } from 'vs/base/common/decorators';
|
||||||
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
|
import { IEnvironmentService } from 'vs/platform/environment/common/environment';
|
||||||
import { TPromise } from 'vs/base/common/winjs.base';
|
|
||||||
import { IProcessEnvironment } from 'vs/base/common/platform';
|
import { IProcessEnvironment } from 'vs/base/common/platform';
|
||||||
import { BrowserWindow, ipcMain } from 'electron';
|
import { BrowserWindow, ipcMain } from 'electron';
|
||||||
import { ISharedProcess } from 'vs/platform/windows/electron-main/windows';
|
import { ISharedProcess } from 'vs/platform/windows/electron-main/windows';
|
||||||
|
@ -30,11 +29,10 @@ export class SharedProcess implements ISharedProcess {
|
||||||
@ILifecycleService private readonly lifecycleService: ILifecycleService,
|
@ILifecycleService private readonly lifecycleService: ILifecycleService,
|
||||||
@IStateService private readonly stateService: IStateService,
|
@IStateService private readonly stateService: IStateService,
|
||||||
@ILogService private readonly logService: ILogService
|
@ILogService private readonly logService: ILogService
|
||||||
) {
|
) { }
|
||||||
}
|
|
||||||
|
|
||||||
@memoize
|
@memoize
|
||||||
private get _whenReady(): TPromise<void> {
|
private get _whenReady(): Promise<void> {
|
||||||
this.window = new BrowserWindow({
|
this.window = new BrowserWindow({
|
||||||
show: false,
|
show: false,
|
||||||
backgroundColor: getBackgroundColor(this.stateService),
|
backgroundColor: getBackgroundColor(this.stateService),
|
||||||
|
@ -99,7 +97,7 @@ export class SharedProcess implements ISharedProcess {
|
||||||
}, 0);
|
}, 0);
|
||||||
});
|
});
|
||||||
|
|
||||||
return new TPromise<void>((c, e) => {
|
return new Promise<void>(c => {
|
||||||
ipcMain.once('handshake:hello', ({ sender }: { sender: any }) => {
|
ipcMain.once('handshake:hello', ({ sender }: { sender: any }) => {
|
||||||
sender.send('handshake:hey there', {
|
sender.send('handshake:hey there', {
|
||||||
sharedIPCHandle: this.environmentService.sharedIPCHandle,
|
sharedIPCHandle: this.environmentService.sharedIPCHandle,
|
||||||
|
@ -117,8 +115,9 @@ export class SharedProcess implements ISharedProcess {
|
||||||
this.barrier.open();
|
this.barrier.open();
|
||||||
}
|
}
|
||||||
|
|
||||||
whenReady(): TPromise<void> {
|
async whenReady(): Promise<void> {
|
||||||
return this.barrier.wait().then(() => this._whenReady);
|
await this.barrier.wait();
|
||||||
|
await this._whenReady;
|
||||||
}
|
}
|
||||||
|
|
||||||
toggle(): void {
|
toggle(): void {
|
||||||
|
|
Loading…
Reference in a new issue