Jacek Caban : mshtml: Added IDispatchEx support to HTMLInputElement.

Alexandre Julliard julliard at winehq.org
Tue Apr 29 08:54:35 CDT 2008


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Apr 29 01:39:09 2008 +0200

mshtml: Added IDispatchEx support to HTMLInputElement.

---

 dlls/mshtml/dispex.c         |    2 ++
 dlls/mshtml/htmlinput.c      |   16 ++++++++++++++++
 dlls/mshtml/mshtml_private.h |    2 ++
 3 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c
index 834f3b3..37a3b3d 100644
--- a/dlls/mshtml/dispex.c
+++ b/dlls/mshtml/dispex.c
@@ -54,6 +54,7 @@ static REFIID tid_ids[] = {
     &DIID_DispHTMLDocument,
     &DIID_DispHTMLDOMTextNode,
     &DIID_DispHTMLElementCollection,
+    &DIID_DispHTMLInputElement,
     &DIID_DispHTMLUnknownElement,
     &DIID_DispHTMLWindow2,
     &IID_IHTMLDocument2,
@@ -66,6 +67,7 @@ static REFIID tid_ids[] = {
     &IID_IHTMLElement,
     &IID_IHTMLElement2,
     &IID_IHTMLElementCollection,
+    &IID_IHTMLInputElement,
     &IID_IHTMLWindow2,
     &IID_IHTMLWindow3,
     &IID_IOmNavigator
diff --git a/dlls/mshtml/htmlinput.c b/dlls/mshtml/htmlinput.c
index dd0a8b5..3ba954f 100644
--- a/dlls/mshtml/htmlinput.c
+++ b/dlls/mshtml/htmlinput.c
@@ -1059,6 +1059,20 @@ static const NodeImplVtbl HTMLInputElementImplVtbl = {
     HTMLInputElement_destructor
 };
 
+static dispex_static_data_t HTMLInputElement_dispex = {
+    NULL,
+    DispHTMLInputElement_tid,
+    NULL,
+    {
+        IHTMLDOMNode_tid,
+        IHTMLDOMNode2_tid,
+        IHTMLElement_tid,
+        IHTMLElement2_tid,
+        IHTMLInputElement_tid,
+        0
+    }
+};
+
 HTMLElement *HTMLInputElement_Create(nsIDOMHTMLElement *nselem)
 {
     HTMLInputElement *ret = heap_alloc_zero(sizeof(HTMLInputElement));
@@ -1069,6 +1083,8 @@ HTMLElement *HTMLInputElement_Create(nsIDOMHTMLElement *nselem)
     ret->lpHTMLInputElementVtbl = &HTMLInputElementVtbl;
     ret->element.node.vtbl = &HTMLInputElementImplVtbl;
 
+    init_dispex(&ret->element.node.dispex, (IUnknown*)HTMLINPUT(ret), &HTMLInputElement_dispex);
+
     nsres = nsIDOMHTMLElement_QueryInterface(nselem, &IID_nsIDOMHTMLInputElement,
                                              (void**)&ret->nsinput);
     if(NS_FAILED(nsres))
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index 42381b5..911abe0 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -64,6 +64,7 @@ typedef enum {
     DispHTMLDocument_tid,
     DispHTMLDOMTextNode_tid,
     DispHTMLElementCollection_tid,
+    DispHTMLInputElement_tid,
     DispHTMLUnknownElement_tid,
     DispHTMLWindow2_tid,
     IHTMLDocument2_tid,
@@ -76,6 +77,7 @@ typedef enum {
     IHTMLElement_tid,
     IHTMLElement2_tid,
     IHTMLElementCollection_tid,
+    IHTMLInputElement_tid,
     IHTMLWindow2_tid,
     IHTMLWindow3_tid,
     IOmNavigator_tid,




More information about the wine-cvs mailing list