mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-08 12:37:37 +00:00
f9752f535c
We need to rely on the audio channel service for all products now, so supporting running without it seems pointless at this point.
82 lines
1.7 KiB
HTML
82 lines
1.7 KiB
HTML
<!DOCTYPE HTML>
|
|
<html>
|
|
<head>
|
|
<title>Test for audio controller in windows</title>
|
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
</head>
|
|
<body>
|
|
<pre id="test">
|
|
</pre>
|
|
<iframe></iframe>
|
|
|
|
<script type="application/javascript">
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
var expectedNotification = null;
|
|
var iframe = null;
|
|
|
|
var observer = {
|
|
observe: function(subject, topic, data) {
|
|
is(topic, "audio-playback", "audio-playback received");
|
|
is(data, expectedNotification, "This is the right notification");
|
|
SimpleTest.executeSoon(runTest);
|
|
}
|
|
};
|
|
|
|
var observerService = SpecialPowers.Cc["@mozilla.org/observer-service;1"]
|
|
.getService(SpecialPowers.Ci.nsIObserverService);
|
|
|
|
var tests = [
|
|
function() {
|
|
iframe = document.querySelector("iframe");
|
|
observerService.addObserver(observer, "audio-playback", false);
|
|
ok(true, "Observer set");
|
|
runTest();
|
|
},
|
|
|
|
function() {
|
|
iframe.src = "file_webaudioLoop.html";
|
|
expectedNotification = 'active';
|
|
},
|
|
|
|
function() {
|
|
expectedNotification = 'inactive';
|
|
iframe.contentWindow.suspendAC();
|
|
},
|
|
|
|
function() {
|
|
expectedNotification = 'active';
|
|
iframe.contentWindow.resumeAC();
|
|
},
|
|
|
|
function() {
|
|
expectedNotification = 'inactive';
|
|
iframe.contentWindow.closeAC();
|
|
},
|
|
|
|
function() {
|
|
observerService.removeObserver(observer, "audio-playback");
|
|
ok(true, "Observer removed");
|
|
runTest();
|
|
}
|
|
];
|
|
|
|
function runTest() {
|
|
if (!tests.length) {
|
|
SimpleTest.finish();
|
|
return;
|
|
}
|
|
|
|
var test = tests.shift();
|
|
test();
|
|
}
|
|
|
|
onload = runTest;
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|
|
|