mshtml: Restructure element removeAttribute.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com> Signed-off-by: Jacek Caban <jacek@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
368199c640
commit
d224a2a881
|
@ -1197,46 +1197,47 @@ static HRESULT WINAPI HTMLElement_removeAttribute(IHTMLElement *iface, BSTR strA
|
||||||
LONG lFlags, VARIANT_BOOL *pfSuccess)
|
LONG lFlags, VARIANT_BOOL *pfSuccess)
|
||||||
{
|
{
|
||||||
HTMLElement *This = impl_from_IHTMLElement(iface);
|
HTMLElement *This = impl_from_IHTMLElement(iface);
|
||||||
|
compat_mode_t compat_mode = dispex_compat_mode(&This->node.event_target.dispex);
|
||||||
DISPID id;
|
DISPID id;
|
||||||
HRESULT hres;
|
HRESULT hres;
|
||||||
|
|
||||||
TRACE("(%p)->(%s %x %p)\n", This, debugstr_w(strAttributeName), lFlags, pfSuccess);
|
TRACE("(%p)->(%s %x %p)\n", This, debugstr_w(strAttributeName), lFlags, pfSuccess);
|
||||||
|
|
||||||
if(dispex_compat_mode(&This->node.event_target.dispex) >= COMPAT_MODE_IE8) {
|
if(compat_mode < COMPAT_MODE_IE8 || !This->dom_element) {
|
||||||
*pfSuccess = element_has_attribute(This, strAttributeName);
|
hres = IDispatchEx_GetDispID(&This->node.event_target.dispex.IDispatchEx_iface, strAttributeName,
|
||||||
if(*pfSuccess)
|
lFlags&ATTRFLAG_CASESENSITIVE ? fdexNameCaseSensitive : fdexNameCaseInsensitive, &id);
|
||||||
return element_remove_attribute(This, strAttributeName);
|
if(hres == DISP_E_UNKNOWNNAME) {
|
||||||
return S_OK;
|
*pfSuccess = VARIANT_FALSE;
|
||||||
}
|
return S_OK;
|
||||||
|
}
|
||||||
hres = IDispatchEx_GetDispID(&This->node.event_target.dispex.IDispatchEx_iface, strAttributeName,
|
|
||||||
lFlags&ATTRFLAG_CASESENSITIVE ? fdexNameCaseSensitive : fdexNameCaseInsensitive, &id);
|
|
||||||
if(hres == DISP_E_UNKNOWNNAME) {
|
|
||||||
*pfSuccess = VARIANT_FALSE;
|
|
||||||
return S_OK;
|
|
||||||
}
|
|
||||||
if(FAILED(hres))
|
|
||||||
return hres;
|
|
||||||
|
|
||||||
if(id == DISPID_IHTMLELEMENT_STYLE) {
|
|
||||||
IHTMLStyle *style;
|
|
||||||
|
|
||||||
TRACE("Special case: style\n");
|
|
||||||
|
|
||||||
hres = IHTMLElement_get_style(&This->IHTMLElement_iface, &style);
|
|
||||||
if(FAILED(hres))
|
if(FAILED(hres))
|
||||||
return hres;
|
return hres;
|
||||||
|
|
||||||
hres = IHTMLStyle_put_cssText(style, NULL);
|
if(id == DISPID_IHTMLELEMENT_STYLE) {
|
||||||
IHTMLStyle_Release(style);
|
IHTMLStyle *style;
|
||||||
if(FAILED(hres))
|
|
||||||
return hres;
|
|
||||||
|
|
||||||
*pfSuccess = VARIANT_TRUE;
|
TRACE("Special case: style\n");
|
||||||
return S_OK;
|
|
||||||
|
hres = IHTMLElement_get_style(&This->IHTMLElement_iface, &style);
|
||||||
|
if(FAILED(hres))
|
||||||
|
return hres;
|
||||||
|
|
||||||
|
hres = IHTMLStyle_put_cssText(style, NULL);
|
||||||
|
IHTMLStyle_Release(style);
|
||||||
|
if(FAILED(hres))
|
||||||
|
return hres;
|
||||||
|
|
||||||
|
*pfSuccess = VARIANT_TRUE;
|
||||||
|
return S_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
return remove_attribute(&This->node.event_target.dispex, id, pfSuccess);
|
||||||
}
|
}
|
||||||
|
|
||||||
return remove_attribute(&This->node.event_target.dispex, id, pfSuccess);
|
*pfSuccess = element_has_attribute(This, strAttributeName);
|
||||||
|
if(*pfSuccess)
|
||||||
|
return element_remove_attribute(This, strAttributeName);
|
||||||
|
return S_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
static HRESULT WINAPI HTMLElement_put_className(IHTMLElement *iface, BSTR v)
|
static HRESULT WINAPI HTMLElement_put_className(IHTMLElement *iface, BSTR v)
|
||||||
|
|
Loading…
Reference in New Issue