summaryrefslogtreecommitdiffstats
path: root/browser/modules/RemotePrompt.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'browser/modules/RemotePrompt.jsm')
-rw-r--r--browser/modules/RemotePrompt.jsm110
1 files changed, 0 insertions, 110 deletions
diff --git a/browser/modules/RemotePrompt.jsm b/browser/modules/RemotePrompt.jsm
deleted file mode 100644
index da4945c2e..000000000
--- a/browser/modules/RemotePrompt.jsm
+++ /dev/null
@@ -1,110 +0,0 @@
-/* vim: set ts=2 sw=2 et tw=80: */
-/* 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";
-
-var Cc = Components.classes;
-var Ci = Components.interfaces;
-var Cu = Components.utils;
-
-this.EXPORTED_SYMBOLS = [ "RemotePrompt" ];
-
-Cu.import("resource:///modules/PlacesUIUtils.jsm");
-Cu.import("resource://gre/modules/PrivateBrowsingUtils.jsm");
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/SharedPromptUtils.jsm");
-
-var RemotePrompt = {
- init: function() {
- let mm = Cc["@mozilla.org/globalmessagemanager;1"].getService(Ci.nsIMessageListenerManager);
- mm.addMessageListener("Prompt:Open", this);
- },
-
- receiveMessage: function(message) {
- switch (message.name) {
- case "Prompt:Open":
- if (message.data.uri) {
- this.openModalWindow(message.data, message.target);
- } else {
- this.openTabPrompt(message.data, message.target)
- }
- break;
- }
- },
-
- openTabPrompt: function(args, browser) {
- let window = browser.ownerGlobal;
- let tabPrompt = window.gBrowser.getTabModalPromptBox(browser)
- let newPrompt;
- let needRemove = false;
- let promptId = args._remoteId;
-
- function onPromptClose(forceCleanup) {
- // It's possible that we removed the prompt during the
- // appendPrompt call below. In that case, newPrompt will be
- // undefined. We set the needRemove flag to remember to remove
- // it right after we've finished adding it.
- if (newPrompt)
- tabPrompt.removePrompt(newPrompt);
- else
- needRemove = true;
-
- PromptUtils.fireDialogEvent(window, "DOMModalDialogClosed", browser);
- browser.messageManager.sendAsyncMessage("Prompt:Close", args);
- }
-
- browser.messageManager.addMessageListener("Prompt:ForceClose", function listener(message) {
- // If this was for another prompt in the same tab, ignore it.
- if (message.data._remoteId !== promptId) {
- return;
- }
-
- browser.messageManager.removeMessageListener("Prompt:ForceClose", listener);
-
- if (newPrompt) {
- newPrompt.abortPrompt();
- }
- });
-
- try {
- let eventDetail = {
- tabPrompt: true,
- promptPrincipal: args.promptPrincipal,
- inPermitUnload: args.inPermitUnload,
- };
- PromptUtils.fireDialogEvent(window, "DOMWillOpenModalDialog", browser, eventDetail);
-
- args.promptActive = true;
-
- newPrompt = tabPrompt.appendPrompt(args, onPromptClose);
-
- if (needRemove) {
- tabPrompt.removePrompt(newPrompt);
- }
-
- // TODO since we don't actually open a window, need to check if
- // there's other stuff in nsWindowWatcher::OpenWindowInternal
- // that we might need to do here as well.
- } catch (ex) {
- onPromptClose(true);
- }
- },
-
- openModalWindow: function(args, browser) {
- let window = browser.ownerGlobal;
- try {
- PromptUtils.fireDialogEvent(window, "DOMWillOpenModalDialog", browser);
- let bag = PromptUtils.objectToPropBag(args);
-
- Services.ww.openWindow(window, args.uri, "_blank",
- "centerscreen,chrome,modal,titlebar", bag);
-
- PromptUtils.propBagToObject(bag, args);
- } finally {
- PromptUtils.fireDialogEvent(window, "DOMModalDialogClosed", browser);
- browser.messageManager.sendAsyncMessage("Prompt:Close", args);
- }
- }
-};