mshtml: Added IDispatchEx support to HTMLDOMChildrenCollection.
This commit is contained in:
parent
6da1c73047
commit
30d2047537
|
@ -51,6 +51,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_DispHTMLDocument,
|
&DIID_DispHTMLDocument,
|
||||||
&DIID_DispHTMLDOMTextNode,
|
&DIID_DispHTMLDOMTextNode,
|
||||||
&DIID_DispHTMLElementCollection,
|
&DIID_DispHTMLElementCollection,
|
||||||
|
@ -62,6 +63,7 @@ static REFIID tid_ids[] = {
|
||||||
&IID_IHTMLDocument3,
|
&IID_IHTMLDocument3,
|
||||||
&IID_IHTMLDocument4,
|
&IID_IHTMLDocument4,
|
||||||
&IID_IHTMLDocument5,
|
&IID_IHTMLDocument5,
|
||||||
|
&IID_IHTMLDOMChildrenCollection,
|
||||||
&IID_IHTMLDOMNode,
|
&IID_IHTMLDOMNode,
|
||||||
&IID_IHTMLDOMNode2,
|
&IID_IHTMLDOMNode2,
|
||||||
&IID_IHTMLDOMTextNode,
|
&IID_IHTMLDOMTextNode,
|
||||||
|
|
|
@ -32,6 +32,7 @@
|
||||||
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
WINE_DEFAULT_DEBUG_CHANNEL(mshtml);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
DispatchEx dispex;
|
||||||
const IHTMLDOMChildrenCollectionVtbl *lpIHTMLDOMChildrenCollectionVtbl;
|
const IHTMLDOMChildrenCollectionVtbl *lpIHTMLDOMChildrenCollectionVtbl;
|
||||||
|
|
||||||
LONG ref;
|
LONG ref;
|
||||||
|
@ -58,6 +59,9 @@ static HRESULT WINAPI HTMLDOMChildrenCollection_QueryInterface(IHTMLDOMChildrenC
|
||||||
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
|
}else if(IsEqualGUID(&IID_IDispatch, riid)) {
|
||||||
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
|
TRACE("(%p)->(IID_IDispatch %p)\n", This, ppv);
|
||||||
*ppv = HTMLCHILDCOL(This);
|
*ppv = HTMLCHILDCOL(This);
|
||||||
|
}else if(IsEqualGUID(&IID_IDispatchEx, riid)) {
|
||||||
|
TRACE("(%p)->(IID_IDispatchEx %p)\n", This, ppv);
|
||||||
|
*ppv = DISPATCHEX(&This->dispex);
|
||||||
}else if(IsEqualGUID(&IID_IHTMLDOMChildrenCollection, riid)) {
|
}else if(IsEqualGUID(&IID_IHTMLDOMChildrenCollection, riid)) {
|
||||||
TRACE("(%p)->(IID_IHTMLDOMChildrenCollection %p)\n", This, ppv);
|
TRACE("(%p)->(IID_IHTMLDOMChildrenCollection %p)\n", This, ppv);
|
||||||
*ppv = HTMLCHILDCOL(This);
|
*ppv = HTMLCHILDCOL(This);
|
||||||
|
@ -189,6 +193,16 @@ static const IHTMLDOMChildrenCollectionVtbl HTMLDOMChildrenCollectionVtbl = {
|
||||||
HTMLDOMChildrenCollection_item
|
HTMLDOMChildrenCollection_item
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static dispex_static_data_t HTMLDOMChildrenCollection_dispex = {
|
||||||
|
NULL,
|
||||||
|
DispDOMChildrenCollection_tid,
|
||||||
|
NULL,
|
||||||
|
{
|
||||||
|
IHTMLDOMChildrenCollection_tid,
|
||||||
|
0
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
static IHTMLDOMChildrenCollection *create_child_collection(HTMLDocument *doc, nsIDOMNodeList *nslist)
|
static IHTMLDOMChildrenCollection *create_child_collection(HTMLDocument *doc, nsIDOMNodeList *nslist)
|
||||||
{
|
{
|
||||||
HTMLDOMChildrenCollection *ret;
|
HTMLDOMChildrenCollection *ret;
|
||||||
|
@ -201,6 +215,8 @@ static IHTMLDOMChildrenCollection *create_child_collection(HTMLDocument *doc, ns
|
||||||
ret->nslist = nslist;
|
ret->nslist = nslist;
|
||||||
ret->doc = doc;
|
ret->doc = doc;
|
||||||
|
|
||||||
|
init_dispex(&ret->dispex, (IUnknown*)HTMLCHILDCOL(ret), &HTMLDOMChildrenCollection_dispex);
|
||||||
|
|
||||||
return HTMLCHILDCOL(ret);
|
return HTMLCHILDCOL(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -61,6 +61,7 @@ typedef struct event_target_t event_target_t;
|
||||||
/* NOTE: make sure to keep in sync with dispex.c */
|
/* NOTE: make sure to keep in sync with dispex.c */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
NULL_tid,
|
NULL_tid,
|
||||||
|
DispDOMChildrenCollection_tid,
|
||||||
DispHTMLDocument_tid,
|
DispHTMLDocument_tid,
|
||||||
DispHTMLDOMTextNode_tid,
|
DispHTMLDOMTextNode_tid,
|
||||||
DispHTMLElementCollection_tid,
|
DispHTMLElementCollection_tid,
|
||||||
|
@ -72,6 +73,7 @@ typedef enum {
|
||||||
IHTMLDocument3_tid,
|
IHTMLDocument3_tid,
|
||||||
IHTMLDocument4_tid,
|
IHTMLDocument4_tid,
|
||||||
IHTMLDocument5_tid,
|
IHTMLDocument5_tid,
|
||||||
|
IHTMLDOMChildrenCollection_tid,
|
||||||
IHTMLDOMNode_tid,
|
IHTMLDOMNode_tid,
|
||||||
IHTMLDOMNode2_tid,
|
IHTMLDOMNode2_tid,
|
||||||
IHTMLDOMTextNode_tid,
|
IHTMLDOMTextNode_tid,
|
||||||
|
|
Loading…
Reference in New Issue