Jacek Caban : mshtml: Copy filter value in HTMLElement_clone.

Alexandre Julliard julliard at winehq.org
Wed Apr 18 13:04:14 CDT 2012


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

Author: Jacek Caban <jacek at codeweavers.com>
Date:   Wed Apr 18 15:26:12 2012 +0200

mshtml: Copy filter value in HTMLElement_clone.

---

 dlls/mshtml/htmlelem.c        |   10 +++++++++-
 dlls/mshtml/tests/jstest.html |   12 ++++++++++++
 2 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/dlls/mshtml/htmlelem.c b/dlls/mshtml/htmlelem.c
index 02a49d2..9184b9b 100644
--- a/dlls/mshtml/htmlelem.c
+++ b/dlls/mshtml/htmlelem.c
@@ -269,7 +269,7 @@ static HRESULT WINAPI HTMLElement_setAttribute(IHTMLElement *iface, BSTR strAttr
     DISPPARAMS dispParams;
     EXCEPINFO excep;
 
-    TRACE("(%p)->(%s . %08x)\n", This, debugstr_w(strAttributeName), lFlags);
+    TRACE("(%p)->(%s %s %08x)\n", This, debugstr_w(strAttributeName), debugstr_variant(&AttributeValue), lFlags);
 
     hres = IDispatchEx_GetDispID(&This->node.dispex.IDispatchEx_iface, strAttributeName,
             fdexNameCaseInsensitive | fdexNameEnsure, &dispid);
@@ -1627,6 +1627,14 @@ HRESULT HTMLElement_clone(HTMLDOMNode *iface, nsIDOMNode *nsnode, HTMLDOMNode **
     if(FAILED(hres))
         return hres;
 
+    if(This->filter) {
+        new_elem->filter = heap_strdupW(This->filter);
+        if(!new_elem->filter) {
+            IHTMLElement_Release(&This->IHTMLElement_iface);
+            return E_OUTOFMEMORY;
+        }
+    }
+
     IHTMLElement_AddRef(&new_elem->IHTMLElement_iface);
     *ret = &new_elem->node;
     return S_OK;
diff --git a/dlls/mshtml/tests/jstest.html b/dlls/mshtml/tests/jstest.html
index 10863f4..e61ee85 100644
--- a/dlls/mshtml/tests/jstest.html
+++ b/dlls/mshtml/tests/jstest.html
@@ -80,6 +80,17 @@ function test_remove_style_attribute() {
     ok(b === false, "removeAttribute returned " + b + " expected false");
 }
 
+function test_clone_node() {
+    var elem, cloned;
+
+    elem = document.getElementById("divid");
+    elem.style.filter = "alpha(opacity=50)";
+    ok(elem.style.filter === "alpha(opacity=50)", "elem.style.filter = " + elem.style.filter);
+
+    cloned = elem.cloneNode(true);
+    ok(cloned.style.filter === "alpha(opacity=50)", "cloned.style.filter = " + cloned.style.filter);
+}
+
 var globalVar = false;
 
 function runTest() {
@@ -91,6 +102,7 @@ function runTest() {
     test_removeAttribute(document.getElementById("divid"));
     test_removeAttribute(document.body);
     test_select_index();
+    test_clone_node();
     test_createDocumentFragment();
     test_document_name_as_index();
     test_remove_style_attribute();




More information about the wine-cvs mailing list