Fix bug where webview options weren't revived, causing URI lookup to fail (#2453)

This commit is contained in:
Kevin Cunnane
2018-09-06 18:00:23 -07:00
committed by GitHub
parent a68462c7cb
commit 287811f4ab
2 changed files with 10 additions and 1 deletions

View File

@@ -26,6 +26,13 @@ import { IComponent, IComponentDescriptor, IModelStore, ComponentEventType } fro
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { IContextKeyService, IContextKey } from 'vs/platform/contextkey/common/contextkey';
function reviveWebviewOptions(options: vscode.WebviewOptions): vscode.WebviewOptions {
return {
...options,
localResourceRoots: Array.isArray(options.localResourceRoots) ? options.localResourceRoots.map(URI.revive) : undefined
};
}
@Component({
template: '',
selector: 'modelview-webview-component'
@@ -192,6 +199,7 @@ export default class WebViewComponent extends ComponentBase implements IComponen
private getExtendedOptions(): WebviewOptions {
let options = this.options || { enableScripts: true };
options = reviveWebviewOptions(options);
return {
allowScripts: options.enableScripts,
allowSvgs: true,
@@ -208,4 +216,5 @@ export default class WebViewComponent extends ComponentBase implements IComponen
}
return rootPaths;
}
}

View File

@@ -548,7 +548,7 @@ class ComponentWrapper implements sqlops.Component {
} else {
throw new Error(nls.localize('invalidIndex', 'The index is invalid.'));
}
this._proxy.$addToContainer(this._handle, this.id, config.toIItemConfig(), index).then(undefined, this.handleError);
this._proxy.$addToContainer(this._handle, this.id, config.toIItemConfig(), index).then(undefined, (err) => this.handleError(err));
}
public setLayout(layout: any): Thenable<void> {