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