Jacek Caban : mshtml: Added IDispatchEx support to HTMLHeadElement object.

Alexandre Julliard julliard at winehq.org
Tue Jun 21 12:25:43 CDT 2011


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Tue Jun 21 13:47:20 2011 +0200

mshtml: Added IDispatchEx support to HTMLHeadElement object.

---

 dlls/mshtml/htmlhead.c       |   14 +++++++++++++-
 dlls/mshtml/mshtml_private.h |    2 ++
 dlls/mshtml/tests/dom.c      |    2 +-
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/dlls/mshtml/htmlhead.c b/dlls/mshtml/htmlhead.c
index aee2157..eacbcd4 100644
--- a/dlls/mshtml/htmlhead.c
+++ b/dlls/mshtml/htmlhead.c
@@ -159,6 +159,18 @@ static const NodeImplVtbl HTMLHeadElementImplVtbl = {
     HTMLElement_clone
 };
 
+static const tid_t HTMLHeadElement_iface_tids[] = {
+    HTMLELEMENT_TIDS,
+    IHTMLHeadElement_tid,
+    0
+};
+static dispex_static_data_t HTMLHeadElement_dispex = {
+    NULL,
+    DispHTMLHeadElement_tid,
+    NULL,
+    HTMLHeadElement_iface_tids
+};
+
 HRESULT HTMLHeadElement_Create(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem, HTMLElement **elem)
 {
     HTMLHeadElement *ret;
@@ -170,7 +182,7 @@ HRESULT HTMLHeadElement_Create(HTMLDocumentNode *doc, nsIDOMHTMLElement *nselem,
     ret->IHTMLHeadElement_iface.lpVtbl = &HTMLHeadElementVtbl;
     ret->element.node.vtbl = &HTMLHeadElementImplVtbl;
 
-    HTMLElement_Init(&ret->element, doc, nselem, NULL);
+    HTMLElement_Init(&ret->element, doc, nselem, &HTMLHeadElement_dispex);
 
     *elem = &ret->element;
     return S_OK;
diff --git a/dlls/mshtml/mshtml_private.h b/dlls/mshtml/mshtml_private.h
index ea62a46..0b0b6b0 100644
--- a/dlls/mshtml/mshtml_private.h
+++ b/dlls/mshtml/mshtml_private.h
@@ -84,6 +84,7 @@ typedef struct event_target_t event_target_t;
     XDIID(DispHTMLFormElement) \
     XDIID(DispHTMLGenericElement) \
     XDIID(DispHTMLFrameElement) \
+    XDIID(DispHTMLHeadElement) \
     XDIID(DispHTMLIFrame) \
     XDIID(DispHTMLImg) \
     XDIID(DispHTMLInputElement) \
@@ -133,6 +134,7 @@ typedef struct event_target_t event_target_t;
     XIID(IHTMLFrameBase2) \
     XIID(IHTMLFrameElement3) \
     XIID(IHTMLGenericElement) \
+    XIID(IHTMLHeadElement) \
     XIID(IHTMLIFrameElement) \
     XIID(IHTMLImageElementFactory) \
     XIID(IHTMLImgElement) \
diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c
index 9672943..a637a3f 100644
--- a/dlls/mshtml/tests/dom.c
+++ b/dlls/mshtml/tests/dom.c
@@ -368,7 +368,7 @@ typedef struct {
 static const elem_type_info_t elem_type_infos[] = {
     {"",          none_iids,        NULL},
     {"HTML",      elem_iids,        NULL},
-    {"HEAD",      head_iids,        NULL},
+    {"HEAD",      head_iids,        &DIID_DispHTMLHeadElement},
     {"TITLE",     elem_iids,        NULL},
     {"BODY",      body_iids,        &DIID_DispHTMLBody},
     {"A",         anchor_iids,      &DIID_DispHTMLAnchorElement},




More information about the wine-cvs mailing list