| <!DOCTYPE html> |
| <!-- |
| Tentative due to: |
| https://github.com/whatwg/fullscreen/issues/152 |
| |
| --> |
| <title>Element#requestFullscreen() twice</title> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| <script src="../trusted-click.js"></script> |
| <div id="log"></div> |
| <script> |
| promise_test(async (test) => { |
| const div = document.querySelector("div"); |
| |
| const fullscreenChangePromise = new Promise((resolve, reject) => { |
| document.onfullscreenchange = test.step_func(() => { |
| assert_equals(document.fullscreenElement, div); |
| // Ensure that there's only one fullscreenchange event. |
| document.onfullscreenchange = test.unreached_func("second fullscreenchange event"); |
| resolve(); |
| }); |
| }); |
| |
| const fullscreenErrorPromise = new Promise((resolve, reject) => { |
| document.onfullscreenerror = test.step_func(() => { |
| resolve(); |
| }); |
| }); |
| |
| trusted_click(test, () => { |
| // Request fullscreen twice. |
| div.requestFullscreen(); |
| assert_equals(document.fullscreenElement, null, "fullscreenElement after first requestFullscreen()"); |
| var p = div.requestFullscreen(); |
| if (p) { |
| p.then(test.unreached_func("promise unexpectedly resolved"), ()=>{}); |
| } |
| }, document.body); |
| |
| await Promise.all([ |
| fullscreenChangePromise, |
| fullscreenErrorPromise, |
| ]); |
| }); |
| </script> |