mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-24 18:49:00 +01:00
Adopt case insensitive extension identifiers
This commit is contained in:
@@ -8,6 +8,7 @@ import { MainContext, IMainContext, ExtHostUrlsShape, MainThreadUrlsShape } from
|
||||
import { URI, UriComponents } from 'vs/base/common/uri';
|
||||
import { toDisposable } from 'vs/base/common/lifecycle';
|
||||
import { onUnexpectedError } from 'vs/base/common/errors';
|
||||
import { CanonicalExtensionIdentifier } from 'vs/platform/extensions/common/extensions';
|
||||
|
||||
export class ExtHostUrls implements ExtHostUrlsShape {
|
||||
|
||||
@@ -23,18 +24,18 @@ export class ExtHostUrls implements ExtHostUrlsShape {
|
||||
this._proxy = mainContext.getProxy(MainContext.MainThreadUrls);
|
||||
}
|
||||
|
||||
registerUriHandler(extensionId: string, handler: vscode.UriHandler): vscode.Disposable {
|
||||
if (this.handles.has(extensionId)) {
|
||||
registerUriHandler(extensionId: CanonicalExtensionIdentifier, handler: vscode.UriHandler): vscode.Disposable {
|
||||
if (this.handles.has(CanonicalExtensionIdentifier.toKey(extensionId))) {
|
||||
throw new Error(`Protocol handler already registered for extension ${extensionId}`);
|
||||
}
|
||||
|
||||
const handle = ExtHostUrls.HandlePool++;
|
||||
this.handles.add(extensionId);
|
||||
this.handles.add(CanonicalExtensionIdentifier.toKey(extensionId));
|
||||
this.handlers.set(handle, handler);
|
||||
this._proxy.$registerUriHandler(handle, extensionId);
|
||||
|
||||
return toDisposable(() => {
|
||||
this.handles.delete(extensionId);
|
||||
this.handles.delete(CanonicalExtensionIdentifier.toKey(extensionId));
|
||||
this.handlers.delete(handle);
|
||||
this._proxy.$unregisterUriHandler(handle);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user