Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(263)

Side by Side Diff: LayoutTests/media/video-controls-fullscreen.js

Issue 1240573005: Make video.webkitSupportsFullscreen an alias of document.fullscreenEnabled (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: hide fullscreen button in <video controls> Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 "use strict"; 1 "use strict";
2 2
3 function hasFullscreenButton(element)
4 {
5 var size = mediaControlsButtonDimensions(element, "fullscreen-button");
6 return size[0] > 0 && size[1] > 0;
7 }
8
3 function fullscreen_test(controller) 9 function fullscreen_test(controller)
4 { 10 {
5 async_test(function(t) 11 async_test(function(t)
6 { 12 {
7 var v1 = document.createElement("video"); 13 var v1 = document.createElement("video");
8 var v2 = document.createElement("video"); 14 var v2 = document.createElement("video");
9 v1.controls = v2.controls = true; 15 v1.controls = v2.controls = true;
10 v1.controller = v2.controller = controller; 16 v1.controller = v2.controller = controller;
11 v1.src = findMediaFile("video", "content/test"); 17 v1.src = findMediaFile("video", "content/test");
12 v2.src = findMediaFile("audio", "content/test"); 18 v2.src = findMediaFile("audio", "content/test");
13 document.body.appendChild(v1); 19 document.body.appendChild(v1);
14 document.body.appendChild(v2); 20 document.body.appendChild(v2);
15 21
16 // load event fires when both video elements are ready 22 // load event fires when both video elements are ready
17 window.addEventListener("load", t.step_func(function() 23 window.addEventListener("load", t.step_func(function()
18 { 24 {
19 // no fullscreen button for a video element with no video track 25 // the fullscreen button is shown only for the video element with a
20 assert_button_hidden(v2); 26 // video track
27 assert_true(hasFullscreenButton(v1));
28 assert_false(hasFullscreenButton(v2));
21 29
22 // click the fullscreen button 30 // click the fullscreen button
23 var coords = mediaControlsButtonCoordinates(v1, "fullscreen-button") ; 31 var coords = mediaControlsButtonCoordinates(v1, "fullscreen-button") ;
24 eventSender.mouseMoveTo(coords[0], coords[1]); 32 eventSender.mouseMoveTo(coords[0], coords[1]);
25 eventSender.mouseDown(); 33 eventSender.mouseDown();
26 eventSender.mouseUp(); 34 eventSender.mouseUp();
27 // wait for the fullscreenchange event 35 // wait for the fullscreenchange event
28 })); 36 }));
29 37
30 v1.addEventListener("webkitfullscreenchange", t.step_func(function() 38 v1.addEventListener("webkitfullscreenchange", t.step_func_done());
39 v2.addEventListener("webkitfullscreenchange", t.unreached_func());
40 });
41 }
42
43 function fullscreen_iframe_test()
44 {
45 async_test(function(t)
46 {
47 var iframe = document.querySelector("iframe");
48 var doc = iframe.contentDocument;
49 var v = doc.createElement("video");
50 v.controls = true;
51 v.src = findMediaFile("video", "content/test");
52 doc.body.appendChild(v);
53
54 v.addEventListener("loadeddata", t.step_func_done(function()
31 { 55 {
32 t.done(); 56 // the fullscreen button is shown only if the iframe has the
33 })); 57 // 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.
34 58 assert_equals(hasFullscreenButton(v), iframe.allowFullscreen);
35 v2.addEventListener("webkitfullscreenchange", t.step_func(function()
36 {
37 assert_unreached();
38 })); 59 }));
39 }); 60 });
40 } 61 }
41 62
42 function fullscreen_not_supported_test() 63 function fullscreen_not_supported_test()
43 { 64 {
44 async_test(function(t) 65 async_test(function(t)
45 { 66 {
46 var v = document.createElement("video"); 67 var v = document.createElement("video");
47 v.controls = true; 68 v.controls = true;
48 v.src = findMediaFile("video", "content/test"); 69 v.src = findMediaFile("video", "content/test");
49 document.body.appendChild(v); 70 document.body.appendChild(v);
50 71
51 // load event fires when video elements is ready 72 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
52 window.addEventListener("load", t.step_func(function()
53 { 73 {
54 // no fullscreen button for a video element when fullscreen is not 74 // no fullscreen button for a video element when fullscreen is not
55 // supported 75 // supported
56 assert_button_hidden(v); 76 assert_false(hasFullscreenButton(v));
falken 2015/07/22 23:14:56 ditto
57 t.done();
58 })); 77 }));
59 }); 78 });
60 } 79 }
61
62 function assert_button_hidden(elm)
63 {
64 assert_array_equals(mediaControlsButtonDimensions(elm, "fullscreen-button"), [0, 0]);
65 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698