mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
32a369b80d
We need to rely on the audio channel service for all products now, so supporting running without it seems pointless at this point.
108 lines
3.4 KiB
HTML
108 lines
3.4 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>
|
|
<iframe src="about:blank" id="iframe"></iframe>
|
|
<script type="application/javascript">
|
|
|
|
function runTest() {
|
|
var utils = SpecialPowers.wrap(window).
|
|
QueryInterface(SpecialPowers.Ci.nsIInterfaceRequestor).
|
|
getInterface(SpecialPowers.Ci.nsIDOMWindowUtils);
|
|
ok(utils, "nsIDOMWindowUtils");
|
|
|
|
is(utils.audioMuted, false, "By default utils.audioMuted is false");
|
|
utils.audioMuted = true;
|
|
is(utils.audioMuted, true, "utils.audioMuted is true");
|
|
utils.audioMuted = false;
|
|
is(utils.audioMuted, false, "utils.audioMuted is true");
|
|
|
|
is(utils.audioVolume, 1.0, "By default utils.audioVolume is 1.0");
|
|
utils.audioVolume = 0.4;
|
|
is(utils.audioVolume.toFixed(2), "0.40", "utils.audioVolume is ok");
|
|
utils.audioMuted = true;
|
|
is(utils.audioMuted, true, "utils.audioMuted is true");
|
|
is(utils.audioVolume.toFixed(2), "0.40", "utils.audioVolume is ok");
|
|
utils.audioMuted = false;
|
|
|
|
utils.audioVolume = 2.0;
|
|
is(utils.audioVolume, 2.0, "utils.audioVolume is ok");
|
|
|
|
try {
|
|
utils.audioVolume = -42;
|
|
ok(false, "This should throw");
|
|
} catch(e) {
|
|
ok(true, "This should throw");
|
|
}
|
|
|
|
utils.audioVolume = 0;
|
|
is(utils.audioVolume, 0.0, "utils.audioVolume is ok");
|
|
utils.audioVolume = 1.0;
|
|
is(utils.audioVolume, 1.0, "utils.audioVolume is ok");
|
|
|
|
var iframe = document.getElementById("iframe");
|
|
ok(iframe, "IFrame exists");
|
|
|
|
utils = SpecialPowers.wrap(iframe.contentWindow).
|
|
QueryInterface(SpecialPowers.Ci.nsIInterfaceRequestor).
|
|
getInterface(SpecialPowers.Ci.nsIDOMWindowUtils);
|
|
ok(utils, "nsIDOMWindowUtils");
|
|
|
|
is(utils.audioMuted, false, "By default utils.audioMuted is false");
|
|
utils.audioMuted = true;
|
|
is(utils.audioMuted, true, "utils.audioMuted is true");
|
|
utils.audioMuted = false;
|
|
is(utils.audioMuted, false, "utils.audioMuted is true");
|
|
|
|
is(utils.audioVolume, 1.0, "By default utils.audioVolume is 1.0");
|
|
utils.audioVolume = 0.4;
|
|
is(utils.audioVolume.toFixed(2), "0.40", "utils.audioVolume is ok");
|
|
utils.audioMuted = true;
|
|
is(utils.audioMuted, true, "utils.audioMuted is true");
|
|
is(utils.audioVolume.toFixed(2), "0.40", "utils.audioVolume is ok");
|
|
utils.audioMuted = false;
|
|
|
|
utils.audioVolume = 2.0;
|
|
is(utils.audioVolume, 2.0, "utils.audioVolume is ok");
|
|
|
|
try {
|
|
utils.audioVolume = -42;
|
|
ok(false, "This should throw");
|
|
} catch(e) {
|
|
ok(true, "This should throw");
|
|
}
|
|
|
|
utils.audioVolume = 0;
|
|
is(utils.audioVolume, 0.0, "utils.audioVolume is ok");
|
|
utils.audioVolume = 0.6;
|
|
is(utils.audioVolume.toFixed(2), "0.60", "utils.audioVolume is ok");
|
|
utils.audioMuted = true;
|
|
|
|
// Navigate the iframe to another URL, and verify that the volume and muted
|
|
// information is preserved.
|
|
iframe.onload = function() {
|
|
utils = SpecialPowers.wrap(iframe.contentWindow).
|
|
QueryInterface(SpecialPowers.Ci.nsIInterfaceRequestor).
|
|
getInterface(SpecialPowers.Ci.nsIDOMWindowUtils);
|
|
ok(utils, "nsIDOMWindowUtils");
|
|
|
|
ok(utils.audioMuted, "Audio should still be muted");
|
|
utils.audioMuted = false;
|
|
ok(utils.audioVolume.toFixed(2), "0.60", "Volume should be preserved");
|
|
|
|
SimpleTest.finish();
|
|
};
|
|
iframe.src = "data:text/html,page";
|
|
}
|
|
|
|
onload = runTest;
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
</script>
|
|
</body>
|
|
</html>
|