Title: [86867] branches/chromium/696

Diff

Copied: branches/chromium/696/LayoutTests/svg/animations/smil-element-not-removed-crash-expected.txt (from rev 86748, trunk/LayoutTests/svg/animations/smil-element-not-removed-crash-expected.txt) (0 => 86867)


--- branches/chromium/696/LayoutTests/svg/animations/smil-element-not-removed-crash-expected.txt	                        (rev 0)
+++ branches/chromium/696/LayoutTests/svg/animations/smil-element-not-removed-crash-expected.txt	2011-05-19 18:45:40 UTC (rev 86867)
@@ -0,0 +1 @@
+PASS

Copied: branches/chromium/696/LayoutTests/svg/animations/smil-element-not-removed-crash.html (from rev 86748, trunk/LayoutTests/svg/animations/smil-element-not-removed-crash.html) (0 => 86867)


--- branches/chromium/696/LayoutTests/svg/animations/smil-element-not-removed-crash.html	                        (rev 0)
+++ branches/chromium/696/LayoutTests/svg/animations/smil-element-not-removed-crash.html	2011-05-19 18:45:40 UTC (rev 86867)
@@ -0,0 +1,35 @@
+<html>
+    <body>
+        <svg>
+            <animAttributeAttrs>
+                <feImage id="test"></feImage>
+            </animAttributeAttrs>
+            <set id="set1" xlink:href=""
+        </svg>
+        <script>
+            if (window.layoutTestController) {
+                layoutTestController.dumpAsText();
+                layoutTestController.waitUntilDone();
+                gc = function() { window.GCController.collect() };
+            } else if (!window.gc)
+                gc = function(){};
+
+            window._onload_ = function() {
+                if (location.hash != "#2") {
+                    if (location.hash)
+                        location.hash = "#" + (parseInt(location.hash.slice(1)) + 1).toString();
+                    else
+                        location.hash = "#1";
+                    
+                    gc();
+                    setTimeout(function(){location.reload()}, 0);
+                } else {
+                    document.body.innerHTML = "PASS";
+                    if (window.layoutTestController)
+                        layoutTestController.notifyDone();
+                }
+            }
+        </script>
+    </body>
+</html>
+

Modified: branches/chromium/696/Source/WebCore/svg/animation/SVGSMILElement.cpp (86866 => 86867)


--- branches/chromium/696/Source/WebCore/svg/animation/SVGSMILElement.cpp	2011-05-19 18:43:59 UTC (rev 86866)
+++ branches/chromium/696/Source/WebCore/svg/animation/SVGSMILElement.cpp	2011-05-19 18:45:40 UTC (rev 86867)
@@ -141,6 +141,8 @@
     disconnectConditions();
     if (m_timeContainer)
         m_timeContainer->unschedule(this);
+    if (m_targetElement)
+        document()->accessSVGExtensions()->removeAnimationElementFromTarget(this, m_targetElement);
 }
 
 static inline QualifiedName constructQualifiedName(const SVGElement* svgElement, const String& attributeName)
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to