diff --git a/src/vs/editor/contrib/find/simpleFindWidget.ts b/src/vs/editor/contrib/find/simpleFindWidget.ts index 91200d7a3b8a3eb9cc03dcbbaf6badde79e30113..88727a5dc7369ca22527baa5afeaa6a899a4d3b7 100644 --- a/src/vs/editor/contrib/find/simpleFindWidget.ts +++ b/src/vs/editor/contrib/find/simpleFindWidget.ts @@ -149,6 +149,14 @@ export abstract class SimpleFindWidget extends Widget { this._findInput.style(inputStyles); } + dipose() { + super.dispose(); + + if (this._domNode && this._domNode.parentElement) { + this._domNode.parentElement.removeChild(this._domNode); + } + } + public getDomNode(): HTMLElement { return this._domNode; } diff --git a/src/vs/workbench/parts/html/browser/webview.ts b/src/vs/workbench/parts/html/browser/webview.ts index 33a00e419d350deaca11d85679536dfd6b37a710..ebeb734569b2a4534afc1534f046ceede78b3dd5 100644 --- a/src/vs/workbench/parts/html/browser/webview.ts +++ b/src/vs/workbench/parts/html/browser/webview.ts @@ -204,9 +204,9 @@ export class Webview { if (this._webview.parentElement) { this._webview.parentElement.removeChild(this._webview); - const findWidgetDomNode = this._webviewFindWidget.getDomNode(); - findWidgetDomNode.parentElement.removeChild(findWidgetDomNode); } + + this._webviewFindWidget.dispose(); } private readonly _onDidClickLink = new Emitter(); @@ -331,7 +331,7 @@ export class Webview { this._environmentService.extensionDevelopmentPath ]); registerFileProtocol(contents, 'vscode-workspace-resource', () => - this._options.localResourceRoots.map(uri => uri.fsPath) + (this._options.localResourceRoots || []).map(uri => uri.fsPath) ); }