declarative-shadow-dom-write-to-iframe.html (872B)
1 <!DOCTYPE html> 2 <meta charset=utf-8> 3 <title>`document.write` on inner iframe handles declarative shadow DOM</title> 4 <script src="/resources/testharness.js"></script> 5 <script src="/resources/testharnessreport.js"></script> 6 <iframe></iframe> 7 <script> 8 promise_test(async () => { 9 await new Promise(res => window.addEventListener("load", res)); 10 let elem = document.querySelector("iframe"); 11 elem.contentDocument.write(` 12 <div> 13 <template shadowrootmode="open"><slot></slot></template> 14 <p>Test</p> 15 </div> 16 `); 17 let container = elem.contentDocument.querySelector("div"); 18 assert_true(!!container, "write should occur"); 19 assert_true(!!container.shadowRoot, "write should create shadowroot"); 20 assert_equals(container.innerText, "Test", "div should still contain text"); 21 }, "`document.write` on inner iframe handles declarative shadow DOM"); 22 </script>