| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <title>Entering fullscreen while popping a stack of multiple elements</title> | |
| <script src="full-screen-test.js"></script> | |
| <script> | |
| window.addEventListener('load', async event => { | |
| if (Element.prototype.requestFullscreen == undefined) { | |
| logResult(false, "Element.prototype.requestFullscreen == undefined"); | |
| endTest(); | |
| return; | |
| } | |
| if (!window.testRunner) { | |
| logResult(false, "This test requires WebKitTestRunner."); | |
| endTest(); | |
| return; | |
| } | |
| consoleWrite('Enter fullscreen with target1'); | |
| internals.withUserGesture(() => { run('target1.requestFullscreen()'); }); | |
| await waitFor(target1, 'fullscreenchange'); | |
| await testRunner.updatePresentation(); | |
| consoleWrite('Enter fullscreen with target2'); | |
| internals.withUserGesture(() => { run('target2.requestFullscreen()'); }); | |
| await waitFor(target2, 'fullscreenchange'); | |
| await testRunner.updatePresentation(); | |
| consoleWrite('Exit fullscreen with target1'); | |
| run('document.exitFullscreen()'); | |
| consoleWrite('Attempt to enter fullscreen with target3'); | |
| internals.withUserGesture(() => { run('target3.requestFullscreen()'); }); | |
| await Promise.all([waitFor(target3, 'fullscreenerror'), waitFor(target2, 'fullscreenchange')]); | |
| await testRunner.updatePresentation(); | |
| consoleWrite('Entering fullscreen with target3'); | |
| internals.withUserGesture(() => { run('target3.requestFullscreen()'); }); | |
| await waitFor(target3, 'fullscreenchange'); | |
| endTest(); | |
| }); | |
| </script> | |
| </head> | |
| <body> | |
| <span id="target1"></span> | |
| <span id="target2"></span> | |
| <span id="target3"></span> | |
| </body> | |
| </html> |