From 6ecaa9aebb16f7688b11ac07bb82c27c89935cb7 Mon Sep 17 00:00:00 2001 From: Tobias Bosch Date: Tue, 14 Apr 2015 18:01:08 -0700 Subject: [PATCH] feat(change detection): add removeShadowDomChild --- .../src/change_detection/abstract_change_detector.js | 4 ++++ .../test/change_detection/change_detection_spec.js | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/modules/angular2/src/change_detection/abstract_change_detector.js b/modules/angular2/src/change_detection/abstract_change_detector.js index 685ff52bd2..ab416d9e86 100644 --- a/modules/angular2/src/change_detection/abstract_change_detector.js +++ b/modules/angular2/src/change_detection/abstract_change_detector.js @@ -33,6 +33,10 @@ export class AbstractChangeDetector extends ChangeDetector { cd.parent = this; } + removeShadowDomChild(cd:ChangeDetector) { + ListWrapper.remove(this.shadowDomChildren, cd); + } + remove() { this.parent.removeChild(this); } diff --git a/modules/angular2/test/change_detection/change_detection_spec.js b/modules/angular2/test/change_detection/change_detection_spec.js index 5b60b8158d..fb28ee07c3 100644 --- a/modules/angular2/test/change_detection/change_detection_spec.js +++ b/modules/angular2/test/change_detection/change_detection_spec.js @@ -484,6 +484,13 @@ export function main() { expect(parent.lightDomChildren).toEqual([]); }); + + it("should remove shadow dom children", () => { + parent.addShadowDomChild(child); + parent.removeShadowDomChild(child); + + expect(parent.shadowDomChildren.length).toEqual(0); + }); }); });