diff options
Diffstat (limited to 'embedding/nsIWindowCreator2.idl')
-rw-r--r-- | embedding/nsIWindowCreator2.idl | 70 |
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); +}; |