webapprt/test/chrome/browser_getUserMedia.js

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     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