diff --git a/devtools/client/framework/toolbox.js b/devtools/client/framework/toolbox.js index 4ec8647eb5..9b9fa66330 100644 --- a/devtools/client/framework/toolbox.js +++ b/devtools/client/framework/toolbox.js @@ -46,8 +46,6 @@ loader.lazyRequireGetter(this, "InspectorFront", "devtools/shared/fronts/inspector", true); loader.lazyRequireGetter(this, "flags", "devtools/shared/flags"); -loader.lazyRequireGetter(this, "showDoorhanger", - "devtools/client/shared/doorhanger", true); loader.lazyRequireGetter(this, "createPerformanceFront", "devtools/shared/fronts/performance", true); loader.lazyRequireGetter(this, "system", diff --git a/devtools/client/responsivedesign/responsivedesign.jsm b/devtools/client/responsivedesign/responsivedesign.jsm index 116ee3fb8e..0b41c97591 100644 --- a/devtools/client/responsivedesign/responsivedesign.jsm +++ b/devtools/client/responsivedesign/responsivedesign.jsm @@ -8,7 +8,6 @@ const Cu = Components.utils; var {loader, require} = Cu.import("resource://devtools/shared/Loader.jsm", {}); var Telemetry = require("devtools/client/shared/telemetry"); -var {showDoorhanger} = require("devtools/client/shared/doorhanger"); var {TouchEventSimulator} = require("devtools/shared/touch/simulator"); var {Task} = require("devtools/shared/task"); var promise = require("promise"); diff --git a/devtools/client/shared/doorhanger.js b/devtools/client/shared/doorhanger.js deleted file mode 100644 index 4c6d6f8cb7..0000000000 --- a/devtools/client/shared/doorhanger.js +++ /dev/null @@ -1,137 +0,0 @@ -/* This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -"use strict"; - -const { Ci, Cc } = require("chrome"); -const Services = require("Services"); -const { DOMHelpers } = require("resource://devtools/client/shared/DOMHelpers.jsm"); -const { Task } = require("devtools/shared/task"); -const defer = require("devtools/shared/defer"); -const { getMostRecentBrowserWindow } = require("sdk/window/utils"); - -const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; -const LOCALE = Cc["@mozilla.org/chrome/chrome-registry;1"] - .getService(Ci.nsIXULChromeRegistry) - .getSelectedLocale("global"); - -var TYPES = { - // We don't support any doorhanger types at the moment. - // This is vestigial from the FF dev edition promo. -}; - -var panelAttrs = { - orient: "vertical", - hidden: "false", - consumeoutsideclicks: "true", - noautofocus: "true", - align: "start", - role: "alert" -}; - -/** - * Helper to call a doorhanger, defined in `TYPES`, with defined conditions, - * success handlers and loads its own XUL in a frame. Takes an object with - * several properties: - * - * @param {XULWindow} window - * The window that should house the doorhanger. - * @param {String} type - * The type of doorhanger to be displayed is, using the `TYPES` - * definition. - * @param {String} selector - * The selector that the doorhanger should be appended to within - * `window`. Defaults to a XUL Document's `window` element. - */ -exports.showDoorhanger = Task.async(function* ({ window, type, anchor }) { - let { predicate, success, url, action } = TYPES[type]; - // Abort if predicate fails - if (!predicate()) { - return; - } - - // Call success function to set preferences/cleanup immediately, - // so if triggered multiple times, only happens once (Windows/Linux) - success(); - - // Wait 200ms to prevent flickering where the popup is displayed - // before the underlying window (Windows 7, 64bit) - yield wait(200); - - let document = window.document; - - let panel = document.createElementNS(XULNS, "panel"); - let frame = document.createElementNS(XULNS, "iframe"); - let parentEl = document.querySelector("window"); - - frame.setAttribute("src", url); - let close = () => parentEl.removeChild(panel); - - setDoorhangerStyle(panel, frame); - - panel.appendChild(frame); - parentEl.appendChild(panel); - - yield onFrameLoad(frame); - - panel.openPopup(anchor); - - let closeBtn = frame.contentDocument.querySelector("#close"); - if (closeBtn) { - closeBtn.addEventListener("click", close); - } - - let goBtn = frame.contentDocument.querySelector("#go"); - if (goBtn) { - goBtn.addEventListener("click", () => { - if (action) { - action(); - } - close(); - }); - } -}); - -function setDoorhangerStyle(panel, frame) { - Object.keys(panelAttrs).forEach(prop => { - return panel.setAttribute(prop, panelAttrs[prop]); - }); - panel.style.margin = "20px"; - panel.style.borderRadius = "5px"; - panel.style.border = "none"; - panel.style.MozAppearance = "none"; - panel.style.backgroundColor = "transparent"; - - frame.style.borderRadius = "5px"; - frame.setAttribute("flex", "1"); - frame.setAttribute("width", "450"); - frame.setAttribute("height", "179"); -} - -function onFrameLoad(frame) { - let { resolve, promise } = defer(); - - if (frame.contentWindow) { - let domHelper = new DOMHelpers(frame.contentWindow); - domHelper.onceDOMReady(resolve); - } else { - let callback = () => { - frame.removeEventListener("DOMContentLoaded", callback); - resolve(); - }; - frame.addEventListener("DOMContentLoaded", callback); - } - - return promise; -} - -function getGBrowser() { - return getMostRecentBrowserWindow().gBrowser; -} - -function wait(n) { - let { resolve, promise } = defer(); - setTimeout(resolve, n); - return promise; -} diff --git a/devtools/client/shared/moz.build b/devtools/client/shared/moz.build index 21fcb29e05..814ab75cc4 100644 --- a/devtools/client/shared/moz.build +++ b/devtools/client/shared/moz.build @@ -26,7 +26,6 @@ DevToolsModules( 'devices.js', 'devtools-file-watcher.js', 'DOMHelpers.jsm', - 'doorhanger.js', 'file-watcher-worker.js', 'file-watcher.js', 'getjson.js', diff --git a/devtools/client/webconsole/hudservice.js b/devtools/client/webconsole/hudservice.js index 9aa9e86aaf..284124137f 100644 --- a/devtools/client/webconsole/hudservice.js +++ b/devtools/client/webconsole/hudservice.js @@ -19,7 +19,6 @@ loader.lazyRequireGetter(this, "WebConsoleFrame", "devtools/client/webconsole/we loader.lazyRequireGetter(this, "gDevTools", "devtools/client/framework/devtools", true); loader.lazyRequireGetter(this, "DebuggerServer", "devtools/server/main", true); loader.lazyRequireGetter(this, "DebuggerClient", "devtools/shared/client/main", true); -loader.lazyRequireGetter(this, "showDoorhanger", "devtools/client/shared/doorhanger", true); loader.lazyRequireGetter(this, "viewSource", "devtools/client/shared/view-source"); const STRINGS_URI = "devtools/client/locales/webconsole.properties";