iframe-successfully-loads-in-shadow-root.html 843 B

12345678910111213141516171819202122232425
  1. <!DOCTYPE html>
  2. <script src="../include.js"></script>
  3. <script>
  4. asyncTest((done) => {
  5. const div = document.createElement("div");
  6. const shadowRoot = div.attachShadow({ mode: "closed" });
  7. const iframe = document.createElement("iframe");
  8. window.addEventListener("message", (messageEvent) => {
  9. println(`Received a message: '${messageEvent.data}'`);
  10. println(`Was it from the shadow root iframe? ${messageEvent.source === iframe.contentWindow}`);
  11. done();
  12. });
  13. iframe.srcdoc = `
  14. \u003cscript\u003e
  15. window.parent.postMessage("Hello from iframe in the shadow root of the just inserted div!");
  16. \u003c/script\u003e
  17. `;
  18. shadowRoot.appendChild(iframe);
  19. document.body.appendChild(div);
  20. });
  21. </script>