2 * Defines the COM interfaces and APIs related to the IE Web browser
4 * Copyright (C) 2001 John R. Sheets (for CodeWeavers)
5 * Copyright (C) 2003 Alexandre Julliard
6 * Copuright (C) 2004 Jacek Caban
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28 /*****************************************************************************
29 * IWebBrowser interface
34 uuid(eab22ac1
-30c1
-11cf
-a7eb
-0000c05bae0b
)
36 interface IWebBrowser
: IDispatch
38 typedef enum BrowserNavConstants
40 navOpenInNewWindow
= 0x1,
42 navNoReadFromCache
= 0x4,
43 navNoWriteToCache
= 0x8,
44 navAllowAutosearch
= 0x10,
47 navEnforceRestricted
= 0x80
48 } BrowserNavConstants
;
50 typedef enum RefreshConstants
53 REFRESH_IFEXPIRED
= 1,
54 REFRESH_COMPLETELY
= 3
64 [in] VARIANT *TargetFrameName
,
65 [in] VARIANT *PostData
,
66 [in] VARIANT *Headers
);
68 HRESULT Refresh2
( [in] VARIANT *Level
);
70 [propget] HRESULT Application
([out] IDispatch
** ppDisp
);
71 [propget] HRESULT Parent
([out] IDispatch
** ppDisp
);
72 [propget] HRESULT Container
([out] IDispatch
** ppDisp
);
73 [propget] HRESULT Document
([out] IDispatch
** ppDisp
);
74 [propget] HRESULT TopLevelContainer
([out] VARIANT_BOOL* pBool
);
75 [propget] HRESULT Type
([out] BSTR* Type
);
76 [propget] HRESULT Left
([out] long *pl
);
77 [propput] HRESULT Left
([in] long Left
);
78 [propget] HRESULT Top
([out] long *pl
);
79 [propput] HRESULT Top
([in] long Top
);
80 [propget] HRESULT Width
([out] long *pl
);
81 [propput] HRESULT Width
([in] long Width
);
82 [propget] HRESULT Height
([out] long *pl
);
83 [propput] HRESULT Height
([in] long Height
);
84 [propget] HRESULT LocationName
([out] BSTR *LocationName
);
85 [propget] HRESULT LocationURL
([out] BSTR * LocationURL
);
86 [propget] HRESULT Busy
([out] VARIANT_BOOL *pBool
);
90 /*****************************************************************************
91 * IWebBrowserApp interface
96 uuid(0002df05
-0000-0000-c000
-000000000046)
98 interface IWebBrowserApp
: IWebBrowser
101 HRESULT ClientToWindow
([in,out] int* pcx
, [in,out] int* pcy
);
102 HRESULT PutProperty
([in] BSTR szProperty
, [in] VARIANT vtValue
);
103 HRESULT GetProperty
([in] BSTR szProperty
, [out] VARIANT *pvtValue
);
104 [propget] HRESULT Name
([out] BSTR* Name
);
105 [propget] HRESULT HWND
([out] long *pHWND
);
106 [propget] HRESULT FullName
([out] BSTR* FullName
);
107 [propget] HRESULT Path
([out] BSTR* Path
);
108 [propget] HRESULT Visible
([out] VARIANT_BOOL* pBool
);
109 [propput] HRESULT Visible
([in] VARIANT_BOOL Value
);
110 [propget] HRESULT StatusBar
([out] VARIANT_BOOL* pBool
);
111 [propput] HRESULT StatusBar
([in] VARIANT_BOOL Value
);
112 [propget] HRESULT StatusText
([out] BSTR *StatusText
);
113 [propput] HRESULT StatusText
([in] BSTR StatusText
);
114 [propget] HRESULT ToolBar
([out] int * Value
);
115 [propput] HRESULT ToolBar
([in] int Value
);
116 [propget] HRESULT MenuBar
([out] VARIANT_BOOL * Value
);
117 [propput] HRESULT MenuBar
([in] VARIANT_BOOL Value
);
118 [propget] HRESULT FullScreen
([out] VARIANT_BOOL * pbFullScreen
);
119 [propput] HRESULT FullScreen
([in] VARIANT_BOOL bFullScreen
);
122 /*****************************************************************************
123 * IWebBrowser2 interface
128 uuid(d30c1661
-cdaf
-11d0
-8a3e
-00c04fc9e26e
)
130 interface IWebBrowser2
: IWebBrowserApp
135 [in] VARIANT *TargetFrameName
,
136 [in] VARIANT *PostData
,
137 [in] VARIANT *Headers
);
138 HRESULT QueryStatusWB
([in] OLECMDID cmdID
, [out] OLECMDF
*pcmdf
);
139 HRESULT ExecWB
([in] OLECMDID cmdID
, [in] OLECMDEXECOPT cmdexecopt
, [in] VARIANT *pvaIn
, [out, in] VARIANT *pvaOut
);
140 HRESULT ShowBrowserBar
([in] VARIANT *pvaClsid
, [in] VARIANT *pvarShow
, [in] VARIANT *pvarSize
);
142 [propget] HRESULT ReadyState
([out] READYSTATE
*plReadyState
);
143 [propget] HRESULT Offline
([out] VARIANT_BOOL *pbOffline
);
144 [propput] HRESULT Offline
([in] VARIANT_BOOL bOffline
);
145 [propget] HRESULT Silent
([out] VARIANT_BOOL *pbSilent
);
146 [propput] HRESULT Silent
([in] VARIANT_BOOL bSilent
);
147 [propget] HRESULT RegisterAsBrowser
([out] VARIANT_BOOL *pbRegister
);
148 [propput] HRESULT RegisterAsBrowser
([in] VARIANT_BOOL bRegister
);
149 [propget] HRESULT RegisterAsDropTarget
([out] VARIANT_BOOL *pbRegister
);
150 [propput] HRESULT RegisterAsDropTarget
([in] VARIANT_BOOL bRegister
);
151 [propget] HRESULT TheaterMode
([out] VARIANT_BOOL *pbRegister
);
152 [propput] HRESULT TheaterMode
([in] VARIANT_BOOL bRegister
);
153 [propget] HRESULT AddressBar
([out] VARIANT_BOOL *Value
);
154 [propput] HRESULT AddressBar
([in] VARIANT_BOOL Value
);
155 [propget] HRESULT Resizable
([out] VARIANT_BOOL *Value
);
156 [propput] HRESULT Resizable
([in] VARIANT_BOOL Value
);
160 uuid(eab22ac2
-30c1
-11CF
-a7eb
-0000C05bae0b
)
162 dispinterface DWebBrowserEvents
166 [id(DISPID_BEFORENAVIGATE
)]
170 [in] BSTR TargetFrameName
,
171 [in] VARIANT *PostData
,
173 [in, out] VARIANT_BOOL *Cancel
);
175 [id(DISPID_NAVIGATECOMPLETE
)]
176 void NavigateComplete
([in] BSTR URL
);
178 [id(DISPID_STATUSTEXTCHANGE
)]
179 void StatusTextChange
([in] BSTR Text
);
181 [id(DISPID_PROGRESSCHANGE
)]
182 void ProgressChange
([in] long Progress
, [in] long ProgressMax
);
184 [id(DISPID_DOWNLOADCOMPLETE
)]
185 void DownloadComplete
();
187 [id(DISPID_COMMANDSTATECHANGE
)]
188 void CommandStateChange
([in] long Command
, [in]VARIANT_BOOL Enable
);
190 [id(DISPID_DOWNLOADBEGIN
)]
191 void DownloadBegin
();
193 [id(DISPID_NEWWINDOW
)]
197 [in] BSTR TargetFrameName
,
198 [in] VARIANT *PostData
,
200 [in,out] VARIANT_BOOL *Processed
);
202 [id(DISPID_TITLECHANGE
)]
203 void TitleChange
([in] BSTR Text
);
205 [id(DISPID_FRAMEBEFORENAVIGATE
)]
206 void FrameBeforeNavigate
(
209 [in] BSTR TargetFrameName
,
210 [in] VARIANT *PostData
,
212 [in, out]VARIANT_BOOL *Cancel
);
214 [id(DISPID_FRAMENAVIGATECOMPLETE
)]
215 void FrameNavigateComplete
([in] BSTR URL
);
217 [id(DISPID_FRAMENEWWINDOW
)]
221 [in] BSTR TargetFrameName
,
222 [in] VARIANT *PostData
,
224 [in,out] VARIANT_BOOL *Processed
);
227 void Quit
([in, out] VARIANT_BOOL *Cancel
);
229 [id(DISPID_WINDOWMOVE
)]
232 [id(DISPID_WINDOWRESIZE
)]
235 [id(DISPID_WINDOWACTIVATE
)]
236 void WindowActivate
();
238 [id(DISPID_PROPERTYCHANGE
)]
239 void PropertyChange
([in] BSTR Property
);
243 uuid(34a715a0
-6587-11d0
-924a
-0020afc7ac4d
)
245 dispinterface DWebBrowserEvents2
249 [id(DISPID_STATUSTEXTCHANGE
)]
250 void StatusTextChange
([in] BSTR Text
);
252 [id(DISPID_PROGRESSCHANGE
)]
253 void ProgressChange
([in] long Progress
, [in] long ProgressMax
);
255 [id(DISPID_COMMANDSTATECHANGE
)]
256 void CommandStateChange
([in] long Command
, [in] VARIANT_BOOL Enable
);
258 [id(DISPID_DOWNLOADBEGIN
)]
259 void DownloadBegin
();
261 [id(DISPID_DOWNLOADCOMPLETE
)]
262 void DownloadComplete
();
264 [id(DISPID_TITLECHANGE
)]
265 void TitleChange
([in] BSTR szProperty
);
267 [id(DISPID_PROPERTYCHANGE
)]
268 void PropertyChange
([in] BSTR szProperty
);
270 [id(DISPID_BEFORENAVIGATE2
)]
271 void BeforeNavigate2
(
272 [in] IDispatch
*pDisp
,
275 [in] VARIANT *TargetFrameName
,
276 [in] VARIANT *PostData
,
277 [in] VARIANT *Headers
,
278 [in, out] VARIANT_BOOL *Cancel
);
280 [id(DISPID_NEWWINDOW2
)]
281 void NewWindow2
([in, out] IDispatch
**ppDisp
, [in, out] VARIANT_BOOL *Cancel
);
283 [id(DISPID_NAVIGATECOMPLETE2
)]
284 void NavigateComplete2
([in] IDispatch
*pDisp
, [in] VARIANT *URL
);
286 [id(DISPID_DOCUMENTCOMPLETE
)]
287 void DocumentComplete
([in] IDispatch
*pDisp
, [in] VARIANT *URL
);
292 [id(DISPID_ONVISIBLE
)]
293 void OnVisible
([in] VARIANT_BOOL Visible
);
295 [id(DISPID_ONTOOLBAR
)]
296 void OnToolBar
([in] VARIANT_BOOL ToolBar
);
298 [id(DISPID_ONMENUBAR
)]
299 void OnMenuBar
([in] VARIANT_BOOL MenuBar
);
301 [id(DISPID_ONSTATUSBAR
)]
302 void OnStatusBar
([in] VARIANT_BOOL StatusBar
);
304 [id(DISPID_ONFULLSCREEN
)]
305 void OnFullScreen
([in] VARIANT_BOOL FullScreen
);
307 [id(DISPID_ONTHEATERMODE
)]
308 void OnTheaterMode
([in] VARIANT_BOOL TheaterMode
);
312 uuid(8856f961
-340a
-11d0
-a96b
-00c04fd705a2
)
316 [default] interface IWebBrowser2
;
317 interface IWebBrowser
;
318 [default, source] dispinterface DWebBrowserEvents2
;
319 [source] dispinterface DWebBrowserEvents
;
325 uuid(85cb6900
-4d95
-11cf
-960c
-0080c7f4ee85
)
327 interface IShellWindows
: IDispatch
329 [propget] HRESULT Count
( [out] long *Count
);
330 HRESULT Item
( [in] VARIANT index
, [out] IDispatch
**Folder
);
331 HRESULT _NewEnum
( [out] IUnknown
**ppunk
);
332 HRESULT Register
( [in] IDispatch
*pid
, [in] long hWnd
, [in] int swClass
,
333 [out] long *plCookie
);
334 HRESULT RegisterPending
( [in] long lThread
, [in] VARIANT *pvarloc
,
335 [in] VARIANT *varlocRoot
, [in] int swClass
, [out] long *plCookie
);
336 HRESULT Revoke
( [in] long Cookie
);
337 HRESULT OnNavigate
( [in] long Cookie
, [out] VARIANT *pvarLoc
);
338 HRESULT OnActivated
( [in] long Cookie
, [in] VARIANT fActive
);
339 HRESULT FindWindowSW
( [in] VARIANT *pvarLoc
, [in] VARIANT *pvarLocRoot
,
340 [in] int swClass
, [out] long *phwnd
, int swfwOptions
,
341 IDispatch
**ppdispOut
);
342 HRESULT OnCreated
( [in] long lCookie
, [in] IUnknown
*punk
);
343 HRESULT ProcessAttachDetach
( [in] VARIANT_BOOL fAttach
);
347 uuid(9ba05972
-f6a8
-11cf
-a442
-00a0c90a8f39
)
351 [default] interface IShellWindows
;
352 [default, source] dispinterface DShellWindowsEvents
;