Chromium Code Reviews| Index: LayoutTests/media/video-controls-fullscreen.js |
| diff --git a/LayoutTests/media/video-controls-fullscreen.js b/LayoutTests/media/video-controls-fullscreen.js |
| index 1b71df2acb5184b0b1e86200784b01baa3f76048..8190b0c30afd584ba7a3dd79a4b264fbdabab14c 100644 |
| --- a/LayoutTests/media/video-controls-fullscreen.js |
| +++ b/LayoutTests/media/video-controls-fullscreen.js |
| @@ -1,5 +1,11 @@ |
| "use strict"; |
| +function hasFullscreenButton(element) |
| +{ |
| + var size = mediaControlsButtonDimensions(element, "fullscreen-button"); |
| + return size[0] > 0 && size[1] > 0; |
| +} |
| + |
| function fullscreen_test(controller) |
| { |
| async_test(function(t) |
| @@ -16,8 +22,10 @@ function fullscreen_test(controller) |
| // load event fires when both video elements are ready |
| window.addEventListener("load", t.step_func(function() |
| { |
| - // no fullscreen button for a video element with no video track |
| - assert_button_hidden(v2); |
| + // the fullscreen button is shown only for the video element with a |
| + // video track |
| + assert_true(hasFullscreenButton(v1)); |
| + assert_false(hasFullscreenButton(v2)); |
| // click the fullscreen button |
| var coords = mediaControlsButtonCoordinates(v1, "fullscreen-button"); |
| @@ -27,14 +35,27 @@ function fullscreen_test(controller) |
| // wait for the fullscreenchange event |
| })); |
| - v1.addEventListener("webkitfullscreenchange", t.step_func(function() |
| - { |
| - t.done(); |
| - })); |
| + v1.addEventListener("webkitfullscreenchange", t.step_func_done()); |
| + v2.addEventListener("webkitfullscreenchange", t.unreached_func()); |
| + }); |
| +} |
| - v2.addEventListener("webkitfullscreenchange", t.step_func(function() |
| +function fullscreen_iframe_test() |
| +{ |
| + async_test(function(t) |
| + { |
| + var iframe = document.querySelector("iframe"); |
| + var doc = iframe.contentDocument; |
| + var v = doc.createElement("video"); |
| + v.controls = true; |
| + v.src = findMediaFile("video", "content/test"); |
| + doc.body.appendChild(v); |
| + |
| + v.addEventListener("loadeddata", t.step_func_done(function() |
| { |
| - assert_unreached(); |
| + // the fullscreen button is shown only if the iframe has the |
| + // allowfullscreen attribute |
|
falken
2015/07/22 23:14:56
Would this comment be better as the third argument
philipj_slow
2015/07/23 07:02:55
Sure, I can do that.
|
| + assert_equals(hasFullscreenButton(v), iframe.allowFullscreen); |
| })); |
| }); |
| } |
| @@ -48,18 +69,11 @@ function fullscreen_not_supported_test() |
| v.src = findMediaFile("video", "content/test"); |
| document.body.appendChild(v); |
| - // load event fires when video elements is ready |
| - window.addEventListener("load", t.step_func(function() |
| + v.addEventListener("loadeddata", t.step_func_done(function() |
|
falken
2015/07/22 23:14:56
why does load become loadeddata?
philipj_slow
2015/07/23 07:02:55
The load event on window doesn't work in the ifram
|
| { |
| // no fullscreen button for a video element when fullscreen is not |
| // supported |
| - assert_button_hidden(v); |
| - t.done(); |
| + assert_false(hasFullscreenButton(v)); |
|
falken
2015/07/22 23:14:56
ditto
|
| })); |
| }); |
| } |
| - |
| -function assert_button_hidden(elm) |
| -{ |
| - assert_array_equals(mediaControlsButtonDimensions(elm, "fullscreen-button"), [0, 0]); |
| -} |