51 lines
1.3 KiB
HTML
51 lines
1.3 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<body>
|
|
<script src="../resources/js-test-pre.js"></script>
|
|
<script>
|
|
description("Tests that silent WebAudio rendering gets interrupted in hidden pages.");
|
|
jsTestIsAsync = true;
|
|
|
|
document.onvisibilitychange = function() {
|
|
if (document.hidden) {
|
|
shouldBecomeEqual("context.state", "'interrupted'", showPage);
|
|
} else {
|
|
shouldBecomeEqual("context.state", "'running'", finishJSTest);
|
|
}
|
|
}
|
|
|
|
function showPage()
|
|
{
|
|
debug("* Setting page visibility to visible");
|
|
if (window.testRunner)
|
|
testRunner.setPageVisibility("visible");
|
|
}
|
|
|
|
function hidePage()
|
|
{
|
|
debug("* Setting page visibility to hidden");
|
|
if (window.testRunner)
|
|
testRunner.setPageVisibility("hidden");
|
|
}
|
|
|
|
onload = function() {
|
|
context = new AudioContext();
|
|
|
|
audioElement = document.createElement("audio");
|
|
audioElement.loop = true;
|
|
audioElement.muted = true;
|
|
audioElement.src = "../media/content/test.wav";
|
|
source = context.createMediaElementSource(audioElement);
|
|
|
|
var gainNode = context.createGain();
|
|
source.connect(gainNode);
|
|
gainNode.connect(context.destination);
|
|
gainNode.gain.value = 0; // Mute.
|
|
|
|
shouldBecomeEqual("context.state", "'running'", hidePage);
|
|
}
|
|
</script>
|
|
<script src="../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|