Title: [136379] releases/WebKitGTK/webkit-1.10/Source/WebCore
Revision
136379
Author
[email protected]
Date
2012-12-03 03:56:38 -0800 (Mon, 03 Dec 2012)

Log Message

Merge 130855 - Recursively detach SVGElementInstances
https://bugs.webkit.org/show_bug.cgi?id=98851

Reviewed by Ryosuke Niwa and Abhishek Arya

Before this patch, SVGElementInstance child nodes were not being detached. This
patch makes detach() recursively detach SVGElementInstances.

* svg/SVGElementInstance.cpp:
(WebCore::SVGElementInstance::detach):

Modified Paths

Diff

Modified: releases/WebKitGTK/webkit-1.10/Source/WebCore/ChangeLog (136378 => 136379)


--- releases/WebKitGTK/webkit-1.10/Source/WebCore/ChangeLog	2012-12-03 11:55:28 UTC (rev 136378)
+++ releases/WebKitGTK/webkit-1.10/Source/WebCore/ChangeLog	2012-12-03 11:56:38 UTC (rev 136379)
@@ -1,3 +1,16 @@
+2012-10-09  Philip Rogers  <[email protected]>
+
+        Recursively detach SVGElementInstances
+        https://bugs.webkit.org/show_bug.cgi?id=98851
+
+        Reviewed by Ryosuke Niwa and Abhishek Arya
+
+        Before this patch, SVGElementInstance child nodes were not being detached. This
+        patch makes detach() recursively detach SVGElementInstances.
+
+        * svg/SVGElementInstance.cpp:
+        (WebCore::SVGElementInstance::detach):
+
 2012-09-26  Gustavo Noronha Silva  <[email protected]>
 
         [GTK] Split SVG from WebCore to work-around make limitation

Modified: releases/WebKitGTK/webkit-1.10/Source/WebCore/svg/SVGElementInstance.cpp (136378 => 136379)


--- releases/WebKitGTK/webkit-1.10/Source/WebCore/svg/SVGElementInstance.cpp	2012-12-03 11:55:28 UTC (rev 136378)
+++ releases/WebKitGTK/webkit-1.10/Source/WebCore/svg/SVGElementInstance.cpp	2012-12-03 11:56:38 UTC (rev 136379)
@@ -87,6 +87,9 @@
     // Clear all pointers. When the node is detached from the shadow DOM it should be removed but,
     // due to ref counting, it may not be. So clear everything to avoid dangling pointers.
 
+    for (SVGElementInstance* node = firstChild(); node; node = node->nextSibling())
+        node->detach();
+
     // Deregister as instance for passed element, if we haven't already.
     if (m_element->instancesForElement().contains(this))
         m_element->removeInstanceMapping(this);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to