Chromium Code Reviews| Index: LayoutTests/media/activation-behavior.html |
| diff --git a/LayoutTests/media/activation-behavior.html b/LayoutTests/media/activation-behavior.html |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..cef7256d7e98ca86e1182c0f5c3607b270c4adb2 |
| --- /dev/null |
| +++ b/LayoutTests/media/activation-behavior.html |
| @@ -0,0 +1,95 @@ |
| +<!doctype html> |
| +<title>activation behavior</title> |
| +<script src="../resources/testharness.js"></script> |
| +<script src="../resources/testharnessreport.js"></script> |
| +<script src="media-file.js"></script> |
| +<div id="log"></div> |
| +<script> |
| +function activation_behavior_test(tagName, src) |
| +{ |
| + async_test(function(t) |
| + { |
| + var e = document.createElement(tagName); |
| + e.controls = true; |
| + e.src = src; |
| + e.preload = 'auto'; |
| + e.oncanplay = t.step_func(function() |
| + { |
| + assert_greater_than(e.readyState, e.HAVE_CURRENT_DATA, 'element readyState'); |
| + e.controller = new MediaController(); |
| + assert_false(e.controller.paused, 'controller paused state before click'); |
| + assert_true(e.paused, 'element paused state before click'); |
| + e.click(); |
| + assert_false(e.controller.paused, 'controller paused state after click'); |
| + assert_false(e.paused, 'element paused state after click'); |
| + t.done(); |
| + }); |
| + }, tagName + ' activation behavior for restrained media controller'); |
| + |
| + test(function() |
| + { |
| + var e = document.createElement(tagName); |
| + e.controls = true; |
| + e.controller = new MediaController(); |
| + e.controller.pause(); |
| + assert_true(e.controller.paused, 'controller paused state before click'); |
| + assert_true(e.paused, 'element paused state before click'); |
| + e.click(); |
| + assert_false(e.controller.paused, 'controller paused state after click'); |
| + assert_true(e.paused, 'element paused state after click'); |
| + }, tagName + ' activation behavior for paused media controller'); |
| + |
| + test(function() |
| + { |
| + var e = document.createElement(tagName); |
| + e.controls = true; |
| + e.controller = new MediaController(); |
| + e.controller.play(); |
| + assert_false(e.controller.paused, 'controller paused state before click'); |
| + assert_false(e.paused, 'element paused state before click'); |
| + e.click(); |
| + assert_true(e.controller.paused, 'controller paused state after click'); |
| + assert_false(e.paused, 'element paused state after click'); |
|
acolwell GONE FROM CHROMIUM
2014/03/21 23:30:12
This is really weird. I'm surprised that calling p
philipj_slow
2014/03/23 03:42:49
MediaController is non-trivial, I was surprised as
|
| + }, tagName + ' activation behavior for playing media controller'); |
| + |
| + test(function() |
| + { |
| + var e = document.createElement(tagName); |
| + e.controls = true; |
| + assert_true(e.paused, 'paused state before click()'); |
| + e.click(); |
| + assert_false(e.paused, 'paused state after click()'); |
| + }, tagName + ' activation behavior for paused media element'); |
| + |
| + test(function() |
| + { |
| + var e = document.createElement(tagName); |
| + e.controls = true; |
| + e.play(); |
| + assert_false(e.paused, 'paused state before click()'); |
| + e.click(); |
| + assert_true(e.paused, 'paused state after click()'); |
| + }, tagName + ' activation behavior for playing media element'); |
| + |
| + test(function() |
| + { |
| + var e = document.createElement(tagName); |
| + e.controls = true; |
| + e.onclick = function(ev) { ev.preventDefault(); }; |
| + assert_true(e.paused, 'paused state before click()'); |
| + e.click(); |
| + assert_true(e.paused, 'paused state after click()'); |
| + }, tagName + ' activation behavior for canceled event'); |
| + |
| + test(function() |
| + { |
| + var e = document.createElement(tagName); |
| + assert_true(e.paused, 'paused state before click()'); |
| + e.click(); |
| + assert_true(e.paused, 'paused state after click()'); |
| + }, tagName + ' activation behavior without controls'); |
| +} |
| + |
| +activation_behavior_test('audio', findMediaFile('audio', 'content/test')); |
| +activation_behavior_test('video', findMediaFile('video', 'content/test')); |
| +</script> |