| 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..1b78051e03dae8c577283e3185680deacae5bf13 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);
|
| + assert_true(hasFullscreenButton(v1),
|
| + "fullscreen button shown when there is a video track");
|
| + assert_false(hasFullscreenButton(v2),
|
| + "fullscreen button not shown when there is no video track");
|
|
|
| // click the fullscreen button
|
| var coords = mediaControlsButtonCoordinates(v1, "fullscreen-button");
|
| @@ -27,14 +35,26 @@ 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();
|
| + assert_equals(hasFullscreenButton(v), iframe.allowFullscreen,
|
| + "fullscreen button shown if and only if fullscreen is allowed");
|
| }));
|
| });
|
| }
|
| @@ -48,18 +68,10 @@ 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()
|
| {
|
| - // no fullscreen button for a video element when fullscreen is not
|
| - // supported
|
| - assert_button_hidden(v);
|
| - t.done();
|
| + assert_false(hasFullscreenButton(v),
|
| + "fullscreen button not show when fullscreen is not supported");
|
| }));
|
| });
|
| }
|
| -
|
| -function assert_button_hidden(elm)
|
| -{
|
| - assert_array_equals(mediaControlsButtonDimensions(elm, "fullscreen-button"), [0, 0]);
|
| -}
|
|
|