mirror of
https://github.com/microsoft/vscode.git
synced 2026-09-19 10:06:19 +01:00
aux window - introduce main process service and use in some cases
This commit is contained in:
@@ -118,7 +118,8 @@ import { ElectronPtyHostStarter } from 'vs/platform/terminal/electron-main/elect
|
||||
import { PtyHostService } from 'vs/platform/terminal/node/ptyHostService';
|
||||
import { NODE_REMOTE_RESOURCE_CHANNEL_NAME, NODE_REMOTE_RESOURCE_IPC_METHOD_NAME, NodeRemoteResourceResponse, NodeRemoteResourceRouter } from 'vs/platform/remote/common/electronRemoteResources';
|
||||
import { Lazy } from 'vs/base/common/lazy';
|
||||
import { AuxiliaryWindow } from 'vs/platform/windows/electron-main/auxiliaryWindow';
|
||||
import { IAuxiliaryWindowsMainService } from 'vs/platform/auxiliaryWindow/electron-main/auxiliaryWindows';
|
||||
import { AuxiliaryWindowsMainService } from 'vs/platform/auxiliaryWindow/electron-main/auxiliaryWindowsMainService';
|
||||
|
||||
/**
|
||||
* The main VS Code application. There will only ever be one instance,
|
||||
@@ -132,6 +133,7 @@ export class CodeApplication extends Disposable {
|
||||
};
|
||||
|
||||
private windowsMainService: IWindowsMainService | undefined;
|
||||
private auxiliaryAindowsMainService: IAuxiliaryWindowsMainService | undefined;
|
||||
private nativeHostMainService: INativeHostMainService | undefined;
|
||||
|
||||
constructor(
|
||||
@@ -386,7 +388,7 @@ export class CodeApplication extends Disposable {
|
||||
// Child Window: delegate to `AuxiliaryWindow` class
|
||||
const isChildWindow = contents?.opener?.url.startsWith(`${Schemas.vscodeFileResource}://${VSCODE_AUTHORITY}/`);
|
||||
if (isChildWindow) {
|
||||
this.mainInstantiationService.createInstance(AuxiliaryWindow, contents);
|
||||
this.auxiliaryAindowsMainService?.registerWindow(contents);
|
||||
}
|
||||
|
||||
// Block any in-page navigation
|
||||
@@ -406,7 +408,7 @@ export class CodeApplication extends Disposable {
|
||||
|
||||
return {
|
||||
action: 'allow',
|
||||
overrideBrowserWindowOptions: AuxiliaryWindow.open(this.mainInstantiationService)
|
||||
overrideBrowserWindowOptions: this.auxiliaryAindowsMainService?.createWindow()
|
||||
};
|
||||
}
|
||||
|
||||
@@ -992,6 +994,7 @@ export class CodeApplication extends Disposable {
|
||||
|
||||
// Windows
|
||||
services.set(IWindowsMainService, new SyncDescriptor(WindowsMainService, [machineId, this.userEnv], false));
|
||||
services.set(IAuxiliaryWindowsMainService, new SyncDescriptor(AuxiliaryWindowsMainService, undefined, false));
|
||||
|
||||
// Dialogs
|
||||
const dialogMainService = new DialogMainService(this.logService, this.productService);
|
||||
@@ -1210,6 +1213,7 @@ export class CodeApplication extends Disposable {
|
||||
|
||||
private async openFirstWindow(accessor: ServicesAccessor, initialProtocolUrls: IInitialProtocolUrls | undefined): Promise<ICodeWindow[]> {
|
||||
const windowsMainService = this.windowsMainService = accessor.get(IWindowsMainService);
|
||||
this.auxiliaryAindowsMainService = accessor.get(IAuxiliaryWindowsMainService);
|
||||
|
||||
const context = isLaunchedFromCli(process.env) ? OpenContext.CLI : OpenContext.DESKTOP;
|
||||
const args = this.environmentMainService.args;
|
||||
|
||||
Reference in New Issue
Block a user