Jacek Caban : mshtml: Added IHTMLWindow5 stub implementation.

Alexandre Julliard julliard at winehq.org
Mon Jan 23 13:01:14 CST 2012


Module: wine
Branch: master
Commit: 58776e9f9a971ca7b7858d4b91c21b1a40f677e2
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=58776e9f9a971ca7b7858d4b91c21b1a40f677e2

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Mon Jan 23 16:42:15 2012 +0100

mshtml: Added IHTMLWindow5 stub implementation.

---

 dlls/mshtml/htmlwindow.c     |   90 ++++++++++++++++++++++++++++++++++++++++++
 dlls/mshtml/mshtml_private.h |    1 +
 2 files changed, 91 insertions(+), 0 deletions(-)

diff --git a/dlls/mshtml/htmlwindow.c b/dlls/mshtml/htmlwindow.c
index 1d6ed5d..25fd1ce 100644
--- a/dlls/mshtml/htmlwindow.c
+++ b/dlls/mshtml/htmlwindow.c
@@ -159,6 +159,9 @@ static HRESULT WINAPI HTMLWindow2_QueryInterface(IHTMLWindow2 *iface, REFIID rii
     }else if(IsEqualGUID(&IID_IHTMLWindow4, riid)) {
         TRACE("(%p)->(IID_IHTMLWindow4 %p)\n", This, ppv);
         *ppv = &This->IHTMLWindow4_iface;
+    }else if(IsEqualGUID(&IID_IHTMLWindow5, riid)) {
+        TRACE("(%p)->(IID_IHTMLWindow5 %p)\n", This, ppv);
+        *ppv = &This->IHTMLWindow5_iface;
     }else if(IsEqualGUID(&IID_IHTMLWindow6, riid)) {
         TRACE("(%p)->(IID_IHTMLWindow6 %p)\n", This, ppv);
         *ppv = &This->IHTMLWindow6_iface;
@@ -1656,6 +1659,92 @@ static const IHTMLWindow4Vtbl HTMLWindow4Vtbl = {
     HTMLWindow4_get_frameElement
 };
 
+static inline HTMLWindow *impl_from_IHTMLWindow5(IHTMLWindow5 *iface)
+{
+    return CONTAINING_RECORD(iface, HTMLWindow, IHTMLWindow5_iface);
+}
+
+static HRESULT WINAPI HTMLWindow5_QueryInterface(IHTMLWindow5 *iface, REFIID riid, void **ppv)
+{
+    HTMLWindow *This = impl_from_IHTMLWindow5(iface);
+
+    return IHTMLWindow2_QueryInterface(&This->IHTMLWindow2_iface, riid, ppv);
+}
+
+static ULONG WINAPI HTMLWindow5_AddRef(IHTMLWindow5 *iface)
+{
+    HTMLWindow *This = impl_from_IHTMLWindow5(iface);
+
+    return IHTMLWindow2_AddRef(&This->IHTMLWindow2_iface);
+}
+
+static ULONG WINAPI HTMLWindow5_Release(IHTMLWindow5 *iface)
+{
+    HTMLWindow *This = impl_from_IHTMLWindow5(iface);
+
+    return IHTMLWindow2_Release(&This->IHTMLWindow2_iface);
+}
+
+static HRESULT WINAPI HTMLWindow5_GetTypeInfoCount(IHTMLWindow5 *iface, UINT *pctinfo)
+{
+    HTMLWindow *This = impl_from_IHTMLWindow5(iface);
+
+    return IDispatchEx_GetTypeInfoCount(&This->IDispatchEx_iface, pctinfo);
+}
+
+static HRESULT WINAPI HTMLWindow5_GetTypeInfo(IHTMLWindow5 *iface, UINT iTInfo,
+        LCID lcid, ITypeInfo **ppTInfo)
+{
+    HTMLWindow *This = impl_from_IHTMLWindow5(iface);
+
+    return IDispatchEx_GetTypeInfo(&This->IDispatchEx_iface, iTInfo, lcid, ppTInfo);
+}
+
+static HRESULT WINAPI HTMLWindow5_GetIDsOfNames(IHTMLWindow5 *iface, REFIID riid,
+        LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId)
+{
+    HTMLWindow *This = impl_from_IHTMLWindow5(iface);
+
+    return IDispatchEx_GetIDsOfNames(&This->IDispatchEx_iface, riid, rgszNames, cNames, lcid,
+            rgDispId);
+}
+
+static HRESULT WINAPI HTMLWindow5_Invoke(IHTMLWindow5 *iface, DISPID dispIdMember,
+        REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams,
+        VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
+{
+    HTMLWindow *This = impl_from_IHTMLWindow5(iface);
+
+    return IDispatchEx_Invoke(&This->IDispatchEx_iface, dispIdMember, riid, lcid, wFlags,
+            pDispParams, pVarResult, pExcepInfo, puArgErr);
+}
+
+static HRESULT WINAPI HTMLWindow5_put_XMLHttpRequest(IHTMLWindow5 *iface, VARIANT v)
+{
+    HTMLWindow *This = impl_from_IHTMLWindow5(iface);
+    FIXME("(%p)->(%s)\n", This, debugstr_variant(&v));
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI HTMLWindow5_get_XMLHttpRequest(IHTMLWindow5 *iface, VARIANT *p)
+{
+    HTMLWindow *This = impl_from_IHTMLWindow5(iface);
+    FIXME("(%p)->(%p)\n", This, p);
+    return E_NOTIMPL;
+}
+
+static const IHTMLWindow5Vtbl HTMLWindow5Vtbl = {
+    HTMLWindow5_QueryInterface,
+    HTMLWindow5_AddRef,
+    HTMLWindow5_Release,
+    HTMLWindow5_GetTypeInfoCount,
+    HTMLWindow5_GetTypeInfo,
+    HTMLWindow5_GetIDsOfNames,
+    HTMLWindow5_Invoke,
+    HTMLWindow5_put_XMLHttpRequest,
+    HTMLWindow5_get_XMLHttpRequest
+};
+
 static inline HTMLWindow *impl_from_IHTMLWindow6(IHTMLWindow6 *iface)
 {
     return CONTAINING_RECORD(iface, HTMLWindow, IHTMLWindow6_iface);
@@ -2443,6 +2532,7 @@ HRESULT HTMLWindow_Create(HTMLDocumentObj *doc_obj, nsIDOMWindow *nswindow, HTML
     window->IHTMLWindow2_iface.lpVtbl = &HTMLWindow2Vtbl;
     window->IHTMLWindow3_iface.lpVtbl = &HTMLWindow3Vtbl;
     window->IHTMLWindow4_iface.lpVtbl = &HTMLWindow4Vtbl;
+    window->IHTMLWindow5_iface.lpVtbl = &HTMLWindow5Vtbl;
     window->IHTMLWindow6_iface.lpVtbl = &HTMLWindow6Vtbl;
     window->IHTMLPrivateWindow_iface.lpVtbl = &HTMLPrivateWindowVtbl;
     window->IDispatchEx_iface.lpVtbl = &WindowDispExVtbl;
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 90fab6d..7373e15 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -291,6 +291,7 @@ struct HTMLWindow {
     IHTMLWindow2       IHTMLWindow2_iface;
     IHTMLWindow3       IHTMLWindow3_iface;
     IHTMLWindow4       IHTMLWindow4_iface;
+    IHTMLWindow5       IHTMLWindow5_iface;
     IHTMLWindow6       IHTMLWindow6_iface;
     IHTMLPrivateWindow IHTMLPrivateWindow_iface;
     IDispatchEx        IDispatchEx_iface;




More information about the wine-cvs mailing list