mshtml: Added IDispatchEx support to HTMLCommentElement.

This commit is contained in:
Jacek Caban 2008-04-30 18:20:48 +02:00 committed by Alexandre Julliard
parent ac00714c40
commit cecb265248
4 changed files with 16 additions and 1 deletions

View File

@ -52,6 +52,7 @@ static struct list dispex_data_list = LIST_INIT(dispex_data_list);
static REFIID tid_ids[] = { static REFIID tid_ids[] = {
&IID_NULL, &IID_NULL,
&DIID_DispDOMChildrenCollection, &DIID_DispDOMChildrenCollection,
&DIID_DispHTMLCommentElement,
&DIID_DispHTMLDocument, &DIID_DispHTMLDocument,
&DIID_DispHTMLDOMTextNode, &DIID_DispHTMLDOMTextNode,
&DIID_DispHTMLElementCollection, &DIID_DispHTMLElementCollection,
@ -59,6 +60,7 @@ static REFIID tid_ids[] = {
&DIID_DispHTMLOptionElement, &DIID_DispHTMLOptionElement,
&DIID_DispHTMLUnknownElement, &DIID_DispHTMLUnknownElement,
&DIID_DispHTMLWindow2, &DIID_DispHTMLWindow2,
&IID_IHTMLCommentElement,
&IID_IHTMLDocument2, &IID_IHTMLDocument2,
&IID_IHTMLDocument3, &IID_IHTMLDocument3,
&IID_IHTMLDocument4, &IID_IHTMLDocument4,

View File

@ -175,6 +175,16 @@ static const NodeImplVtbl HTMLCommentElementImplVtbl = {
HTMLCommentElement_destructor HTMLCommentElement_destructor
}; };
static dispex_static_data_t HTMLCommentElement_dispex = {
NULL,
DispHTMLCommentElement_tid,
NULL,
{
IHTMLCommentElement_tid,
0
}
};
HTMLElement *HTMLCommentElement_Create(nsIDOMNode *nsnode) HTMLElement *HTMLCommentElement_Create(nsIDOMNode *nsnode)
{ {
HTMLCommentElement *ret = heap_alloc_zero(sizeof(*ret)); HTMLCommentElement *ret = heap_alloc_zero(sizeof(*ret));
@ -182,6 +192,7 @@ HTMLElement *HTMLCommentElement_Create(nsIDOMNode *nsnode)
ret->element.node.vtbl = &HTMLCommentElementImplVtbl; ret->element.node.vtbl = &HTMLCommentElementImplVtbl;
ret->lpIHTMLCommentElementVtbl = &HTMLCommentElementVtbl; ret->lpIHTMLCommentElementVtbl = &HTMLCommentElementVtbl;
init_dispex(&ret->element.node.dispex, (IUnknown*)HTMLCOMMENT(ret), &HTMLCommentElement_dispex);
HTMLElement_Init(&ret->element); HTMLElement_Init(&ret->element);
return &ret->element; return &ret->element;

View File

@ -62,6 +62,7 @@ typedef struct event_target_t event_target_t;
typedef enum { typedef enum {
NULL_tid, NULL_tid,
DispDOMChildrenCollection_tid, DispDOMChildrenCollection_tid,
DispHTMLCommentElement_tid,
DispHTMLDocument_tid, DispHTMLDocument_tid,
DispHTMLDOMTextNode_tid, DispHTMLDOMTextNode_tid,
DispHTMLElementCollection_tid, DispHTMLElementCollection_tid,
@ -69,6 +70,7 @@ typedef enum {
DispHTMLOptionElement_tid, DispHTMLOptionElement_tid,
DispHTMLUnknownElement_tid, DispHTMLUnknownElement_tid,
DispHTMLWindow2_tid, DispHTMLWindow2_tid,
IHTMLCommentElement_tid,
IHTMLDocument2_tid, IHTMLDocument2_tid,
IHTMLDocument3_tid, IHTMLDocument3_tid,
IHTMLDocument4_tid, IHTMLDocument4_tid,

View File

@ -246,7 +246,7 @@ static const elem_type_info_t elem_type_infos[] = {
{"TBODY", elem_iids, NULL}, {"TBODY", elem_iids, NULL},
{"SCRIPT", script_iids, NULL}, {"SCRIPT", script_iids, NULL},
{"TEST", elem_iids, &DIID_DispHTMLUnknownElement}, {"TEST", elem_iids, &DIID_DispHTMLUnknownElement},
{"!", comment_iids, NULL} {"!", comment_iids, &DIID_DispHTMLCommentElement}
}; };
static const char *dbgstr_w(LPCWSTR str) static const char *dbgstr_w(LPCWSTR str)