summaryrefslogtreecommitdiff
path: root/embedding/nsIWindowCreator2.idl
diff options
context:
space:
mode:
Diffstat (limited to 'embedding/nsIWindowCreator2.idl')
-rw-r--r--embedding/nsIWindowCreator2.idl70
1 files changed, 70 insertions, 0 deletions
diff --git a/embedding/nsIWindowCreator2.idl b/embedding/nsIWindowCreator2.idl
new file mode 100644
index 0000000000..c07a794a0a
--- /dev/null
+++ b/embedding/nsIWindowCreator2.idl
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; 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/. */
+
+/**
+ * nsIWindowCreator2 is an extension of nsIWindowCreator which allows
+ * additional information about the context of the window creation to
+ * be passed.
+ *
+ * @see nsIWindowCreator
+ * @see nsIWindowWatcher
+ *
+ * @status
+ */
+
+#include "nsIWindowCreator.idl"
+
+interface nsITabParent;
+interface nsIURI;
+interface nsIWebBrowserChrome;
+interface mozIDOMWindowProxy;
+
+[scriptable, uuid(b6c44689-f97e-4f32-a723-29eeddfbdc53)]
+
+interface nsIWindowCreator2 : nsIWindowCreator {
+
+ /**
+ * Definitions for contextFlags
+ */
+
+ // Likely that the window is an advertising popup.
+ const unsigned long PARENT_IS_LOADING_OR_RUNNING_TIMEOUT = 0x00000001;
+
+ /** Create a new window. Gecko will/may call this method, if made
+ available to it, to create new windows.
+ @param parent Parent window, if any. Null if not. The newly created
+ window should be made a child/dependent window of
+ the parent, if any (and if the concept applies
+ to the underlying OS).
+ @param chromeFlags Chrome features from nsIWebBrowserChrome
+ @param contextFlags Flags about the context of the window being created.
+ @param aOpeningTab The TabParent that is trying to open this new chrome
+ window. Can be nullptr.
+ @param aOpener The window which is trying to open this new chrome window.
+ Can be nullptr
+ @param cancel Return |true| to reject window creation. If true the
+ implementation has determined the window should not
+ be created at all. The caller should not default
+ to any possible backup scheme for creating the window.
+ @return the new window. Will be null if canceled or an error occurred.
+ */
+ nsIWebBrowserChrome createChromeWindow2(in nsIWebBrowserChrome parent,
+ in uint32_t chromeFlags,
+ in uint32_t contextFlags,
+ in nsITabParent aOpeningTab,
+ in mozIDOMWindowProxy aOpener,
+ out boolean cancel);
+
+ /**
+ * B2G multi-screen support. When open another top-level window on b2g,
+ * a screen ID is needed for identifying which screen this window is
+ * opened to.
+ * @param aScreenId Differentiate screens of windows. It is platform-
+ * specific due to the hardware limitation for now.
+ */
+ [noscript]
+ void setScreenId(in uint32_t aScreenId);
+};