blob: ad4bb2c78a7acb9e4dc4490d4dbcf5d065f855d9 [file] [log] [blame] [edit]
<!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>