blob: 47f238312c5fb49d46ed53aef3af108e5ed5956f [file] [log] [blame]
<!DOCTYPE html>
<html>
<title>Test that the panel doesn't stay transparent when the controls are hidden.</title>
<script src="../../resources/testharness.js"></script>
<script src="../../resources/testharnessreport.js"></script>
<script src="../media-controls.js"></script>
<!-- video with native controls hidden -->
<video width=500 preload=none src="../content/60_sec_video.webm"></video>
<script>
async_test(t => {
const video = document.querySelector('video');
const panel = panelElement(video);
enableTestMode(video);
video.addEventListener('canplaythrough', t.step_func(() => {
assert_false(isPanelTransparent(), 'panel should start opaque');
video.play();
}), { once: true });
video.addEventListener('playing', t.step_func(() => {
runAfterHideMediaControlsTimerFired(t.step_func(() => {
assert_true(isPanelTransparent(), 'panel should be transparent after hide timer fires');
video.pause();
}), video);
}), { once: true });
video.addEventListener('pause', t.step_func_done(() => {
assert_false(isPanelTransparent(), 'panel should now be opaque again');
}), { once: true });
function isPanelTransparent() {
return panel.classList.contains('transparent');
}
video.load();
});
</script>
</html>