| <!doctype html> |
| <html> |
| <head> |
| <title>Test page for <object> element rendering fallback</title> |
| </head> |
| <body> |
| <object data="about:blank" type="text/html"> |
| <p id="fallback-content">Fallback Content</p> |
| </object> |
| <p>Some text so the document is ready for input.</p> |
| <script> |
| var fallback = document.getElementById("fallback-content"); |
| var object = document.querySelector("object"); |
| |
| function setUrl(url) { |
| return new Promise(resolve => { |
| object.addEventListener("load", () => { |
| resolve("OBJECT_LOAD"); |
| }, {once: true}); |
| object.data = url; |
| }); |
| } |
| |
| function fallbackVisible() { |
| let rect = fallback.getBoundingClientRect(); |
| let hasLayout = (rect.width * rect.height) > 0; |
| return hasLayout; |
| } |
| |
| async function notifyWhenFallbackShown() { |
| while (!fallbackVisible()) { |
| await new Promise(resolve => window.setTimeout(resolve, 10)); |
| } |
| return true; |
| } |
| </script> |
| </body> |
| </html> |