Index: third_party/WebKit/LayoutTests/media/controls/video-overlay-play-button.html |
diff --git a/third_party/WebKit/LayoutTests/media/controls/video-overlay-play-button.html b/third_party/WebKit/LayoutTests/media/controls/video-overlay-play-button.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..9534c57a56499c7b791eb17ca5608ce731a38f71 |
--- /dev/null |
+++ b/third_party/WebKit/LayoutTests/media/controls/video-overlay-play-button.html |
@@ -0,0 +1,54 @@ |
+<!DOCTYPE html> |
+<title>Test that the overlay play button respects the controls attribute.</title> |
+<script src='../../resources/testharness.js'></script> |
+<script src='../../resources/testharnessreport.js'></script> |
+<script src='../media-file.js'></script> |
+<script src='../media-controls.js'></script> |
+<body> |
+<script> |
+async_test(function(t) { |
+ var mediaControlsOverlayPlayButtonValue = |
+ internals.runtimeFlags.mediaControlsOverlayPlayButtonEnabled; |
+ internals.runtimeFlags.mediaControlsOverlayPlayButtonEnabled = true; |
+ |
+ t.add_cleanup(() => { |
+ internals.runtimeFlags.mediaControlsOverlayPlayButtonEnabled = |
+ mediaControlsOverlayPlayButtonValue; |
+ }); |
+ |
+ // Add video dynamically, since otherwise the controls are created, but |
+ // hidden, before the setting is set, causing the setting to be ignored. |
+ var video = document.createElement('video'); |
+ document.body.appendChild(video); |
+ |
+ video.controls = true; |
+ var button = mediaControlsButton(video, 'overlay-play-button') |
+ assert_equals(getComputedStyle(button).display, 'flex'); |
+ |
+ var watcher = new EventWatcher(t, video, ['loadeddata', 'play', 'pause']); |
+ watcher.wait_for('loadeddata').then(t.step_func(function() { |
+ video.play(); |
+ return watcher.wait_for('play'); |
+ })).then(t.step_func(function() { |
+ assert_equals(getComputedStyle(button).display, 'none'); |
+ video.pause(); |
+ return watcher.wait_for('pause'); |
+ })).then(t.step_func(function() { |
+ assert_equals(getComputedStyle(button).display, 'flex'); |
+ video.controls = false; |
+ assert_equals(getComputedStyle(button).display, 'none'); |
+ video.play(); |
+ return watcher.wait_for('play'); |
+ })).then(t.step_func(function() { |
+ assert_equals(getComputedStyle(button).display, 'none'); |
+ video.pause(); |
+ return watcher.wait_for('pause'); |
+ })).then(t.step_func_done(function() { |
+ assert_equals(getComputedStyle(button).display, 'none'); |
+ video.controls = true; |
+ assert_equals(getComputedStyle(button).display, 'flex'); |
+ })); |
+ |
+ video.src = findMediaFile('video', '../content/test'); |
+}); |
+</script> |