blob: 30887f72188ff58396d3a319c6537a9bb0aea566 [file] [log] [blame]
<!DOCTYPE html>
<html>
<title>Test that a div can't preventDefault on touches to prevent the overlay play button from working.</title>
<script src="../../resources/gesture-util.js"></script>
<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>
<div id="outer">
</div>
<script>
async_test(t => {
// This test is only valid when the overlay play button is enabled.
enableOverlayPlayButtonForTest(t);
const outerDiv = document.getElementById('outer');
const video = document.createElement('video');
video.controls = true;
video.width = 500;
video.preload = 'none';
video.src = '../content/60_sec_video.webm';
outerDiv.appendChild(video);
let tap_gesture;
video.addEventListener('loadedmetadata', t.step_func(() => {
const coordinates = elementCoordinates(mediaControlsOverlayPlayButton(video));
tap_gesture = touchTapOn(coordinates[0], coordinates[1]);
}), { once: true });
video.addEventListener('play', () => {
tap_gesture.then(t.done.bind(t));
}, { once: true });
['click', 'touchstart', 'touchmove', 'touchend'].forEach(name => {
outerDiv.addEventListener(name, evt => {
evt.preventDefault();
evt.stopPropagation();
});
});
video.load();
});
</script>
</html>