diff --git a/src/vs/base/browser/dom.ts b/src/vs/base/browser/dom.ts index d1628b42d913084ad14cb4cc65a4554dee1c628a..4e5530e52eef48d990cbff8207db0033dc208570 100644 --- a/src/vs/base/browser/dom.ts +++ b/src/vs/base/browser/dom.ts @@ -20,6 +20,12 @@ export function clearNode(node: HTMLElement): void { } } +export function removeNode(node: HTMLElement): void { + if (node.parentNode) { + node.parentNode.removeChild(node); + } +} + export function isInDOM(node: Node | null): boolean { while (node) { if (node === document.body) { diff --git a/src/vs/base/browser/ui/actionbar/actionbar.ts b/src/vs/base/browser/ui/actionbar/actionbar.ts index 815be57ec34fe9cd245dbef4d82470337b874b08..22d53235c9fa18e8f20605c89f67fcbaf019dea9 100644 --- a/src/vs/base/browser/ui/actionbar/actionbar.ts +++ b/src/vs/base/browser/ui/actionbar/actionbar.ts @@ -206,7 +206,7 @@ export class BaseActionItem extends Disposable implements IActionItem { dispose(): void { if (this.element) { - this.element.remove(); + DOM.removeNode(this.element); this.element = null; } @@ -726,7 +726,7 @@ export class ActionBar extends Disposable implements IActionRunner { for (let i = 0; i < this.items.length; i++) { let item = this.items[i]; - let actionItem = item; + let actionItem = item; if (i === this.focusedItem) { if (types.isFunction(actionItem.isEnabled)) { @@ -775,7 +775,7 @@ export class ActionBar extends Disposable implements IActionRunner { } this.items = null; - this.getContainer().remove(); + DOM.removeNode(this.getContainer()); super.dispose(); }