blob: 7ffd38bb1a509bc24525f3998f1df35fb2d45b70 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script src="../video-test.js"></script>
<script src="../media-file.js"></script>
<script type="text/javascript">
var session;
function runTest()
{
if (window.testRunner) {
testRunner.dumpAsText();
testRunner.waitUntilDone();
}
window.jsTestIsAsync = true;
session = new MediaSession("content");
consoleWrite("Waiting for Content media to begin playing.")
var video = document.getElementById("video");
waitForEvent('canplaythrough', beginPlaying);
video.src = findMediaFile("video", "../content/counting");
video.session = session;
video.volume = 1;
video.onplaying = beganPlaying;
}
function beginPlaying(event)
{
document.getElementById("video").play();
}
function beganPlaying(event)
{
consoleWrite("Media began playing.");
if (window.internals) {
testExpected('internals.mediaSessionCurrentState(session)', "active");
testExpected('internals.mediaElementPlayerVolume(document.getElementById("video"))', 1);
consoleWrite("Sending 'Transient' start-of-interruption notification.");
run('internals.sendMediaSessionStartOfInterruptionNotification("transient")');
testExpected('internals.mediaSessionCurrentState(session)', "interrupted");
testExpected('internals.mediaElementPlayerVolume(document.getElementById("video"))', 0.25);
consoleWrite("Sending 'Transient' end-of-interruption notification.");
run('internals.sendMediaSessionEndOfInterruptionNotification("transient")');
testExpected('internals.mediaSessionCurrentState(session)', "active");
testExpected('internals.mediaElementPlayerVolume(document.getElementById("video"))', 1);
}
endTest();
}
</script>
</head>
<body onload="runTest()">
<p>'Transient' interruption events should duck audio for 'Content' media sessions.</p>
<video id="video" />
</body>
</html>