summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/shadow-dom/getElementById-dynamic-001.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/shadow-dom/getElementById-dynamic-001.html')
-rw-r--r--testing/web-platform/tests/shadow-dom/getElementById-dynamic-001.html23
1 files changed, 23 insertions, 0 deletions
diff --git a/testing/web-platform/tests/shadow-dom/getElementById-dynamic-001.html b/testing/web-platform/tests/shadow-dom/getElementById-dynamic-001.html
new file mode 100644
index 0000000000..c2acda2a9c
--- /dev/null
+++ b/testing/web-platform/tests/shadow-dom/getElementById-dynamic-001.html
@@ -0,0 +1,23 @@
+<!doctype html>
+<title>Shadow DOM: ShadowRoot.getElementById in shadow trees keeps working after host is removed from tree</title>
+<link rel="help" href="https://dom.spec.whatwg.org/#dom-nonelementparentnode-getelementbyid">
+<link rel="help" href="https://bugzil.la/1475203">
+<link rel="author" name="Emilio Cobos Álvarez" href="emilio@crisal.io">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<div id="host"></div>
+<script>
+test(function() {
+ let host = document.getElementById("host");
+ host.attachShadow({ mode: "open" }).innerHTML = `<div id="test-id"></div>`;
+
+ let element = host.shadowRoot.getElementById("test-id");
+ assert_true(!!element);
+
+ host.remove();
+ assert_equals(host.shadowRoot.getElementById("test-id"), element);
+
+ element.remove();
+ assert_equals(host.shadowRoot.getElementById("test-id"), null);
+}, "ShadowRoot.getElementById keeps working after host has been removed");
+</script>