Dmitry Timoshkov : mshtml: Add IMarkupContainer interface stub.
Module: wine Branch: master Commit: c4934ac98d08e31767dd3679959af4de516af247 URL: https://source.winehq.org/git/wine.git/?a=commit;h=c4934ac98d08e31767dd36799... Author: Dmitry Timoshkov <dmitry(a)baikal.ru> Date: Fri May 31 17:51:03 2019 +0200 mshtml: Add IMarkupContainer interface stub. Signed-off-by: Dmitry Timoshkov <dmitry(a)baikal.ru> Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/mshtml/htmldoc.c | 43 +++++++++++++++++++++++++++++++++++++++++++ dlls/mshtml/mshtml_private.h | 1 + dlls/mshtml/tests/dom.c | 2 ++ 3 files changed, 46 insertions(+) diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c index bb93db9..9dec890 100644 --- a/dlls/mshtml/htmldoc.c +++ b/dlls/mshtml/htmldoc.c @@ -4974,6 +4974,46 @@ static const IMarkupServicesVtbl MarkupServicesVtbl = { MarkupServices_EndUndoUnit }; +/********************************************************** + * IMarkupContainer implementation + */ +static inline HTMLDocument *impl_from_IMarkupContainer(IMarkupContainer *iface) +{ + return CONTAINING_RECORD(iface, HTMLDocument, IMarkupContainer_iface); +} + +static HRESULT WINAPI MarkupContainer_QueryInterface(IMarkupContainer *iface, REFIID riid, void **ppvObject) +{ + HTMLDocument *This = impl_from_IMarkupContainer(iface); + return htmldoc_query_interface(This, riid, ppvObject); +} + +static ULONG WINAPI MarkupContainer_AddRef(IMarkupContainer *iface) +{ + HTMLDocument *This = impl_from_IMarkupContainer(iface); + return htmldoc_addref(This); +} + +static ULONG WINAPI MarkupContainer_Release(IMarkupContainer *iface) +{ + HTMLDocument *This = impl_from_IMarkupContainer(iface); + return htmldoc_release(This); +} + +static HRESULT WINAPI MarkupContainer_OwningDoc(IMarkupContainer *iface, IHTMLDocument2 **ppDoc) +{ + HTMLDocument *This = impl_from_IMarkupContainer(iface); + FIXME("(%p)->(%p)\n", This, ppDoc); + return E_NOTIMPL; +} + +static const IMarkupContainerVtbl MarkupContainerVtbl = { + MarkupContainer_QueryInterface, + MarkupContainer_AddRef, + MarkupContainer_Release, + MarkupContainer_OwningDoc +}; + static BOOL htmldoc_qi(HTMLDocument *This, REFIID riid, void **ppv) { *ppv = NULL; @@ -5054,6 +5094,8 @@ static BOOL htmldoc_qi(HTMLDocument *This, REFIID riid, void **ppv) *ppv = &This->IProvideMultipleClassInfo_iface; else if(IsEqualGUID(&IID_IMarkupServices, riid)) *ppv = &This->IMarkupServices_iface; + else if(IsEqualGUID(&IID_IMarkupContainer, riid)) + *ppv = &This->IMarkupContainer_iface; else if(IsEqualGUID(&CLSID_CMarkup, riid)) { FIXME("(%p)->(CLSID_CMarkup %p)\n", This, ppv); *ppv = NULL; @@ -5102,6 +5144,7 @@ static void init_doc(HTMLDocument *doc, IUnknown *outer, IDispatchEx *dispex) doc->ISupportErrorInfo_iface.lpVtbl = &SupportErrorInfoVtbl; doc->IProvideMultipleClassInfo_iface.lpVtbl = &ProvideMultipleClassInfoVtbl; doc->IMarkupServices_iface.lpVtbl = &MarkupServicesVtbl; + doc->IMarkupContainer_iface.lpVtbl = &MarkupContainerVtbl; doc->outer_unk = outer; doc->dispex = dispex; diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h index 9ed2e5f..7dc9367 100644 --- a/dlls/mshtml/mshtml_private.h +++ b/dlls/mshtml/mshtml_private.h @@ -624,6 +624,7 @@ struct HTMLDocument { IObjectSafety IObjectSafety_iface; IProvideMultipleClassInfo IProvideMultipleClassInfo_iface; IMarkupServices IMarkupServices_iface; + IMarkupContainer IMarkupContainer_iface; IUnknown *outer_unk; IDispatchEx *dispex; diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c index d4ef42e..8a08282 100644 --- a/dlls/mshtml/tests/dom.c +++ b/dlls/mshtml/tests/dom.c @@ -175,6 +175,7 @@ static const IID * const doc_node_iids[] = { &IID_IDispatchEx, &IID_IConnectionPointContainer, &IID_IInternetHostSecurityManager, + &IID_IMarkupContainer, &IID_IMarkupServices, &IID_IOleContainer, &IID_IObjectSafety, @@ -192,6 +193,7 @@ static const IID * const doc_obj_iids[] = { &IID_IDispatchEx, &IID_IConnectionPointContainer, &IID_ICustomDoc, + &IID_IMarkupContainer, &IID_IMarkupServices, &IID_IOleContainer, &IID_IObjectSafety,
participants (1)
-
Alexandre Julliard