Module: wine Branch: master Commit: 7582518e18b50bf4ebbd2cda30822d25be3d81a9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=7582518e18b50bf4ebbd2cda30...
Author: Jacek Caban jacek@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,