element-request-fullscreen-top.html (1209B)
1 <!DOCTYPE html> 2 <title> 3 Element#requestFullscreen() for top element in fullscreen element stack 4 </title> 5 <script src="/resources/testharness.js"></script> 6 <script src="/resources/testharnessreport.js"></script> 7 <script src="/resources/testdriver.js"></script> 8 <script src="/resources/testdriver-vendor.js"></script> 9 <script src="../trusted-click.js"></script> 10 <div id="log"></div> 11 <div id="top"></div> 12 <script> 13 promise_test(async function (t) { 14 const top = document.getElementById("top"); 15 document.onfullscreenerror = t.unreached_func("fullscreenerror event"); 16 17 await Promise.all([ 18 trusted_request(top), 19 new Promise((r) => 20 document.addEventListener("fullscreenchange", r) 21 ), 22 ]); 23 assert_equals(document.fullscreenElement, top); 24 await trusted_click(top); 25 await top.requestFullscreen(); 26 // A fullscreenerror event would be fired after an async section 27 // and an animation frame task, so wait until after that. 28 await new Promise((resolve) => { 29 t.step_timeout(() => { 30 requestAnimationFrame(resolve); 31 }); 32 }); 33 }); 34 </script>