blob: 96e1e2ec9c2441656f98525586e41c9457074c35 [file] [log] [blame]
<!DOCTYPE html>
<title>Hide the overlay play button on play, show it on tap</title>
<script src="../../../resources/testharness.js"></script>
<script src="../../../resources/testharnessreport.js"></script>
<script src="../../media-controls.js"></script>
<script src="../overlay-play-button.js"></script>
<body>
<script>
async_test((t) => {
// This test is only valid when the overlay play button is enabled.
enableOverlayPlayButtonForTest(t);
const video = document.createElement('video');
video.width = 400;
video.controls = true;
video.preload = 'metadata'
document.body.appendChild(video);
const button = mediaControlsOverlayPlayButtonInternal(video);
const controls = mediaControls(video);
const overlay = mediaControlsOverlayPlayButton(video);
let call_count = 0;
// Make sure the overlay button is not hidden.
assert_false(overlay.classList.contains('hidden'));
overlay.addEventListener('transitionend', t.step_func(() => {
call_count++;
if (call_count == 1) {
// Now tap anywhere on the controls and make sure the button
// unhides itself.
assert_true(overlay.classList.contains('hidden'));
singleTapOnControl(controls);
} else if(call_count == 2) {
// The second time a transition ends, it must be the controls becoming
// visible.
assert_false(overlay.classList.contains('hidden'));
t.done();
} else {
assert_unreached("Unexpected transitionend event");
}
}));
// Wait until we have loaded the video and tap on the button. This will
// transition the button to visible.
video.addEventListener('canplay', t.step_func(() => {
singleTapOnControl(button);
}), { once: true });
video.src = '../../content/test.webm';
});
</script>