1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- /* -*- 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);
- };
|