From: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> Signed-off-by: Gabriel Ivăncescu <gabrielopcode(a)gmail.com> --- dlls/mshtml/htmlattr.c | 8 ++++++-- dlls/mshtml/tests/dom.c | 8 ++++++++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/dlls/mshtml/htmlattr.c b/dlls/mshtml/htmlattr.c index 356195fc1e9..65c068a5e5b 100644 --- a/dlls/mshtml/htmlattr.c +++ b/dlls/mshtml/htmlattr.c @@ -312,8 +312,12 @@ static HRESULT WINAPI HTMLDOMAttribute2_replaceChild(IHTMLDOMAttribute2 *iface, IHTMLDOMNode *oldChild, IHTMLDOMNode **node) { HTMLDOMAttribute *This = impl_from_IHTMLDOMAttribute2(iface); - FIXME("(%p)->(%p %p %p)\n", This, newChild, oldChild, node); - return E_NOTIMPL; + + TRACE("(%p)->(%p %p %p)\n", This, newChild, oldChild, node); + + /* mostly a stub, doesn't really replace anything on native either */ + *node = NULL; + return S_OK; } static HRESULT WINAPI HTMLDOMAttribute2_removeChild(IHTMLDOMAttribute2 *iface, IHTMLDOMNode *oldChild, diff --git a/dlls/mshtml/tests/dom.c b/dlls/mshtml/tests/dom.c index db7c2ed3e1e..81a1e5c1031 100644 --- a/dlls/mshtml/tests/dom.c +++ b/dlls/mshtml/tests/dom.c @@ -10053,6 +10053,14 @@ static void test_attr_node(IHTMLDOMAttribute *test_attr, IHTMLDocument2 *doc) ok(hres == S_OK, "get_firstChild failed: %08lx\n", hres); ok(!node, "firstChild != NULL\n"); + hres = IHTMLDOMAttribute2_replaceChild(attr, elem_node, NULL, &node); + ok(hres == S_OK, "replaceChild failed: %08lx\n", hres); + ok(!node, "replaced node != NULL\n"); + + hres = IHTMLDOMAttribute2_replaceChild(attr, elem_node, elem_node, &node); + ok(hres == S_OK, "replaceChild failed: %08lx\n", hres); + ok(!node, "replaced node != NULL\n"); + IHTMLDOMNode_Release(elem_node); IHTMLDOMAttribute2_Release(attr); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/8029