| <!doctype html> |
| <title>Shadow DOM: Modifying an element ID inside a disconnected shadow root does not break getElementById</title> |
| <link rel="help" href="https://dom.spec.whatwg.org/#dom-nonelementparentnode-getelementbyid"> |
| <link rel="author" name="Simon Wülker"> |
| <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(); |
| host.shadowRoot.getElementById("test-id").id = "new-id"; |
| |
| assert_equals(host.shadowRoot.getElementById("new-id"), element); |
| }, "ShadowRoot.getElementById works on elements whose id was modified after the root was disconnected"); |
| </script> |