shdocvw: Get rid of WEBBROWSER_THIS macro and WebBrowser to IWebBowser2 casts.

This commit is contained in:
Jacek Caban 2010-11-13 17:47:05 +01:00 committed by Alexandre Julliard
parent 2c451f869a
commit 878c5d043e
6 changed files with 127 additions and 151 deletions

View File

@ -38,19 +38,19 @@ static HRESULT WINAPI ProvideClassInfo_QueryInterface(IProvideClassInfo2 *iface,
REFIID riid, LPVOID *ppobj)
{
WebBrowser *This = CLASSINFO_THIS(iface);
return IWebBrowser_QueryInterface(WEBBROWSER(This), riid, ppobj);
return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj);
}
static ULONG WINAPI ProvideClassInfo_AddRef(IProvideClassInfo2 *iface)
{
WebBrowser *This = CLASSINFO_THIS(iface);
return IWebBrowser_AddRef(WEBBROWSER(This));
return IWebBrowser_AddRef(&This->IWebBrowser2_iface);
}
static ULONG WINAPI ProvideClassInfo_Release(IProvideClassInfo2 *iface)
{
WebBrowser *This = CLASSINFO_THIS(iface);
return IWebBrowser_Release(WEBBROWSER(This));
return IWebBrowser_Release(&This->IWebBrowser2_iface);
}
static HRESULT WINAPI ProvideClassInfo_GetClassInfo(IProvideClassInfo2 *iface, LPTYPEINFO *ppTI)

View File

@ -234,7 +234,7 @@ static HRESULT on_offlineconnected_change(WebBrowser *This)
get_client_disp_property(This->client, DISPID_AMBIENT_OFFLINEIFNOTCONNECTED, &offline);
if(V_VT(&offline) == VT_BOOL)
IWebBrowser2_put_Offline(WEBBROWSER2(This), V_BOOL(&offline));
IWebBrowser2_put_Offline(&This->IWebBrowser2_iface, V_BOOL(&offline));
else if(V_VT(&offline) != VT_EMPTY)
WARN("wrong V_VT(silent) %d\n", V_VT(&offline));
@ -248,7 +248,7 @@ static HRESULT on_silent_change(WebBrowser *This)
get_client_disp_property(This->client, DISPID_AMBIENT_SILENT, &silent);
if(V_VT(&silent) == VT_BOOL)
IWebBrowser2_put_Silent(WEBBROWSER2(This), V_BOOL(&silent));
IWebBrowser2_put_Silent(&This->IWebBrowser2_iface, V_BOOL(&silent));
else if(V_VT(&silent) != VT_EMPTY)
WARN("wrong V_VT(silent) %d\n", V_VT(&silent));
@ -294,19 +294,19 @@ static void release_client_site(WebBrowser *This)
static HRESULT WINAPI OleObject_QueryInterface(IOleObject *iface, REFIID riid, void **ppv)
{
WebBrowser *This = OLEOBJ_THIS(iface);
return IWebBrowser_QueryInterface(WEBBROWSER(This), riid, ppv);
return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppv);
}
static ULONG WINAPI OleObject_AddRef(IOleObject *iface)
{
WebBrowser *This = OLEOBJ_THIS(iface);
return IWebBrowser_AddRef(WEBBROWSER(This));
return IWebBrowser_AddRef(&This->IWebBrowser2_iface);
}
static ULONG WINAPI OleObject_Release(IOleObject *iface)
{
WebBrowser *This = OLEOBJ_THIS(iface);
return IWebBrowser_Release(WEBBROWSER(This));
return IWebBrowser_Release(&This->IWebBrowser2_iface);
}
static HRESULT WINAPI OleObject_SetClientSite(IOleObject *iface, LPOLECLIENTSITE pClientSite)
@ -601,19 +601,19 @@ static HRESULT WINAPI OleInPlaceObject_QueryInterface(IOleInPlaceObject *iface,
REFIID riid, LPVOID *ppobj)
{
WebBrowser *This = INPLACEOBJ_THIS(iface);
return IWebBrowser_QueryInterface(WEBBROWSER(This), riid, ppobj);
return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj);
}
static ULONG WINAPI OleInPlaceObject_AddRef(IOleInPlaceObject *iface)
{
WebBrowser *This = INPLACEOBJ_THIS(iface);
return IWebBrowser_AddRef(WEBBROWSER(This));
return IWebBrowser_AddRef(&This->IWebBrowser2_iface);
}
static ULONG WINAPI OleInPlaceObject_Release(IOleInPlaceObject *iface)
{
WebBrowser *This = INPLACEOBJ_THIS(iface);
return IWebBrowser_Release(WEBBROWSER(This));
return IWebBrowser_Release(&This->IWebBrowser2_iface);
}
static HRESULT WINAPI OleInPlaceObject_GetWindow(IOleInPlaceObject *iface, HWND* phwnd)
@ -709,19 +709,19 @@ static HRESULT WINAPI OleControl_QueryInterface(IOleControl *iface,
REFIID riid, LPVOID *ppobj)
{
WebBrowser *This = CONTROL_THIS(iface);
return IWebBrowser_QueryInterface(WEBBROWSER(This), riid, ppobj);
return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj);
}
static ULONG WINAPI OleControl_AddRef(IOleControl *iface)
{
WebBrowser *This = CONTROL_THIS(iface);
return IWebBrowser_AddRef(WEBBROWSER(This));
return IWebBrowser_AddRef(&This->IWebBrowser2_iface);
}
static ULONG WINAPI OleControl_Release(IOleControl *iface)
{
WebBrowser *This = CONTROL_THIS(iface);
return IWebBrowser_Release(WEBBROWSER(This));
return IWebBrowser_Release(&This->IWebBrowser2_iface);
}
static HRESULT WINAPI OleControl_GetControlInfo(IOleControl *iface, LPCONTROLINFO pCI)
@ -791,19 +791,19 @@ static HRESULT WINAPI InPlaceActiveObject_QueryInterface(IOleInPlaceActiveObject
REFIID riid, void **ppv)
{
WebBrowser *This = ACTIVEOBJ_THIS(iface);
return IWebBrowser2_QueryInterface(WEBBROWSER2(This), riid, ppv);
return IWebBrowser2_QueryInterface(&This->IWebBrowser2_iface, riid, ppv);
}
static ULONG WINAPI InPlaceActiveObject_AddRef(IOleInPlaceActiveObject *iface)
{
WebBrowser *This = ACTIVEOBJ_THIS(iface);
return IWebBrowser2_AddRef(WEBBROWSER2(This));
return IWebBrowser2_AddRef(&This->IWebBrowser2_iface);
}
static ULONG WINAPI InPlaceActiveObject_Release(IOleInPlaceActiveObject *iface)
{
WebBrowser *This = ACTIVEOBJ_THIS(iface);
return IWebBrowser2_Release(WEBBROWSER2(This));
return IWebBrowser2_Release(&This->IWebBrowser2_iface);
}
static HRESULT WINAPI InPlaceActiveObject_GetWindow(IOleInPlaceActiveObject *iface,
@ -881,19 +881,19 @@ static HRESULT WINAPI WBOleCommandTarget_QueryInterface(IOleCommandTarget *iface
REFIID riid, void **ppv)
{
WebBrowser *This = OLECMD_THIS(iface);
return IWebBrowser2_QueryInterface(WEBBROWSER(This), riid, ppv);
return IWebBrowser2_QueryInterface(&This->IWebBrowser2_iface, riid, ppv);
}
static ULONG WINAPI WBOleCommandTarget_AddRef(IOleCommandTarget *iface)
{
WebBrowser *This = OLECMD_THIS(iface);
return IWebBrowser2_AddRef(WEBBROWSER(This));
return IWebBrowser2_AddRef(&This->IWebBrowser2_iface);
}
static ULONG WINAPI WBOleCommandTarget_Release(IOleCommandTarget *iface)
{
WebBrowser *This = OLECMD_THIS(iface);
return IWebBrowser2_Release(WEBBROWSER(This));
return IWebBrowser2_Release(&This->IWebBrowser2_iface);
}
static HRESULT WINAPI WBOleCommandTarget_QueryStatus(IOleCommandTarget *iface,

View File

@ -34,19 +34,19 @@ static HRESULT WINAPI PersistStorage_QueryInterface(IPersistStorage *iface,
REFIID riid, LPVOID *ppobj)
{
WebBrowser *This = PERSTORAGE_THIS(iface);
return IWebBrowser_QueryInterface(WEBBROWSER(This), riid, ppobj);
return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj);
}
static ULONG WINAPI PersistStorage_AddRef(IPersistStorage *iface)
{
WebBrowser *This = PERSTORAGE_THIS(iface);
return IWebBrowser_AddRef(WEBBROWSER(This));
return IWebBrowser_AddRef(&This->IWebBrowser2_iface);
}
static ULONG WINAPI PersistStorage_Release(IPersistStorage *iface)
{
WebBrowser *This = PERSTORAGE_THIS(iface);
return IWebBrowser_Release(WEBBROWSER(This));
return IWebBrowser_Release(&This->IWebBrowser2_iface);
}
static HRESULT WINAPI PersistStorage_GetClassID(IPersistStorage *iface, CLSID *pClassID)
@ -115,19 +115,19 @@ static HRESULT WINAPI PersistMemory_QueryInterface(IPersistMemory *iface,
REFIID riid, LPVOID *ppobj)
{
WebBrowser *This = PERMEMORY_THIS(iface);
return IWebBrowser_QueryInterface(WEBBROWSER(This), riid, ppobj);
return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj);
}
static ULONG WINAPI PersistMemory_AddRef(IPersistMemory *iface)
{
WebBrowser *This = PERMEMORY_THIS(iface);
return IWebBrowser_AddRef(WEBBROWSER(This));
return IWebBrowser_AddRef(&This->IWebBrowser2_iface);
}
static ULONG WINAPI PersistMemory_Release(IPersistMemory *iface)
{
WebBrowser *This = PERMEMORY_THIS(iface);
return IWebBrowser_Release(WEBBROWSER(This));
return IWebBrowser_Release(&This->IWebBrowser2_iface);
}
static HRESULT WINAPI PersistMemory_GetClassID(IPersistMemory *iface, CLSID *pClassID)
@ -196,19 +196,19 @@ static HRESULT WINAPI PersistStreamInit_QueryInterface(IPersistStreamInit *iface
REFIID riid, LPVOID *ppobj)
{
WebBrowser *This = PERSTRINIT_THIS(iface);
return IWebBrowser_QueryInterface(WEBBROWSER(This), riid, ppobj);
return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj);
}
static ULONG WINAPI PersistStreamInit_AddRef(IPersistStreamInit *iface)
{
WebBrowser *This = PERSTRINIT_THIS(iface);
return IWebBrowser_AddRef(WEBBROWSER(This));
return IWebBrowser_AddRef(&This->IWebBrowser2_iface);
}
static ULONG WINAPI PersistStreamInit_Release(IPersistStreamInit *iface)
{
WebBrowser *This = PERSTRINIT_THIS(iface);
return IWebBrowser_Release(WEBBROWSER(This));
return IWebBrowser_Release(&This->IWebBrowser2_iface);
}
static HRESULT WINAPI PersistStreamInit_GetClassID(IPersistStreamInit *iface, CLSID *pClassID)

View File

@ -135,9 +135,7 @@ struct DocHost {
};
struct WebBrowser {
/* Interfaces available via WebBrowser object */
const IWebBrowser2Vtbl *lpWebBrowser2Vtbl;
IWebBrowser2 IWebBrowser2_iface;
const IOleObjectVtbl *lpOleObjectVtbl;
const IOleInPlaceObjectVtbl *lpOleInPlaceObjectVtbl;
const IOleControlVtbl *lpOleControlVtbl;

View File

@ -31,19 +31,19 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
static HRESULT WINAPI ViewObject_QueryInterface(IViewObject2 *iface, REFIID riid, void **ppv)
{
WebBrowser *This = VIEWOBJ_THIS(iface);
return IWebBrowser2_QueryInterface(WEBBROWSER(This), riid, ppv);
return IWebBrowser2_QueryInterface(&This->IWebBrowser2_iface, riid, ppv);
}
static ULONG WINAPI ViewObject_AddRef(IViewObject2 *iface)
{
WebBrowser *This = VIEWOBJ_THIS(iface);
return IWebBrowser2_AddRef(WEBBROWSER(This));
return IWebBrowser2_AddRef(&This->IWebBrowser2_iface);
}
static ULONG WINAPI ViewObject_Release(IViewObject2 *iface)
{
WebBrowser *This = VIEWOBJ_THIS(iface);
return IWebBrowser2_Release(WEBBROWSER(This));
return IWebBrowser2_Release(&This->IWebBrowser2_iface);
}
static HRESULT WINAPI ViewObject_Draw(IViewObject2 *iface, DWORD dwDrawAspect,
@ -137,19 +137,19 @@ void WebBrowser_ViewObject_Init(WebBrowser *This)
static HRESULT WINAPI DataObject_QueryInterface(LPDATAOBJECT iface, REFIID riid, LPVOID * ppvObj)
{
WebBrowser *This = DATAOBJ_THIS(iface);
return IWebBrowser2_QueryInterface(WEBBROWSER(This), riid, ppvObj);
return IWebBrowser2_QueryInterface(&This->IWebBrowser2_iface, riid, ppvObj);
}
static ULONG WINAPI DataObject_AddRef(LPDATAOBJECT iface)
{
WebBrowser *This = DATAOBJ_THIS(iface);
return IWebBrowser2_AddRef(WEBBROWSER(This));
return IWebBrowser2_AddRef(&This->IWebBrowser2_iface);
}
static ULONG WINAPI DataObject_Release(LPDATAOBJECT iface)
{
WebBrowser *This = DATAOBJ_THIS(iface);
return IWebBrowser2_Release(WEBBROWSER(This));
return IWebBrowser2_Release(&This->IWebBrowser2_iface);
}
static HRESULT WINAPI DataObject_GetData(LPDATAOBJECT iface, LPFORMATETC pformatetcIn, STGMEDIUM *pmedium)

View File

@ -26,15 +26,14 @@
WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
/**********************************************************************
* Implement the IWebBrowser interface
*/
#define WEBBROWSER_THIS(iface) DEFINE_THIS(WebBrowser, WebBrowser2, iface)
static inline WebBrowser *impl_from_IWebBrowser2(IWebBrowser2 *iface)
{
return (WebBrowser*)((char*)iface - FIELD_OFFSET(WebBrowser, IWebBrowser2_iface));
}
static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid, LPVOID *ppv)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
if (ppv == NULL)
return E_POINTER;
@ -42,19 +41,19 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
if(IsEqualGUID(&IID_IUnknown, riid)) {
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
*ppv = WEBBROWSER(This);
*ppv = &This->IWebBrowser2_iface;
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
*ppv = WEBBROWSER(This);
*ppv = &This->IWebBrowser2_iface;
}else if(IsEqualGUID(&IID_IWebBrowser, riid)) {
TRACE("(%p)->(IID_IWebBrowser %p)\n", This, ppv);
*ppv = WEBBROWSER(This);
*ppv = &This->IWebBrowser2_iface;
}else if(IsEqualGUID(&IID_IWebBrowserApp, riid)) {
TRACE("(%p)->(IID_IWebBrowserApp %p)\n", This, ppv);
*ppv = WEBBROWSER(This);
*ppv = &This->IWebBrowser2_iface;
}else if(IsEqualGUID(&IID_IWebBrowser2, riid)) {
TRACE("(%p)->(IID_IWebBrowser2 %p)\n", This, ppv);
*ppv = WEBBROWSER(This);
*ppv = &This->IWebBrowser2_iface;
}else if(IsEqualGUID(&IID_IOleObject, riid)) {
TRACE("(%p)->(IID_IOleObject %p)\n", This, ppv);
*ppv = OLEOBJ(This);
@ -151,7 +150,7 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
static ULONG WINAPI WebBrowser_AddRef(IWebBrowser2 *iface)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
LONG ref = InterlockedIncrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
return ref;
@ -159,7 +158,7 @@ static ULONG WINAPI WebBrowser_AddRef(IWebBrowser2 *iface)
static ULONG WINAPI WebBrowser_Release(IWebBrowser2 *iface)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
LONG ref = InterlockedDecrement(&This->ref);
TRACE("(%p) ref=%d\n", This, ref);
@ -182,7 +181,7 @@ static ULONG WINAPI WebBrowser_Release(IWebBrowser2 *iface)
/* IDispatch methods */
static HRESULT WINAPI WebBrowser_GetTypeInfoCount(IWebBrowser2 *iface, UINT *pctinfo)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pctinfo);
@ -193,7 +192,7 @@ static HRESULT WINAPI WebBrowser_GetTypeInfoCount(IWebBrowser2 *iface, UINT *pct
static HRESULT WINAPI WebBrowser_GetTypeInfo(IWebBrowser2 *iface, UINT iTInfo, LCID lcid,
LPTYPEINFO *ppTInfo)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
ITypeInfo *typeinfo;
HRESULT hres;
@ -212,7 +211,7 @@ static HRESULT WINAPI WebBrowser_GetIDsOfNames(IWebBrowser2 *iface, REFIID riid,
LPOLESTR *rgszNames, UINT cNames,
LCID lcid, DISPID *rgDispId)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
ITypeInfo *typeinfo;
HRESULT hres;
@ -231,7 +230,7 @@ static HRESULT WINAPI WebBrowser_Invoke(IWebBrowser2 *iface, DISPID dispIdMember
DISPPARAMS *pDispParams, VARIANT *pVarResult,
EXCEPINFO *pExepInfo, UINT *puArgErr)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
ITypeInfo *typeinfo;
HRESULT hres;
@ -242,35 +241,35 @@ static HRESULT WINAPI WebBrowser_Invoke(IWebBrowser2 *iface, DISPID dispIdMember
if(FAILED(hres))
return hres;
return ITypeInfo_Invoke(typeinfo, WEBBROWSER2(This), dispIdMember, wFlags, pDispParams,
pVarResult, pExepInfo, puArgErr);
return ITypeInfo_Invoke(typeinfo, &This->IWebBrowser2_iface, dispIdMember, wFlags, pDispParams,
pVarResult, pExepInfo, puArgErr);
}
/* IWebBrowser methods */
static HRESULT WINAPI WebBrowser_GoBack(IWebBrowser2 *iface)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)\n", This);
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_GoForward(IWebBrowser2 *iface)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)\n", This);
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_GoHome(IWebBrowser2 *iface)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)\n", This);
return go_home(&This->doc_host);
}
static HRESULT WINAPI WebBrowser_GoSearch(IWebBrowser2 *iface)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)\n", This);
return E_NOTIMPL;
}
@ -279,7 +278,7 @@ static HRESULT WINAPI WebBrowser_Navigate(IWebBrowser2 *iface, BSTR szUrl,
VARIANT *Flags, VARIANT *TargetFrameName,
VARIANT *PostData, VARIANT *Headers)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%s %s %s %s %s)\n", This, debugstr_w(szUrl), debugstr_variant(Flags),
debugstr_variant(TargetFrameName), debugstr_variant(PostData),
@ -290,56 +289,56 @@ static HRESULT WINAPI WebBrowser_Navigate(IWebBrowser2 *iface, BSTR szUrl,
static HRESULT WINAPI WebBrowser_Refresh(IWebBrowser2 *iface)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)\n", This);
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_Refresh2(IWebBrowser2 *iface, VARIANT *Level)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%s)\n", This, debugstr_variant(Level));
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_Stop(IWebBrowser2 *iface)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)\n", This);
return S_OK;
}
static HRESULT WINAPI WebBrowser_get_Application(IWebBrowser2 *iface, IDispatch **ppDisp)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, ppDisp);
if(!ppDisp)
return E_POINTER;
*ppDisp = (IDispatch*)WEBBROWSER2(This);
*ppDisp = (IDispatch*)&This->IWebBrowser2_iface;
IDispatch_AddRef(*ppDisp);
return S_OK;
}
static HRESULT WINAPI WebBrowser_get_Parent(IWebBrowser2 *iface, IDispatch **ppDisp)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%p)\n", This, ppDisp);
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_get_Container(IWebBrowser2 *iface, IDispatch **ppDisp)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%p)\n", This, ppDisp);
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_get_Document(IWebBrowser2 *iface, IDispatch **ppDisp)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
IDispatch *disp = NULL;
TRACE("(%p)->(%p)\n", This, ppDisp);
@ -367,21 +366,21 @@ static HRESULT WINAPI WebBrowser_get_Document(IWebBrowser2 *iface, IDispatch **p
static HRESULT WINAPI WebBrowser_get_TopLevelContainer(IWebBrowser2 *iface, VARIANT_BOOL *pBool)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%p)\n", This, pBool);
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_get_Type(IWebBrowser2 *iface, BSTR *Type)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%p)\n", This, Type);
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_get_Left(IWebBrowser2 *iface, LONG *pl)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pl);
@ -391,7 +390,7 @@ static HRESULT WINAPI WebBrowser_get_Left(IWebBrowser2 *iface, LONG *pl)
static HRESULT WINAPI WebBrowser_put_Left(IWebBrowser2 *iface, LONG Left)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
RECT rect;
TRACE("(%p)->(%d)\n", This, Left);
@ -409,7 +408,7 @@ static HRESULT WINAPI WebBrowser_put_Left(IWebBrowser2 *iface, LONG Left)
static HRESULT WINAPI WebBrowser_get_Top(IWebBrowser2 *iface, LONG *pl)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pl);
@ -419,7 +418,7 @@ static HRESULT WINAPI WebBrowser_get_Top(IWebBrowser2 *iface, LONG *pl)
static HRESULT WINAPI WebBrowser_put_Top(IWebBrowser2 *iface, LONG Top)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
RECT rect;
TRACE("(%p)->(%d)\n", This, Top);
@ -437,7 +436,7 @@ static HRESULT WINAPI WebBrowser_put_Top(IWebBrowser2 *iface, LONG Top)
static HRESULT WINAPI WebBrowser_get_Width(IWebBrowser2 *iface, LONG *pl)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pl);
@ -447,7 +446,7 @@ static HRESULT WINAPI WebBrowser_get_Width(IWebBrowser2 *iface, LONG *pl)
static HRESULT WINAPI WebBrowser_put_Width(IWebBrowser2 *iface, LONG Width)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
RECT rect;
TRACE("(%p)->(%d)\n", This, Width);
@ -465,7 +464,7 @@ static HRESULT WINAPI WebBrowser_put_Width(IWebBrowser2 *iface, LONG Width)
static HRESULT WINAPI WebBrowser_get_Height(IWebBrowser2 *iface, LONG *pl)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pl);
@ -475,7 +474,7 @@ static HRESULT WINAPI WebBrowser_get_Height(IWebBrowser2 *iface, LONG *pl)
static HRESULT WINAPI WebBrowser_put_Height(IWebBrowser2 *iface, LONG Height)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
RECT rect;
TRACE("(%p)->(%d)\n", This, Height);
@ -493,14 +492,14 @@ static HRESULT WINAPI WebBrowser_put_Height(IWebBrowser2 *iface, LONG Height)
static HRESULT WINAPI WebBrowser_get_LocationName(IWebBrowser2 *iface, BSTR *LocationName)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%p)\n", This, LocationName);
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_get_LocationURL(IWebBrowser2 *iface, BSTR *LocationURL)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%p)\n", This, LocationURL);
@ -516,7 +515,7 @@ static HRESULT WINAPI WebBrowser_get_LocationURL(IWebBrowser2 *iface, BSTR *Loca
static HRESULT WINAPI WebBrowser_get_Busy(IWebBrowser2 *iface, VARIANT_BOOL *pBool)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pBool);
@ -526,7 +525,7 @@ static HRESULT WINAPI WebBrowser_get_Busy(IWebBrowser2 *iface, VARIANT_BOOL *pBo
static HRESULT WINAPI WebBrowser_Quit(IWebBrowser2 *iface)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)\n", This);
@ -536,21 +535,21 @@ static HRESULT WINAPI WebBrowser_Quit(IWebBrowser2 *iface)
static HRESULT WINAPI WebBrowser_ClientToWindow(IWebBrowser2 *iface, int *pcx, int *pcy)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%p %p)\n", This, pcx, pcy);
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_PutProperty(IWebBrowser2 *iface, BSTR szProperty, VARIANT vtValue)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%s %s)\n", This, debugstr_w(szProperty), debugstr_variant(&vtValue));
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_GetProperty(IWebBrowser2 *iface, BSTR szProperty, VARIANT *pvtValue)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%s %s)\n", This, debugstr_w(szProperty), debugstr_variant(pvtValue));
return E_NOTIMPL;
}
@ -559,7 +558,7 @@ static HRESULT WINAPI WebBrowser_get_Name(IWebBrowser2 *iface, BSTR *Name)
{
static const WCHAR sName[] = {'M','i','c','r','o','s','o','f','t',' ','W','e','b',
' ','B','r','o','w','s','e','r',' ','C','o','n','t','r','o','l',0};
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, Name);
@ -570,7 +569,7 @@ static HRESULT WINAPI WebBrowser_get_Name(IWebBrowser2 *iface, BSTR *Name)
static HRESULT WINAPI WebBrowser_get_HWND(IWebBrowser2 *iface, LONG *pHWND)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pHWND);
@ -581,21 +580,21 @@ static HRESULT WINAPI WebBrowser_get_HWND(IWebBrowser2 *iface, LONG *pHWND)
static HRESULT WINAPI WebBrowser_get_FullName(IWebBrowser2 *iface, BSTR *FullName)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%p)\n", This, FullName);
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_get_Path(IWebBrowser2 *iface, BSTR *Path)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%p)\n", This, Path);
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_get_Visible(IWebBrowser2 *iface, VARIANT_BOOL *pBool)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pBool);
@ -605,7 +604,7 @@ static HRESULT WINAPI WebBrowser_get_Visible(IWebBrowser2 *iface, VARIANT_BOOL *
static HRESULT WINAPI WebBrowser_put_Visible(IWebBrowser2 *iface, VARIANT_BOOL Value)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
VARIANTARG arg;
DISPPARAMS dispparams = {&arg, NULL, 1, 0};
@ -622,7 +621,7 @@ static HRESULT WINAPI WebBrowser_put_Visible(IWebBrowser2 *iface, VARIANT_BOOL V
static HRESULT WINAPI WebBrowser_get_StatusBar(IWebBrowser2 *iface, VARIANT_BOOL *pBool)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pBool);
@ -632,7 +631,7 @@ static HRESULT WINAPI WebBrowser_get_StatusBar(IWebBrowser2 *iface, VARIANT_BOOL
static HRESULT WINAPI WebBrowser_put_StatusBar(IWebBrowser2 *iface, VARIANT_BOOL Value)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
VARIANTARG arg;
DISPPARAMS dispparams = {&arg, NULL, 1, 0};
@ -652,21 +651,21 @@ static HRESULT WINAPI WebBrowser_put_StatusBar(IWebBrowser2 *iface, VARIANT_BOOL
static HRESULT WINAPI WebBrowser_get_StatusText(IWebBrowser2 *iface, BSTR *StatusText)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%p)\n", This, StatusText);
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_put_StatusText(IWebBrowser2 *iface, BSTR StatusText)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%s)\n", This, debugstr_w(StatusText));
return E_NOTIMPL;
}
static HRESULT WINAPI WebBrowser_get_ToolBar(IWebBrowser2 *iface, int *Value)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, Value);
@ -676,7 +675,7 @@ static HRESULT WINAPI WebBrowser_get_ToolBar(IWebBrowser2 *iface, int *Value)
static HRESULT WINAPI WebBrowser_put_ToolBar(IWebBrowser2 *iface, int Value)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
VARIANTARG arg;
DISPPARAMS dispparams = {&arg, NULL, 1, 0};
@ -696,7 +695,7 @@ static HRESULT WINAPI WebBrowser_put_ToolBar(IWebBrowser2 *iface, int Value)
static HRESULT WINAPI WebBrowser_get_MenuBar(IWebBrowser2 *iface, VARIANT_BOOL *Value)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, Value);
@ -706,7 +705,7 @@ static HRESULT WINAPI WebBrowser_get_MenuBar(IWebBrowser2 *iface, VARIANT_BOOL *
static HRESULT WINAPI WebBrowser_put_MenuBar(IWebBrowser2 *iface, VARIANT_BOOL Value)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
VARIANTARG arg;
DISPPARAMS dispparams = {&arg, NULL, 1, 0};
@ -726,7 +725,7 @@ static HRESULT WINAPI WebBrowser_put_MenuBar(IWebBrowser2 *iface, VARIANT_BOOL V
static HRESULT WINAPI WebBrowser_get_FullScreen(IWebBrowser2 *iface, VARIANT_BOOL *pbFullScreen)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pbFullScreen);
@ -736,7 +735,7 @@ static HRESULT WINAPI WebBrowser_get_FullScreen(IWebBrowser2 *iface, VARIANT_BOO
static HRESULT WINAPI WebBrowser_put_FullScreen(IWebBrowser2 *iface, VARIANT_BOOL bFullScreen)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
VARIANTARG arg;
DISPPARAMS dispparams = {&arg, NULL, 1, 0};
@ -757,7 +756,7 @@ static HRESULT WINAPI WebBrowser_put_FullScreen(IWebBrowser2 *iface, VARIANT_BOO
static HRESULT WINAPI WebBrowser_Navigate2(IWebBrowser2 *iface, VARIANT *URL, VARIANT *Flags,
VARIANT *TargetFrameName, VARIANT *PostData, VARIANT *Headers)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
LPCWSTR url;
TRACE("(%p)->(%s %s %s %s %s)\n", This, debugstr_variant(URL), debugstr_variant(Flags),
@ -787,7 +786,7 @@ static HRESULT WINAPI WebBrowser_Navigate2(IWebBrowser2 *iface, VARIANT *URL, VA
static HRESULT WINAPI WebBrowser_QueryStatusWB(IWebBrowser2 *iface, OLECMDID cmdID, OLECMDF *pcmdf)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%d %p)\n", This, cmdID, pcmdf);
return E_NOTIMPL;
}
@ -795,7 +794,7 @@ static HRESULT WINAPI WebBrowser_QueryStatusWB(IWebBrowser2 *iface, OLECMDID cmd
static HRESULT WINAPI WebBrowser_ExecWB(IWebBrowser2 *iface, OLECMDID cmdID,
OLECMDEXECOPT cmdexecopt, VARIANT *pvaIn, VARIANT *pvaOut)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%d %d %s %p)\n", This, cmdID, cmdexecopt, debugstr_variant(pvaIn), pvaOut);
return E_NOTIMPL;
}
@ -803,7 +802,7 @@ static HRESULT WINAPI WebBrowser_ExecWB(IWebBrowser2 *iface, OLECMDID cmdID,
static HRESULT WINAPI WebBrowser_ShowBrowserBar(IWebBrowser2 *iface, VARIANT *pvaClsid,
VARIANT *pvarShow, VARIANT *pvarSize)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%s %s %s)\n", This, debugstr_variant(pvaClsid), debugstr_variant(pvarShow),
debugstr_variant(pvarSize));
return E_NOTIMPL;
@ -811,7 +810,7 @@ static HRESULT WINAPI WebBrowser_ShowBrowserBar(IWebBrowser2 *iface, VARIANT *pv
static HRESULT WINAPI WebBrowser_get_ReadyState(IWebBrowser2 *iface, READYSTATE *lpReadyState)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, lpReadyState);
@ -821,7 +820,7 @@ static HRESULT WINAPI WebBrowser_get_ReadyState(IWebBrowser2 *iface, READYSTATE
static HRESULT WINAPI WebBrowser_get_Offline(IWebBrowser2 *iface, VARIANT_BOOL *pbOffline)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pbOffline);
@ -831,7 +830,7 @@ static HRESULT WINAPI WebBrowser_get_Offline(IWebBrowser2 *iface, VARIANT_BOOL *
static HRESULT WINAPI WebBrowser_put_Offline(IWebBrowser2 *iface, VARIANT_BOOL bOffline)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%x)\n", This, bOffline);
@ -841,7 +840,7 @@ static HRESULT WINAPI WebBrowser_put_Offline(IWebBrowser2 *iface, VARIANT_BOOL b
static HRESULT WINAPI WebBrowser_get_Silent(IWebBrowser2 *iface, VARIANT_BOOL *pbSilent)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pbSilent);
@ -851,7 +850,7 @@ static HRESULT WINAPI WebBrowser_get_Silent(IWebBrowser2 *iface, VARIANT_BOOL *p
static HRESULT WINAPI WebBrowser_put_Silent(IWebBrowser2 *iface, VARIANT_BOOL bSilent)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%x)\n", This, bSilent);
@ -862,7 +861,7 @@ static HRESULT WINAPI WebBrowser_put_Silent(IWebBrowser2 *iface, VARIANT_BOOL bS
static HRESULT WINAPI WebBrowser_get_RegisterAsBrowser(IWebBrowser2 *iface,
VARIANT_BOOL *pbRegister)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%p)\n", This, pbRegister);
@ -873,7 +872,7 @@ static HRESULT WINAPI WebBrowser_get_RegisterAsBrowser(IWebBrowser2 *iface,
static HRESULT WINAPI WebBrowser_put_RegisterAsBrowser(IWebBrowser2 *iface,
VARIANT_BOOL bRegister)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%x)\n", This, bRegister);
@ -884,7 +883,7 @@ static HRESULT WINAPI WebBrowser_put_RegisterAsBrowser(IWebBrowser2 *iface,
static HRESULT WINAPI WebBrowser_get_RegisterAsDropTarget(IWebBrowser2 *iface,
VARIANT_BOOL *pbRegister)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%p)\n", This, pbRegister);
*pbRegister=0;
return S_OK;
@ -893,14 +892,14 @@ static HRESULT WINAPI WebBrowser_get_RegisterAsDropTarget(IWebBrowser2 *iface,
static HRESULT WINAPI WebBrowser_put_RegisterAsDropTarget(IWebBrowser2 *iface,
VARIANT_BOOL bRegister)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
FIXME("(%p)->(%x)\n", This, bRegister);
return S_OK;
}
static HRESULT WINAPI WebBrowser_get_TheaterMode(IWebBrowser2 *iface, VARIANT_BOOL *pbRegister)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, pbRegister);
@ -910,7 +909,7 @@ static HRESULT WINAPI WebBrowser_get_TheaterMode(IWebBrowser2 *iface, VARIANT_BO
static HRESULT WINAPI WebBrowser_put_TheaterMode(IWebBrowser2 *iface, VARIANT_BOOL bRegister)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
VARIANTARG arg;
DISPPARAMS dispparams = {&arg, NULL, 1, 0};
@ -930,7 +929,7 @@ static HRESULT WINAPI WebBrowser_put_TheaterMode(IWebBrowser2 *iface, VARIANT_BO
static HRESULT WINAPI WebBrowser_get_AddressBar(IWebBrowser2 *iface, VARIANT_BOOL *Value)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, Value);
@ -940,7 +939,7 @@ static HRESULT WINAPI WebBrowser_get_AddressBar(IWebBrowser2 *iface, VARIANT_BOO
static HRESULT WINAPI WebBrowser_put_AddressBar(IWebBrowser2 *iface, VARIANT_BOOL Value)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
VARIANTARG arg;
DISPPARAMS dispparams = {&arg, NULL, 1, 0};
@ -960,7 +959,7 @@ static HRESULT WINAPI WebBrowser_put_AddressBar(IWebBrowser2 *iface, VARIANT_BOO
static HRESULT WINAPI WebBrowser_get_Resizable(IWebBrowser2 *iface, VARIANT_BOOL *Value)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
TRACE("(%p)->(%p)\n", This, Value);
@ -970,7 +969,7 @@ static HRESULT WINAPI WebBrowser_get_Resizable(IWebBrowser2 *iface, VARIANT_BOOL
static HRESULT WINAPI WebBrowser_put_Resizable(IWebBrowser2 *iface, VARIANT_BOOL Value)
{
WebBrowser *This = WEBBROWSER_THIS(iface);
WebBrowser *This = impl_from_IWebBrowser2(iface);
VARIANTARG arg;
DISPPARAMS dispparams = {&arg, NULL, 1, 0};
@ -986,8 +985,6 @@ static HRESULT WINAPI WebBrowser_put_Resizable(IWebBrowser2 *iface, VARIANT_BOOL
return S_OK;
}
#undef WEBBROWSER_THIS
static const IWebBrowser2Vtbl WebBrowser2Vtbl =
{
WebBrowser_QueryInterface,
@ -1071,38 +1068,19 @@ static HRESULT WINAPI WebBrowser_IServiceProvider_QueryInterface(IServiceProvide
REFIID riid, LPVOID *ppv)
{
WebBrowser *This = SERVPROV_THIS(iface);
if (ppv == NULL)
return E_POINTER;
*ppv = NULL;
if(IsEqualGUID(&IID_IUnknown, riid)) {
*ppv = WEBBROWSER(This);
TRACE("(%p)->(IID_IUnknown %p)\n", This, ppv);
}else if(IsEqualGUID(&IID_IServiceProvider, riid)) {
*ppv = WEBBROWSER(This);
TRACE("(%p)->(IID_IServiceProvider %p)\n", This, ppv);
}
if(*ppv) {
IUnknown_AddRef((IUnknown*)*ppv);
return S_OK;
}
FIXME("(%p)->(%s %p) interface not supported\n", This, debugstr_guid(riid), ppv);
return E_NOINTERFACE;
return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppv);
}
static ULONG WINAPI WebBrowser_IServiceProvider_AddRef(IServiceProvider *iface)
{
WebBrowser *This = SERVPROV_THIS(iface);
return IWebBrowser_AddRef(WEBBROWSER(This));
return IWebBrowser_AddRef(&This->IWebBrowser2_iface);
}
static ULONG WINAPI WebBrowser_IServiceProvider_Release(IServiceProvider *iface)
{
WebBrowser *This = SERVPROV_THIS(iface);
return IWebBrowser_Release(WEBBROWSER(This));
return IWebBrowser_Release(&This->IWebBrowser2_iface);
}
static HRESULT STDMETHODCALLTYPE WebBrowser_IServiceProvider_QueryService(IServiceProvider *iface,
@ -1200,12 +1178,12 @@ static HRESULT WebBrowser_Create(INT version, IUnknown *pOuter, REFIID riid, voi
ret = heap_alloc_zero(sizeof(WebBrowser));
ret->lpWebBrowser2Vtbl = &WebBrowser2Vtbl;
ret->IWebBrowser2_iface.lpVtbl = &WebBrowser2Vtbl;
ret->lpServiceProviderVtbl = &ServiceProviderVtbl;
ret->ref = 1;
ret->version = version;
DocHost_Init(&ret->doc_host, (IDispatch*)WEBBROWSER2(ret), &DocHostContainerVtbl);
DocHost_Init(&ret->doc_host, (IDispatch*)&ret->IWebBrowser2_iface, &DocHostContainerVtbl);
ret->visible = VARIANT_TRUE;
ret->menu_bar = VARIANT_TRUE;
@ -1219,13 +1197,13 @@ static HRESULT WebBrowser_Create(INT version, IUnknown *pOuter, REFIID riid, voi
WebBrowser_Persist_Init(ret);
WebBrowser_ClassInfo_Init(ret);
HlinkFrame_Init(&ret->hlink_frame, (IUnknown*)WEBBROWSER2(ret), &ret->doc_host);
HlinkFrame_Init(&ret->hlink_frame, (IUnknown*)&ret->IWebBrowser2_iface, &ret->doc_host);
SHDOCVW_LockModule();
hres = IWebBrowser_QueryInterface(WEBBROWSER(ret), riid, ppv);
hres = IWebBrowser_QueryInterface(&ret->IWebBrowser2_iface, riid, ppv);
IWebBrowser2_Release(WEBBROWSER(ret));
IWebBrowser2_Release(&ret->IWebBrowser2_iface);
return hres;
}