Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

debt - do not use "sandbox" in type names #170501

Merged
merged 1 commit into from Jan 3, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
16 changes: 8 additions & 8 deletions src/vs/workbench/electron-sandbox/desktop.main.ts
Expand Up @@ -35,7 +35,7 @@ import { ISignService } from 'vs/platform/sign/common/sign';
import { IProductService } from 'vs/platform/product/common/productService';
import { IUriIdentityService } from 'vs/platform/uriIdentity/common/uriIdentity';
import { UriIdentityService } from 'vs/platform/uriIdentity/common/uriIdentityService';
import { ISandboxKeyboardLayoutService, SandboxKeyboardLayoutService } from 'vs/workbench/services/keybinding/electron-sandbox/sandboxKeyboardLayout';
import { INativeKeyboardLayoutService, NativeKeyboardLayoutService } from 'vs/workbench/services/keybinding/electron-sandbox/nativeKeyboardLayoutService';
import { ElectronIPCMainProcessService } from 'vs/platform/ipc/electron-sandbox/mainProcessService';
import { LoggerChannelClient, LogLevelChannelClient } from 'vs/platform/log/common/logIpc';
import { ProxyChannel } from 'vs/base/parts/ipc/common/ipc';
Expand Down Expand Up @@ -273,10 +273,10 @@ export class DesktopMain extends Disposable {
return service;
}),

this.createSandboxKeyboardLayoutService(mainProcessService).then(service => {
this.createKeyboardLayoutService(mainProcessService).then(service => {

// KeyboardLayout
serviceCollection.set(ISandboxKeyboardLayoutService, service);
serviceCollection.set(INativeKeyboardLayoutService, service);

return service;
})
Expand Down Expand Up @@ -359,17 +359,17 @@ export class DesktopMain extends Disposable {
}
}

private async createSandboxKeyboardLayoutService(mainProcessService: IMainProcessService): Promise<SandboxKeyboardLayoutService> {
const sandboxKeyboardLayoutService = new SandboxKeyboardLayoutService(mainProcessService);
private async createKeyboardLayoutService(mainProcessService: IMainProcessService): Promise<NativeKeyboardLayoutService> {
const keyboardLayoutService = new NativeKeyboardLayoutService(mainProcessService);

try {
await sandboxKeyboardLayoutService.initialize();
await keyboardLayoutService.initialize();

return sandboxKeyboardLayoutService;
return keyboardLayoutService;
} catch (error) {
onUnexpectedError(error);

return sandboxKeyboardLayoutService;
return keyboardLayoutService;
}
}
}
Expand Down
Expand Up @@ -99,7 +99,7 @@ export class ExtensionHostProcess {
}
}

export class SandboxLocalProcessExtensionHost implements IExtensionHost {
export class NativeLocalProcessExtensionHost implements IExtensionHost {

public readonly remoteAuthority = null;
public readonly lazyStart = false;
Expand Down
Expand Up @@ -46,10 +46,13 @@ import { StopWatch } from 'vs/base/common/stopwatch';
import { isCI } from 'vs/base/common/platform';
import { IResolveAuthorityErrorResult } from 'vs/workbench/services/extensions/common/extensionHostProxy';
import { URI } from 'vs/base/common/uri';
import { ILocalProcessExtensionHostDataProvider, ILocalProcessExtensionHostInitData, SandboxLocalProcessExtensionHost } from 'vs/workbench/services/extensions/electron-sandbox/localProcessExtensionHost';
import { ILocalProcessExtensionHostDataProvider, ILocalProcessExtensionHostInitData, NativeLocalProcessExtensionHost } from 'vs/workbench/services/extensions/electron-sandbox/localProcessExtensionHost';
import { IUserDataProfileService } from 'vs/workbench/services/userDataProfile/common/userDataProfile';
import { LegacyNativeLocalProcessExtensionHost } from 'vs/workbench/services/extensions/electron-sandbox/nativeLocalProcessExtensionHost';
import { InstantiationType, registerSingleton } from 'vs/platform/instantiation/common/extensions';
import { process } from 'vs/base/parts/sandbox/electron-sandbox/globals';

export abstract class ElectronExtensionService extends AbstractExtensionService implements IExtensionService {
export class NativeExtensionService extends AbstractExtensionService implements IExtensionService {

private readonly _enableLocalWebWorker: boolean;
private readonly _lazyLocalWebWorker: boolean;
Expand Down Expand Up @@ -189,7 +192,7 @@ export abstract class ElectronExtensionService extends AbstractExtensionService
}

protected _pickExtensionHostKind(extensionId: ExtensionIdentifier, extensionKinds: ExtensionKind[], isInstalledLocally: boolean, isInstalledRemotely: boolean, preference: ExtensionRunningPreference): ExtensionHostKind | null {
const result = ElectronExtensionService.pickExtensionHostKind(extensionKinds, isInstalledLocally, isInstalledRemotely, preference, Boolean(this._environmentService.remoteAuthority), this._enableLocalWebWorker);
const result = NativeExtensionService.pickExtensionHostKind(extensionKinds, isInstalledLocally, isInstalledRemotely, preference, Boolean(this._environmentService.remoteAuthority), this._enableLocalWebWorker);
this._logService.trace(`pickRunningLocation for ${extensionId.value}, extension kinds: [${extensionKinds.join(', ')}], isInstalledLocally: ${isInstalledLocally}, isInstalledRemotely: ${isInstalledRemotely}, preference: ${extensionRunningPreferenceToString(preference)} => ${extensionHostKindToString(result)}`);
return result;
}
Expand Down Expand Up @@ -236,7 +239,11 @@ export abstract class ElectronExtensionService extends AbstractExtensionService
protected _createExtensionHost(runningLocation: ExtensionRunningLocation, isInitialStart: boolean): IExtensionHost | null {
switch (runningLocation.kind) {
case ExtensionHostKind.LocalProcess: {
return this._instantiationService.createInstance(SandboxLocalProcessExtensionHost, runningLocation, this._createLocalExtensionHostDataProvider(isInitialStart, runningLocation));
if (!process.sandboxed) {
// TODO@bpasero remove me once electron utility process has landed
return this._instantiationService.createInstance(LegacyNativeLocalProcessExtensionHost, runningLocation, this._createLocalExtensionHostDataProvider(isInitialStart, runningLocation));
}
return this._instantiationService.createInstance(NativeLocalProcessExtensionHost, runningLocation, this._createLocalExtensionHostDataProvider(isInitialStart, runningLocation));
}
case ExtensionHostKind.LocalWebWorker: {
if (this._enableLocalWebWorker) {
Expand Down Expand Up @@ -712,3 +719,5 @@ class RestartExtensionHostAction extends Action2 {
}

registerAction2(RestartExtensionHostAction);

registerSingleton(IExtensionService, NativeExtensionService, InstantiationType.Eager);
Expand Up @@ -16,10 +16,13 @@ import { IExtensionHostProcessOptions } from 'vs/platform/extensions/common/exte
import { ILogService } from 'vs/platform/log/common/log';
import { IPCExtHostConnection, writeExtHostConnection } from 'vs/workbench/services/extensions/common/extensionHostEnv';
import { createMessageOfType, MessageType } from 'vs/workbench/services/extensions/common/extensionHostProtocol';
import { ExtensionHostProcess, ExtHostMessagePortCommunication, IExtHostCommunication, SandboxLocalProcessExtensionHost } from 'vs/workbench/services/extensions/electron-sandbox/localProcessExtensionHost';
import { ExtensionHostProcess, ExtHostMessagePortCommunication, IExtHostCommunication, NativeLocalProcessExtensionHost } from 'vs/workbench/services/extensions/electron-sandbox/localProcessExtensionHost';
import { process } from 'vs/base/parts/sandbox/electron-sandbox/globals';

export class NativeLocalProcessExtensionHost extends SandboxLocalProcessExtensionHost {
/**
* @deprecated
*/
export class LegacyNativeLocalProcessExtensionHost extends NativeLocalProcessExtensionHost {
protected override async _start(): Promise<IMessagePassingProtocol> {
const canUseUtilityProcess = await this._extensionHostStarter.canUseUtilityProcess();
if (canUseUtilityProcess && (this._configurationService.getValue<boolean | undefined>('extensions.experimental.useUtilityProcess') || process.sandboxed)) {
Expand Down

This file was deleted.

Expand Up @@ -14,7 +14,7 @@ import { MacLinuxKeyboardMapper } from 'vs/workbench/services/keybinding/common/
import { DispatchConfig, readKeyboardConfig } from 'vs/platform/keyboardLayout/common/keyboardConfig';
import { IKeyboardEvent } from 'vs/platform/keybinding/common/keybinding';
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
import { ISandboxKeyboardLayoutService } from 'vs/workbench/services/keybinding/electron-sandbox/sandboxKeyboardLayout';
import { INativeKeyboardLayoutService } from 'vs/workbench/services/keybinding/electron-sandbox/nativeKeyboardLayoutService';
import { InstantiationType, registerSingleton } from 'vs/platform/instantiation/common/extensions';

export class KeyboardLayoutService extends Disposable implements IKeyboardLayoutService {
Expand All @@ -27,13 +27,13 @@ export class KeyboardLayoutService extends Disposable implements IKeyboardLayout
private _keyboardMapper: IKeyboardMapper | null;

constructor(
@ISandboxKeyboardLayoutService private readonly _sandboxKeyboardLayoutService: ISandboxKeyboardLayoutService,
@INativeKeyboardLayoutService private readonly _nativeKeyboardLayoutService: INativeKeyboardLayoutService,
@IConfigurationService private readonly _configurationService: IConfigurationService
) {
super();
this._keyboardMapper = null;

this._register(this._sandboxKeyboardLayoutService.onDidChangeKeyboardLayout(async () => {
this._register(this._nativeKeyboardLayoutService.onDidChangeKeyboardLayout(async () => {
this._keyboardMapper = null;
this._onDidChangeKeyboardLayout.fire();
}));
Expand All @@ -47,11 +47,11 @@ export class KeyboardLayoutService extends Disposable implements IKeyboardLayout
}

public getRawKeyboardMapping(): IKeyboardMapping | null {
return this._sandboxKeyboardLayoutService.getRawKeyboardMapping();
return this._nativeKeyboardLayoutService.getRawKeyboardMapping();
}

public getCurrentKeyboardLayout(): IKeyboardLayoutInfo | null {
return this._sandboxKeyboardLayoutService.getCurrentKeyboardLayout();
return this._nativeKeyboardLayoutService.getCurrentKeyboardLayout();
}

public getAllKeyboardLayouts(): IKeyboardLayoutInfo[] {
Expand Down
Expand Up @@ -8,27 +8,27 @@ import { IKeyboardLayoutInfo, IKeyboardMapping, IMacLinuxKeyboardMapping, IWindo
import { Emitter, Event } from 'vs/base/common/event';
import { OperatingSystem, OS } from 'vs/base/common/platform';
import { IMainProcessService } from 'vs/platform/ipc/electron-sandbox/services';
import { INativeKeyboardLayoutService } from 'vs/platform/keyboardLayout/common/keyboardLayoutService';
import { INativeKeyboardLayoutService as IBaseNativeKeyboardLayoutService } from 'vs/platform/keyboardLayout/common/keyboardLayoutService';
import { ProxyChannel } from 'vs/base/parts/ipc/common/ipc';
import { createDecorator } from 'vs/platform/instantiation/common/instantiation';

export const ISandboxKeyboardLayoutService = createDecorator<ISandboxKeyboardLayoutService>('sandboxKeyboardLayoutService');
export const INativeKeyboardLayoutService = createDecorator<INativeKeyboardLayoutService>('nativeKeyboardLayoutService');

export interface ISandboxKeyboardLayoutService {
export interface INativeKeyboardLayoutService {
readonly _serviceBrand: undefined;
readonly onDidChangeKeyboardLayout: Event<void>;
getRawKeyboardMapping(): IKeyboardMapping | null;
getCurrentKeyboardLayout(): IKeyboardLayoutInfo | null;
}

export class SandboxKeyboardLayoutService extends Disposable implements ISandboxKeyboardLayoutService {
export class NativeKeyboardLayoutService extends Disposable implements INativeKeyboardLayoutService {

declare readonly _serviceBrand: undefined;

private readonly _onDidChangeKeyboardLayout = this._register(new Emitter<void>());
readonly onDidChangeKeyboardLayout = this._onDidChangeKeyboardLayout.event;

private readonly _keyboardLayoutService: INativeKeyboardLayoutService;
private readonly _keyboardLayoutService: IBaseNativeKeyboardLayoutService;
private _initPromise: Promise<void> | null;
private _keyboardMapping: IKeyboardMapping | null;
private _keyboardLayoutInfo: IKeyboardLayoutInfo | null;
Expand All @@ -37,7 +37,7 @@ export class SandboxKeyboardLayoutService extends Disposable implements ISandbox
@IMainProcessService mainProcessService: IMainProcessService
) {
super();
this._keyboardLayoutService = ProxyChannel.toService<INativeKeyboardLayoutService>(mainProcessService.getChannel('keyboardLayout'));
this._keyboardLayoutService = ProxyChannel.toService<IBaseNativeKeyboardLayoutService>(mainProcessService.getChannel('keyboardLayout'));
this._initPromise = null;
this._keyboardMapping = null;
this._keyboardLayoutInfo = null;
Expand Down
2 changes: 1 addition & 1 deletion src/vs/workbench/workbench.desktop.main.ts
Expand Up @@ -85,7 +85,7 @@ import 'vs/workbench/services/files/electron-sandbox/elevatedFileService';
import 'vs/workbench/services/search/electron-sandbox/searchService';
import 'vs/workbench/services/workingCopy/electron-sandbox/workingCopyHistoryService';
import 'vs/workbench/services/userDataSync/browser/userDataSyncEnablementService';
import 'vs/workbench/services/extensions/electron-sandbox/sandboxExtensionService';
import 'vs/workbench/services/extensions/electron-sandbox/nativeExtensionService';
import 'vs/platform/userDataProfile/electron-sandbox/userDataProfileStorageService';

import { InstantiationType, registerSingleton } from 'vs/platform/instantiation/common/extensions';
Expand Down