Chromium Code Reviews| Index: third_party/WebKit/LayoutTests/media/controls-cast-button.html |
| diff --git a/third_party/WebKit/LayoutTests/media/controls-cast-button.html b/third_party/WebKit/LayoutTests/media/controls-cast-button.html |
| index 2a47930e8cb0689a28c2d32b64017611f99e8541..c3ae5aa485248f2b876f6cbff492bf3f19a231b2 100644 |
| --- a/third_party/WebKit/LayoutTests/media/controls-cast-button.html |
| +++ b/third_party/WebKit/LayoutTests/media/controls-cast-button.html |
| @@ -1,87 +1,82 @@ |
| <!doctype html> |
| -<html> |
| - <head> |
| - <title>media controls cast button</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> |
| - <!-- 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> |
| - </head> |
| - <body> |
| - <video controls width=500></video> |
| - <script> |
| - function castButton(element) |
| - { |
| - var controlID = "-internal-media-controls-cast-button"; |
| - var button = mediaControlsElement(window.internals.shadowRoot(element).firstChild, controlID); |
| - if (!button) |
| - throw "Failed to find cast button"; |
| - return button; |
| - } |
| - function overlayCastButton(element) |
| - { |
| - var controlID = "-internal-media-controls-overlay-cast-button"; |
| - var button = mediaControlsElement(window.internals.shadowRoot(element).firstChild, controlID); |
| - if (!button) |
| - throw "Failed to find cast button"; |
| - return button; |
| - } |
| - function castButtonDimensions(element) |
| - { |
| - var button = castButton(element); |
| - var buttonBoundingRect = button.getBoundingClientRect(); |
| - return new Array(buttonBoundingRect.width, buttonBoundingRect.height); |
| - } |
| - function castButtonCoordinates(element, id) |
| - { |
| - var button = castButton(element); |
| - var buttonBoundingRect = button.getBoundingClientRect(); |
| - var x = buttonBoundingRect.left + buttonBoundingRect.width / 2; |
| - var y = buttonBoundingRect.top + buttonBoundingRect.height / 2; |
| - return new Array(x, y); |
| - } |
| - async_test(function(t) |
| - { |
| - findMediaElement(); |
| - video.src = findMediaFile("video", "content/test"); |
| - mediaElement.addEventListener("loadedmetadata", function() |
| - { |
| - // Should not have a cast button by default |
| - button = castButton(video); |
| - assert_equals(button.style.display, "none", "button should not be visible with no cast devices"); |
| +<title>media controls cast button</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 width="500"></video> |
| +<script> |
| +async_test(function(t) |
| +{ |
|
fs
2016/05/27 14:30:06
Should we go with
async_test(function(t) {
style
Srirama
2016/05/27 16:49:56
Done.
|
| + var video = document.querySelector("video"); |
| + video.src = findMediaFile("video", "content/test"); |
| - // Pretend we have a cast device |
| - internals.mediaPlayerRemoteRouteAvailabilityChanged(video, true); |
| + video.onloadedmetadata = t.step_func_done(function() |
| + { |
| + // Should not have a cast button by default |
| + var button = castButton(video); |
| + assert_equals(button.style.display, "none", "button should not be visible with no cast devices"); |
| - // Now should have cast button |
| - assert_false(("display" in button.style) && (button.style.display == "none"), "button should exist"); |
| - dimensions = castButtonDimensions(video); |
| - assert_not_equals(dimensions[0], 0, "button should exist"); |
| - assert_not_equals(dimensions[1], 0, "button should exist"); |
| + // Pretend we have a cast device |
| + internals.mediaPlayerRemoteRouteAvailabilityChanged(video, true); |
| - // Check its position is to the right of the timeline |
| - // (can't test against volume control or closed caption button, since these don't always exist) |
| - position = castButtonCoordinates(video); |
| - timelinePosition = mediaControlsButtonCoordinates(video, "timeline"); |
| - assert_greater_than(position[0], timelinePosition[0], "button should be to right of timeline"); |
| + // Now should have cast button |
| + assert_false(("display" in button.style) && (button.style.display == "none"), "button should exist"); |
| + var dimensions = castButtonDimensions(video); |
| + assert_not_equals(dimensions[0], 0, "button should exist"); |
| + assert_not_equals(dimensions[1], 0, "button should exist"); |
| - // Check that we don't have an overlay cast button |
| - overlayButton = overlayCastButton(video); |
| - assert_equals(overlayButton.style.display, "none", "Overlay button should not be visible with controls"); |
| + // Check its position is to the right of the timeline |
| + // (can't test against volume control or closed caption button, since these don't always exist) |
| + var position = castButtonCoordinates(video); |
| + var timelinePosition = mediaControlsButtonCoordinates(video, "timeline"); |
| + assert_greater_than(position[0], timelinePosition[0], "button should be to right of timeline"); |
| - // And to the left of the fullscreen button |
| - fullscreenPosition = mediaControlsButtonCoordinates(video, "fullscreen-button"); |
| - assert_less_than(position[0], fullscreenPosition[0], "button should be to left of fullscreen button"); |
| + // Check that we don't have an overlay cast button |
| + var overlayButton = overlayCastButton(video); |
| + assert_equals(overlayButton.style.display, "none", "Overlay button should not be visible with controls"); |
| - // Remove cast device - cast button should go away |
| - internals.mediaPlayerRemoteRouteAvailabilityChanged(video, false); |
| - assert_equals(button.style.display, "none", "button should not be visible after cast device goes away"); |
| - t.done(); |
| - }); |
| - }); |
| - </script> |
| - </body> |
| -</html> |
| + // And to the left of the fullscreen button |
| + var fullscreenPosition = mediaControlsButtonCoordinates(video, "fullscreen-button"); |
| + assert_less_than(position[0], fullscreenPosition[0], "button should be to left of fullscreen button"); |
| + |
| + // Remove cast device - cast button should go away |
| + internals.mediaPlayerRemoteRouteAvailabilityChanged(video, false); |
| + assert_equals(button.style.display, "none", "button should not be visible after cast device goes away"); |
| + }); |
| + |
| + function castButton(element) |
| + { |
| + var controlID = "-internal-media-controls-cast-button"; |
| + var button = mediaControlsElement(window.internals.shadowRoot(element).firstChild, controlID); |
| + if (!button) |
| + throw "Failed to find cast button"; |
| + return button; |
| + } |
| + |
| + function overlayCastButton(element) |
| + { |
| + var controlID = "-internal-media-controls-overlay-cast-button"; |
| + var button = mediaControlsElement(window.internals.shadowRoot(element).firstChild, controlID); |
| + if (!button) |
| + throw "Failed to find cast button"; |
| + return button; |
| + } |
| + |
| + function castButtonDimensions(element) |
|
fs
2016/05/27 14:30:06
These two functions (this one and the one below) s
Srirama
2016/05/27 16:49:57
Done.
|
| + { |
| + var button = castButton(element); |
| + var buttonBoundingRect = button.getBoundingClientRect(); |
| + return new Array(buttonBoundingRect.width, buttonBoundingRect.height); |
| + } |
| + |
| + function castButtonCoordinates(element, id) |
| + { |
| + var button = castButton(element); |
| + var buttonBoundingRect = button.getBoundingClientRect(); |
| + var x = buttonBoundingRect.left + buttonBoundingRect.width / 2; |
| + var y = buttonBoundingRect.top + buttonBoundingRect.height / 2; |
| + return new Array(x, y); |
| + } |
| +}); |
| +</script> |