Skip to content

Commit 3334b82

Browse files
author
Benjamin Pasero
committed
debt - remove resolveProxy from window service
1 parent a55b7ec commit 3334b82

19 files changed

Lines changed: 71 additions & 58 deletions

File tree

src/vs/platform/electron/electron-main/electronMainService.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,4 +94,15 @@ export class ElectronMainService implements IElectronService {
9494
}
9595
}
9696
}
97+
98+
async resolveProxy(url: string): Promise<string | undefined> {
99+
return new Promise(resolve => {
100+
const window = this.window;
101+
if (window && window.win && window.win.webContents && window.win.webContents.session) {
102+
window.win.webContents.session.resolveProxy(url, proxy => resolve(proxy));
103+
} else {
104+
resolve();
105+
}
106+
});
107+
}
97108
}

src/vs/platform/electron/node/electron.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,7 @@ export interface IElectronService {
3434
// Development
3535
openDevTools(options?: OpenDevToolsOptions): Promise<void>;
3636
toggleDevTools(): Promise<void>;
37+
38+
// Connectivity
39+
resolveProxy(url: string): Promise<string | undefined>;
3740
}

src/vs/platform/request/browser/requestService.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ import { CancellationToken } from 'vs/base/common/cancellation';
88
import { IConfigurationService } from 'vs/platform/configuration/common/configuration';
99
import { ILogService } from 'vs/platform/log/common/log';
1010
import { request } from 'vs/base/parts/request/browser/request';
11+
import { IRequestService } from 'vs/platform/request/common/request';
1112

1213
/**
1314
* This service exposes the `request` API, while using the global
1415
* or configured proxy settings.
1516
*/
16-
export class RequestService {
17+
export class RequestService implements IRequestService {
1718

1819
_serviceBrand: undefined;
1920

@@ -32,4 +33,8 @@ export class RequestService {
3233

3334
return request(options, token);
3435
}
36+
37+
async resolveProxy(url: string): Promise<string | undefined> {
38+
return undefined; // not implemented in the web
39+
}
3540
}

src/vs/platform/request/common/request.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ export interface IRequestService {
1717
_serviceBrand: undefined;
1818

1919
request(options: IRequestOptions, token: CancellationToken): Promise<IRequestContext>;
20+
21+
resolveProxy(url: string): Promise<string | undefined>;
2022
}
2123

2224
function isSuccess(context: IRequestContext): boolean {

src/vs/platform/request/node/requestService.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,9 @@ export class RequestService extends Disposable implements IRequestService {
141141
e(canceled());
142142
});
143143
});
144-
145144
}
146145

146+
async resolveProxy(url: string): Promise<string | undefined> {
147+
return undefined; // currently not implemented in node
148+
}
147149
}

src/vs/platform/windows/common/windows.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,6 @@ export interface IWindowsService {
141141

142142
// TODO: this is a bit backwards
143143
startCrashReporter(config: CrashReporterStartOptions): Promise<void>;
144-
145-
resolveProxy(windowId: number, url: string): Promise<string | undefined>;
146144
}
147145

148146
export const IWindowService = createDecorator<IWindowService>('windowService');
@@ -220,7 +218,6 @@ export interface IWindowService {
220218
unmaximizeWindow(): Promise<void>;
221219
minimizeWindow(): Promise<void>;
222220
onWindowTitleDoubleClick(): Promise<void>;
223-
resolveProxy(url: string): Promise<string | undefined>;
224221
}
225222

226223
export type MenuBarVisibility = 'default' | 'visible' | 'toggle' | 'hidden';

src/vs/platform/windows/common/windowsIpc.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,6 @@ export class WindowsChannel implements IServerChannel {
100100
case 'getActiveWindowId': return this.service.getActiveWindowId();
101101
case 'openExternal': return this.service.openExternal(arg);
102102
case 'startCrashReporter': return this.service.startCrashReporter(arg);
103-
case 'resolveProxy': return this.service.resolveProxy(arg[0], arg[1]);
104103
}
105104

106105
throw new Error(`Call not found: ${command}`);

src/vs/platform/windows/electron-browser/windowsService.ts

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,4 @@ export class WindowsService implements IWindowsService {
193193
updateTouchBar(windowId: number, items: ISerializableCommandAction[][]): Promise<void> {
194194
return this.channel.call('updateTouchBar', [windowId, items]);
195195
}
196-
197-
resolveProxy(windowId: number, url: string): Promise<string | undefined> {
198-
return Promise.resolve(this.channel.call('resolveProxy', [windowId, url]));
199-
}
200196
}

src/vs/platform/windows/electron-main/legacyWindowsMainService.ts

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -337,19 +337,6 @@ export class LegacyWindowsMainService extends Disposable implements IWindowsServ
337337
this.windowsMainService.open({ context: OpenContext.API, cli, urisToOpen, gotoLineMode: true });
338338
}
339339

340-
async resolveProxy(windowId: number, url: string): Promise<string | undefined> {
341-
return new Promise(resolve => {
342-
const codeWindow = this.windowsMainService.getWindowById(windowId);
343-
if (codeWindow) {
344-
codeWindow.win.webContents.session.resolveProxy(url, proxy => {
345-
resolve(proxy);
346-
});
347-
} else {
348-
resolve();
349-
}
350-
});
351-
}
352-
353340
private withWindow<T>(windowId: number, fn: (window: ICodeWindow) => T, fallback?: () => T): T | undefined {
354341
const codeWindow = this.windowsMainService.getWindowById(windowId);
355342
if (codeWindow) {

src/vs/workbench/api/browser/mainThreadWorkspace.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import { isNative } from 'vs/base/common/platform';
1212
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
1313
import { ILabelService } from 'vs/platform/label/common/label';
1414
import { IFileMatch, IPatternInfo, ISearchProgressItem, ISearchService } from 'vs/workbench/services/search/common/search';
15-
import { IWindowService } from 'vs/platform/windows/common/windows';
1615
import { IWorkspaceContextService, WorkbenchState, IWorkspace } from 'vs/platform/workspace/common/workspace';
1716
import { extHostNamedCustomer } from 'vs/workbench/api/common/extHostCustomers';
1817
import { ITextQueryBuilderOptions, QueryBuilder } from 'vs/workbench/contrib/search/common/queryBuilder';
@@ -24,6 +23,7 @@ import { isEqualOrParent } from 'vs/base/common/resources';
2423
import { INotificationService } from 'vs/platform/notification/common/notification';
2524
import { withNullAsUndefined } from 'vs/base/common/types';
2625
import { IFileService } from 'vs/platform/files/common/files';
26+
import { IRequestService } from 'vs/platform/request/common/request';
2727

2828
@extHostNamedCustomer(MainContext.MainThreadWorkspace)
2929
export class MainThreadWorkspace implements MainThreadWorkspaceShape {
@@ -40,7 +40,7 @@ export class MainThreadWorkspace implements MainThreadWorkspaceShape {
4040
@ITextFileService private readonly _textFileService: ITextFileService,
4141
@IWorkspaceEditingService private readonly _workspaceEditingService: IWorkspaceEditingService,
4242
@INotificationService private readonly _notificationService: INotificationService,
43-
@IWindowService private readonly _windowService: IWindowService,
43+
@IRequestService private readonly _requestService: IRequestService,
4444
@IInstantiationService private readonly _instantiationService: IInstantiationService,
4545
@ILabelService private readonly _labelService: ILabelService,
4646
@IEnvironmentService private readonly _environmentService: IEnvironmentService,
@@ -218,6 +218,6 @@ export class MainThreadWorkspace implements MainThreadWorkspaceShape {
218218
}
219219

220220
$resolveProxy(url: string): Promise<string | undefined> {
221-
return this._windowService.resolveProxy(url);
221+
return this._requestService.resolveProxy(url);
222222
}
223223
}

0 commit comments

Comments
 (0)