blob: fa6ad0bf6c5d253b49ec290c85c68ca1f0ff0abd [file] [log] [blame] [edit]
<!DOCTYPE html>
<html>
<head>
<title>Entering fullscreen while fully exiting fullscreen mid-completion handler</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 || !window.testRunner.isWebKit2) {
logResult(false, "This test requires WebKitTestRunner.");
endTest();
return;
}
testRunner.waitBeforeFinishingFullscreenExit();
consoleWrite('Enter fullscreen with target1');
internals.withUserGesture(() => { run('target1.requestFullscreen()'); });
await waitFor(target1, 'fullscreenchange');
await testRunner.updatePresentation();
consoleWrite('Fully exit fullscreen with target1');
run('document.webkitCancelFullScreen()');
await testRunner.updatePresentation();
consoleWrite('Attempt to enter fullscreen with target2');
internals.withUserGesture(() => { run('target2.requestFullscreen()'); });
await waitFor(target2, 'fullscreenerror');
testRunner.finishFullscreenExit();
await testRunner.updatePresentation();
internals.withUserGesture(() => { run('target2.requestFullscreen()'); });
await waitFor(target2, 'fullscreenchange');
endTest();
});
</script>
</head>
<body>
<span id="target1"></span>
<span id="target2"></span>
</body>
</html>