|
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- |
|
2 * |
|
3 * This Source Code Form is subject to the terms of the Mozilla Public |
|
4 * License, v. 2.0. If a copy of the MPL was not distributed with this |
|
5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
|
6 |
|
7 /** |
|
8 * nsIWindowCreator2 is an extension of nsIWindowCreator which allows |
|
9 * additional information about the context of the window creation to |
|
10 * be passed. |
|
11 * |
|
12 * @see nsIWindowCreator |
|
13 * @see nsIWindowWatcher |
|
14 * |
|
15 * @status |
|
16 */ |
|
17 |
|
18 #include "nsIWindowCreator.idl" |
|
19 |
|
20 interface nsIURI; |
|
21 interface nsIWebBrowserChrome; |
|
22 |
|
23 [scriptable, uuid(f673ec81-a4b0-11d6-964b-eb5a2bf216fc)] |
|
24 |
|
25 interface nsIWindowCreator2 : nsIWindowCreator { |
|
26 |
|
27 /** |
|
28 * Definitions for contextFlags |
|
29 */ |
|
30 |
|
31 // Likely that the window is an advertising popup. |
|
32 const unsigned long PARENT_IS_LOADING_OR_RUNNING_TIMEOUT = 0x00000001; |
|
33 |
|
34 /** Create a new window. Gecko will/may call this method, if made |
|
35 available to it, to create new windows. |
|
36 @param parent Parent window, if any. Null if not. The newly created |
|
37 window should be made a child/dependent window of |
|
38 the parent, if any (and if the concept applies |
|
39 to the underlying OS). |
|
40 @param chromeFlags Chrome features from nsIWebBrowserChrome |
|
41 @param contextFlags Flags about the context of the window being created. |
|
42 @param uri The URL for which this window is intended. It can be null |
|
43 or zero-length. The implementation of this interface |
|
44 may use the URL to help determine what sort of window |
|
45 to open or whether to cancel window creation. It will not |
|
46 load the URL. |
|
47 @param cancel Return |true| to reject window creation. If true the |
|
48 implementation has determined the window should not |
|
49 be created at all. The caller should not default |
|
50 to any possible backup scheme for creating the window. |
|
51 @return the new window. Will be null if canceled or an error occurred. |
|
52 */ |
|
53 nsIWebBrowserChrome createChromeWindow2(in nsIWebBrowserChrome parent, |
|
54 in uint32_t chromeFlags, |
|
55 in uint32_t contextFlags, |
|
56 in nsIURI uri, |
|
57 out boolean cancel); |
|
58 }; |