src/vs/workbench/api/common/extHostProgress.ts/ExtHostProgress/withProgress
class ExtHostProgress:	withProgress<R>(extension: IExtensionDescription, options: ProgressOptions, task: (progress: Progress<IProgressStep>, token: CancellationToken) => Thenable<R>): Thenable<R> {
		const handle = this._handles++;
		const { title, location, cancellable } = options;
		const source = { label: localize('extensionSource', "{0} (Extension)", extension.displayName || extension.name), id: extension.identifier.value };

		this._proxy.$startProgress(handle, { location: ProgressLocation.from(location), title, source, cancellable }, extension);
		return this._withProgress(handle, task, !!cancellable);
	}