[prev in list] [next in list] [prev in thread] [next in thread]
List: wine-devel
Subject: [PATCH 2/3] mshtml: Add IMarkupServices interface stub.
From: Jacek Caban <jacek () codeweavers ! com>
Date: 2019-05-31 15:50:51
Message-ID: 70e94c36-1767-0049-53af-2b681b81732d () 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 | 215 +++++++++++++++++++++++++++++++++++
dlls/mshtml/mshtml_private.h | 1 +
dlls/mshtml/tests/dom.c | 2 +
3 files changed, 218 insertions(+)
["0002-mshtml-Add-IMarkupServices-interface-stub.diff" (text/x-patch)]
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index 5b14678a6f..bb93db9f29 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -4762,6 +4762,218 @@ static const IProvideMultipleClassInfoVtbl \
ProvideMultipleClassInfoVtbl = { ProvideMultipleClassInfo_GetInfoOfIndex
};
+/**********************************************************
+ * IMarkupServices implementation
+ */
+static inline HTMLDocument *impl_from_IMarkupServices(IMarkupServices *iface)
+{
+ return CONTAINING_RECORD(iface, HTMLDocument, IMarkupServices_iface);
+}
+
+static HRESULT WINAPI MarkupServices_QueryInterface(IMarkupServices *iface, REFIID \
riid, void **ppvObject) +{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ return htmldoc_query_interface(This, riid, ppvObject);
+}
+
+static ULONG WINAPI MarkupServices_AddRef(IMarkupServices *iface)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ return htmldoc_addref(This);
+}
+
+static ULONG WINAPI MarkupServices_Release(IMarkupServices *iface)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ return htmldoc_release(This);
+}
+
+static HRESULT WINAPI MarkupServices_CreateMarkupPointer(IMarkupServices *iface, \
IMarkupPointer **ppPointer) +{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%p)\n", This, ppPointer);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_CreateMarkupContainer(IMarkupServices *iface, \
IMarkupContainer **ppMarkupContainer) +{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%p)\n", This, ppMarkupContainer);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_CreateElement(IMarkupServices *iface,
+ ELEMENT_TAG_ID tagID, OLECHAR *pchAttributes, IHTMLElement **ppElement)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%d,%s,%p)\n", This, tagID, debugstr_w(pchAttributes), ppElement);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_CloneElement(IMarkupServices *iface,
+ IHTMLElement *pElemCloneThis, IHTMLElement **ppElementTheClone)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%p,%p)\n", This, pElemCloneThis, ppElementTheClone);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_InsertElement(IMarkupServices *iface,
+ IHTMLElement *pElementInsert, IMarkupPointer *pPointerStart,
+ IMarkupPointer *pPointerFinish)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%p,%p,%p)\n", This, pElementInsert, pPointerStart, \
pPointerFinish); + return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_RemoveElement(IMarkupServices *iface, \
IHTMLElement *pElementRemove) +{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%p)\n", This, pElementRemove);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_Remove(IMarkupServices *iface,
+ IMarkupPointer *pPointerStart, IMarkupPointer *pPointerFinish)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%p,%p)\n", This, pPointerStart, pPointerFinish);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_Copy(IMarkupServices *iface,
+ IMarkupPointer *pPointerSourceStart, IMarkupPointer *pPointerSourceFinish,
+ IMarkupPointer *pPointerTarget)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%p,%p,%p)\n", This, pPointerSourceStart, pPointerSourceFinish, \
pPointerTarget); + return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_Move(IMarkupServices *iface,
+ IMarkupPointer *pPointerSourceStart, IMarkupPointer *pPointerSourceFinish,
+ IMarkupPointer *pPointerTarget)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%p,%p,%p)\n", This, pPointerSourceStart, pPointerSourceFinish, \
pPointerTarget); + return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_InsertText(IMarkupServices *iface,
+ OLECHAR *pchText, LONG cch, IMarkupPointer *pPointerTarget)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%s,%x,%p)\n", This, debugstr_w(pchText), cch, pPointerTarget);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_ParseString(IMarkupServices *iface,
+ OLECHAR *pchHTML, DWORD dwFlags, IMarkupContainer **ppContainerResult,
+ IMarkupPointer *pPointerStart, IMarkupPointer *pPointerFinish)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%s,%x,%p,%p,%p)\n", This, debugstr_w(pchHTML), dwFlags, \
ppContainerResult, pPointerStart, pPointerFinish); + return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_ParseGlobal(IMarkupServices *iface,
+ HGLOBAL hglobalHTML, DWORD dwFlags, IMarkupContainer **ppContainerResult,
+ IMarkupPointer *pPointerStart, IMarkupPointer *pPointerFinish)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%s,%x,%p,%p,%p)\n", This, debugstr_w(hglobalHTML), dwFlags, \
ppContainerResult, pPointerStart, pPointerFinish); + return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_IsScopedElement(IMarkupServices *iface,
+ IHTMLElement *pElement, BOOL *pfScoped)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%p,%p)\n", This, pElement, pfScoped);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_GetElementTagId(IMarkupServices *iface,
+ IHTMLElement *pElement, ELEMENT_TAG_ID *ptagId)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%p,%p)\n", This, pElement, ptagId);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_GetTagIDForName(IMarkupServices *iface,
+ BSTR bstrName, ELEMENT_TAG_ID *ptagId)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%s,%p)\n", This, debugstr_w(bstrName), ptagId);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_GetNameForTagID(IMarkupServices *iface,
+ ELEMENT_TAG_ID tagId, BSTR *pbstrName)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%d,%p)\n", This, tagId, pbstrName);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_MovePointersToRange(IMarkupServices *iface,
+ IHTMLTxtRange *pIRange, IMarkupPointer *pPointerStart, IMarkupPointer \
*pPointerFinish) +{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%p,%p,%p)\n", This, pIRange, pPointerStart, pPointerFinish);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_MoveRangeToPointers(IMarkupServices *iface,
+ IMarkupPointer *pPointerStart, IMarkupPointer *pPointerFinish, IHTMLTxtRange \
*pIRange) +{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%p,%p,%p)\n", This, pPointerStart, pPointerFinish, pIRange);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_BeginUndoUnit(IMarkupServices *iface, OLECHAR \
*pchTitle) +{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)->(%s)\n", This, debugstr_w(pchTitle));
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI MarkupServices_EndUndoUnit(IMarkupServices *iface)
+{
+ HTMLDocument *This = impl_from_IMarkupServices(iface);
+ FIXME("(%p)\n", This);
+ return E_NOTIMPL;
+}
+
+static const IMarkupServicesVtbl MarkupServicesVtbl = {
+ MarkupServices_QueryInterface,
+ MarkupServices_AddRef,
+ MarkupServices_Release,
+ MarkupServices_CreateMarkupPointer,
+ MarkupServices_CreateMarkupContainer,
+ MarkupServices_CreateElement,
+ MarkupServices_CloneElement,
+ MarkupServices_InsertElement,
+ MarkupServices_RemoveElement,
+ MarkupServices_Remove,
+ MarkupServices_Copy,
+ MarkupServices_Move,
+ MarkupServices_InsertText,
+ MarkupServices_ParseString,
+ MarkupServices_ParseGlobal,
+ MarkupServices_IsScopedElement,
+ MarkupServices_GetElementTagId,
+ MarkupServices_GetTagIDForName,
+ MarkupServices_GetNameForTagID,
+ MarkupServices_MovePointersToRange,
+ MarkupServices_MoveRangeToPointers,
+ MarkupServices_BeginUndoUnit,
+ MarkupServices_EndUndoUnit
+};
+
static BOOL htmldoc_qi(HTMLDocument *This, REFIID riid, void **ppv)
{
*ppv = NULL;
@@ -4840,6 +5052,8 @@ static BOOL htmldoc_qi(HTMLDocument *This, REFIID riid, void \
**ppv)
*ppv = &This->IProvideMultipleClassInfo_iface;
else if(IsEqualGUID(&IID_IProvideMultipleClassInfo, riid))
*ppv = &This->IProvideMultipleClassInfo_iface;
+ else if(IsEqualGUID(&IID_IMarkupServices, riid))
+ *ppv = &This->IMarkupServices_iface;
else if(IsEqualGUID(&CLSID_CMarkup, riid)) {
FIXME("(%p)->(CLSID_CMarkup %p)\n", This, ppv);
*ppv = NULL;
@@ -4887,6 +5101,7 @@ static void init_doc(HTMLDocument *doc, IUnknown *outer, \
IDispatchEx *dispex) doc->IDocumentEvent_iface.lpVtbl = &DocumentEventVtbl;
doc->ISupportErrorInfo_iface.lpVtbl = &SupportErrorInfoVtbl;
doc->IProvideMultipleClassInfo_iface.lpVtbl = &ProvideMultipleClassInfoVtbl;
+ doc->IMarkupServices_iface.lpVtbl = &MarkupServicesVtbl;
doc->outer_unk = outer;
doc->dispex = dispex;
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 5b94d075cb..9ed2e5f4e6 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -623,6 +623,7 @@ struct HTMLDocument {
IOleContainer IOleContainer_iface;
IObjectSafety IObjectSafety_iface;
IProvideMultipleClassInfo IProvideMultipleClassInfo_iface;
+ IMarkupServices IMarkupServices_iface;
IUnknown *outer_unk;
IDispatchEx *dispex;
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index d46c232f9b..d4ef42e94e 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_IMarkupServices,
&IID_IOleContainer,
&IID_IObjectSafety,
&IID_IProvideClassInfo,
@@ -191,6 +192,7 @@ static const IID * const doc_obj_iids[] = {
&IID_IDispatchEx,
&IID_IConnectionPointContainer,
&IID_ICustomDoc,
+ &IID_IMarkupServices,
&IID_IOleContainer,
&IID_IObjectSafety,
&IID_IProvideClassInfo,
[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