Debt - do not expose an unregister method from service (#158641)

* Debt - do not expose an unregister method from service

* Add registration disposable to disposable store
This commit is contained in:
Joyce Er
2022-08-30 15:34:15 +00:00
committed by GitHub
parent af14c1036e
commit db4f5a84dc
5 changed files with 26 additions and 16 deletions

View File

@@ -583,6 +583,8 @@ export class ExtHostWorkspace implements ExtHostWorkspaceShape, IExtHostWorkspac
// --- edit sessions ---
private _providerHandlePool = 0;
// called by ext host
registerEditSessionIdentityProvider(scheme: string, provider: vscode.EditSessionIdentityProvider) {
if (this._editSessionIdentityProviders.has(scheme)) {
@@ -591,11 +593,12 @@ export class ExtHostWorkspace implements ExtHostWorkspaceShape, IExtHostWorkspac
this._editSessionIdentityProviders.set(scheme, provider);
const outgoingScheme = this._uriTransformerService.transformOutgoingScheme(scheme);
this._proxy.$registerEditSessionIdentityProvider(outgoingScheme);
const handle = this._providerHandlePool++;
this._proxy.$registerEditSessionIdentityProvider(handle, outgoingScheme);
return toDisposable(() => {
this._editSessionIdentityProviders.delete(scheme);
this._proxy.$unregisterEditSessionIdentityProvider(outgoingScheme);
this._proxy.$unregisterEditSessionIdentityProvider(handle);
});
}