Jacek Caban : mshtml: Added IDispatchEx support to text node.
Alexandre Julliard
julliard at winehq.org
Thu Apr 24 15:56:45 CDT 2008
Module: wine
Branch: master
Commit: af271b3b45b195243a1798b4c111a94e41838877
URL: http://source.winehq.org/git/wine.git/?a=commit;h=af271b3b45b195243a1798b4c111a94e41838877
Author: Jacek Caban <jacek at codeweavers.com>
Date: Thu Apr 24 18:25:51 2008 +0200
mshtml: Added IDispatchEx support to text node.
---
dlls/mshtml/dispex.c | 2 ++
dlls/mshtml/htmltextnode.c | 13 +++++++++++++
dlls/mshtml/mshtml_private.h | 2 ++
dlls/mshtml/tests/dom.c | 1 +
4 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/dlls/mshtml/dispex.c b/dlls/mshtml/dispex.c
index 949d7b8..eb973b8 100644
--- a/dlls/mshtml/dispex.c
+++ b/dlls/mshtml/dispex.c
@@ -52,6 +52,7 @@ static struct list dispex_data_list = LIST_INIT(dispex_data_list);
static REFIID tid_ids[] = {
&IID_NULL,
&DIID_DispHTMLDocument,
+ &DIID_DispHTMLDOMTextNode,
&DIID_DispHTMLUnknownElement,
&DIID_DispHTMLWindow2,
&IID_IHTMLDocument2,
@@ -60,6 +61,7 @@ static REFIID tid_ids[] = {
&IID_IHTMLDocument5,
&IID_IHTMLDOMNode,
&IID_IHTMLDOMNode2,
+ &IID_IHTMLDOMTextNode,
&IID_IHTMLElement,
&IID_IHTMLElement2,
&IID_IHTMLWindow2,
diff --git a/dlls/mshtml/htmltextnode.c b/dlls/mshtml/htmltextnode.c
index 585d84f..fa6308e 100644
--- a/dlls/mshtml/htmltextnode.c
+++ b/dlls/mshtml/htmltextnode.c
@@ -185,6 +185,17 @@ static const NodeImplVtbl HTMLDOMTextNodeImplVtbl = {
HTMLDOMTextNode_destructor
};
+static dispex_static_data_t HTMLDOMTextNode_dispex = {
+ DispHTMLDOMTextNode_tid,
+ 0,
+ {
+ IHTMLDOMNode_tid,
+ IHTMLDOMNode2_tid,
+ IHTMLDOMTextNode_tid,
+ 0
+ }
+};
+
HTMLDOMNode *HTMLDOMTextNode_Create(nsIDOMNode *nsnode)
{
HTMLDOMTextNode *ret ;
@@ -193,5 +204,7 @@ HTMLDOMNode *HTMLDOMTextNode_Create(nsIDOMNode *nsnode)
ret->node.vtbl = &HTMLDOMTextNodeImplVtbl;
ret->lpIHTMLDOMTextNodeVtbl = &HTMLDOMTextNodeVtbl;
+ init_dispex(&ret->node.dispex, (IUnknown*)HTMLTEXT(ret), &HTMLDOMTextNode_dispex);
+
return &ret->node;
}
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index cf3cfba..e6041a0 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -62,6 +62,7 @@ typedef struct event_target_t event_target_t;
typedef enum {
NULL_tid,
DispHTMLDocument_tid,
+ DispHTMLDOMTextNode_tid,
DispHTMLUnknownElement_tid,
DispHTMLWindow2_tid,
IHTMLDocument2_tid,
@@ -70,6 +71,7 @@ typedef enum {
IHTMLDocument5_tid,
IHTMLDOMNode_tid,
IHTMLDOMNode2_tid,
+ IHTMLDOMTextNode_tid,
IHTMLElement_tid,
IHTMLElement2_tid,
IHTMLWindow2_tid,
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index 346ee5d..f91da86 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -1511,6 +1511,7 @@ static void test_elems(IHTMLDocument2 *doc)
ok(node != NULL, "node == NULL\n");
if(node) {
test_ifaces((IUnknown*)node, text_iids);
+ test_disp((IUnknown*)node, &DIID_DispHTMLDOMTextNode);
node2 = get_first_child((IUnknown*)node);
ok(!node2, "node2 != NULL\n");
More information about the wine-cvs
mailing list