Title: [124058] branches/safari-536.26-branch/Source/WebCore
Revision
124058
Author
lforsch...@apple.com
Date
2012-07-30 11:24:48 -0700 (Mon, 30 Jul 2012)

Log Message

Merged r116717.  <rdar://problem/11942052>

Modified Paths

Diff

Modified: branches/safari-536.26-branch/Source/WebCore/ChangeLog (124057 => 124058)


--- branches/safari-536.26-branch/Source/WebCore/ChangeLog	2012-07-30 18:22:29 UTC (rev 124057)
+++ branches/safari-536.26-branch/Source/WebCore/ChangeLog	2012-07-30 18:24:48 UTC (rev 124058)
@@ -1,5 +1,24 @@
 2012-07-30  Lucas Forschler  <lforsch...@apple.com>
 
+    Merge 116717
+
+    2012-05-10  Abhishek Arya  <infe...@chromium.org>
+
+            Crash in swapInNodePreservingAttributesAndChildren.
+            https://bugs.webkit.org/show_bug.cgi?id=85197
+
+            Reviewed by Ryosuke Niwa.
+
+            Keep the children in a ref vector before adding them to newNode.
+            They can get destroyed due to mutation events.
+
+            No new tests because we don't have a reduction.
+
+            * editing/ReplaceNodeWithSpanCommand.cpp:
+            (WebCore::swapInNodePreservingAttributesAndChildren):
+
+2012-07-30  Lucas Forschler  <lforsch...@apple.com>
+
     Merge 116698
 
     2012-05-10  Abhishek Arya  <infe...@chromium.org>

Modified: branches/safari-536.26-branch/Source/WebCore/editing/ReplaceNodeWithSpanCommand.cpp (124057 => 124058)


--- branches/safari-536.26-branch/Source/WebCore/editing/ReplaceNodeWithSpanCommand.cpp	2012-07-30 18:22:29 UTC (rev 124057)
+++ branches/safari-536.26-branch/Source/WebCore/editing/ReplaceNodeWithSpanCommand.cpp	2012-07-30 18:24:48 UTC (rev 124058)
@@ -56,10 +56,10 @@
     parentNode->insertBefore(newNode, nodeToReplace, ec);
     ASSERT(!ec);
 
-    RefPtr<Node> nextChild;
-    for (Node* child = nodeToReplace->firstChild(); child; child = nextChild.get()) {
-        nextChild = child->nextSibling();
-        newNode->appendChild(child, ec);
+    NodeVector children;
+    getChildNodes(nodeToReplace, children);
+    for (size_t i = 0; i < children.size(); ++i) {
+        newNode->appendChild(children[i], ec);
         ASSERT(!ec);
     }
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to