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

Side by Side Diff: LayoutTests/media/activation-behavior.html

Issue 216233003: Make media element sources unique to investigate flaky test (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 9 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
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 <!doctype html> 1 <!doctype html>
2 <title>activation behavior</title> 2 <title>activation behavior</title>
3 <script src="../resources/testharness.js"></script> 3 <script src="../resources/testharness.js"></script>
4 <script src="../resources/testharnessreport.js"></script> 4 <script src="../resources/testharnessreport.js"></script>
5 <script src="media-file.js"></script> 5 <script src="media-file.js"></script>
6 <div id="log"></div> 6 <div id="log"></div>
7 <script> 7 <script>
8 function activation_behavior_test(tagName, src) 8 function activation_behavior_test(tagName, src)
9 { 9 {
10 // FIXME: hack used to investigate http://crbug.com/355489
11 function uniqueSrc()
12 {
13 return src + '?' + Math.random();
acolwell GONE FROM CHROMIUM 2014/03/29 00:37:46 nit: Would a global var make this unique, but more
philipj_slow 2014/03/29 06:27:15 Yeah, a simple counter should do the trick, the on
14 }
15
10 async_test(function(t) 16 async_test(function(t)
11 { 17 {
12 var e = document.createElement(tagName); 18 var e = document.createElement(tagName);
13 e.controls = true; 19 e.controls = true;
14 e.src = src; 20 e.src = uniqueSrc();
15 e.preload = 'auto'; 21 e.preload = 'auto';
16 e.oncanplay = t.step_func(function() 22 e.oncanplay = t.step_func(function()
17 { 23 {
18 assert_greater_than(e.readyState, e.HAVE_CURRENT_DATA, 'element read yState'); 24 assert_greater_than(e.readyState, e.HAVE_CURRENT_DATA, 'element read yState');
19 e.controller = new MediaController(); 25 e.controller = new MediaController();
20 assert_false(e.controller.paused, 'controller paused state before cl ick'); 26 assert_false(e.controller.paused, 'controller paused state before cl ick');
21 assert_true(e.paused, 'element paused state before click'); 27 assert_true(e.paused, 'element paused state before click');
22 e.click(); 28 e.click();
23 assert_false(e.controller.paused, 'controller paused state after cli ck'); 29 assert_false(e.controller.paused, 'controller paused state after cli ck');
24 assert_false(e.paused, 'element paused state after click'); 30 assert_false(e.paused, 'element paused state after click');
25 t.done(); 31 t.done();
26 }); 32 });
27 }, tagName + ' activation behavior for restrained media controller'); 33 }, tagName + ' activation behavior for restrained media controller');
28 34
29 async_test(function(t) 35 async_test(function(t)
30 { 36 {
31 var e = document.createElement(tagName); 37 var e = document.createElement(tagName);
32 e.controls = true; 38 e.controls = true;
33 e.src = src; 39 e.src = uniqueSrc();
34 e.preload = 'auto'; 40 e.preload = 'auto';
35 e.oncanplay = t.step_func(function() 41 e.oncanplay = t.step_func(function()
36 { 42 {
37 e.pause(); // clears autoplaying flag 43 e.pause(); // clears autoplaying flag
38 assert_greater_than(e.readyState, e.HAVE_CURRENT_DATA, 'element read yState'); 44 assert_greater_than(e.readyState, e.HAVE_CURRENT_DATA, 'element read yState');
39 e.controller = new MediaController(); 45 e.controller = new MediaController();
40 assert_false(e.controller.paused, 'controller paused state before cl ick'); 46 assert_false(e.controller.paused, 'controller paused state before cl ick');
41 assert_true(e.paused, 'element paused state before click'); 47 assert_true(e.paused, 'element paused state before click');
42 e.click(); 48 e.click();
43 assert_false(e.controller.paused, 'controller paused state after cli ck'); 49 assert_false(e.controller.paused, 'controller paused state after cli ck');
44 assert_false(e.paused, 'element paused state after click'); 50 assert_false(e.paused, 'element paused state after click');
45 t.done(); 51 t.done();
46 }); 52 });
47 }, tagName + ' activation behavior for restrained media controller (with non -autoplaying paused slave)'); 53 }, tagName + ' activation behavior for restrained media controller (with non -autoplaying paused slave)');
48 54
49 async_test(function(t) 55 async_test(function(t)
50 { 56 {
51 var e1 = document.createElement(tagName); 57 var e1 = document.createElement(tagName);
52 var e2 = document.createElement(tagName); 58 var e2 = document.createElement(tagName);
53 e1.controls = true; 59 e1.controls = true;
54 e1.src = e2.src = src; 60 e1.src = uniqueSrc();
61 e2.src = uniqueSrc();
55 e1.preload = e2.preload = 'auto'; 62 e1.preload = e2.preload = 'auto';
56 var canplaycount = 0; 63 var canplaycount = 0;
57 e1.oncanplay = e2.oncanplay = t.step_func(function() 64 e1.oncanplay = e2.oncanplay = t.step_func(function()
58 { 65 {
59 if (++canplaycount != 2) { 66 if (++canplaycount != 2) {
60 return; 67 return;
61 } 68 }
62 e1.play(); 69 e1.play();
63 assert_greater_than(e1.readyState, e1.HAVE_CURRENT_DATA, 'element 1 readyState'); 70 assert_greater_than(e1.readyState, e1.HAVE_CURRENT_DATA, 'element 1 readyState');
64 assert_greater_than(e2.readyState, e2.HAVE_CURRENT_DATA, 'element 2 readyState'); 71 assert_greater_than(e2.readyState, e2.HAVE_CURRENT_DATA, 'element 2 readyState');
(...skipping 20 matching lines...) Expand all
85 assert_true(e.paused, 'element paused state before click'); 92 assert_true(e.paused, 'element paused state before click');
86 e.click(); 93 e.click();
87 assert_false(e.controller.paused, 'controller paused state after click') ; 94 assert_false(e.controller.paused, 'controller paused state after click') ;
88 assert_true(e.paused, 'element paused state after click'); 95 assert_true(e.paused, 'element paused state after click');
89 }, tagName + ' activation behavior for paused media controller'); 96 }, tagName + ' activation behavior for paused media controller');
90 97
91 async_test(function(t) 98 async_test(function(t)
92 { 99 {
93 var e = document.createElement(tagName); 100 var e = document.createElement(tagName);
94 e.controls = true; 101 e.controls = true;
95 e.src = src; 102 e.src = uniqueSrc();
96 e.preload = 'auto'; 103 e.preload = 'auto';
97 e.oncanplay = t.step_func(function() 104 e.oncanplay = t.step_func(function()
98 { 105 {
99 assert_greater_than(e.readyState, e.HAVE_CURRENT_DATA, 'element read yState'); 106 assert_greater_than(e.readyState, e.HAVE_CURRENT_DATA, 'element read yState');
100 e.controller = new MediaController(); 107 e.controller = new MediaController();
101 e.controller.pause(); 108 e.controller.pause();
102 assert_true(e.controller.paused, 'controller paused state before cli ck'); 109 assert_true(e.controller.paused, 'controller paused state before cli ck');
103 assert_true(e.paused, 'element paused state before click'); 110 assert_true(e.paused, 'element paused state before click');
104 e.click(); 111 e.click();
105 assert_false(e.controller.paused, 'controller paused state after cli ck'); 112 assert_false(e.controller.paused, 'controller paused state after cli ck');
(...skipping 12 matching lines...) Expand all
118 assert_false(e.paused, 'element paused state before click'); 125 assert_false(e.paused, 'element paused state before click');
119 e.click(); 126 e.click();
120 assert_true(e.controller.paused, 'controller paused state after click'); 127 assert_true(e.controller.paused, 'controller paused state after click');
121 assert_false(e.paused, 'element paused state after click'); 128 assert_false(e.paused, 'element paused state after click');
122 }, tagName + ' activation behavior for playing media controller'); 129 }, tagName + ' activation behavior for playing media controller');
123 130
124 async_test(function(t) 131 async_test(function(t)
125 { 132 {
126 var e = document.createElement(tagName); 133 var e = document.createElement(tagName);
127 e.controls = true; 134 e.controls = true;
128 e.src = src; 135 e.src = uniqueSrc();
129 e.preload = 'auto'; 136 e.preload = 'auto';
130 e.oncanplay = t.step_func(function() 137 e.oncanplay = t.step_func(function()
131 { 138 {
132 e.play(); 139 e.play();
133 assert_greater_than(e.readyState, e.HAVE_CURRENT_DATA, 'element read yState'); 140 assert_greater_than(e.readyState, e.HAVE_CURRENT_DATA, 'element read yState');
134 e.controller = new MediaController(); 141 e.controller = new MediaController();
135 assert_false(e.controller.paused, 'controller paused state before cl ick'); 142 assert_false(e.controller.paused, 'controller paused state before cl ick');
136 assert_false(e.paused, 'element paused state before click'); 143 assert_false(e.paused, 'element paused state before click');
137 e.click(); 144 e.click();
138 assert_true(e.controller.paused, 'controller paused state after clic k'); 145 assert_true(e.controller.paused, 'controller paused state after clic k');
139 assert_false(e.paused, 'element paused state after click'); 146 assert_false(e.paused, 'element paused state after click');
140 t.done(); 147 t.done();
141 }); 148 });
142 }, tagName + ' activation behavior for playing media controller (with non-bl ocked playing slave)'); 149 }, tagName + ' activation behavior for playing media controller (with non-bl ocked playing slave)');
143 150
144 async_test(function(t) 151 async_test(function(t)
145 { 152 {
146 var e1 = document.createElement(tagName); 153 var e1 = document.createElement(tagName);
147 var e2 = document.createElement(tagName); 154 var e2 = document.createElement(tagName);
148 e1.controls = true; 155 e1.controls = true;
149 e1.src = src; 156 e1.src = uniqueSrc();
150 e1.preload = 'auto'; 157 e1.preload = 'auto';
151 e1.oncanplay = t.step_func(function() 158 e1.oncanplay = t.step_func(function()
152 { 159 {
153 assert_greater_than(e1.readyState, e1.HAVE_CURRENT_DATA, 'element 1 readyState'); 160 assert_greater_than(e1.readyState, e1.HAVE_CURRENT_DATA, 'element 1 readyState');
154 assert_equals(e2.readyState, e2.HAVE_NOTHING, 'element 2 readyState' ); 161 assert_equals(e2.readyState, e2.HAVE_NOTHING, 'element 2 readyState' );
155 e1.controller = new MediaController(); 162 e1.controller = new MediaController();
156 e2.controller = e1.controller; 163 e2.controller = e1.controller;
157 assert_false(e1.controller.paused, 'controller paused state before c lick'); 164 assert_false(e1.controller.paused, 'controller paused state before c lick');
158 assert_true(e1.paused, 'element 1 paused state before click'); 165 assert_true(e1.paused, 'element 1 paused state before click');
159 assert_true(e2.paused, 'element 2 paused state before click'); 166 assert_true(e2.paused, 'element 2 paused state before click');
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
199 var e = document.createElement(tagName); 206 var e = document.createElement(tagName);
200 assert_true(e.paused, 'paused state before click()'); 207 assert_true(e.paused, 'paused state before click()');
201 e.click(); 208 e.click();
202 assert_true(e.paused, 'paused state after click()'); 209 assert_true(e.paused, 'paused state after click()');
203 }, tagName + ' activation behavior without controls'); 210 }, tagName + ' activation behavior without controls');
204 } 211 }
205 212
206 activation_behavior_test('audio', findMediaFile('audio', 'content/test')); 213 activation_behavior_test('audio', findMediaFile('audio', 'content/test'));
207 activation_behavior_test('video', findMediaFile('video', 'content/test')); 214 activation_behavior_test('video', findMediaFile('video', 'content/test'));
208 </script> 215 </script>
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698