src/vs/workbench/services/extensions/browser/webWorkerExtensionHost.ts/WebWorkerExtensionHost/start
class WebWorkerExtensionHost:	public async start(): Promise<IMessagePassingProtocol> {
		if (!this._protocolPromise) {
			if (platform.isWeb) {
				const webWorkerExtensionHostIframeSrc = this._webWorkerExtensionHostIframeSrc();
				if (webWorkerExtensionHostIframeSrc) {
					this._protocolPromise = this._startInsideIframe(webWorkerExtensionHostIframeSrc);
				} else {
					console.warn(`The web worker extension host is started without an iframe sandbox!`);
					this._protocolPromise = this._startOutsideIframe();
				}
			} else {
				this._protocolPromise = this._startOutsideIframe();
			}
			this._protocolPromise.then(protocol => this._protocol = protocol);
		}
		return this._protocolPromise;
	}