src/vs/workbench/contrib/extensions/browser/extensionEditor.ts/ExtensionEditor/loadContents
class ExtensionEditor:	private loadContents<T>(loadingTask: () => CacheResult<T>, container: HTMLElement): Promise<T> {
		container.classList.add('loading');

		const result = this.contentDisposables.add(loadingTask());
		const onDone = () => container.classList.remove('loading');
		result.promise.then(onDone, onDone);

		return result.promise;
	}