toolkit/components/startup/tests/browser/head.js

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/toolkit/components/startup/tests/browser/head.js	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,28 @@
     1.4 +/* Any copyright is dedicated to the Public Domain.
     1.5 + * http://creativecommons.org/publicdomain/zero/1.0/ */
     1.6 +
     1.7 +"use strict";
     1.8 +
     1.9 +const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
    1.10 +
    1.11 +function whenBrowserLoaded(browser, callback) {
    1.12 +  browser.addEventListener("load", function onLoad(event) {
    1.13 +    if (event.target == browser.contentDocument) {
    1.14 +      browser.removeEventListener("load", onLoad, true);
    1.15 +      executeSoon(callback);
    1.16 +    }
    1.17 +  }, true);
    1.18 +}
    1.19 +
    1.20 +function waitForOnBeforeUnloadDialog(browser, callback) {
    1.21 +  browser.addEventListener("DOMWillOpenModalDialog", function onModalDialog() {
    1.22 +    browser.removeEventListener("DOMWillOpenModalDialog", onModalDialog, true);
    1.23 +
    1.24 +    executeSoon(() => {
    1.25 +      let stack = browser.parentNode;
    1.26 +      let dialogs = stack.getElementsByTagNameNS(XUL_NS, "tabmodalprompt");
    1.27 +      let {button0, button1} = dialogs[0].ui;
    1.28 +      callback(button0, button1);
    1.29 +    });
    1.30 +  }, true);
    1.31 +}

mercurial