Piotr Caban : mshtml: Added HTMLAttributeCollection2_getNamedItem implementation.
Module: wine Branch: master Commit: c7cb9f759c8eca6e8c109952f819f270a86e8875 URL: http://source.winehq.org/git/wine.git/?a=commit;h=c7cb9f759c8eca6e8c109952f8... Author: Piotr Caban <piotr(a)codeweavers.com> Date: Fri Sep 2 14:17:02 2011 +0200 mshtml: Added HTMLAttributeCollection2_getNamedItem implementation. --- dlls/mshtml/htmlelem.c | 25 +++++++++++++++++++++---- 1 files changed, 21 insertions(+), 4 deletions(-) diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c index 1cd838d..b9840b1 100644 --- a/dlls/mshtml/htmlelem.c +++ b/dlls/mshtml/htmlelem.c @@ -2403,8 +2403,26 @@ static HRESULT WINAPI HTMLAttributeCollection2_getNamedItem(IHTMLAttributeCollec IHTMLDOMAttribute **newretNode) { HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection2(iface); - FIXME("(%p)->(%s %p)\n", This, debugstr_w(bstrName), newretNode); - return E_NOTIMPL; + HTMLDOMAttribute *attr; + DISPID id; + HRESULT hres; + + TRACE("(%p)->(%s %p)\n", This, debugstr_w(bstrName), newretNode); + + hres = get_attr_dispid_by_name(This, bstrName, &id); + if(hres == DISP_E_UNKNOWNNAME) { + *newretNode = NULL; + return S_OK; + } else if(FAILED(hres)) { + return hres; + } + + hres = get_domattr(This->elem, id, &attr); + if(FAILED(hres)) + return hres; + + *newretNode = &attr->IHTMLDOMAttribute_iface; + return S_OK; } static HRESULT WINAPI HTMLAttributeCollection2_setNamedItem(IHTMLAttributeCollection2 *iface, @@ -2493,8 +2511,7 @@ static HRESULT WINAPI HTMLAttributeCollection3_getNamedItem(IHTMLAttributeCollec IHTMLDOMAttribute **ppNodeOut) { HTMLAttributeCollection *This = impl_from_IHTMLAttributeCollection3(iface); - FIXME("(%p)->(%s %p)\n", This, debugstr_w(bstrName), ppNodeOut); - return E_NOTIMPL; + return IHTMLAttributeCollection2_getNamedItem(&This->IHTMLAttributeCollection2_iface, bstrName, ppNodeOut); } static HRESULT WINAPI HTMLAttributeCollection3_setNamedItem(IHTMLAttributeCollection3 *iface,
participants (1)
-
Alexandre Julliard