From 878c5d043e6892d06e34b20d1ac5d051d513cd09 Mon Sep 17 00:00:00 2001 From: Jacek Caban Date: Sat, 13 Nov 2010 17:47:05 +0100 Subject: [PATCH] shdocvw: Get rid of WEBBROWSER_THIS macro and WebBrowser to IWebBowser2 casts. --- dlls/shdocvw/classinfo.c | 6 +- dlls/shdocvw/oleobject.c | 34 +++---- dlls/shdocvw/persist.c | 18 ++-- dlls/shdocvw/shdocvw.h | 4 +- dlls/shdocvw/view.c | 12 +-- dlls/shdocvw/webbrowser.c | 204 +++++++++++++++++--------------------- 6 files changed, 127 insertions(+), 151 deletions(-) diff --git a/dlls/shdocvw/classinfo.c b/dlls/shdocvw/classinfo.c index f054398cd92..ee104e76bea 100644 --- a/dlls/shdocvw/classinfo.c +++ b/dlls/shdocvw/classinfo.c @@ -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) diff --git a/dlls/shdocvw/oleobject.c b/dlls/shdocvw/oleobject.c index 933b5629cea..8cdb53ab9d7 100644 --- a/dlls/shdocvw/oleobject.c +++ b/dlls/shdocvw/oleobject.c @@ -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, diff --git a/dlls/shdocvw/persist.c b/dlls/shdocvw/persist.c index 6c4f1e593be..febb82ce24d 100644 --- a/dlls/shdocvw/persist.c +++ b/dlls/shdocvw/persist.c @@ -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) diff --git a/dlls/shdocvw/shdocvw.h b/dlls/shdocvw/shdocvw.h index 61dc63fb0e0..9bdaede5e34 100644 --- a/dlls/shdocvw/shdocvw.h +++ b/dlls/shdocvw/shdocvw.h @@ -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; diff --git a/dlls/shdocvw/view.c b/dlls/shdocvw/view.c index 9ee7c067333..00d4cdeaacf 100644 --- a/dlls/shdocvw/view.c +++ b/dlls/shdocvw/view.c @@ -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) diff --git a/dlls/shdocvw/webbrowser.c b/dlls/shdocvw/webbrowser.c index ac45d858b45..c11e7b3767e 100644 --- a/dlls/shdocvw/webbrowser.c +++ b/dlls/shdocvw/webbrowser.c @@ -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; }