webapprt/test/chrome/browser_getUserMedia.js

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 Cu.import("resource://gre/modules/Services.jsm");
     3 function test() {
     4   waitForExplicitFinish();
     6   Services.prefs.setBoolPref("media.navigator.permission.fake", true);
     8   let getUserMediaDialogOpened = false;
    10   let winObserver = function(win, topic) {
    11     if (topic == "domwindowopened") {
    12       win.addEventListener("load", function onLoadWindow() {
    13         win.removeEventListener("load", onLoadWindow, false);
    15         if (win.document.documentURI == "chrome://webapprt/content/getUserMediaDialog.xul") {
    16           getUserMediaDialogOpened = true;
    17           win.close();
    18         }
    19       }, false);
    20     }
    21   }
    23   Services.ww.registerNotification(winObserver);
    25   let mutObserver = null;
    27   loadWebapp("getUserMedia.webapp", undefined, function onLoad() {
    28     let msg = gAppBrowser.contentDocument.getElementById("msg");
    29     mutObserver = new MutationObserver(function(mutations) {
    30       is(msg.textContent, "PERMISSION_DENIED", "getUserMedia permission denied.");
    31       ok(getUserMediaDialogOpened, "Prompt shown.");
    32       finish();
    33     });
    34     mutObserver.observe(msg, { childList: true });
    35   });
    37   registerCleanupFunction(function() {
    38     Services.ww.unregisterNotification(winObserver);
    39     mutObserver.disconnect();
    40     Services.prefs.clearUserPref("media.navigator.permission.fake");
    41   });
    42 }

mercurial