blob: d662c122d89add80d6fa61ad5d32f5d7894d5c37 [file] [log] [blame]
<!DOCTYPE html>
<title>Tests that video controls are not shown when entering/exiting fullscreen
without hovering over the controls. Opposite of
video-enter-exit-fullscreen-while-hovering-shows-controls.html</title>
<script src="../../fullscreen/full-screen-test.js"></script>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../media-controls.js"></script>
<video controls></video>
<script>
async_test(function(t) {
var video = document.querySelector("video");
enableTestMode(video);
video.oncanplaythrough = t.step_func(function() {
video.oncanplaythrough = null;
var panel = mediaControlsButton(video, "panel");
// Move mouse to the play button and start playing the video.
clickAtCoordinates(...elementCoordinates(enabledPlayButton(video)));
assert_equals(getComputedStyle(panel).opacity, "1",
"Inline controls should initially show since controls " +
"attribute is present");
// Move mouse away so it no longer hovers over controls/video.
eventSender.mouseMoveTo(0, 0);
video.blur();
runAfterHideMediaControlsTimerFired(t.step_func(function() {
assert_equals(getComputedStyle(panel).opacity, "0",
"Inline controls should be hidden by timer");
// Enter fullscreen (without moving the mouse over the controls).
runWithKeyDown(function() { video.webkitRequestFullscreen(); });
}), video);
video.onwebkitfullscreenchange = t.step_func(function() {
video.onwebkitfullscreenchange = null;
assert_equals(document.webkitFullscreenElement, video,
"Should have entered fullscreen");
waitForHoverEffectUpdate(t.step_func(function() {
assert_equals(getComputedStyle(panel).opacity, "0",
"Fullscreen controls should not show after entering " +
"fullscreen since mouse is not hovering over controls");
}));
setTimeout(t.step_func(function() {
// Exit fullscreen (without moving the mouse over the controls).
document.webkitExitFullscreen();
}), 0);
video.onwebkitfullscreenchange = t.step_func(function() {
assert_equals(document.webkitFullscreenElement, null,
"Should have exited fullscreen");
waitForHoverEffectUpdate(t.step_func(function() {
assert_equals(getComputedStyle(panel).opacity, "0",
"Inline controls should not show after exiting " +
"fullscreen since mouse is not hovering over controls");
}));
t.done();
});
});
});
video.src = "../content/test-25fps.ogv";
});
</script>