Index: third_party/WebKit/LayoutTests/media/video-controls-visibility-multimodal-touch-after-mouse.html |
diff --git a/third_party/WebKit/LayoutTests/media/video-controls-visibility-multimodal-touch-after-mouse.html b/third_party/WebKit/LayoutTests/media/video-controls-visibility-multimodal-touch-after-mouse.html |
index 0e601bb60ce17e6683907bbd2d4b51601b7ceeb7..c578b4eb123f1c89e39d7153c2ba637b5f0c6920 100644 |
--- a/third_party/WebKit/LayoutTests/media/video-controls-visibility-multimodal-touch-after-mouse.html |
+++ b/third_party/WebKit/LayoutTests/media/video-controls-visibility-multimodal-touch-after-mouse.html |
@@ -1,66 +1,41 @@ |
<!DOCTYPE html> |
-<html> |
-<style> |
-#no-video-media { |
- width: 320px; |
- height: 240px; |
-} |
-</style> |
-<!-- TODO(foolip): Convert test to testharness.js. crbug.com/588956 |
- (Please avoid writing new tests using video-test.js) --> |
-<script src=video-test.js></script> |
-<script src=media-file.js></script> |
-<script src=media-controls.js></script> |
+<title>Test video controls visibility with multimodal input. The controls should hide after a timeout if the last input event was a tap.</title> |
+<script src="../resources/testharness.js"></script> |
+<script src="../resources/testharnessreport.js"></script> |
+<script src="media-file.js"></script> |
+<script src="media-controls.js"></script> |
+<video controls loop></video> |
<script> |
-var controls; |
- |
-function runTest() |
-{ |
- video = document.getElementById("no-video-media"); |
- |
- testExpected("video.paused", true); |
- if (!window.testRunner) |
- return; |
- |
- if (!window.internals || !window.internals.setIsCursorVisible) { |
- debug("window.internals.setIsCursorVisible is required to run this test."); |
- return; |
- } |
- |
- // Hover the control with the mouse. |
- var coords = mediaControlsButtonCoordinates(video, "play-button"); |
- eventSender.mouseMoveTo(coords[0], coords[1]); |
- |
- // And then tap (touch input) the play button. |
- eventSender.gestureTapDown(coords[0], coords[1]); |
- eventSender.gestureShowPress(coords[0], coords[1]); |
- eventSender.gestureTap(coords[0], coords[1]); |
- testExpected("video.paused", false); |
- |
- // In the real world Chromium hides the cursor after a tap, |
- // so hide it manually here. This is required to hit the |
- // early out from EventHandler::fakeMouseMoveEventTimerFired when |
- // isCursorVisible is false. |
- internals.setIsCursorVisible(document, false); |
- |
- // And the controls should hide after a timeout. |
- runAfterHideMediaControlsTimerFired(function() |
- { |
- controls = mediaControlsButton(video, "panel"); |
- testExpected("getComputedStyle(controls).opacity", 0); |
- endTest(); |
- }, video); |
- |
-} |
-</script> |
-<body> |
- <p>Test video element control visibility with multimodal input. The controls |
- should hide after a timeout if the last input event was a tap.</p> |
- <p>This test only runs in DRT!</p> |
- |
- <video id="no-video-media" controls loop oncanplaythrough="runTest()"></video> |
- <script> |
- setSrcById("no-video-media", findMediaFile("video", "content/test")); |
- </script> |
-</body> |
-</html> |
+async_test(function(t) { |
+ var video = document.querySelector("video"); |
+ |
+ video.oncanplaythrough = t.step_func(function() { |
+ assert_true(video.paused); |
+ |
+ // Hover the control with the mouse. |
+ var coords = mediaControlsButtonCoordinates(video, "play-button"); |
+ eventSender.mouseMoveTo(coords[0], coords[1]); |
+ |
+ // And then tap (touch input) the play button. |
+ eventSender.gestureTapDown(coords[0], coords[1]); |
+ eventSender.gestureShowPress(coords[0], coords[1]); |
+ eventSender.gestureTap(coords[0], coords[1]); |
+ assert_false(video.paused); |
+ |
+ // In the real world Chromium hides the cursor after a tap, |
+ // so hide it manually here. This is required to hit the |
+ // early out from EventHandler::fakeMouseMoveEventTimerFired when |
+ // isCursorVisible is false. |
+ internals.setIsCursorVisible(document, false); |
+ |
+ // And the controls should hide after a timeout. |
+ runAfterHideMediaControlsTimerFired(t.step_func_done(function() { |
+ var controls = mediaControlsButton(video, "panel"); |
+ assert_equals(getComputedStyle(controls).opacity, "0"); |
+ }), video); |
+ |
+ }); |
+ |
+ video.src = findMediaFile("video", "content/test"); |
+}); |
+</script> |