Module: wine Branch: master Commit: 03585070657c665a07af59bc0f24aa190cc31db8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=03585070657c665a07af59bc0f...
Author: Jacek Caban jacek@codeweavers.com Date: Mon Aug 13 01:18:49 2007 +0200
mshtml: Added ICustomDoc stub implementation.
---
dlls/mshtml/htmldoc.c | 3 +++ dlls/mshtml/mshtml_private.h | 2 ++ dlls/mshtml/oleobj.c | 41 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 0 deletions(-)
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index 746c67a..f75d591 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -113,6 +113,9 @@ static HRESULT WINAPI HTMLDocument_QueryInterface(IHTMLDocument2 *iface, REFIID }else if(IsEqualGUID(&IID_IPersistStreamInit, riid)) { TRACE("(%p)->(IID_IPersistStreamInit %p)\n", This, ppvObject); *ppvObject = PERSTRINIT(This); + }else if(IsEqualGUID(&IID_ICustomDoc, riid)) { + TRACE("(%p)->(IID_ICustomDoc %p)\n", This, ppvObject); + *ppvObject = CUSTOMDOC(This); }else if(IsEqualGUID(&DIID_DispHTMLDocument, riid)) { TRACE("(%p)->(DIID_DispHTMLDocument %p)\n", This, ppvObject); *ppvObject = HTMLDOC(This); diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 0bd36a7..bf57b7e 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -112,6 +112,7 @@ struct HTMLDocument { const IOleControlVtbl *lpOleControlVtbl; const IHlinkTargetVtbl *lpHlinkTargetVtbl; const IPersistStreamInitVtbl *lpPersistStreamInitVtbl; + const ICustomDocVtbl *lpCustomDocVtbl;
LONG ref;
@@ -305,6 +306,7 @@ typedef struct { #define HLNKTARGET(x) ((IHlinkTarget*) &(x)->lpHlinkTargetVtbl) #define CONPTCONT(x) ((IConnectionPointContainer*) &(x)->lpConnectionPointContainerVtbl) #define PERSTRINIT(x) ((IPersistStreamInit*) &(x)->lpPersistStreamInitVtbl) +#define CUSTOMDOC(x) ((ICustomDoc*) &(x)->lpCustomDocVtbl)
#define NSWBCHROME(x) ((nsIWebBrowserChrome*) &(x)->lpWebBrowserChromeVtbl) #define NSCML(x) ((nsIContextMenuListener*) &(x)->lpContextMenuListenerVtbl) diff --git a/dlls/mshtml/oleobj.c b/dlls/mshtml/oleobj.c index 2689e4c..116cbde 100644 --- a/dlls/mshtml/oleobj.c +++ b/dlls/mshtml/oleobj.c @@ -676,6 +676,46 @@ static const IOleControlVtbl OleControlVtbl = { OleControl_FreezeEvents };
+/********************************************************** + * ICustomDoc implementation + */ + +#define CUSTOMDOC_THIS(iface) DEFINE_THIS(HTMLDocument, CustomDoc, iface) + +static HRESULT WINAPI CustomDoc_QueryInterface(ICustomDoc *iface, REFIID riid, void **ppv) +{ + HTMLDocument *This = CUSTOMDOC_THIS(iface); + return IHTMLDocument2_QueryInterface(HTMLDOC(This), riid, ppv); +} + +static ULONG WINAPI CustomDoc_AddRef(ICustomDoc *iface) +{ + HTMLDocument *This = CUSTOMDOC_THIS(iface); + return IHTMLDocument2_AddRef(HTMLDOC(This)); +} + +static ULONG WINAPI CustomDoc_Release(ICustomDoc *iface) +{ + HTMLDocument *This = CUSTOMDOC_THIS(iface); + return IHTMLDocument_Release(HTMLDOC(This)); +} + +static HRESULT WINAPI CustomDoc_SetUIHandler(ICustomDoc *iface, IDocHostUIHandler *pUIHandler) +{ + HTMLDocument *This = CUSTOMDOC_THIS(iface); + FIXME("(%p)->(%p)\n", This, pUIHandler); + return E_NOTIMPL; +} + +#undef CUSTOMDOC_THIS + +static const ICustomDocVtbl CustomDocVtbl = { + CustomDoc_QueryInterface, + CustomDoc_AddRef, + CustomDoc_Release, + CustomDoc_SetUIHandler +}; + void HTMLDocument_LockContainer(HTMLDocument *This, BOOL fLock) { IOleContainer *container; @@ -697,6 +737,7 @@ void HTMLDocument_OleObj_Init(HTMLDocument *This) This->lpOleObjectVtbl = &OleObjectVtbl; This->lpOleDocumentVtbl = &OleDocumentVtbl; This->lpOleControlVtbl = &OleControlVtbl; + This->lpCustomDocVtbl = &CustomDocVtbl;
This->usermode = UNKNOWN_USERMODE;