Module: wine Branch: master Commit: c74d8e17448ffd1e76154bd7754c9a6294e5d0fe URL: https://source.winehq.org/git/wine.git/?a=commit;h=c74d8e17448ffd1e76154bd77... Author: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Date: Tue Nov 16 19:58:17 2021 +0200 mshtml: Actually set the return value when removing an attribute. Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/mshtml/htmlelem.c | 8 ++++++-- dlls/mshtml/tests/documentmode.js | 1 - 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c index 91ccfb97abc..d54f729b2e5 100644 --- a/dlls/mshtml/htmlelem.c +++ b/dlls/mshtml/htmlelem.c @@ -1202,8 +1202,12 @@ static HRESULT WINAPI HTMLElement_removeAttribute(IHTMLElement *iface, BSTR strA TRACE("(%p)->(%s %x %p)\n", This, debugstr_w(strAttributeName), lFlags, pfSuccess); - if(dispex_compat_mode(&This->node.event_target.dispex) >= COMPAT_MODE_IE8) - return element_remove_attribute(This, strAttributeName); + if(dispex_compat_mode(&This->node.event_target.dispex) >= COMPAT_MODE_IE8) { + *pfSuccess = element_has_attribute(This, strAttributeName); + if(*pfSuccess) + return element_remove_attribute(This, strAttributeName); + return S_OK; + } hres = IDispatchEx_GetDispID(&This->node.event_target.dispex.IDispatchEx_iface, strAttributeName, lFlags&ATTRFLAG_CASESENSITIVE ? fdexNameCaseSensitive : fdexNameCaseInsensitive, &id); diff --git a/dlls/mshtml/tests/documentmode.js b/dlls/mshtml/tests/documentmode.js index 9db1b4f686b..d5f33dd9521 100644 --- a/dlls/mshtml/tests/documentmode.js +++ b/dlls/mshtml/tests/documentmode.js @@ -1094,7 +1094,6 @@ sync_test("elem_attr", function() { r = elem.getAttribute("onclick"); ok(r === (v < 8 ? func : null), "onclick attr = " + r); r = elem.removeAttribute("onclick"); - todo_wine_if(v === 8). ok(r === (v < 9 ? false : undefined), "removeAttribute returned " + r); todo_wine_if(v === 8). ok(elem.onclick === (v != 8 ? func : null), "removed onclick = " + elem.onclick);