mshtml: Forward attributes functions from IHTMLElement6 to older interfaces.
Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
a3ba3ac48e
commit
e391872ee0
|
@ -4036,36 +4036,75 @@ static HRESULT WINAPI HTMLElement6_hasAttributeNS(IHTMLElement6 *iface, VARIANT
|
|||
static HRESULT WINAPI HTMLElement6_getAttribute(IHTMLElement6 *iface, BSTR strAttributeName, VARIANT *AttributeValue)
|
||||
{
|
||||
HTMLElement *This = impl_from_IHTMLElement6(iface);
|
||||
FIXME("(%p)->(%s %p)\n", This, debugstr_w(strAttributeName), AttributeValue);
|
||||
return E_NOTIMPL;
|
||||
|
||||
WARN("(%p)->(%s %p) forwarding to IHTMLElement\n", This, debugstr_w(strAttributeName), AttributeValue);
|
||||
|
||||
return IHTMLElement_getAttribute(&This->IHTMLElement_iface, strAttributeName, 0, AttributeValue);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLElement6_setAttribute(IHTMLElement6 *iface, BSTR strAttributeName, VARIANT *pvarAttributeValue)
|
||||
{
|
||||
HTMLElement *This = impl_from_IHTMLElement6(iface);
|
||||
FIXME("(%p)->(%s %p)\n", This, debugstr_w(strAttributeName), pvarAttributeValue);
|
||||
return E_NOTIMPL;
|
||||
|
||||
WARN("(%p)->(%s %p) forwarding to IHTMLElement\n", This, debugstr_w(strAttributeName), pvarAttributeValue);
|
||||
|
||||
return IHTMLElement_setAttribute(&This->IHTMLElement_iface, strAttributeName, *pvarAttributeValue, 0);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLElement6_removeAttribute(IHTMLElement6 *iface, BSTR strAttributeName)
|
||||
{
|
||||
HTMLElement *This = impl_from_IHTMLElement6(iface);
|
||||
FIXME("(%p)->(%s)\n", This, debugstr_w(strAttributeName));
|
||||
return E_NOTIMPL;
|
||||
VARIANT_BOOL success;
|
||||
|
||||
WARN("(%p)->(%s) forwarding to IHTMLElement\n", This, debugstr_w(strAttributeName));
|
||||
|
||||
return IHTMLElement_removeAttribute(&This->IHTMLElement_iface, strAttributeName, 0, &success);
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLElement6_getAttributeNode(IHTMLElement6 *iface, BSTR strAttributeName, IHTMLDOMAttribute2 **ppretAttribute)
|
||||
{
|
||||
HTMLElement *This = impl_from_IHTMLElement6(iface);
|
||||
FIXME("(%p)->(%s %p)\n", This, debugstr_w(strAttributeName), ppretAttribute);
|
||||
return E_NOTIMPL;
|
||||
IHTMLDOMAttribute *attr;
|
||||
HRESULT hres;
|
||||
|
||||
WARN("(%p)->(%s %p) forwarding to IHTMLElement4\n", This, debugstr_w(strAttributeName), ppretAttribute);
|
||||
|
||||
hres = IHTMLElement4_getAttributeNode(&This->IHTMLElement4_iface, strAttributeName, &attr);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
|
||||
if(attr) {
|
||||
hres = IHTMLDOMAttribute_QueryInterface(attr, &IID_IHTMLDOMAttribute2, (void**)ppretAttribute);
|
||||
IHTMLDOMAttribute_Release(attr);
|
||||
}else {
|
||||
*ppretAttribute = NULL;
|
||||
}
|
||||
return hres;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLElement6_setAttributeNode(IHTMLElement6 *iface, IHTMLDOMAttribute2 *pattr, IHTMLDOMAttribute2 **ppretAttribute)
|
||||
{
|
||||
HTMLElement *This = impl_from_IHTMLElement6(iface);
|
||||
FIXME("(%p)->(%p %p)\n", This, pattr, ppretAttribute);
|
||||
return E_NOTIMPL;
|
||||
IHTMLDOMAttribute *attr, *ret_attr;
|
||||
HRESULT hres;
|
||||
|
||||
WARN("(%p)->(%p %p) forwarding to IHTMLElement4\n", This, pattr, ppretAttribute);
|
||||
|
||||
hres = IHTMLDOMAttribute2_QueryInterface(pattr, &IID_IHTMLDOMAttribute, (void**)&attr);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
|
||||
hres = IHTMLElement4_setAttributeNode(&This->IHTMLElement4_iface, attr, &ret_attr);
|
||||
if(FAILED(hres))
|
||||
return hres;
|
||||
|
||||
if(ret_attr) {
|
||||
hres = IHTMLDOMAttribute_QueryInterface(ret_attr, &IID_IHTMLDOMAttribute2, (void**)ppretAttribute);
|
||||
IHTMLDOMAttribute_Release(ret_attr);
|
||||
}else {
|
||||
*ppretAttribute = NULL;
|
||||
}
|
||||
return hres;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI HTMLElement6_removeAttributeNode(IHTMLElement6 *iface, IHTMLDOMAttribute2 *pattr, IHTMLDOMAttribute2 **ppretAttribute)
|
||||
|
|
Loading…
Reference in New Issue