提交 9c4ad2db 编写于 作者: J Joao Moreno

rename uri api

上级 d9d5663a
......@@ -656,16 +656,16 @@ declare module 'vscode' {
//#region URLs
export interface UrlHandler {
handleUrl(uri: Uri): void;
export interface ExternalUriHandler {
handleExternalUri(uri: Uri): void;
}
export namespace window {
/**
* Registers a URL handler.
* Registers a protocol handler capable of handling system-wide URIs.
*/
export function registerUrlHandler(handler: UrlHandler): Disposable;
export function registerExternalUriHandler(handler: ExternalUriHandler): Disposable;
}
//#endregion
......
......@@ -23,7 +23,7 @@ class ExtensionUrlHandler implements IURLHandler {
return TPromise.as(false);
}
return this.proxy.$handleUrl(this.handle, uri).then(() => true);
return this.proxy.$handleExternalUri(this.handle, uri).then(() => true);
}
}
......@@ -41,7 +41,7 @@ export class MainThreadUrls implements MainThreadUrlsShape {
this.proxy = context.getProxy(ExtHostContext.ExtHostUrls);
}
$registerUrlHandler(handle: number, extensionId: string): TPromise<void> {
$registerExternalUriHandler(handle: number, extensionId: string): TPromise<void> {
const handler = new ExtensionUrlHandler(this.proxy, handle, extensionId);
const disposable = this.urlService.registerHandler(handler);
this.handlers.set(handle, disposable);
......@@ -49,7 +49,7 @@ export class MainThreadUrls implements MainThreadUrlsShape {
return TPromise.as(null);
}
$unregisterUrlHandler(handle: number): TPromise<void> {
$unregisterExternalUriHandler(handle: number): TPromise<void> {
const disposable = this.handlers.get(handle);
if (!disposable) {
......
......@@ -434,8 +434,8 @@ export function createApiFactory(
registerWebviewPanelSerializer: proposedApiFunction(extension, (viewType: string, serializer: vscode.WebviewPanelSerializer) => {
return extHostWebviews.registerWebviewPanelSerializer(viewType, serializer);
}),
registerUrlHandler: proposedApiFunction(extension, (handler: vscode.UrlHandler) => {
return extHostUrls.registerUrlHandler(extension.id, handler);
registerExternalUriHandler: proposedApiFunction(extension, (handler: vscode.ExternalUriHandler) => {
return extHostUrls.registerExternalUriHandler(extension.id, handler);
})
};
......
......@@ -373,12 +373,12 @@ export interface ExtHostWebviewsShape {
}
export interface MainThreadUrlsShape extends IDisposable {
$registerUrlHandler(handle: number, extensionId: string): TPromise<void>;
$unregisterUrlHandler(handle: number): TPromise<void>;
$registerExternalUriHandler(handle: number, extensionId: string): TPromise<void>;
$unregisterExternalUriHandler(handle: number): TPromise<void>;
}
export interface ExtHostUrlsShape {
$handleUrl(handle: number, uri: UriComponents): TPromise<void>;
$handleExternalUri(handle: number, uri: UriComponents): TPromise<void>;
}
export interface MainThreadWorkspaceShape extends IDisposable {
......
......@@ -14,7 +14,7 @@ export class ExtHostUrls implements ExtHostUrlsShape {
private static HandlePool = 0;
private readonly _proxy: MainThreadUrlsShape;
private handlers = new Map<number, vscode.UrlHandler>();
private handlers = new Map<number, vscode.ExternalUriHandler>();
constructor(
mainContext: IMainContext
......@@ -22,25 +22,25 @@ export class ExtHostUrls implements ExtHostUrlsShape {
this._proxy = mainContext.getProxy(MainContext.MainThreadUrls);
}
registerUrlHandler(extensionId: string, handler: vscode.UrlHandler): vscode.Disposable {
registerExternalUriHandler(extensionId: string, handler: vscode.ExternalUriHandler): vscode.Disposable {
const handle = ExtHostUrls.HandlePool++;
this.handlers.set(handle, handler);
this._proxy.$registerUrlHandler(handle, extensionId);
this._proxy.$registerExternalUriHandler(handle, extensionId);
return toDisposable(() => {
this.handlers.delete(handle);
this._proxy.$unregisterUrlHandler(handle);
this._proxy.$unregisterExternalUriHandler(handle);
});
}
$handleUrl(handle: number, uri: UriComponents): TPromise<void> {
$handleExternalUri(handle: number, uri: UriComponents): TPromise<void> {
const handler = this.handlers.get(handle);
if (!handler) {
return TPromise.as(null);
}
handler.handleUrl(URI.revive(uri));
handler.handleExternalUri(URI.revive(uri));
return TPromise.as(null);
}
}
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册