| <!DOCTYPE html> |
| <html class="reftest-wait"> |
| <head> |
| <meta charset="UTF-8"> |
| <style> |
| .failed { |
| background-color: red; |
| } |
| </style> |
| </head> |
| <body> |
| <iframe id="iframe" srcdoc="<button onclick='document.documentElement.requestFullscreen().then(() => (window.location.href=`./resources/fullscreen-iframe-navigation-target.html`))'>Enter fullscreen and navigate</button>"></iframe> |
| <script src="../imported/w3c/web-platform-tests/resources/testdriver.js"></script> |
| <script src="../resources/testdriver-vendor.js"></script> |
| <script> |
| addEventListener("load", async () => { |
| await test_driver.bless("fullscreen", null, iframe.contentWindow); |
| await new Promise(resolve => { |
| addEventListener("fullscreenchange", resolve, { once: true }); |
| iframe.contentDocument.documentElement.requestFullscreen(); |
| }); |
| if (!document.fullscreenElement) |
| document.body.className = "failed"; |
| await Promise.all([ |
| new Promise(resolve => { |
| addEventListener("message", (e) => { |
| if (e.data == "loaded") |
| resolve(); |
| }, { once: true }); |
| iframe.contentWindow.location.href = "./resources/fullscreen-iframe-navigation-target.html"; |
| }), |
| new Promise(resolve => { |
| addEventListener("fullscreenchange", resolve, { once: true }); |
| }) |
| ]); |
| if (document.fullscreenElement) |
| document.body.className = "failed"; |
| document.documentElement.classList.remove("reftest-wait"); |
| }); |
| </script> |
| </body> |
| </html> |