Jacek Caban : mshtml: Added IHTMLDOMNode3::get_textContent implementation.

Alexandre Julliard julliard at winehq.org
Thu Jul 20 16:20:35 CDT 2017


Module: wine
Branch: master
Commit: c8cab0d3f6cd74838e7d872ac68cd69133717cf5
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=c8cab0d3f6cd74838e7d872ac68cd69133717cf5

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Thu Jul 20 18:11:29 2017 +0200

mshtml: Added IHTMLDOMNode3::get_textContent implementation.

Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/mshtml/htmlnode.c        | 10 ++++++++--
 dlls/mshtml/tests/elements.js | 15 ++++++++++++++-
 2 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/dlls/mshtml/htmlnode.c b/dlls/mshtml/htmlnode.c
index 8202803..ec18648 100644
--- a/dlls/mshtml/htmlnode.c
+++ b/dlls/mshtml/htmlnode.c
@@ -1248,8 +1248,14 @@ static HRESULT WINAPI HTMLDOMNode3_put_textContent(IHTMLDOMNode3 *iface, VARIANT
 static HRESULT WINAPI HTMLDOMNode3_get_textContent(IHTMLDOMNode3 *iface, VARIANT *p)
 {
     HTMLDOMNode *This = impl_from_IHTMLDOMNode3(iface);
-    FIXME("(%p)->(%p)\n", This, p);
-    return E_NOTIMPL;
+    nsAString nsstr;
+    nsresult nsres;
+
+    TRACE("(%p)->(%p)\n", This, p);
+
+    nsAString_Init(&nsstr, NULL);
+    nsres = nsIDOMNode_GetTextContent(This->nsnode, &nsstr);
+    return return_nsstr_variant(nsres, &nsstr, p);
 }
 
 static HRESULT WINAPI HTMLDOMNode3_isEqualNode(IHTMLDOMNode3 *iface, IHTMLDOMNode3 *otherNode, VARIANT_BOOL *isEqual)
diff --git a/dlls/mshtml/tests/elements.js b/dlls/mshtml/tests/elements.js
index c307e50..79eb68a 100644
--- a/dlls/mshtml/tests/elements.js
+++ b/dlls/mshtml/tests/elements.js
@@ -59,6 +59,19 @@ function test_input_selection() {
     next_test();
 }
 
+function test_textContent() {
+    var text = document.createTextNode("test");
+    ok(text.textContent === "test", "text.textContent = " + text.textContent);
+
+    var div = document.createElement("div");
+    document.body.appendChild(div);
+    div.innerHTML = "abc<script>/* */</script><div>text</div>";
+    ok(div.textContent === "abc/* */text", "div.textContent = " + div.textContent);
+
+    next_test();
+}
+
 var tests = [
-    test_input_selection
+    test_input_selection,
+    test_textContent
 ];




More information about the wine-cvs mailing list