[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: [PATCH 3/3] mshtml: Add IMarkupContainer interface stub.
From: Jacek Caban <jacek () codeweavers ! com>
Date: 2019-05-31 15:51:03
Message-ID: d7e43993-ecf6-1d49-7b34-844144e45942 () codeweavers ! com
[Download RAW message or body]
From: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
---
dlls/mshtml/htmldoc.c | 43 ++++++++++++++++++++++++++++++++++++
dlls/mshtml/mshtml_private.h | 1 +
dlls/mshtml/tests/dom.c | 2 ++
3 files changed, 46 insertions(+)
["0003-mshtml-Add-IMarkupContainer-interface-stub.diff" (text/x-patch)]
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index bb93db9f29..9dec890d1a 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 9ed2e5f4e6..7dc9367493 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 d4ef42e94e..8a08282957 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,
[Attachment #4 (text/plain)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic