servo/tests/wpt/web-platform-tests/fullscreen/api/element-request-fullscreen-timing-manual.html
Ms2ger 296fa2512b Update web-platform-tests and CSS tests.
- Update CSS tests to revision e05bfd5e30ed662c2f8a353577003f8eed230180.
- Update web-platform-tests to revision a052787dd5c069a340031011196b73affbd68cd9.
2017-02-06 22:38:29 +01:00

37 lines
1.4 KiB
HTML

<!DOCTYPE html>
<title>Element#requestFullscreen() timing</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="../trusted-click.js"></script>
<div id="log"></div>
<script>
async_test(t => {
trusted_request(t, document.querySelector('div'));
// If fullscreenchange is an animation frame event, then animation frame
// callbacks should be run after it is fired, before the timer callback.
// The resize event should fire before the fullscreenchange event.
const events = [];
const callback = t.step_func(event => {
events.push(event.type);
if (event.type == 'fullscreenchange') {
setTimeout(t.unreached_func('timer callback'));
requestAnimationFrame(t.step_func_done(() => {
assert_array_equals(events, ['resize', 'fullscreenchange'], 'event order');
}));
}
});
document.onfullscreenchange = window.onresize = callback;
}, 'Timing of fullscreenchange and resize events');
async_test(t => {
document.createElement('a').requestFullscreen();
// If fullscreenerror is an animation frame event, then animation frame
// callbacks should be run after it is fired, before the timer callback.
document.onfullscreenerror = t.step_func(() => {
setTimeout(t.unreached_func('timer callback'));
requestAnimationFrame(t.step_func_done());
});
}, 'Timing of fullscreenerror event');
</script>