Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(82)

Side by Side Diff: gecko-sdk/idl/nsIWindowWatcher.idl

Issue 20346: Version 1.8 of gecko-sdk. Downloaded from here:... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: Created 11 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « gecko-sdk/idl/nsIWindowCreator.idl ('k') | gecko-sdk/idl/nsIX509Cert.idl » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
2 *
3 * ***** BEGIN LICENSE BLOCK *****
4 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
5 *
6 * The contents of this file are subject to the Mozilla Public License Version
7 * 1.1 (the "License"); you may not use this file except in compliance with
8 * the License. You may obtain a copy of the License at
9 * http://www.mozilla.org/MPL/
10 *
11 * Software distributed under the License is distributed on an "AS IS" basis,
12 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
13 * for the specific language governing rights and limitations under the
14 * License.
15 *
16 * The Original Code is mozilla.org code.
17 *
18 * The Initial Developer of the Original Code is
19 * Netscape Communications, Inc.
20 * Portions created by the Initial Developer are Copyright (C) 2001
21 * the Initial Developer. All Rights Reserved.
22 *
23 * Contributor(s):
24 *
25 * Alternatively, the contents of this file may be used under the terms of
26 * either the GNU General Public License Version 2 or later (the "GPL"), or
27 * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
28 * in which case the provisions of the GPL or the LGPL are applicable instead
29 * of those above. If you wish to allow use of your version of this file only
30 * under the terms of either the GPL or the LGPL, and not to allow others to
31 * use your version of this file under the terms of the MPL, indicate your
32 * decision by deleting the provisions above and replace them with the notice
33 * and other provisions required by the GPL or the LGPL. If you do not delete
34 * the provisions above, a recipient may use your version of this file under
35 * the terms of any one of the MPL, the GPL or the LGPL.
36 *
37 * ***** END LICENSE BLOCK ***** */
38
39 /**
40 * nsIWindowWatcher is the keeper of Gecko/DOM Windows. It maintains
41 * a list of open top-level windows, and allows some operations on them.
42
43 * Usage notes:
44
45 * This component has an |activeWindow| property. Clients may expect
46 * this property to be always current, so to properly integrate this component
47 * the application will need to keep it current by setting the property
48 * as the active window changes.
49 * This component should not keep a (XPCOM) reference to any windows;
50 * the implementation will claim no ownership. Windows must notify
51 * this component when they are created or destroyed, so only a weak
52 * reference is kept. Note that there is no interface for such notifications
53 * (not a public one, anyway). This is taken care of both in Mozilla and
54 * by common embedding code. Embedding clients need do nothing special
55 * about that requirement.
56 * This component must be initialized at application startup by calling
57 * setWindowCreator.
58 *
59 * @status FROZEN
60 */
61
62 #include "nsISupports.idl"
63
64 interface nsIDOMWindow;
65 interface nsIObserver;
66 interface nsIPrompt;
67 interface nsIAuthPrompt;
68 interface nsISimpleEnumerator;
69 interface nsIWebBrowserChrome;
70 interface nsIWindowCreator;
71
72 [scriptable, uuid(002286a8-494b-43b3-8ddd-49e3fc50622b)]
73
74 interface nsIWindowWatcher : nsISupports {
75
76 /** Create a new window. It will automatically be added to our list
77 (via addWindow()).
78 @param aParent parent window, if any. Null if no parent. If it is
79 impossible to get to an nsIWebBrowserChrome from aParent, this
80 method will effectively act as if aParent were null.
81 @param aURL url to which to open the new window. Must already be
82 escaped, if applicable. can be null.
83 @param aName window name from JS window.open. can be null.
84 @param aFeatures window features from JS window.open. can be null.
85 @param aArguments extra argument(s) to the new window, to be attached
86 as the |arguments| property. An nsISupportsArray will be
87 unwound into multiple arguments (but not recursively!).
88 can be null.
89 @return the new window
90 */
91 nsIDOMWindow openWindow(in nsIDOMWindow aParent, in string aUrl,
92 in string aName, in string aFeatures,
93 in nsISupports aArguments);
94
95 /** Clients of this service can register themselves to be notified
96 when a window is opened or closed (added to or removed from this
97 service). This method adds an aObserver to the list of objects
98 to be notified.
99 @param aObserver the object to be notified when windows are
100 opened or closed. Its Observe method will be
101 called with the following parameters:
102
103 aObserver::Observe interprets its parameters so:
104 aSubject the window being opened or closed, sent as an nsISupports
105 which can be QIed to an nsIDOMWindow.
106 aTopic a wstring, either "domwindowopened" or "domwindowclosed".
107 someData not used.
108 */
109 void registerNotification(in nsIObserver aObserver);
110
111 /** Clients of this service can register themselves to be notified
112 when a window is opened or closed (added to or removed from this
113 service). This method removes an aObserver from the list of objects
114 to be notified.
115 @param aObserver the observer to be removed.
116 */
117 void unregisterNotification(in nsIObserver aObserver);
118
119 /** Get an iterator for currently open windows in the order they were opened,
120 guaranteeing that each will be visited exactly once.
121 @return an enumerator which will itself return nsISupports objects which
122 can be QIed to an nsIDOMWindow
123 */
124
125 nsISimpleEnumerator getWindowEnumerator();
126
127 /** Return a newly created nsIPrompt implementation.
128 @param aParent the parent window used for posing alerts. can be null.
129 @return a new nsIPrompt object
130 */
131
132 nsIPrompt getNewPrompter(in nsIDOMWindow aParent);
133
134 /** Return a newly created nsIAuthPrompt implementation.
135 @param aParent the parent window used for posing alerts. can be null.
136 @return a new nsIAuthPrompt object
137 */
138
139 nsIAuthPrompt getNewAuthPrompter(in nsIDOMWindow aParent);
140
141 /** Set the window creator callback. It must be filled in by the app.
142 openWindow will use it to create new windows.
143 @param creator the callback. if null, the callback will be cleared
144 and window creation capabilities lost.
145 */
146 void setWindowCreator(in nsIWindowCreator creator);
147
148
149 /** Retrieve the chrome window mapped to the given DOM window. Window
150 Watcher keeps a list of all top-level DOM windows currently open,
151 along with their corresponding chrome interfaces. Since DOM Windows
152 lack a (public) means of retrieving their corresponding chrome,
153 this method will do that.
154 @param aWindow the DOM window whose chrome window the caller needs
155 @return the corresponding chrome window
156 */
157 nsIWebBrowserChrome getChromeForWindow(in nsIDOMWindow aWindow);
158
159 /**
160 Retrieve an existing window (or frame).
161 @param aTargetName the window name
162 @param aCurrentWindow a starting point in the window hierarchy to
163 begin the search. If null, each toplevel window
164 will be searched.
165
166 Note: This method will search all open windows for any window or
167 frame with the given window name. Make sure you understand the
168 security implications of this before using this method!
169 */
170 nsIDOMWindow getWindowByName(in wstring aTargetName,
171 in nsIDOMWindow aCurrentWindow);
172
173 /** The Watcher serves as a global storage facility for the current active
174 (frontmost non-floating-palette-type) window, storing and returning
175 it on demand. Users must keep this attribute current, including after
176 the topmost window is closed. This attribute obviously can return null
177 if no windows are open, but should otherwise always return a valid
178 window.
179 */
180 attribute nsIDOMWindow activeWindow;
181
182 };
183
184 %{C++
185 // {002286a8-494b-43b3-8ddd-49e3fc50622b}
186 #define NS_WINDOWWATCHER_IID \
187 {0x002286a8, 0x494b, 0x43b3, {0x8d, 0xdd, 0x49, 0xe3, 0xfc, 0x50, 0x62, 0x2b}}
188
189 #define NS_WINDOWWATCHER_CONTRACTID "@mozilla.org/embedcomp/window-watcher;1"
190 %}
OLDNEW
« no previous file with comments | « gecko-sdk/idl/nsIWindowCreator.idl ('k') | gecko-sdk/idl/nsIX509Cert.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698