summaryrefslogtreecommitdiffstats
path: root/browser/components/uitour/test/browser_no_tabs.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/components/uitour/test/browser_no_tabs.js')
-rw-r--r--browser/components/uitour/test/browser_no_tabs.js102
1 files changed, 0 insertions, 102 deletions
diff --git a/browser/components/uitour/test/browser_no_tabs.js b/browser/components/uitour/test/browser_no_tabs.js
deleted file mode 100644
index 62048b156..000000000
--- a/browser/components/uitour/test/browser_no_tabs.js
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Any copyright is dedicated to the Public Domain.
- * http://creativecommons.org/publicdomain/zero/1.0/ */
-
-"use strict";
-
-var HiddenFrame = Cu.import("resource:///modules/HiddenFrame.jsm", {}).HiddenFrame;
-
-const HTML_NS = "http://www.w3.org/1999/xhtml";
-const XUL_NS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
-
-/**
- * Create a frame in the |hiddenDOMWindow| to host a |browser|, then load the URL in the
- * latter.
- *
- * @param aURL
- * The URL to open in the browser.
- **/
-function createHiddenBrowser(aURL) {
- let frame = new HiddenFrame();
- return new Promise(resolve =>
- frame.get().then(aFrame => {
- let doc = aFrame.document;
- let browser = doc.createElementNS(XUL_NS, "browser");
- browser.setAttribute("type", "content");
- browser.setAttribute("disableglobalhistory", "true");
- browser.setAttribute("src", aURL);
-
- doc.documentElement.appendChild(browser);
- resolve({frame: frame, browser: browser});
- }));
-}
-
-/**
- * Remove the browser and the HiddenFrame.
- *
- * @param aFrame
- * The HiddenFrame to dismiss.
- * @param aBrowser
- * The browser to dismiss.
- */
-function destroyHiddenBrowser(aFrame, aBrowser) {
- // Dispose of the hidden browser.
- aBrowser.remove();
-
- // Take care of the frame holding our invisible browser.
- aFrame.destroy();
-}
-
-/**
- * Test that UITour works when called when no tabs are available (e.g., when using windowless
- * browsers).
- */
-add_task(function* test_windowless_UITour() {
- // Get the URL for the test page.
- let pageURL = getRootDirectory(gTestPath) + "uitour.html";
-
- // Allow the URL to use the UITour.
- info("Adding UITour permission to the test page.");
- let pageURI = Services.io.newURI(pageURL, null, null);
- Services.perms.add(pageURI, "uitour", Services.perms.ALLOW_ACTION);
-
- // UITour's ping will resolve this promise.
- let deferredPing = Promise.defer();
-
- // Create a windowless browser and test that UITour works in it.
- let browserPromise = createHiddenBrowser(pageURL);
- browserPromise.then(frameInfo => {
- isnot(frameInfo.browser, null, "The browser must exist and not be null.");
-
- // Load UITour frame script.
- frameInfo.browser.messageManager.loadFrameScript(
- "chrome://browser/content/content-UITour.js", false);
-
- // When the page loads, try to use UITour API.
- frameInfo.browser.addEventListener("load", function loadListener() {
- info("The test page was correctly loaded.");
-
- frameInfo.browser.removeEventListener("load", loadListener, true);
-
- // Get a reference to the UITour API.
- info("Testing access to the UITour API.");
- let contentWindow = Cu.waiveXrays(frameInfo.browser.contentDocument.defaultView);
- isnot(contentWindow, null, "The content window must exist and not be null.");
-
- let uitourAPI = contentWindow.Mozilla.UITour;
-
- // Test the UITour API with a ping.
- uitourAPI.ping(function() {
- info("Ping response received from the UITour API.");
-
- // Make sure to clean up.
- destroyHiddenBrowser(frameInfo.frame, frameInfo.browser);
-
- // Resolve our promise.
- deferredPing.resolve();
- });
- }, true);
- });
-
- // Wait for the UITour ping to complete.
- yield deferredPing.promise;
-});