blob: ff120f87a5020ff1e8c9cd7c11df7953041e6487 [file]
<!DOCTYPE html>
<html>
<head>
<title>Test page showing a video with media session actions</title>
</head>
<body>
<video id="video" controls>
<source src="video.webm">
</video>
<script>
const video = document.getElementById('video');
// Called by the test to start media playback.
function play() {
video.play();
}
// Helper function used by tests to wait for playback state transitions.
// Returns `true` immediately if the video is already in the expected state.
// Otherwise, returns a Promise that resolves when the corresponding event is fired.
function waitForEvent(eventName) {
if (eventName === 'pause' && video.paused) {
return true;
}
if (eventName === 'play' && !video.paused) {
return true;
}
return new Promise(resolve => {
video.addEventListener(eventName, () => resolve(true), {once: true});
});
}
// Helper function used by tests to wait for seek transitions.
// Returns `true` immediately if the video has already seeked to `targetTime`.
// Otherwise, returns a Promise that resolves when the next native 'seeked' event fires.
function waitForSeek(targetTime) {
if (Math.abs(video.currentTime - targetTime) < 0.1) {
return true;
}
return new Promise(resolve => {
video.addEventListener('seeked', () => resolve(true), {once: true});
});
}
</script>
</body>
</html>