element-request-fullscreen-consume-user-activation.html (1084B)
1 <!DOCTYPE html> 2 <title>Element#requestFullscreen() consumes user activation</title> 3 <script src="/resources/testharness.js"></script> 4 <script src="/resources/testharnessreport.js"></script> 5 <script src="/resources/testdriver.js"></script> 6 <script src="/resources/testdriver-vendor.js"></script> 7 <div id="log"></div> 8 <script> 9 promise_test(async (t) => { 10 t.add_cleanup(() => { 11 if (document.fullscreenElement) return document.exitFullscreen(); 12 }); 13 const div = document.querySelector("div"); 14 15 await test_driver.bless("fullscreen"); 16 assert_true(navigator.userActivation.isActive, "Activation must be active"); 17 // Request fullscreen twice in a row. The first request should consume the 18 // user activation and succeed, and the second request should fail because 19 // of the user activation requirement. 20 const p1 = div.requestFullscreen(); 21 assert_false(navigator.userActivation.isActive, "Transient activation is consumed"); 22 const p2 = promise_rejects_js(t, TypeError, div.requestFullscreen()); 23 await Promise.all([p1, p2]); 24 }); 25 </script>