forked from WebKit/WebKit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathfull-screen-enter-while-exiting-multiple-elements.html
53 lines (44 loc) · 1.76 KB
/
full-screen-enter-while-exiting-multiple-elements.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<!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>