Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / LayoutTests / media / video-controls-fullscreen.js
1 "use strict";
2
3 function fullscreen_test(controller)
4 {
5     async_test(function(t)
6     {
7         var v1 = document.createElement("video");
8         var v2 = document.createElement("video");
9         v1.controls = v2.controls = true;
10         v1.controller = v2.controller = controller;
11         v1.src = findMediaFile("video", "content/test");
12         v2.src = findMediaFile("audio", "content/test");
13         document.body.appendChild(v1);
14         document.body.appendChild(v2);
15
16         // load event fires when both video elements are ready
17         window.addEventListener("load", t.step_func(function()
18         {
19             // no fullscreen button for a video element with no video track
20             assert_button_hidden(v2);
21
22             // click the fullscreen button
23             var coords = mediaControlsButtonCoordinates(v1, "fullscreen-button");
24             eventSender.mouseMoveTo(coords[0], coords[1]);
25             eventSender.mouseDown();
26             eventSender.mouseUp();
27             // wait for the fullscreenchange event
28         }));
29
30         v1.addEventListener("webkitfullscreenchange", t.step_func(function()
31         {
32             t.done();
33         }));
34
35         v2.addEventListener("webkitfullscreenchange", t.step_func(function()
36         {
37             assert_unreached();
38         }));
39     });
40 }
41
42 function fullscreen_not_supported_test()
43 {
44     async_test(function(t)
45     {
46         var v = document.createElement("video");
47         v.controls = true;
48         v.src = findMediaFile("video", "content/test");
49         document.body.appendChild(v);
50
51         // load event fires when video elements is ready
52         window.addEventListener("load", t.step_func(function()
53         {
54             // no fullscreen button for a video element when fullscreen is not
55             // supported
56             assert_button_hidden(v);
57             t.done();
58         }));
59     });
60 }
61
62 function assert_button_hidden(elm)
63 {
64     assert_array_equals(mediaControlsButtonDimensions(elm, "fullscreen-button"), [0, 0]);
65 }