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 };