| <!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> |