| <!DOCTYPE html> |
| <title>Test rendering of volume slider of video tag.</title> |
| <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 panel; |
| var muteButtonCoordinates; |
| var video = document.querySelector("video"); |
| |
| video.onplay = t.step_func(function() { |
| panel = mediaControlsButton(video, "panel"); |
| muteButtonCoordinates = mediaControlsButtonCoordinates(video, "mute-button"); |
| |
| // Move mouse somewhere over the panel. |
| eventSender.mouseMoveTo(muteButtonCoordinates[0], muteButtonCoordinates[1]); |
| |
| // Test that controls are shown when controls attribute is present. |
| assert_not_equals(panel.style["display"], "none"); |
| |
| // Move mouse outside the video. |
| eventSender.mouseMoveTo(video.offsetLeft, video.offsetTop + 2 * video.offsetHeight); |
| setTimeout(continueTest, controlsFadeOutDurationMs); |
| }); |
| |
| function continueTest() { |
| if (panel.style["display"] != "none") { |
| setTimeout(continueTest, controlsFadeOutDurationMs); |
| return; |
| } |
| |
| // Remove controls attribute. |
| video.removeAttribute("controls"); |
| |
| // Move mouse back over the panel. |
| eventSender.mouseMoveTo(muteButtonCoordinates[0], muteButtonCoordinates[1]); |
| |
| // Video controls should not be shown. |
| assert_equals(panel.style["display"], "none"); |
| t.done(); |
| } |
| |
| video.src = "content/test.ogv"; |
| video.play(); |
| }); |
| </script> |