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

Side by Side Diff: gecko-sdk/include/nsIWebBrowser.h

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/include/nsIWeakReferenceUtils.h ('k') | gecko-sdk/include/nsIWebBrowserChrome.h » ('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 /*
2 * DO NOT EDIT. THIS FILE IS GENERATED FROM c:/builds/tinderbox/XR-Mozilla1.8.0 -Release/WINNT_5.2_Depend/mozilla/embedding/browser/webBrowser/nsIWebBrowser.idl
3 */
4
5 #ifndef __gen_nsIWebBrowser_h__
6 #define __gen_nsIWebBrowser_h__
7
8
9 #ifndef __gen_nsISupports_h__
10 #include "nsISupports.h"
11 #endif
12
13 /* For IDL files that don't want to include root IDL files. */
14 #ifndef NS_NO_VTABLE
15 #define NS_NO_VTABLE
16 #endif
17 class nsIInterfaceRequestor; /* forward declaration */
18
19 class nsIWebBrowserChrome; /* forward declaration */
20
21 class nsIURIContentListener; /* forward declaration */
22
23 class nsIDOMWindow; /* forward declaration */
24
25 class nsIWeakReference; /* forward declaration */
26
27
28 /* starting interface: nsIWebBrowser */
29 #define NS_IWEBBROWSER_IID_STR "69e5df00-7b8b-11d3-af61-00a024ffc08c"
30
31 #define NS_IWEBBROWSER_IID \
32 {0x69e5df00, 0x7b8b, 0x11d3, \
33 { 0xaf, 0x61, 0x00, 0xa0, 0x24, 0xff, 0xc0, 0x8c }}
34
35 /**
36 * The nsIWebBrowser interface is implemented by web browser objects.
37 * Embedders use this interface during initialisation to associate
38 * the new web browser instance with the embedders chrome and
39 * to register any listeners. The interface may also be used at runtime
40 * to obtain the content DOM window and from that the rest of the DOM.
41 *
42 * @status FROZEN
43 */
44 class NS_NO_VTABLE nsIWebBrowser : public nsISupports {
45 public:
46
47 NS_DEFINE_STATIC_IID_ACCESSOR(NS_IWEBBROWSER_IID)
48
49 /**
50 * Registers a listener of the type specified by the iid to receive
51 * callbacks. The browser stores a weak reference to the listener
52 * to avoid any circular dependencies.
53 * Typically this method will be called to register an object
54 * to receive <CODE>nsIWebProgressListener</CODE> or
55 * <CODE>nsISHistoryListener</CODE> notifications in which case the
56 * the IID is that of the interface.
57 *
58 * @param aListener The listener to be added.
59 * @param aIID The IID of the interface that will be called
60 * on the listener as appropriate.
61 * @return <CODE>NS_OK</CODE> for successful registration;
62 * <CODE>NS_ERROR_INVALID_ARG</CODE> if aIID is not
63 * supposed to be registered using this method;
64 * <CODE>NS_ERROR_FAILURE</CODE> either aListener did not
65 * expose the interface specified by the IID, or some
66 * other internal error occurred.
67 *
68 * @see removeWebBrowserListener
69 * @see nsIWeakReference
70 * @see nsIWebProgressListener
71 * @see nsISHistoryListener
72 *
73 * @return <CODE>NS_OK</CODE>, listener was successfully added;
74 * <CODE>NS_ERROR_INVALID_ARG</CODE>, one of the arguments was
75 * invalid or the object did not implement the interface
76 * specified by the IID.
77 */
78 /* void addWebBrowserListener (in nsIWeakReference aListener, in nsIIDRef aIID ); */
79 NS_IMETHOD AddWebBrowserListener(nsIWeakReference *aListener, const nsIID & aI ID) = 0;
80
81 /**
82 * Removes a previously registered listener.
83 *
84 * @param aListener The listener to be removed.
85 * @param aIID The IID of the interface on the listener that will
86 * no longer be called.
87 *
88 * @return <CODE>NS_OK</CODE>, listener was successfully removed;
89 * <CODE>NS_ERROR_INVALID_ARG</CODE> arguments was invalid or
90 * the object did not implement the interface specified by the IID.
91 *
92 * @see addWebBrowserListener
93 * @see nsIWeakReference
94 */
95 /* void removeWebBrowserListener (in nsIWeakReference aListener, in nsIIDRef a IID); */
96 NS_IMETHOD RemoveWebBrowserListener(nsIWeakReference *aListener, const nsIID & aIID) = 0;
97
98 /**
99 * The chrome object associated with the browser instance. The embedder
100 * must create one chrome object for <I>each</I> browser object
101 * that is instantiated. The embedder must associate the two by setting
102 * this property to point to the chrome object before creating the browser
103 * window via the browser's <CODE>nsIBaseWindow</CODE> interface.
104 *
105 * The chrome object must also implement <CODE>nsIEmbeddingSiteWindow</CODE> .
106 *
107 * The chrome may optionally implement <CODE>nsIInterfaceRequestor</CODE>,
108 * <CODE>nsIWebBrowserChromeFocus</CODE>,
109 * <CODE>nsIContextMenuListener</CODE> and
110 * <CODE>nsITooltipListener</CODE> to receive additional notifications
111 * from the browser object.
112 *
113 * The chrome object may optionally implement <CODE>nsIWebProgressListener</ CODE>
114 * instead of explicitly calling <CODE>addWebBrowserListener</CODE> and
115 * <CODE>removeWebBrowserListener</CODE> to register a progress listener
116 * object. If the implementation does this, it must also implement
117 * <CODE>nsIWeakReference</CODE>.
118 *
119 * @note The implementation should not refcount the supplied chrome
120 * object; it should assume that a non <CODE>nsnull</CODE> value is
121 * always valid. The embedder must explicitly set this value back
122 * to nsnull if the chrome object is destroyed before the browser
123 * object.
124 *
125 * @see nsIBaseWindow
126 * @see nsIWebBrowserChrome
127 * @see nsIEmbeddingSiteWindow
128 * @see nsIInterfaceRequestor
129 * @see nsIWebBrowserChromeFocus
130 * @see nsIContextMenuListener
131 * @see nsITooltipListener
132 * @see nsIWeakReference
133 * @see nsIWebProgressListener
134 */
135 /* attribute nsIWebBrowserChrome containerWindow; */
136 NS_IMETHOD GetContainerWindow(nsIWebBrowserChrome * *aContainerWindow) = 0;
137 NS_IMETHOD SetContainerWindow(nsIWebBrowserChrome * aContainerWindow) = 0;
138
139 /**
140 * URI content listener parent. The embedder may set this property to
141 * their own implementation if they intend to override or prevent
142 * how certain kinds of content are loaded.
143 *
144 * @note If this attribute is set to an object that implements
145 * nsISupportsWeakReference, the implementation should get the
146 * nsIWeakReference and hold that. Otherwise, the implementation
147 * should not refcount this interface; it should assume that a non
148 * null value is always valid. In that case, the embedder should
149 * explicitly set this value back to null if the parent content
150 * listener is destroyed before the browser object.
151 *
152 * @see nsIURIContentListener
153 */
154 /* attribute nsIURIContentListener parentURIContentListener; */
155 NS_IMETHOD GetParentURIContentListener(nsIURIContentListener * *aParentURICont entListener) = 0;
156 NS_IMETHOD SetParentURIContentListener(nsIURIContentListener * aParentURIConte ntListener) = 0;
157
158 /**
159 * The top-level DOM window. The embedder may walk the entire
160 * DOM starting from this value.
161 *
162 * @see nsIDOMWindow
163 */
164 /* readonly attribute nsIDOMWindow contentDOMWindow; */
165 NS_IMETHOD GetContentDOMWindow(nsIDOMWindow * *aContentDOMWindow) = 0;
166
167 };
168
169 /* Use this macro when declaring classes that implement this interface. */
170 #define NS_DECL_NSIWEBBROWSER \
171 NS_IMETHOD AddWebBrowserListener(nsIWeakReference *aListener, const nsIID & aI ID); \
172 NS_IMETHOD RemoveWebBrowserListener(nsIWeakReference *aListener, const nsIID & aIID); \
173 NS_IMETHOD GetContainerWindow(nsIWebBrowserChrome * *aContainerWindow); \
174 NS_IMETHOD SetContainerWindow(nsIWebBrowserChrome * aContainerWindow); \
175 NS_IMETHOD GetParentURIContentListener(nsIURIContentListener * *aParentURICont entListener); \
176 NS_IMETHOD SetParentURIContentListener(nsIURIContentListener * aParentURIConte ntListener); \
177 NS_IMETHOD GetContentDOMWindow(nsIDOMWindow * *aContentDOMWindow);
178
179 /* Use this macro to declare functions that forward the behavior of this interfa ce to another object. */
180 #define NS_FORWARD_NSIWEBBROWSER(_to) \
181 NS_IMETHOD AddWebBrowserListener(nsIWeakReference *aListener, const nsIID & aI ID) { return _to AddWebBrowserListener(aListener, aIID); } \
182 NS_IMETHOD RemoveWebBrowserListener(nsIWeakReference *aListener, const nsIID & aIID) { return _to RemoveWebBrowserListener(aListener, aIID); } \
183 NS_IMETHOD GetContainerWindow(nsIWebBrowserChrome * *aContainerWindow) { retur n _to GetContainerWindow(aContainerWindow); } \
184 NS_IMETHOD SetContainerWindow(nsIWebBrowserChrome * aContainerWindow) { return _to SetContainerWindow(aContainerWindow); } \
185 NS_IMETHOD GetParentURIContentListener(nsIURIContentListener * *aParentURICont entListener) { return _to GetParentURIContentListener(aParentURIContentListener) ; } \
186 NS_IMETHOD SetParentURIContentListener(nsIURIContentListener * aParentURIConte ntListener) { return _to SetParentURIContentListener(aParentURIContentListener); } \
187 NS_IMETHOD GetContentDOMWindow(nsIDOMWindow * *aContentDOMWindow) { return _to GetContentDOMWindow(aContentDOMWindow); }
188
189 /* Use this macro to declare functions that forward the behavior of this interfa ce to another object in a safe way. */
190 #define NS_FORWARD_SAFE_NSIWEBBROWSER(_to) \
191 NS_IMETHOD AddWebBrowserListener(nsIWeakReference *aListener, const nsIID & aI ID) { return !_to ? NS_ERROR_NULL_POINTER : _to->AddWebBrowserListener(aListener , aIID); } \
192 NS_IMETHOD RemoveWebBrowserListener(nsIWeakReference *aListener, const nsIID & aIID) { return !_to ? NS_ERROR_NULL_POINTER : _to->RemoveWebBrowserListener(aLi stener, aIID); } \
193 NS_IMETHOD GetContainerWindow(nsIWebBrowserChrome * *aContainerWindow) { retur n !_to ? NS_ERROR_NULL_POINTER : _to->GetContainerWindow(aContainerWindow); } \
194 NS_IMETHOD SetContainerWindow(nsIWebBrowserChrome * aContainerWindow) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetContainerWindow(aContainerWindow); } \
195 NS_IMETHOD GetParentURIContentListener(nsIURIContentListener * *aParentURICont entListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetParentURIContentLis tener(aParentURIContentListener); } \
196 NS_IMETHOD SetParentURIContentListener(nsIURIContentListener * aParentURIConte ntListener) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetParentURIContentList ener(aParentURIContentListener); } \
197 NS_IMETHOD GetContentDOMWindow(nsIDOMWindow * *aContentDOMWindow) { return !_t o ? NS_ERROR_NULL_POINTER : _to->GetContentDOMWindow(aContentDOMWindow); }
198
199 #if 0
200 /* Use the code below as a template for the implementation class for this interf ace. */
201
202 /* Header file */
203 class nsWebBrowser : public nsIWebBrowser
204 {
205 public:
206 NS_DECL_ISUPPORTS
207 NS_DECL_NSIWEBBROWSER
208
209 nsWebBrowser();
210
211 private:
212 ~nsWebBrowser();
213
214 protected:
215 /* additional members */
216 };
217
218 /* Implementation file */
219 NS_IMPL_ISUPPORTS1(nsWebBrowser, nsIWebBrowser)
220
221 nsWebBrowser::nsWebBrowser()
222 {
223 /* member initializers and constructor code */
224 }
225
226 nsWebBrowser::~nsWebBrowser()
227 {
228 /* destructor code */
229 }
230
231 /* void addWebBrowserListener (in nsIWeakReference aListener, in nsIIDRef aIID); */
232 NS_IMETHODIMP nsWebBrowser::AddWebBrowserListener(nsIWeakReference *aListener, c onst nsIID & aIID)
233 {
234 return NS_ERROR_NOT_IMPLEMENTED;
235 }
236
237 /* void removeWebBrowserListener (in nsIWeakReference aListener, in nsIIDRef aII D); */
238 NS_IMETHODIMP nsWebBrowser::RemoveWebBrowserListener(nsIWeakReference *aListener , const nsIID & aIID)
239 {
240 return NS_ERROR_NOT_IMPLEMENTED;
241 }
242
243 /* attribute nsIWebBrowserChrome containerWindow; */
244 NS_IMETHODIMP nsWebBrowser::GetContainerWindow(nsIWebBrowserChrome * *aContainer Window)
245 {
246 return NS_ERROR_NOT_IMPLEMENTED;
247 }
248 NS_IMETHODIMP nsWebBrowser::SetContainerWindow(nsIWebBrowserChrome * aContainerW indow)
249 {
250 return NS_ERROR_NOT_IMPLEMENTED;
251 }
252
253 /* attribute nsIURIContentListener parentURIContentListener; */
254 NS_IMETHODIMP nsWebBrowser::GetParentURIContentListener(nsIURIContentListener * *aParentURIContentListener)
255 {
256 return NS_ERROR_NOT_IMPLEMENTED;
257 }
258 NS_IMETHODIMP nsWebBrowser::SetParentURIContentListener(nsIURIContentListener * aParentURIContentListener)
259 {
260 return NS_ERROR_NOT_IMPLEMENTED;
261 }
262
263 /* readonly attribute nsIDOMWindow contentDOMWindow; */
264 NS_IMETHODIMP nsWebBrowser::GetContentDOMWindow(nsIDOMWindow * *aContentDOMWindo w)
265 {
266 return NS_ERROR_NOT_IMPLEMENTED;
267 }
268
269 /* End of implementation class template. */
270 #endif
271
272
273 #endif /* __gen_nsIWebBrowser_h__ */
OLDNEW
« no previous file with comments | « gecko-sdk/include/nsIWeakReferenceUtils.h ('k') | gecko-sdk/include/nsIWebBrowserChrome.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698