mshtml: Added IDispatchEx support to HTMLDOMAttribute object.
This commit is contained in:
parent
0e3bf9b228
commit
17736769c4
|
@ -48,6 +48,8 @@ static HRESULT WINAPI HTMLDOMAttribute_QueryInterface(IHTMLDOMAttribute *iface,
|
||||||
}else if(IsEqualGUID(&IID_IHTMLDOMAttribute, riid)) {
|
}else if(IsEqualGUID(&IID_IHTMLDOMAttribute, riid)) {
|
||||||
TRACE("(%p)->(IID_IHTMLDOMAttribute %p)\n", This, ppv);
|
TRACE("(%p)->(IID_IHTMLDOMAttribute %p)\n", This, ppv);
|
||||||
*ppv = &This->IHTMLDOMAttribute_iface;
|
*ppv = &This->IHTMLDOMAttribute_iface;
|
||||||
|
}else if(dispex_query_interface(&This->dispex, riid, ppv)) {
|
||||||
|
return *ppv ? S_OK : E_NOINTERFACE;
|
||||||
}else {
|
}else {
|
||||||
WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
|
WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv);
|
||||||
*ppv = NULL;
|
*ppv = NULL;
|
||||||
|
@ -77,6 +79,7 @@ static ULONG WINAPI HTMLDOMAttribute_Release(IHTMLDOMAttribute *iface)
|
||||||
|
|
||||||
if(!ref) {
|
if(!ref) {
|
||||||
nsIDOMAttr_Release(This->nsattr);
|
nsIDOMAttr_Release(This->nsattr);
|
||||||
|
release_dispex(&This->dispex);
|
||||||
heap_free(This);
|
heap_free(This);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -86,16 +89,14 @@ static ULONG WINAPI HTMLDOMAttribute_Release(IHTMLDOMAttribute *iface)
|
||||||
static HRESULT WINAPI HTMLDOMAttribute_GetTypeInfoCount(IHTMLDOMAttribute *iface, UINT *pctinfo)
|
static HRESULT WINAPI HTMLDOMAttribute_GetTypeInfoCount(IHTMLDOMAttribute *iface, UINT *pctinfo)
|
||||||
{
|
{
|
||||||
HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute(iface);
|
HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute(iface);
|
||||||
FIXME("%p\n", This);
|
return IDispatchEx_GetTypeInfoCount(&This->dispex.IDispatchEx_iface, pctinfo);
|
||||||
return E_NOTIMPL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI HTMLDOMAttribute_GetTypeInfo(IHTMLDOMAttribute *iface, UINT iTInfo,
|
static HRESULT WINAPI HTMLDOMAttribute_GetTypeInfo(IHTMLDOMAttribute *iface, UINT iTInfo,
|
||||||
LCID lcid, ITypeInfo **ppTInfo)
|
LCID lcid, ITypeInfo **ppTInfo)
|
||||||
{
|
{
|
||||||
HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute(iface);
|
HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute(iface);
|
||||||
FIXME("%p\n", This);
|
return IDispatchEx_GetTypeInfo(&This->dispex.IDispatchEx_iface, iTInfo, lcid, ppTInfo);
|
||||||
return E_NOTIMPL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI HTMLDOMAttribute_GetIDsOfNames(IHTMLDOMAttribute *iface, REFIID riid,
|
static HRESULT WINAPI HTMLDOMAttribute_GetIDsOfNames(IHTMLDOMAttribute *iface, REFIID riid,
|
||||||
|
@ -103,8 +104,8 @@ static HRESULT WINAPI HTMLDOMAttribute_GetIDsOfNames(IHTMLDOMAttribute *iface, R
|
||||||
LCID lcid, DISPID *rgDispId)
|
LCID lcid, DISPID *rgDispId)
|
||||||
{
|
{
|
||||||
HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute(iface);
|
HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute(iface);
|
||||||
FIXME("%p\n", This);
|
return IDispatchEx_GetIDsOfNames(&This->dispex.IDispatchEx_iface, riid, rgszNames, cNames,
|
||||||
return E_NOTIMPL;
|
lcid, rgDispId);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI HTMLDOMAttribute_Invoke(IHTMLDOMAttribute *iface, DISPID dispIdMember,
|
static HRESULT WINAPI HTMLDOMAttribute_Invoke(IHTMLDOMAttribute *iface, DISPID dispIdMember,
|
||||||
|
@ -112,8 +113,8 @@ static HRESULT WINAPI HTMLDOMAttribute_Invoke(IHTMLDOMAttribute *iface, DISPID d
|
||||||
VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
|
VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr)
|
||||||
{
|
{
|
||||||
HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute(iface);
|
HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute(iface);
|
||||||
FIXME("%p\n", This);
|
return IDispatchEx_Invoke(&This->dispex.IDispatchEx_iface, dispIdMember, riid, lcid,
|
||||||
return E_NOTIMPL;
|
wFlags, pDispParams, pVarResult, pExcepInfo, puArgErr);
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI HTMLDOMAttribute_get_nodeName(IHTMLDOMAttribute *iface, BSTR *p)
|
static HRESULT WINAPI HTMLDOMAttribute_get_nodeName(IHTMLDOMAttribute *iface, BSTR *p)
|
||||||
|
@ -158,6 +159,17 @@ static const IHTMLDOMAttributeVtbl HTMLDOMAttributeVtbl = {
|
||||||
HTMLDOMAttribute_get_specified
|
HTMLDOMAttribute_get_specified
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const tid_t HTMLDOMAttribute_iface_tids[] = {
|
||||||
|
IHTMLDOMAttribute_tid,
|
||||||
|
0
|
||||||
|
};
|
||||||
|
static dispex_static_data_t HTMLDOMAttribute_dispex = {
|
||||||
|
NULL,
|
||||||
|
DispHTMLDOMAttribute_tid,
|
||||||
|
0,
|
||||||
|
HTMLDOMAttribute_iface_tids
|
||||||
|
};
|
||||||
|
|
||||||
HRESULT HTMLDOMAttribute_Create(HTMLDocumentNode *doc, nsIDOMAttr *nsattr, HTMLDOMAttribute **attr)
|
HRESULT HTMLDOMAttribute_Create(HTMLDocumentNode *doc, nsIDOMAttr *nsattr, HTMLDOMAttribute **attr)
|
||||||
{
|
{
|
||||||
HTMLDOMAttribute *ret;
|
HTMLDOMAttribute *ret;
|
||||||
|
@ -172,6 +184,9 @@ HRESULT HTMLDOMAttribute_Create(HTMLDocumentNode *doc, nsIDOMAttr *nsattr, HTMLD
|
||||||
nsIDOMAttr_AddRef(nsattr);
|
nsIDOMAttr_AddRef(nsattr);
|
||||||
ret->nsattr = nsattr;
|
ret->nsattr = nsattr;
|
||||||
|
|
||||||
|
init_dispex(&ret->dispex, (IUnknown*)&ret->IHTMLDOMAttribute_iface,
|
||||||
|
&HTMLDOMAttribute_dispex);
|
||||||
|
|
||||||
*attr = ret;
|
*attr = ret;
|
||||||
return S_OK;
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,6 +74,7 @@ typedef struct event_target_t event_target_t;
|
||||||
XDIID(DispHTMLCommentElement) \
|
XDIID(DispHTMLCommentElement) \
|
||||||
XDIID(DispHTMLCurrentStyle) \
|
XDIID(DispHTMLCurrentStyle) \
|
||||||
XDIID(DispHTMLDocument) \
|
XDIID(DispHTMLDocument) \
|
||||||
|
XDIID(DispHTMLDOMAttribute) \
|
||||||
XDIID(DispHTMLDOMTextNode) \
|
XDIID(DispHTMLDOMTextNode) \
|
||||||
XDIID(DispHTMLElementCollection) \
|
XDIID(DispHTMLElementCollection) \
|
||||||
XDIID(DispHTMLEmbed) \
|
XDIID(DispHTMLEmbed) \
|
||||||
|
@ -111,6 +112,7 @@ typedef struct event_target_t event_target_t;
|
||||||
XIID(IHTMLDocument3) \
|
XIID(IHTMLDocument3) \
|
||||||
XIID(IHTMLDocument4) \
|
XIID(IHTMLDocument4) \
|
||||||
XIID(IHTMLDocument5) \
|
XIID(IHTMLDocument5) \
|
||||||
|
XIID(IHTMLDOMAttribute) \
|
||||||
XIID(IHTMLDOMChildrenCollection) \
|
XIID(IHTMLDOMChildrenCollection) \
|
||||||
XIID(IHTMLDOMNode) \
|
XIID(IHTMLDOMNode) \
|
||||||
XIID(IHTMLDOMNode2) \
|
XIID(IHTMLDOMNode2) \
|
||||||
|
@ -740,6 +742,7 @@ HRESULT create_nselem(HTMLDocumentNode*,const WCHAR*,nsIDOMHTMLElement**);
|
||||||
HRESULT HTMLDOMTextNode_Create(HTMLDocumentNode*,nsIDOMNode*,HTMLDOMNode**);
|
HRESULT HTMLDOMTextNode_Create(HTMLDocumentNode*,nsIDOMNode*,HTMLDOMNode**);
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
DispatchEx dispex;
|
||||||
IHTMLDOMAttribute IHTMLDOMAttribute_iface;
|
IHTMLDOMAttribute IHTMLDOMAttribute_iface;
|
||||||
|
|
||||||
LONG ref;
|
LONG ref;
|
||||||
|
|
Loading…
Reference in New Issue