summaryrefslogtreecommitdiffstats
path: root/dom/interfaces/base/nsIDOMChromeWindow.idl
diff options
context:
space:
mode:
Diffstat (limited to 'dom/interfaces/base/nsIDOMChromeWindow.idl')
-rw-r--r--dom/interfaces/base/nsIDOMChromeWindow.idl81
1 files changed, 81 insertions, 0 deletions
diff --git a/dom/interfaces/base/nsIDOMChromeWindow.idl b/dom/interfaces/base/nsIDOMChromeWindow.idl
new file mode 100644
index 000000000..600aa46eb
--- /dev/null
+++ b/dom/interfaces/base/nsIDOMChromeWindow.idl
@@ -0,0 +1,81 @@
+/* -*- Mode: IDL; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
+/* 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/. */
+
+#include "domstubs.idl"
+
+interface nsIBrowserDOMWindow;
+interface nsIDOMElement;
+interface nsIDOMEvent;
+interface nsIMessageBroadcaster;
+interface mozIDOMWindowProxy;
+
+[scriptable, uuid(78bdcb41-1efa-409f-aaba-70842213f80f)]
+interface nsIDOMChromeWindow : nsISupports
+{
+ const unsigned short STATE_MAXIMIZED = 1;
+ const unsigned short STATE_MINIMIZED = 2;
+ const unsigned short STATE_NORMAL = 3;
+ const unsigned short STATE_FULLSCREEN = 4;
+
+ readonly attribute unsigned short windowState;
+
+ /**
+ * browserDOMWindow provides access to yet another layer of
+ * utility functions implemented by chrome script. It will be null
+ * for DOMWindows not corresponding to browsers.
+ */
+ attribute nsIBrowserDOMWindow browserDOMWindow;
+
+ void getAttention();
+
+ void getAttentionWithCycleCount(in long aCycleCount);
+
+ void setCursor(in DOMString cursor);
+
+ void maximize();
+ void minimize();
+ void restore();
+
+ /**
+ * Notify a default button is loaded on a dialog or a wizard.
+ * defaultButton is the default button.
+ */
+ void notifyDefaultButtonLoaded(in nsIDOMElement defaultButton);
+
+ readonly attribute nsIMessageBroadcaster messageManager;
+
+ /**
+ * Returns the message manager identified by the given group name that
+ * manages all frame loaders belonging to that group.
+ */
+ nsIMessageBroadcaster getGroupMessageManager(in AString group);
+
+ /**
+ * On some operating systems, we must allow the window manager to
+ * handle window dragging. This function tells the window manager to
+ * start dragging the window. This function will fail unless called
+ * while the left mouse button is held down, callers must check this.
+ *
+ * The optional panel argument should be set when moving a panel.
+ *
+ * Returns NS_ERROR_NOT_IMPLEMENTED (and thus throws in JS) if the OS
+ * doesn't support this.
+ */
+ void beginWindowMove(in nsIDOMEvent mouseDownEvent, [optional] in nsIDOMElement panel);
+
+ /**
+ * These methods provide a way to specify the opener value for the content in
+ * the window before the content itself is created. This is important in order
+ * to set the DocGroup of a document, as the opener must be set before the
+ * document is created.
+ *
+ * SetOpenerForInitialContentBrowser is used to set which opener will be used,
+ * and TakeOpenerForInitialContentBrowser is used by nsXULElement in order to
+ * take the value set earlier, and null out the value in the
+ * nsIDOMChromeWindow.
+ */
+ void setOpenerForInitialContentBrowser(in mozIDOMWindowProxy aOpener);
+ mozIDOMWindowProxy takeOpenerForInitialContentBrowser();
+};