| <!DOCTYPE html> |
| <title>Element ready check for child of a fullscreen iframe</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../trusted-click.js"></script> |
| <div id="log"></div> |
| <iframe><!-- script inserts div here --></iframe> |
| <script> |
| // Verify that an iframe can itself go fullscreen, and that this doesn't |
| // influence the iframe ancestor test of the element ready check. |
| async_test(t => { |
| var iframe = document.querySelector("iframe"); |
| |
| document.onfullscreenchange = t.step_func(() => { |
| assert_equals(document.fullscreenElement, iframe, "fullscreen element"); |
| |
| // This adds the div to the iframe element itself, not to the iframe's |
| // contentDocument. It's done here because the HTML parser treats the |
| // content of iframe as a text node. |
| var div = document.createElement("div"); |
| iframe.appendChild(div); |
| |
| document.onfullscreenchange = t.step_func_done(() => { |
| assert_equals(document.fullscreenElement, div); |
| }); |
| document.onfullscreenerror = t.unreached_func("fullscreenerror event"); |
| |
| trusted_request(t, div, iframe.contentDocument.body); |
| }); |
| |
| trusted_request(t, iframe); |
| }); |
| </script> |