2 * Implementation of IWebBrowser interface for IE Web Browser control
4 * 2001 John R. Sheets (for CodeWeavers)
7 #include "debugtools.h"
10 DEFAULT_DEBUG_CHANNEL(shdocvw);
12 /**********************************************************************
13 * Implement the IWebBrowser interface
16 static HRESULT WINAPI WB_QueryInterface(LPWEBBROWSER iface, REFIID riid, LPVOID *ppobj)
18 ICOM_THIS(IWebBrowserImpl, iface);
20 FIXME("(%p)->(%s,%p),stub!\n", This, debugstr_guid(riid), ppobj);
24 static ULONG WINAPI WB_AddRef(LPWEBBROWSER iface)
26 ICOM_THIS(IWebBrowserImpl, iface);
32 static ULONG WINAPI WB_Release(LPWEBBROWSER iface)
34 ICOM_THIS(IWebBrowserImpl, iface);
36 /* static class, won't be freed */
41 /* IDispatch methods */
42 static HRESULT WINAPI WB_GetTypeInfoCount(LPWEBBROWSER iface, UINT *pctinfo)
48 static HRESULT WINAPI WB_GetTypeInfo(LPWEBBROWSER iface, UINT iTInfo, LCID lcid,
55 static HRESULT WINAPI WB_GetIDsOfNames(LPWEBBROWSER iface, REFIID riid,
56 LPOLESTR *rgszNames, UINT cNames,
57 LCID lcid, DISPID *rgDispId)
63 static HRESULT WINAPI WB_Invoke(LPWEBBROWSER iface, DISPID dispIdMember,
64 REFIID riid, LCID lcid, WORD wFlags,
65 DISPPARAMS *pDispParams, VARIANT *pVarResult,
66 EXCEPINFO *pExepInfo, UINT *puArgErr)
68 FIXME("stub dispIdMember = %d, IID = %s\n", (int)dispIdMember, debugstr_guid(riid));
72 /* IWebBrowser methods */
73 static HRESULT WINAPI WB_GoBack(LPWEBBROWSER iface)
79 static HRESULT WINAPI WB_GoForward(LPWEBBROWSER iface)
85 static HRESULT WINAPI WB_GoHome(LPWEBBROWSER iface)
91 static HRESULT WINAPI WB_GoSearch(LPWEBBROWSER iface)
97 static HRESULT WINAPI WB_Navigate(LPWEBBROWSER iface, BSTR *URL,
98 VARIANT *Flags, VARIANT *TargetFrameName,
99 VARIANT *PostData, VARIANT *Headers)
101 FIXME("stub: URL = %p (%p, %p, %p, %p)\n", URL, Flags, TargetFrameName,
106 static HRESULT WINAPI WB_Refresh(LPWEBBROWSER iface)
112 static HRESULT WINAPI WB_Refresh2(LPWEBBROWSER iface, VARIANT *Level)
114 FIXME("stub: %p\n", Level);
118 static HRESULT WINAPI WB_Stop(LPWEBBROWSER iface)
124 static HRESULT WINAPI WB_get_Application(LPWEBBROWSER iface, LPVOID *ppDisp)
130 static HRESULT WINAPI WB_get_Parent(LPWEBBROWSER iface, LPVOID *ppDisp)
136 static HRESULT WINAPI WB_get_Container(LPWEBBROWSER iface, LPVOID *ppDisp)
142 static HRESULT WINAPI WB_get_Document(LPWEBBROWSER iface, LPVOID *ppDisp)
148 static HRESULT WINAPI WB_get_TopLevelContainer(LPWEBBROWSER iface, VARIANT *pBool)
154 static HRESULT WINAPI WB_get_Type(LPWEBBROWSER iface, BSTR *Type)
160 static HRESULT WINAPI WB_get_Left(LPWEBBROWSER iface, long *pl)
166 static HRESULT WINAPI WB_put_Left(LPWEBBROWSER iface, long Left)
172 static HRESULT WINAPI WB_get_Top(LPWEBBROWSER iface, long *pl)
178 static HRESULT WINAPI WB_put_Top(LPWEBBROWSER iface, long Top)
184 static HRESULT WINAPI WB_get_Width(LPWEBBROWSER iface, long *pl)
190 static HRESULT WINAPI WB_put_Width(LPWEBBROWSER iface, long Width)
196 static HRESULT WINAPI WB_get_Height(LPWEBBROWSER iface, long *pl)
202 static HRESULT WINAPI WB_put_Height(LPWEBBROWSER iface, long Height)
208 static HRESULT WINAPI WB_get_LocationName(LPWEBBROWSER iface, BSTR *LocationName)
214 static HRESULT WINAPI WB_get_LocationURL(LPWEBBROWSER iface, BSTR *LocationURL)
220 static HRESULT WINAPI WB_get_Busy(LPWEBBROWSER iface, VARIANT *pBool)
226 /**********************************************************************
227 * IWebBrowser virtual function table for IE Web Browser component
230 static ICOM_VTABLE(IWebBrowser) WB_Vtbl =
232 ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
252 WB_get_TopLevelContainer,
267 IWebBrowserImpl SHDOCVW_WebBrowser = { &WB_Vtbl, 1 };