Andrew Eikum : mshtml: Add stub implementation for IHTMLDocument6.
Alexandre Julliard
julliard at winehq.org
Tue Oct 13 10:52:54 CDT 2009
Module: wine
Branch: master
Commit: 1622fd0e7a7290d7a42facc96cb9e88b7ecf5b32
URL: http://source.winehq.org/git/wine.git/?a=commit;h=1622fd0e7a7290d7a42facc96cb9e88b7ecf5b32
Author: Andrew Eikum <aeikum at codeweavers.com>
Date: Mon Oct 12 13:39:23 2009 -0500
mshtml: Add stub implementation for IHTMLDocument6.
---
dlls/mshtml/htmldoc.c | 3 +
dlls/mshtml/htmldoc5.c | 134 ++++++++++++++++++++++++++++++++++++++++++
dlls/mshtml/mshtml_private.h | 2 +
3 files changed, 139 insertions(+), 0 deletions(-)
diff --git a/dlls/mshtml/htmldoc.c b/dlls/mshtml/htmldoc.c
index bb5d968..ef3085e 100644
--- a/dlls/mshtml/htmldoc.c
+++ b/dlls/mshtml/htmldoc.c
@@ -1626,6 +1626,9 @@ static BOOL htmldoc_qi(HTMLDocument *This, REFIID riid, void **ppv)
}else if(IsEqualGUID(&IID_IHTMLDocument5, riid)) {
TRACE("(%p)->(IID_IHTMLDocument5, %p)\n", This, ppv);
*ppv = HTMLDOC5(This);
+ }else if(IsEqualGUID(&IID_IHTMLDocument6, riid)) {
+ TRACE("(%p)->(IID_IHTMLDocument6, %p)\n", This, ppv);
+ *ppv = HTMLDOC6(This);
}else if(IsEqualGUID(&IID_IPersist, riid)) {
TRACE("(%p)->(IID_IPersist, %p)\n", This, ppv);
*ppv = PERSIST(This);
diff --git a/dlls/mshtml/htmldoc5.c b/dlls/mshtml/htmldoc5.c
index 59b223b..4c8d173 100644
--- a/dlls/mshtml/htmldoc5.c
+++ b/dlls/mshtml/htmldoc5.c
@@ -299,7 +299,141 @@ static const IHTMLDocument5Vtbl HTMLDocument5Vtbl = {
HTMLDocument5_get_compatMode
};
+#define HTMLDOC6_THIS(iface) DEFINE_THIS(HTMLDocument, HTMLDocument6, iface)
+
+static HRESULT WINAPI HTMLDocument6_QueryInterface(IHTMLDocument6 *iface,
+ REFIID riid, void **ppv)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ return IHTMLDocument2_QueryInterface(HTMLDOC(This), riid, ppv);
+}
+
+static ULONG WINAPI HTMLDocument6_AddRef(IHTMLDocument6 *iface)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ return IHTMLDocument2_AddRef(HTMLDOC(This));
+}
+
+static ULONG WINAPI HTMLDocument6_Release(IHTMLDocument6 *iface)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ return IHTMLDocument2_Release(HTMLDOC(This));
+}
+
+static HRESULT WINAPI HTMLDocument6_GetTypeInfoCount(IHTMLDocument6 *iface, UINT *pctinfo)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ return IDispatchEx_GetTypeInfoCount(DISPATCHEX(This), pctinfo);
+}
+
+static HRESULT WINAPI HTMLDocument6_GetTypeInfo(IHTMLDocument6 *iface, UINT iTInfo,
+ LCID lcid, ITypeInfo **ppTInfo)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ return IDispatchEx_GetTypeInfo(DISPATCHEX(This), iTInfo, lcid, ppTInfo);
+}
+
+static HRESULT WINAPI HTMLDocument6_GetIDsOfNames(IHTMLDocument6 *iface, REFIID riid,
+ LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ return IDispatchEx_GetIDsOfNames(DISPATCHEX(This), riid, rgszNames, cNames, lcid, rgDispId);
+}
+
+static HRESULT WINAPI HTMLDocument6_Invoke(IHTMLDocument6 *iface, DISPID dispIdMember,
+ REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
+ VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ return IDispatchEx_Invoke(DISPATCHEX(This), dispIdMember, riid, lcid, wFlags, pDispParams,
+ pVarResult, pExcepInfo, puArgErr);
+}
+
+static HRESULT WINAPI HTMLDocument6_get_compatible(IHTMLDocument6 *iface,
+ IHTMLDocumentCompatibleInfoCollection **p)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ FIXME("(%p)->(%p)\n", This, p);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI HTMLDocument6_get_documentMode(IHTMLDocument6 *iface,
+ VARIANT *p)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ FIXME("(%p)->(%p)\n", This, p);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI HTMLDocument6_get_onstorage(IHTMLDocument6 *iface,
+ VARIANT *p)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ FIXME("(%p)->(%p)\n", This, p);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI HTMLDocument6_put_onstorage(IHTMLDocument6 *iface,
+ VARIANT p)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ FIXME("(%p)->(v)\n", This);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI HTMLDocument6_get_onstoragecommit(IHTMLDocument6 *iface,
+ VARIANT *p)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ FIXME("(%p)->(%p)\n", This, p);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI HTMLDocument6_put_onstoragecommit(IHTMLDocument6 *iface,
+ VARIANT p)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ FIXME("(%p)->(v)\n", This);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI HTMLDocument6_getElementById(IHTMLDocument6 *iface,
+ BSTR bstrId, IHTMLElement2 **p)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ FIXME("(%p)->(%s %p)\n", This, debugstr_w(bstrId), p);
+ return E_NOTIMPL;
+}
+
+static HRESULT WINAPI HTMLDocument6_updateSettings(IHTMLDocument6 *iface)
+{
+ HTMLDocument *This = HTMLDOC6_THIS(iface);
+ FIXME("(%p)->()\n", This);
+ return E_NOTIMPL;
+}
+
+#undef HTMLDOC6_THIS
+
+static const IHTMLDocument6Vtbl HTMLDocument6Vtbl = {
+ HTMLDocument6_QueryInterface,
+ HTMLDocument6_AddRef,
+ HTMLDocument6_Release,
+ HTMLDocument6_GetTypeInfoCount,
+ HTMLDocument6_GetTypeInfo,
+ HTMLDocument6_GetIDsOfNames,
+ HTMLDocument6_Invoke,
+ HTMLDocument6_get_compatible,
+ HTMLDocument6_get_documentMode,
+ HTMLDocument6_put_onstorage,
+ HTMLDocument6_get_onstorage,
+ HTMLDocument6_put_onstoragecommit,
+ HTMLDocument6_get_onstoragecommit,
+ HTMLDocument6_getElementById,
+ HTMLDocument6_updateSettings
+};
+
void HTMLDocument_HTMLDocument5_Init(HTMLDocument *This)
{
This->lpHTMLDocument5Vtbl = &HTMLDocument5Vtbl;
+ This->lpHTMLDocument6Vtbl = &HTMLDocument6Vtbl;
}
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 51074ed..c92bb25 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -253,6 +253,7 @@ struct HTMLDocument {
const IHTMLDocument3Vtbl *lpHTMLDocument3Vtbl;
const IHTMLDocument4Vtbl *lpHTMLDocument4Vtbl;
const IHTMLDocument5Vtbl *lpHTMLDocument5Vtbl;
+ const IHTMLDocument6Vtbl *lpHTMLDocument6Vtbl;
const IPersistMonikerVtbl *lpPersistMonikerVtbl;
const IPersistFileVtbl *lpPersistFileVtbl;
const IPersistHistoryVtbl *lpPersistHistoryVtbl;
@@ -488,6 +489,7 @@ struct HTMLDocumentNode {
#define HTMLDOC3(x) ((IHTMLDocument3*) &(x)->lpHTMLDocument3Vtbl)
#define HTMLDOC4(x) ((IHTMLDocument4*) &(x)->lpHTMLDocument4Vtbl)
#define HTMLDOC5(x) ((IHTMLDocument5*) &(x)->lpHTMLDocument5Vtbl)
+#define HTMLDOC6(x) ((IHTMLDocument6*) &(x)->lpHTMLDocument6Vtbl)
#define PERSIST(x) ((IPersist*) &(x)->lpPersistFileVtbl)
#define PERSISTMON(x) ((IPersistMoniker*) &(x)->lpPersistMonikerVtbl)
#define PERSISTFILE(x) ((IPersistFile*) &(x)->lpPersistFileVtbl)
More information about the wine-cvs
mailing list