From: Gabriel Ivăncescu gabrielopcode@gmail.com
Signed-off-by: Gabriel Ivăncescu gabrielopcode@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 12564ea27cd..e1dc4523e85 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); }