Blame dom/base/test/test_pluginAudioNotification.html

Packit f0b94e
Packit f0b94e
<html>
Packit f0b94e
<head>
Packit f0b94e
  <title>Test for audio controller in windows</title>
Packit f0b94e
  <script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
Packit f0b94e
  <script type="application/javascript" src="plugin.js"></script>
Packit f0b94e
  <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
Packit f0b94e
</head>
Packit f0b94e
<body>
Packit f0b94e
Packit f0b94e
Packit f0b94e
<iframe></iframe>
Packit f0b94e
Packit f0b94e
<script type="application/javascript">
Packit f0b94e
Packit f0b94e
SimpleTest.waitForExplicitFinish();
Packit f0b94e
Packit f0b94e
var expectedNotification = null;
Packit f0b94e
var iframe = null;
Packit f0b94e
Packit f0b94e
var observer = {
Packit f0b94e
  observe: function(subject, topic, data) {
Packit f0b94e
    is(topic, "audio-playback", "audio-playback received");
Packit f0b94e
    is(data, expectedNotification, "This is the right notification");
Packit f0b94e
    SimpleTest.executeSoon(runTest);
Packit f0b94e
  }
Packit f0b94e
};
Packit f0b94e
Packit f0b94e
var observerService = SpecialPowers.Cc["@mozilla.org/observer-service;1"]
Packit f0b94e
                                   .getService(SpecialPowers.Ci.nsIObserverService);
Packit f0b94e
Packit f0b94e
var tests = [
Packit f0b94e
  function() {
Packit f0b94e
    iframe = document.querySelector("iframe");
Packit f0b94e
    observerService.addObserver(observer, "audio-playback");
Packit f0b94e
    ok(true, "Observer set");
Packit f0b94e
    runTest();
Packit f0b94e
  },
Packit f0b94e
Packit f0b94e
  function() {
Packit f0b94e
    expectedNotification = 'active';
Packit f0b94e
    iframe.src = "file_pluginAudio.html";
Packit f0b94e
  },
Packit f0b94e
Packit f0b94e
  function() {
Packit f0b94e
    info("=== Mute plugin ===");
Packit f0b94e
    ok(!iframe.contentWindow.pluginMuted(), "Plugin should not be muted");
Packit f0b94e
    iframe.contentWindow.toggleMuteState(true);
Packit f0b94e
    ok(iframe.contentWindow.pluginMuted(), "Plugin should be muted");
Packit f0b94e
    expectedNotification = 'inactive-nonaudible';
Packit f0b94e
  },
Packit f0b94e
Packit f0b94e
  function() {
Packit f0b94e
    info("=== unmute plugin ==");
Packit f0b94e
    ok(iframe.contentWindow.pluginMuted(), "Plugin should be muted");
Packit f0b94e
    iframe.contentWindow.toggleMuteState(false);
Packit f0b94e
    ok(!iframe.contentWindow.pluginMuted(), "Plugin should not be muted");
Packit f0b94e
    expectedNotification = 'active';
Packit f0b94e
  },
Packit f0b94e
Packit f0b94e
  function() {
Packit f0b94e
    info("=== stop audio ==");
Packit f0b94e
    expectedNotification = 'inactive-pause';
Packit f0b94e
    iframe.contentWindow.stopAudio();
Packit f0b94e
  },
Packit f0b94e
Packit f0b94e
  function() {
Packit f0b94e
    observerService.removeObserver(observer, "audio-playback");
Packit f0b94e
    ok(true, "Observer removed");
Packit f0b94e
    runTest();
Packit f0b94e
  }
Packit f0b94e
];
Packit f0b94e
Packit f0b94e
function runTest() {
Packit f0b94e
  if (!tests.length) {
Packit f0b94e
    SimpleTest.finish();
Packit f0b94e
    return;
Packit f0b94e
  }
Packit f0b94e
Packit f0b94e
  var test = tests.shift();
Packit f0b94e
  test();
Packit f0b94e
}
Packit f0b94e
Packit f0b94e
onload = runTest;
Packit f0b94e
Packit f0b94e
</script>
Packit f0b94e
</body>
Packit f0b94e
</html>
Packit f0b94e