Commit 12be1988 authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

shdocvw: Get rid of remaining WebBrowser object's *_THIS macros.

parent 7149f04b
...@@ -32,30 +32,33 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw); ...@@ -32,30 +32,33 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
* Implement the IProvideClassInfo2 interface * Implement the IProvideClassInfo2 interface
*/ */
#define CLASSINFO_THIS(iface) DEFINE_THIS(WebBrowser, ProvideClassInfo, iface) static inline WebBrowser *impl_from_IProvideClassInfo2(IProvideClassInfo2 *iface)
{
return (WebBrowser*)((char*)iface - FIELD_OFFSET(WebBrowser, IProvideClassInfo2_iface));
}
static HRESULT WINAPI ProvideClassInfo_QueryInterface(IProvideClassInfo2 *iface, static HRESULT WINAPI ProvideClassInfo_QueryInterface(IProvideClassInfo2 *iface,
REFIID riid, LPVOID *ppobj) REFIID riid, LPVOID *ppobj)
{ {
WebBrowser *This = CLASSINFO_THIS(iface); WebBrowser *This = impl_from_IProvideClassInfo2(iface);
return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj); return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj);
} }
static ULONG WINAPI ProvideClassInfo_AddRef(IProvideClassInfo2 *iface) static ULONG WINAPI ProvideClassInfo_AddRef(IProvideClassInfo2 *iface)
{ {
WebBrowser *This = CLASSINFO_THIS(iface); WebBrowser *This = impl_from_IProvideClassInfo2(iface);
return IWebBrowser_AddRef(&This->IWebBrowser2_iface); return IWebBrowser_AddRef(&This->IWebBrowser2_iface);
} }
static ULONG WINAPI ProvideClassInfo_Release(IProvideClassInfo2 *iface) static ULONG WINAPI ProvideClassInfo_Release(IProvideClassInfo2 *iface)
{ {
WebBrowser *This = CLASSINFO_THIS(iface); WebBrowser *This = impl_from_IProvideClassInfo2(iface);
return IWebBrowser_Release(&This->IWebBrowser2_iface); return IWebBrowser_Release(&This->IWebBrowser2_iface);
} }
static HRESULT WINAPI ProvideClassInfo_GetClassInfo(IProvideClassInfo2 *iface, LPTYPEINFO *ppTI) static HRESULT WINAPI ProvideClassInfo_GetClassInfo(IProvideClassInfo2 *iface, LPTYPEINFO *ppTI)
{ {
WebBrowser *This = CLASSINFO_THIS(iface); WebBrowser *This = impl_from_IProvideClassInfo2(iface);
FIXME("(%p)->(%p)\n", This, ppTI); FIXME("(%p)->(%p)\n", This, ppTI);
return E_NOTIMPL; return E_NOTIMPL;
} }
...@@ -63,7 +66,7 @@ static HRESULT WINAPI ProvideClassInfo_GetClassInfo(IProvideClassInfo2 *iface, L ...@@ -63,7 +66,7 @@ static HRESULT WINAPI ProvideClassInfo_GetClassInfo(IProvideClassInfo2 *iface, L
static HRESULT WINAPI ProvideClassInfo_GetGUID(IProvideClassInfo2 *iface, static HRESULT WINAPI ProvideClassInfo_GetGUID(IProvideClassInfo2 *iface,
DWORD dwGuidKind, GUID *pGUID) DWORD dwGuidKind, GUID *pGUID)
{ {
WebBrowser *This = CLASSINFO_THIS(iface); WebBrowser *This = impl_from_IProvideClassInfo2(iface);
TRACE("(%p)->(%d %p)\n", This, dwGuidKind, pGUID); TRACE("(%p)->(%d %p)\n", This, dwGuidKind, pGUID);
...@@ -81,8 +84,6 @@ static HRESULT WINAPI ProvideClassInfo_GetGUID(IProvideClassInfo2 *iface, ...@@ -81,8 +84,6 @@ static HRESULT WINAPI ProvideClassInfo_GetGUID(IProvideClassInfo2 *iface,
return S_OK; return S_OK;
} }
#undef CLASSINFO_THIS
static const IProvideClassInfo2Vtbl ProvideClassInfoVtbl = static const IProvideClassInfo2Vtbl ProvideClassInfoVtbl =
{ {
ProvideClassInfo_QueryInterface, ProvideClassInfo_QueryInterface,
...@@ -94,5 +95,5 @@ static const IProvideClassInfo2Vtbl ProvideClassInfoVtbl = ...@@ -94,5 +95,5 @@ static const IProvideClassInfo2Vtbl ProvideClassInfoVtbl =
void WebBrowser_ClassInfo_Init(WebBrowser *This) void WebBrowser_ClassInfo_Init(WebBrowser *This)
{ {
This->lpProvideClassInfoVtbl = &ProvideClassInfoVtbl; This->IProvideClassInfo2_iface.lpVtbl = &ProvideClassInfoVtbl;
} }
...@@ -28,51 +28,54 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw); ...@@ -28,51 +28,54 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
* Implement the IPersistStorage interface * Implement the IPersistStorage interface
*/ */
#define PERSTORAGE_THIS(ifce) DEFINE_THIS(WebBrowser, PersistStorage, iface) static inline WebBrowser *impl_from_IPersistStorage(IPersistStorage *iface)
{
return (WebBrowser*)((char*)iface - FIELD_OFFSET(WebBrowser, IPersistStorage_iface));
}
static HRESULT WINAPI PersistStorage_QueryInterface(IPersistStorage *iface, static HRESULT WINAPI PersistStorage_QueryInterface(IPersistStorage *iface,
REFIID riid, LPVOID *ppobj) REFIID riid, LPVOID *ppobj)
{ {
WebBrowser *This = PERSTORAGE_THIS(iface); WebBrowser *This = impl_from_IPersistStorage(iface);
return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj); return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj);
} }
static ULONG WINAPI PersistStorage_AddRef(IPersistStorage *iface) static ULONG WINAPI PersistStorage_AddRef(IPersistStorage *iface)
{ {
WebBrowser *This = PERSTORAGE_THIS(iface); WebBrowser *This = impl_from_IPersistStorage(iface);
return IWebBrowser_AddRef(&This->IWebBrowser2_iface); return IWebBrowser_AddRef(&This->IWebBrowser2_iface);
} }
static ULONG WINAPI PersistStorage_Release(IPersistStorage *iface) static ULONG WINAPI PersistStorage_Release(IPersistStorage *iface)
{ {
WebBrowser *This = PERSTORAGE_THIS(iface); WebBrowser *This = impl_from_IPersistStorage(iface);
return IWebBrowser_Release(&This->IWebBrowser2_iface); return IWebBrowser_Release(&This->IWebBrowser2_iface);
} }
static HRESULT WINAPI PersistStorage_GetClassID(IPersistStorage *iface, CLSID *pClassID) static HRESULT WINAPI PersistStorage_GetClassID(IPersistStorage *iface, CLSID *pClassID)
{ {
WebBrowser *This = PERSTORAGE_THIS(iface); WebBrowser *This = impl_from_IPersistStorage(iface);
FIXME("(%p)->(%p)\n", This, pClassID); FIXME("(%p)->(%p)\n", This, pClassID);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI PersistStorage_IsDirty(IPersistStorage *iface) static HRESULT WINAPI PersistStorage_IsDirty(IPersistStorage *iface)
{ {
WebBrowser *This = PERSTORAGE_THIS(iface); WebBrowser *This = impl_from_IPersistStorage(iface);
FIXME("(%p)\n", This); FIXME("(%p)\n", This);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI PersistStorage_InitNew(IPersistStorage *iface, LPSTORAGE pStg) static HRESULT WINAPI PersistStorage_InitNew(IPersistStorage *iface, LPSTORAGE pStg)
{ {
WebBrowser *This = PERSTORAGE_THIS(iface); WebBrowser *This = impl_from_IPersistStorage(iface);
FIXME("(%p)->(%p)\n", This, pStg); FIXME("(%p)->(%p)\n", This, pStg);
return S_OK; return S_OK;
} }
static HRESULT WINAPI PersistStorage_Load(IPersistStorage *iface, LPSTORAGE pStg) static HRESULT WINAPI PersistStorage_Load(IPersistStorage *iface, LPSTORAGE pStg)
{ {
WebBrowser *This = PERSTORAGE_THIS(iface); WebBrowser *This = impl_from_IPersistStorage(iface);
FIXME("(%p)->(%p)\n", This, pStg); FIXME("(%p)->(%p)\n", This, pStg);
return E_NOTIMPL; return E_NOTIMPL;
} }
...@@ -80,14 +83,14 @@ static HRESULT WINAPI PersistStorage_Load(IPersistStorage *iface, LPSTORAGE pStg ...@@ -80,14 +83,14 @@ static HRESULT WINAPI PersistStorage_Load(IPersistStorage *iface, LPSTORAGE pStg
static HRESULT WINAPI PersistStorage_Save(IPersistStorage *iface, LPSTORAGE pStg, static HRESULT WINAPI PersistStorage_Save(IPersistStorage *iface, LPSTORAGE pStg,
BOOL fSameAsLoad) BOOL fSameAsLoad)
{ {
WebBrowser *This = PERSTORAGE_THIS(iface); WebBrowser *This = impl_from_IPersistStorage(iface);
FIXME("(%p)->(%p %x)\n", This, pStg, fSameAsLoad); FIXME("(%p)->(%p %x)\n", This, pStg, fSameAsLoad);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI PersistStorage_SaveCompleted(IPersistStorage *iface, LPSTORAGE pStgNew) static HRESULT WINAPI PersistStorage_SaveCompleted(IPersistStorage *iface, LPSTORAGE pStgNew)
{ {
WebBrowser *This = PERSTORAGE_THIS(iface); WebBrowser *This = impl_from_IPersistStorage(iface);
FIXME("(%p)->(%p)\n", This, pStgNew); FIXME("(%p)->(%p)\n", This, pStgNew);
return E_NOTIMPL; return E_NOTIMPL;
} }
...@@ -109,51 +112,54 @@ static const IPersistStorageVtbl PersistStorageVtbl = ...@@ -109,51 +112,54 @@ static const IPersistStorageVtbl PersistStorageVtbl =
* Implement the IPersistMemory interface * Implement the IPersistMemory interface
*/ */
#define PERMEMORY_THIS(ifce) DEFINE_THIS(WebBrowser, PersistMemory, iface) static inline WebBrowser *impl_from_IPersistMemory(IPersistMemory *iface)
{
return (WebBrowser*)((char*)iface - FIELD_OFFSET(WebBrowser, IPersistMemory_iface));
}
static HRESULT WINAPI PersistMemory_QueryInterface(IPersistMemory *iface, static HRESULT WINAPI PersistMemory_QueryInterface(IPersistMemory *iface,
REFIID riid, LPVOID *ppobj) REFIID riid, LPVOID *ppobj)
{ {
WebBrowser *This = PERMEMORY_THIS(iface); WebBrowser *This = impl_from_IPersistMemory(iface);
return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj); return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj);
} }
static ULONG WINAPI PersistMemory_AddRef(IPersistMemory *iface) static ULONG WINAPI PersistMemory_AddRef(IPersistMemory *iface)
{ {
WebBrowser *This = PERMEMORY_THIS(iface); WebBrowser *This = impl_from_IPersistMemory(iface);
return IWebBrowser_AddRef(&This->IWebBrowser2_iface); return IWebBrowser_AddRef(&This->IWebBrowser2_iface);
} }
static ULONG WINAPI PersistMemory_Release(IPersistMemory *iface) static ULONG WINAPI PersistMemory_Release(IPersistMemory *iface)
{ {
WebBrowser *This = PERMEMORY_THIS(iface); WebBrowser *This = impl_from_IPersistMemory(iface);
return IWebBrowser_Release(&This->IWebBrowser2_iface); return IWebBrowser_Release(&This->IWebBrowser2_iface);
} }
static HRESULT WINAPI PersistMemory_GetClassID(IPersistMemory *iface, CLSID *pClassID) static HRESULT WINAPI PersistMemory_GetClassID(IPersistMemory *iface, CLSID *pClassID)
{ {
WebBrowser *This = PERMEMORY_THIS(iface); WebBrowser *This = impl_from_IPersistMemory(iface);
FIXME("(%p)->(%p)\n", This, pClassID); FIXME("(%p)->(%p)\n", This, pClassID);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI PersistMemory_IsDirty(IPersistMemory *iface) static HRESULT WINAPI PersistMemory_IsDirty(IPersistMemory *iface)
{ {
WebBrowser *This = PERMEMORY_THIS(iface); WebBrowser *This = impl_from_IPersistMemory(iface);
FIXME("(%p)\n", This); FIXME("(%p)\n", This);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI PersistMemory_InitNew(IPersistMemory *iface) static HRESULT WINAPI PersistMemory_InitNew(IPersistMemory *iface)
{ {
WebBrowser *This = PERMEMORY_THIS(iface); WebBrowser *This = impl_from_IPersistMemory(iface);
FIXME("(%p)\n", This); FIXME("(%p)\n", This);
return S_OK; return S_OK;
} }
static HRESULT WINAPI PersistMemory_Load(IPersistMemory *iface, LPVOID pMem, ULONG cbSize) static HRESULT WINAPI PersistMemory_Load(IPersistMemory *iface, LPVOID pMem, ULONG cbSize)
{ {
WebBrowser *This = PERMEMORY_THIS(iface); WebBrowser *This = impl_from_IPersistMemory(iface);
FIXME("(%p)->(%p %x)\n", This, pMem, cbSize); FIXME("(%p)->(%p %x)\n", This, pMem, cbSize);
return S_OK; return S_OK;
} }
...@@ -161,14 +167,14 @@ static HRESULT WINAPI PersistMemory_Load(IPersistMemory *iface, LPVOID pMem, ULO ...@@ -161,14 +167,14 @@ static HRESULT WINAPI PersistMemory_Load(IPersistMemory *iface, LPVOID pMem, ULO
static HRESULT WINAPI PersistMemory_Save(IPersistMemory *iface, LPVOID pMem, static HRESULT WINAPI PersistMemory_Save(IPersistMemory *iface, LPVOID pMem,
BOOL fClearDirty, ULONG cbSize) BOOL fClearDirty, ULONG cbSize)
{ {
WebBrowser *This = PERMEMORY_THIS(iface); WebBrowser *This = impl_from_IPersistMemory(iface);
FIXME("(%p)->(%p %x %x)\n", This, pMem, fClearDirty, cbSize); FIXME("(%p)->(%p %x %x)\n", This, pMem, fClearDirty, cbSize);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI PersistMemory_GetSizeMax(IPersistMemory *iface, ULONG *pCbSize) static HRESULT WINAPI PersistMemory_GetSizeMax(IPersistMemory *iface, ULONG *pCbSize)
{ {
WebBrowser *This = PERMEMORY_THIS(iface); WebBrowser *This = impl_from_IPersistMemory(iface);
FIXME("(%p)->(%p)\n", This, pCbSize); FIXME("(%p)->(%p)\n", This, pCbSize);
return E_NOTIMPL; return E_NOTIMPL;
} }
...@@ -190,42 +196,45 @@ static const IPersistMemoryVtbl PersistMemoryVtbl = ...@@ -190,42 +196,45 @@ static const IPersistMemoryVtbl PersistMemoryVtbl =
* Implement the IPersistStreamInit interface * Implement the IPersistStreamInit interface
*/ */
#define PERSTRINIT_THIS(iface) DEFINE_THIS(WebBrowser, PersistStreamInit, iface) static inline WebBrowser *impl_from_IPersistStreamInit(IPersistStreamInit *iface)
{
return (WebBrowser*)((char*)iface - FIELD_OFFSET(WebBrowser, IPersistStreamInit_iface));
}
static HRESULT WINAPI PersistStreamInit_QueryInterface(IPersistStreamInit *iface, static HRESULT WINAPI PersistStreamInit_QueryInterface(IPersistStreamInit *iface,
REFIID riid, LPVOID *ppobj) REFIID riid, LPVOID *ppobj)
{ {
WebBrowser *This = PERSTRINIT_THIS(iface); WebBrowser *This = impl_from_IPersistStreamInit(iface);
return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj); return IWebBrowser_QueryInterface(&This->IWebBrowser2_iface, riid, ppobj);
} }
static ULONG WINAPI PersistStreamInit_AddRef(IPersistStreamInit *iface) static ULONG WINAPI PersistStreamInit_AddRef(IPersistStreamInit *iface)
{ {
WebBrowser *This = PERSTRINIT_THIS(iface); WebBrowser *This = impl_from_IPersistStreamInit(iface);
return IWebBrowser_AddRef(&This->IWebBrowser2_iface); return IWebBrowser_AddRef(&This->IWebBrowser2_iface);
} }
static ULONG WINAPI PersistStreamInit_Release(IPersistStreamInit *iface) static ULONG WINAPI PersistStreamInit_Release(IPersistStreamInit *iface)
{ {
WebBrowser *This = PERSTRINIT_THIS(iface); WebBrowser *This = impl_from_IPersistStreamInit(iface);
return IWebBrowser_Release(&This->IWebBrowser2_iface); return IWebBrowser_Release(&This->IWebBrowser2_iface);
} }
static HRESULT WINAPI PersistStreamInit_GetClassID(IPersistStreamInit *iface, CLSID *pClassID) static HRESULT WINAPI PersistStreamInit_GetClassID(IPersistStreamInit *iface, CLSID *pClassID)
{ {
WebBrowser *This = PERSTRINIT_THIS(iface); WebBrowser *This = impl_from_IPersistStreamInit(iface);
return IPersistStorage_GetClassID(PERSTORAGE(This), pClassID); return IPersistStorage_GetClassID(&This->IPersistStorage_iface, pClassID);
} }
static HRESULT WINAPI PersistStreamInit_IsDirty(IPersistStreamInit *iface) static HRESULT WINAPI PersistStreamInit_IsDirty(IPersistStreamInit *iface)
{ {
WebBrowser *This = PERSTRINIT_THIS(iface); WebBrowser *This = impl_from_IPersistStreamInit(iface);
return IPersistStorage_IsDirty(PERSTORAGE(This)); return IPersistStorage_IsDirty(&This->IPersistStorage_iface);
} }
static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, LPSTREAM pStg) static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, LPSTREAM pStg)
{ {
WebBrowser *This = PERSTRINIT_THIS(iface); WebBrowser *This = impl_from_IPersistStreamInit(iface);
FIXME("(%p)->(%p)\n", This, pStg); FIXME("(%p)->(%p)\n", This, pStg);
return S_OK; return S_OK;
} }
...@@ -233,7 +242,7 @@ static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, LPSTREAM ...@@ -233,7 +242,7 @@ static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, LPSTREAM
static HRESULT WINAPI PersistStreamInit_Save(IPersistStreamInit *iface, LPSTREAM pStg, static HRESULT WINAPI PersistStreamInit_Save(IPersistStreamInit *iface, LPSTREAM pStg,
BOOL fSameAsLoad) BOOL fSameAsLoad)
{ {
WebBrowser *This = PERSTRINIT_THIS(iface); WebBrowser *This = impl_from_IPersistStreamInit(iface);
FIXME("(%p)->(%p %x)\n", This, pStg, fSameAsLoad); FIXME("(%p)->(%p %x)\n", This, pStg, fSameAsLoad);
return E_NOTIMPL; return E_NOTIMPL;
} }
...@@ -241,20 +250,18 @@ static HRESULT WINAPI PersistStreamInit_Save(IPersistStreamInit *iface, LPSTREAM ...@@ -241,20 +250,18 @@ static HRESULT WINAPI PersistStreamInit_Save(IPersistStreamInit *iface, LPSTREAM
static HRESULT WINAPI PersistStreamInit_GetSizeMax(IPersistStreamInit *iface, static HRESULT WINAPI PersistStreamInit_GetSizeMax(IPersistStreamInit *iface,
ULARGE_INTEGER *pcbSize) ULARGE_INTEGER *pcbSize)
{ {
WebBrowser *This = PERSTRINIT_THIS(iface); WebBrowser *This = impl_from_IPersistStreamInit(iface);
FIXME("(%p)->(%p)\n", This, pcbSize); FIXME("(%p)->(%p)\n", This, pcbSize);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI PersistStreamInit_InitNew(IPersistStreamInit *iface) static HRESULT WINAPI PersistStreamInit_InitNew(IPersistStreamInit *iface)
{ {
WebBrowser *This = PERSTRINIT_THIS(iface); WebBrowser *This = impl_from_IPersistStreamInit(iface);
FIXME("(%p)\n", This); FIXME("(%p)\n", This);
return S_OK; return S_OK;
} }
#undef PERSTRINIT_THIS
static const IPersistStreamInitVtbl PersistStreamInitVtbl = static const IPersistStreamInitVtbl PersistStreamInitVtbl =
{ {
PersistStreamInit_QueryInterface, PersistStreamInit_QueryInterface,
...@@ -270,7 +277,7 @@ static const IPersistStreamInitVtbl PersistStreamInitVtbl = ...@@ -270,7 +277,7 @@ static const IPersistStreamInitVtbl PersistStreamInitVtbl =
void WebBrowser_Persist_Init(WebBrowser *This) void WebBrowser_Persist_Init(WebBrowser *This)
{ {
This->lpPersistStorageVtbl = &PersistStorageVtbl; This->IPersistStorage_iface.lpVtbl = &PersistStorageVtbl;
This->lpPersistMemoryVtbl = &PersistMemoryVtbl; This->IPersistMemory_iface.lpVtbl = &PersistMemoryVtbl;
This->lpPersistStreamInitVtbl = &PersistStreamInitVtbl; This->IPersistStreamInit_iface.lpVtbl = &PersistStreamInitVtbl;
} }
...@@ -139,15 +139,15 @@ struct WebBrowser { ...@@ -139,15 +139,15 @@ struct WebBrowser {
IOleObject IOleObject_iface; IOleObject IOleObject_iface;
IOleInPlaceObject IOleInPlaceObject_iface; IOleInPlaceObject IOleInPlaceObject_iface;
IOleControl IOleControl_iface; IOleControl IOleControl_iface;
const IPersistStorageVtbl *lpPersistStorageVtbl; IPersistStorage IPersistStorage_iface;
const IPersistMemoryVtbl *lpPersistMemoryVtbl; IPersistMemory IPersistMemory_iface;
const IPersistStreamInitVtbl *lpPersistStreamInitVtbl; IPersistStreamInit IPersistStreamInit_iface;
const IProvideClassInfo2Vtbl *lpProvideClassInfoVtbl; IProvideClassInfo2 IProvideClassInfo2_iface;
const IViewObject2Vtbl *lpViewObjectVtbl; IViewObject2 IViewObject2_iface;
IOleInPlaceActiveObject IOleInPlaceActiveObject_iface; IOleInPlaceActiveObject IOleInPlaceActiveObject_iface;
IOleCommandTarget IOleCommandTarget_iface; IOleCommandTarget IOleCommandTarget_iface;
IServiceProvider IServiceProvider_iface; IServiceProvider IServiceProvider_iface;
const IDataObjectVtbl *lpDataObjectVtbl; IDataObject IDataObject_iface;
HlinkFrame hlink_frame; HlinkFrame hlink_frame;
LONG ref; LONG ref;
...@@ -194,15 +194,8 @@ struct InternetExplorer { ...@@ -194,15 +194,8 @@ struct InternetExplorer {
DocHost doc_host; DocHost doc_host;
}; };
#define PERSTORAGE(x) ((IPersistStorage*) &(x)->lpPersistStorageVtbl)
#define PERMEMORY(x) ((IPersistMemory*) &(x)->lpPersistMemoryVtbl)
#define PERSTRINIT(x) ((IPersistStreamInit*) &(x)->lpPersistStreamInitVtbl)
#define CLASSINFO(x) ((IProvideClassInfo2*) &(x)->lpProvideClassInfoVtbl)
#define CONPTCONT(x) ((IConnectionPointContainer*) &(x)->lpConnectionPointContainerVtbl) #define CONPTCONT(x) ((IConnectionPointContainer*) &(x)->lpConnectionPointContainerVtbl)
#define VIEWOBJ(x) ((IViewObject*) &(x)->lpViewObjectVtbl);
#define VIEWOBJ2(x) ((IViewObject2*) &(x)->lpViewObjectVtbl);
#define OLECMD(x) ((IOleCommandTarget*) &(x)->lpOleCommandTargetVtbl) #define OLECMD(x) ((IOleCommandTarget*) &(x)->lpOleCommandTargetVtbl)
#define DATAOBJECT(x) ((IDataObject*) &(x)->lpDataObjectVtbl)
#define CLIENTSITE(x) ((IOleClientSite*) &(x)->lpOleClientSiteVtbl) #define CLIENTSITE(x) ((IOleClientSite*) &(x)->lpOleClientSiteVtbl)
#define INPLACESITE(x) ((IOleInPlaceSite*) &(x)->lpOleInPlaceSiteVtbl) #define INPLACESITE(x) ((IOleInPlaceSite*) &(x)->lpOleInPlaceSiteVtbl)
...@@ -220,7 +213,6 @@ struct InternetExplorer { ...@@ -220,7 +213,6 @@ struct InternetExplorer {
void WebBrowser_OleObject_Init(WebBrowser*); void WebBrowser_OleObject_Init(WebBrowser*);
void WebBrowser_ViewObject_Init(WebBrowser*); void WebBrowser_ViewObject_Init(WebBrowser*);
void WebBrowser_DataObject_Init(WebBrowser*);
void WebBrowser_Persist_Init(WebBrowser*); void WebBrowser_Persist_Init(WebBrowser*);
void WebBrowser_ClassInfo_Init(WebBrowser*); void WebBrowser_ClassInfo_Init(WebBrowser*);
......
...@@ -26,23 +26,26 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw); ...@@ -26,23 +26,26 @@ WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
* Implement the IViewObject interface * Implement the IViewObject interface
*/ */
#define VIEWOBJ_THIS(iface) DEFINE_THIS(WebBrowser, ViewObject, iface) static inline WebBrowser *impl_from_IViewObject2(IViewObject2 *iface)
{
return (WebBrowser*)((char*)iface - FIELD_OFFSET(WebBrowser, IViewObject2_iface));
}
static HRESULT WINAPI ViewObject_QueryInterface(IViewObject2 *iface, REFIID riid, void **ppv) static HRESULT WINAPI ViewObject_QueryInterface(IViewObject2 *iface, REFIID riid, void **ppv)
{ {
WebBrowser *This = VIEWOBJ_THIS(iface); WebBrowser *This = impl_from_IViewObject2(iface);
return IWebBrowser2_QueryInterface(&This->IWebBrowser2_iface, riid, ppv); return IWebBrowser2_QueryInterface(&This->IWebBrowser2_iface, riid, ppv);
} }
static ULONG WINAPI ViewObject_AddRef(IViewObject2 *iface) static ULONG WINAPI ViewObject_AddRef(IViewObject2 *iface)
{ {
WebBrowser *This = VIEWOBJ_THIS(iface); WebBrowser *This = impl_from_IViewObject2(iface);
return IWebBrowser2_AddRef(&This->IWebBrowser2_iface); return IWebBrowser2_AddRef(&This->IWebBrowser2_iface);
} }
static ULONG WINAPI ViewObject_Release(IViewObject2 *iface) static ULONG WINAPI ViewObject_Release(IViewObject2 *iface)
{ {
WebBrowser *This = VIEWOBJ_THIS(iface); WebBrowser *This = impl_from_IViewObject2(iface);
return IWebBrowser2_Release(&This->IWebBrowser2_iface); return IWebBrowser2_Release(&This->IWebBrowser2_iface);
} }
...@@ -52,7 +55,7 @@ static HRESULT WINAPI ViewObject_Draw(IViewObject2 *iface, DWORD dwDrawAspect, ...@@ -52,7 +55,7 @@ static HRESULT WINAPI ViewObject_Draw(IViewObject2 *iface, DWORD dwDrawAspect,
BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR), BOOL (STDMETHODCALLTYPE *pfnContinue)(ULONG_PTR),
ULONG_PTR dwContinue) ULONG_PTR dwContinue)
{ {
WebBrowser *This = VIEWOBJ_THIS(iface); WebBrowser *This = impl_from_IViewObject2(iface);
FIXME("(%p)->(%d %d %p %p %p %p %p %p %p %08lx)\n", This, dwDrawAspect, lindex, FIXME("(%p)->(%d %d %p %p %p %p %p %p %p %08lx)\n", This, dwDrawAspect, lindex,
pvAspect, ptd, hdcTargetDev, hdcDraw, lprcBounds, lprcWBounds, pfnContinue, pvAspect, ptd, hdcTargetDev, hdcDraw, lprcBounds, lprcWBounds, pfnContinue,
dwContinue); dwContinue);
...@@ -63,7 +66,7 @@ static HRESULT WINAPI ViewObject_GetColorSet(IViewObject2 *iface, DWORD dwAspect ...@@ -63,7 +66,7 @@ static HRESULT WINAPI ViewObject_GetColorSet(IViewObject2 *iface, DWORD dwAspect
LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev, LONG lindex, void *pvAspect, DVTARGETDEVICE *ptd, HDC hicTargetDev,
LOGPALETTE **ppColorSet) LOGPALETTE **ppColorSet)
{ {
WebBrowser *This = VIEWOBJ_THIS(iface); WebBrowser *This = impl_from_IViewObject2(iface);
FIXME("(%p)->(%d %d %p %p %p %p)\n", This, dwAspect, lindex, pvAspect, ptd, FIXME("(%p)->(%d %d %p %p %p %p)\n", This, dwAspect, lindex, pvAspect, ptd,
hicTargetDev, ppColorSet); hicTargetDev, ppColorSet);
return E_NOTIMPL; return E_NOTIMPL;
...@@ -72,14 +75,14 @@ static HRESULT WINAPI ViewObject_GetColorSet(IViewObject2 *iface, DWORD dwAspect ...@@ -72,14 +75,14 @@ static HRESULT WINAPI ViewObject_GetColorSet(IViewObject2 *iface, DWORD dwAspect
static HRESULT WINAPI ViewObject_Freeze(IViewObject2 *iface, DWORD dwDrawAspect, LONG lindex, static HRESULT WINAPI ViewObject_Freeze(IViewObject2 *iface, DWORD dwDrawAspect, LONG lindex,
void *pvAspect, DWORD *pdwFreeze) void *pvAspect, DWORD *pdwFreeze)
{ {
WebBrowser *This = VIEWOBJ_THIS(iface); WebBrowser *This = impl_from_IViewObject2(iface);
FIXME("(%p)->(%d %d %p %p)\n", This, dwDrawAspect, lindex, pvAspect, pdwFreeze); FIXME("(%p)->(%d %d %p %p)\n", This, dwDrawAspect, lindex, pvAspect, pdwFreeze);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI ViewObject_Unfreeze(IViewObject2 *iface, DWORD dwFreeze) static HRESULT WINAPI ViewObject_Unfreeze(IViewObject2 *iface, DWORD dwFreeze)
{ {
WebBrowser *This = VIEWOBJ_THIS(iface); WebBrowser *This = impl_from_IViewObject2(iface);
FIXME("(%p)->(%d)\n", This, dwFreeze); FIXME("(%p)->(%d)\n", This, dwFreeze);
return E_NOTIMPL; return E_NOTIMPL;
} }
...@@ -87,7 +90,7 @@ static HRESULT WINAPI ViewObject_Unfreeze(IViewObject2 *iface, DWORD dwFreeze) ...@@ -87,7 +90,7 @@ static HRESULT WINAPI ViewObject_Unfreeze(IViewObject2 *iface, DWORD dwFreeze)
static HRESULT WINAPI ViewObject_SetAdvise(IViewObject2 *iface, DWORD aspects, DWORD advf, static HRESULT WINAPI ViewObject_SetAdvise(IViewObject2 *iface, DWORD aspects, DWORD advf,
IAdviseSink *pAdvSink) IAdviseSink *pAdvSink)
{ {
WebBrowser *This = VIEWOBJ_THIS(iface); WebBrowser *This = impl_from_IViewObject2(iface);
FIXME("(%p)->(%d %08x %p)\n", This, aspects, advf, pAdvSink); FIXME("(%p)->(%d %08x %p)\n", This, aspects, advf, pAdvSink);
return E_NOTIMPL; return E_NOTIMPL;
} }
...@@ -95,7 +98,7 @@ static HRESULT WINAPI ViewObject_SetAdvise(IViewObject2 *iface, DWORD aspects, D ...@@ -95,7 +98,7 @@ static HRESULT WINAPI ViewObject_SetAdvise(IViewObject2 *iface, DWORD aspects, D
static HRESULT WINAPI ViewObject_GetAdvise(IViewObject2 *iface, DWORD *pAspects, static HRESULT WINAPI ViewObject_GetAdvise(IViewObject2 *iface, DWORD *pAspects,
DWORD *pAdvf, IAdviseSink **ppAdvSink) DWORD *pAdvf, IAdviseSink **ppAdvSink)
{ {
WebBrowser *This = VIEWOBJ_THIS(iface); WebBrowser *This = impl_from_IViewObject2(iface);
FIXME("(%p)->(%p %p %p)\n", This, pAspects, pAdvf, ppAdvSink); FIXME("(%p)->(%p %p %p)\n", This, pAspects, pAdvf, ppAdvSink);
return E_NOTIMPL; return E_NOTIMPL;
} }
...@@ -103,7 +106,7 @@ static HRESULT WINAPI ViewObject_GetAdvise(IViewObject2 *iface, DWORD *pAspects, ...@@ -103,7 +106,7 @@ static HRESULT WINAPI ViewObject_GetAdvise(IViewObject2 *iface, DWORD *pAspects,
static HRESULT WINAPI ViewObject_GetExtent(IViewObject2 *iface, DWORD dwAspect, LONG lindex, static HRESULT WINAPI ViewObject_GetExtent(IViewObject2 *iface, DWORD dwAspect, LONG lindex,
DVTARGETDEVICE *ptd, LPSIZEL lpsizel) DVTARGETDEVICE *ptd, LPSIZEL lpsizel)
{ {
WebBrowser *This = VIEWOBJ_THIS(iface); WebBrowser *This = impl_from_IViewObject2(iface);
FIXME("(%p)->(%d %d %p %p)\n", This, dwAspect, lindex, ptd, lpsizel); FIXME("(%p)->(%d %d %p %p)\n", This, dwAspect, lindex, ptd, lpsizel);
return E_NOTIMPL; return E_NOTIMPL;
} }
...@@ -121,96 +124,92 @@ static const IViewObject2Vtbl ViewObjectVtbl = { ...@@ -121,96 +124,92 @@ static const IViewObject2Vtbl ViewObjectVtbl = {
ViewObject_GetExtent ViewObject_GetExtent
}; };
#undef VIEWOBJ_THIS
void WebBrowser_ViewObject_Init(WebBrowser *This)
{
This->lpViewObjectVtbl = &ViewObjectVtbl;
}
/********************************************************************** /**********************************************************************
* Implement the IDataObject interface * Implement the IDataObject interface
*/ */
#define DATAOBJ_THIS(iface) DEFINE_THIS(WebBrowser, DataObject, iface) static inline WebBrowser *impl_from_IDataObject(IDataObject *iface)
{
return (WebBrowser*)((char*)iface - FIELD_OFFSET(WebBrowser, IDataObject_iface));
}
static HRESULT WINAPI DataObject_QueryInterface(LPDATAOBJECT iface, REFIID riid, LPVOID * ppvObj) static HRESULT WINAPI DataObject_QueryInterface(LPDATAOBJECT iface, REFIID riid, LPVOID * ppvObj)
{ {
WebBrowser *This = DATAOBJ_THIS(iface); WebBrowser *This = impl_from_IDataObject(iface);
return IWebBrowser2_QueryInterface(&This->IWebBrowser2_iface, riid, ppvObj); return IWebBrowser2_QueryInterface(&This->IWebBrowser2_iface, riid, ppvObj);
} }
static ULONG WINAPI DataObject_AddRef(LPDATAOBJECT iface) static ULONG WINAPI DataObject_AddRef(LPDATAOBJECT iface)
{ {
WebBrowser *This = DATAOBJ_THIS(iface); WebBrowser *This = impl_from_IDataObject(iface);
return IWebBrowser2_AddRef(&This->IWebBrowser2_iface); return IWebBrowser2_AddRef(&This->IWebBrowser2_iface);
} }
static ULONG WINAPI DataObject_Release(LPDATAOBJECT iface) static ULONG WINAPI DataObject_Release(LPDATAOBJECT iface)
{ {
WebBrowser *This = DATAOBJ_THIS(iface); WebBrowser *This = impl_from_IDataObject(iface);
return IWebBrowser2_Release(&This->IWebBrowser2_iface); return IWebBrowser2_Release(&This->IWebBrowser2_iface);
} }
static HRESULT WINAPI DataObject_GetData(LPDATAOBJECT iface, LPFORMATETC pformatetcIn, STGMEDIUM *pmedium) static HRESULT WINAPI DataObject_GetData(LPDATAOBJECT iface, LPFORMATETC pformatetcIn, STGMEDIUM *pmedium)
{ {
WebBrowser *This = DATAOBJ_THIS(iface); WebBrowser *This = impl_from_IDataObject(iface);
FIXME("(%p)->()\n", This); FIXME("(%p)->()\n", This);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI DataObject_GetDataHere(LPDATAOBJECT iface, LPFORMATETC pformatetc, STGMEDIUM *pmedium) static HRESULT WINAPI DataObject_GetDataHere(LPDATAOBJECT iface, LPFORMATETC pformatetc, STGMEDIUM *pmedium)
{ {
WebBrowser *This = DATAOBJ_THIS(iface); WebBrowser *This = impl_from_IDataObject(iface);
FIXME("(%p)->()\n", This); FIXME("(%p)->()\n", This);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI DataObject_QueryGetData(LPDATAOBJECT iface, LPFORMATETC pformatetc) static HRESULT WINAPI DataObject_QueryGetData(LPDATAOBJECT iface, LPFORMATETC pformatetc)
{ {
WebBrowser *This = DATAOBJ_THIS(iface); WebBrowser *This = impl_from_IDataObject(iface);
FIXME("(%p)->()\n", This); FIXME("(%p)->()\n", This);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI DataObject_GetCanonicalFormatEtc(LPDATAOBJECT iface, LPFORMATETC pformatectIn, LPFORMATETC pformatetcOut) static HRESULT WINAPI DataObject_GetCanonicalFormatEtc(LPDATAOBJECT iface, LPFORMATETC pformatectIn, LPFORMATETC pformatetcOut)
{ {
WebBrowser *This = DATAOBJ_THIS(iface); WebBrowser *This = impl_from_IDataObject(iface);
FIXME("(%p)->()\n", This); FIXME("(%p)->()\n", This);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI DataObject_SetData(LPDATAOBJECT iface, LPFORMATETC pformatetc, STGMEDIUM *pmedium, BOOL fRelease) static HRESULT WINAPI DataObject_SetData(LPDATAOBJECT iface, LPFORMATETC pformatetc, STGMEDIUM *pmedium, BOOL fRelease)
{ {
WebBrowser *This = DATAOBJ_THIS(iface); WebBrowser *This = impl_from_IDataObject(iface);
FIXME("(%p)->()\n", This); FIXME("(%p)->()\n", This);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI DataObject_EnumFormatEtc(LPDATAOBJECT iface, DWORD dwDirection, IEnumFORMATETC **ppenumFormatEtc) static HRESULT WINAPI DataObject_EnumFormatEtc(LPDATAOBJECT iface, DWORD dwDirection, IEnumFORMATETC **ppenumFormatEtc)
{ {
WebBrowser *This = DATAOBJ_THIS(iface); WebBrowser *This = impl_from_IDataObject(iface);
FIXME("(%p)->()\n", This); FIXME("(%p)->()\n", This);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI DataObject_DAdvise(LPDATAOBJECT iface, FORMATETC *pformatetc, DWORD advf, IAdviseSink *pAdvSink, DWORD *pdwConnection) static HRESULT WINAPI DataObject_DAdvise(LPDATAOBJECT iface, FORMATETC *pformatetc, DWORD advf, IAdviseSink *pAdvSink, DWORD *pdwConnection)
{ {
WebBrowser *This = DATAOBJ_THIS(iface); WebBrowser *This = impl_from_IDataObject(iface);
FIXME("(%p)->()\n", This); FIXME("(%p)->()\n", This);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI DataObject_DUnadvise(LPDATAOBJECT iface, DWORD dwConnection) static HRESULT WINAPI DataObject_DUnadvise(LPDATAOBJECT iface, DWORD dwConnection)
{ {
WebBrowser *This = DATAOBJ_THIS(iface); WebBrowser *This = impl_from_IDataObject(iface);
FIXME("(%p)->()\n", This); FIXME("(%p)->()\n", This);
return E_NOTIMPL; return E_NOTIMPL;
} }
static HRESULT WINAPI DataObject_EnumDAdvise(LPDATAOBJECT iface, IEnumSTATDATA **ppenumAdvise) static HRESULT WINAPI DataObject_EnumDAdvise(LPDATAOBJECT iface, IEnumSTATDATA **ppenumAdvise)
{ {
WebBrowser *This = DATAOBJ_THIS(iface); WebBrowser *This = impl_from_IDataObject(iface);
FIXME("(%p)->()\n", This); FIXME("(%p)->()\n", This);
return E_NOTIMPL; return E_NOTIMPL;
} }
...@@ -230,9 +229,8 @@ static const IDataObjectVtbl DataObjectVtbl = { ...@@ -230,9 +229,8 @@ static const IDataObjectVtbl DataObjectVtbl = {
DataObject_EnumDAdvise DataObject_EnumDAdvise
}; };
#undef DATAOBJ_THIS void WebBrowser_ViewObject_Init(WebBrowser *This)
void WebBrowser_DataObject_Init(WebBrowser *This)
{ {
This->lpDataObjectVtbl = &DataObjectVtbl; This->IViewObject2_iface.lpVtbl = &ViewObjectVtbl;
This->IDataObject_iface.lpVtbl = &DataObjectVtbl;
} }
...@@ -68,31 +68,31 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid ...@@ -68,31 +68,31 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
*ppv = &This->IOleControl_iface; *ppv = &This->IOleControl_iface;
}else if(IsEqualGUID(&IID_IPersist, riid)) { }else if(IsEqualGUID(&IID_IPersist, riid)) {
TRACE("(%p)->(IID_IPersist %p)\n", This, ppv); TRACE("(%p)->(IID_IPersist %p)\n", This, ppv);
*ppv = PERSTORAGE(This); *ppv = &This->IPersistStorage_iface;
}else if(IsEqualGUID(&IID_IPersistStorage, riid)) { }else if(IsEqualGUID(&IID_IPersistStorage, riid)) {
TRACE("(%p)->(IID_IPersistStorage %p)\n", This, ppv); TRACE("(%p)->(IID_IPersistStorage %p)\n", This, ppv);
*ppv = PERSTORAGE(This); *ppv = &This->IPersistStorage_iface;
}else if(IsEqualGUID(&IID_IPersistMemory, riid)) { }else if(IsEqualGUID(&IID_IPersistMemory, riid)) {
TRACE("(%p)->(IID_IPersistStorage %p)\n", This, ppv); TRACE("(%p)->(IID_IPersistStorage %p)\n", This, ppv);
*ppv = PERMEMORY(This); *ppv = &This->IPersistMemory_iface;
}else if(IsEqualGUID (&IID_IPersistStreamInit, riid)) { }else if(IsEqualGUID (&IID_IPersistStreamInit, riid)) {
TRACE("(%p)->(IID_IPersistStreamInit %p)\n", This, ppv); TRACE("(%p)->(IID_IPersistStreamInit %p)\n", This, ppv);
*ppv = PERSTRINIT(This); *ppv = &This->IPersistStreamInit_iface;
}else if(IsEqualGUID(&IID_IProvideClassInfo, riid)) { }else if(IsEqualGUID(&IID_IProvideClassInfo, riid)) {
TRACE("(%p)->(IID_IProvideClassInfo %p)\n", This, ppv); TRACE("(%p)->(IID_IProvideClassInfo %p)\n", This, ppv);
*ppv = CLASSINFO(This); *ppv = &This->IProvideClassInfo2_iface;
}else if(IsEqualGUID(&IID_IProvideClassInfo2, riid)) { }else if(IsEqualGUID(&IID_IProvideClassInfo2, riid)) {
TRACE("(%p)->(IID_IProvideClassInfo2 %p)\n", This, ppv); TRACE("(%p)->(IID_IProvideClassInfo2 %p)\n", This, ppv);
*ppv = CLASSINFO(This); *ppv = &This->IProvideClassInfo2_iface;
}else if(IsEqualGUID(&IID_IConnectionPointContainer, riid)) { }else if(IsEqualGUID(&IID_IConnectionPointContainer, riid)) {
TRACE("(%p)->(IID_IConnectionPointContainer %p)\n", This, ppv); TRACE("(%p)->(IID_IConnectionPointContainer %p)\n", This, ppv);
*ppv = CONPTCONT(&This->doc_host.cps); *ppv = CONPTCONT(&This->doc_host.cps);
}else if(IsEqualGUID(&IID_IViewObject, riid)) { }else if(IsEqualGUID(&IID_IViewObject, riid)) {
TRACE("(%p)->(IID_IViewObject %p)\n", This, ppv); TRACE("(%p)->(IID_IViewObject %p)\n", This, ppv);
*ppv = VIEWOBJ(This); *ppv = &This->IViewObject2_iface;
}else if(IsEqualGUID(&IID_IViewObject2, riid)) { }else if(IsEqualGUID(&IID_IViewObject2, riid)) {
TRACE("(%p)->(IID_IViewObject2 %p)\n", This, ppv); TRACE("(%p)->(IID_IViewObject2 %p)\n", This, ppv);
*ppv = VIEWOBJ2(This); *ppv = &This->IViewObject2_iface;
}else if(IsEqualGUID(&IID_IOleInPlaceActiveObject, riid)) { }else if(IsEqualGUID(&IID_IOleInPlaceActiveObject, riid)) {
TRACE("(%p)->(IID_IOleInPlaceActiveObject %p)\n", This, ppv); TRACE("(%p)->(IID_IOleInPlaceActiveObject %p)\n", This, ppv);
*ppv = &This->IOleInPlaceActiveObject_iface; *ppv = &This->IOleInPlaceActiveObject_iface;
...@@ -103,7 +103,7 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid ...@@ -103,7 +103,7 @@ static HRESULT WINAPI WebBrowser_QueryInterface(IWebBrowser2 *iface, REFIID riid
*ppv = &This->IServiceProvider_iface; *ppv = &This->IServiceProvider_iface;
TRACE("(%p)->(IID_IServiceProvider %p)\n", This, ppv); TRACE("(%p)->(IID_IServiceProvider %p)\n", This, ppv);
}else if(IsEqualGUID(&IID_IDataObject, riid)) { }else if(IsEqualGUID(&IID_IDataObject, riid)) {
*ppv = DATAOBJECT(This); *ppv = &This->IDataObject_iface;
TRACE("(%p)->(IID_IDataObject %p)\n", This, ppv); TRACE("(%p)->(IID_IDataObject %p)\n", This, ppv);
}else if(IsEqualGUID(&IID_IQuickActivate, riid)) { }else if(IsEqualGUID(&IID_IQuickActivate, riid)) {
TRACE("(%p)->(IID_IQuickActivate %p) returning NULL\n", This, ppv); TRACE("(%p)->(IID_IQuickActivate %p) returning NULL\n", This, ppv);
...@@ -1194,7 +1194,6 @@ static HRESULT WebBrowser_Create(INT version, IUnknown *pOuter, REFIID riid, voi ...@@ -1194,7 +1194,6 @@ static HRESULT WebBrowser_Create(INT version, IUnknown *pOuter, REFIID riid, voi
WebBrowser_OleObject_Init(ret); WebBrowser_OleObject_Init(ret);
WebBrowser_ViewObject_Init(ret); WebBrowser_ViewObject_Init(ret);
WebBrowser_DataObject_Init(ret);
WebBrowser_Persist_Init(ret); WebBrowser_Persist_Init(ret);
WebBrowser_ClassInfo_Init(ret); WebBrowser_ClassInfo_Init(ret);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment