22 lines
872 B
HTML
22 lines
872 B
HTML
<!DOCTYPE html>
|
|
<meta charset=utf-8>
|
|
<title>`document.write` on inner iframe handles declarative shadow DOM</title>
|
|
<script src="/resources/testharness.js"></script>
|
|
<script src="/resources/testharnessreport.js"></script>
|
|
<iframe></iframe>
|
|
<script>
|
|
promise_test(async () => {
|
|
await new Promise(res => window.addEventListener("load", res));
|
|
let elem = document.querySelector("iframe");
|
|
elem.contentDocument.write(`
|
|
<div>
|
|
<template shadowrootmode="open"><slot></slot></template>
|
|
<p>Test</p>
|
|
</div>
|
|
`);
|
|
let container = elem.contentDocument.querySelector("div");
|
|
assert_true(!!container, "write should occur");
|
|
assert_true(!!container.shadowRoot, "write should create shadowroot");
|
|
assert_equals(container.innerText, "Test", "div should still contain text");
|
|
}, "`document.write` on inner iframe handles declarative shadow DOM");
|
|
</script>
|