Multi-hop reference cycles not detected.
[WebKit-https.git] / Source / WebCore / ChangeLog
index edb5941..122a60a 100644 (file)
@@ -1,5 +1,35 @@
 2015-09-17  Dean Jackson  <dino@apple.com>
 
+        Multi-hop reference cycles not detected.
+        https://bugs.webkit.org/show_bug.cgi?id=149181
+
+        Reviewed by John Honeycutt.
+
+        SVG's cycle detection was not picking up a
+        case where an element was drawing a pattern, that
+        referenced another pattern, that referenced another
+        pattern, that referenced the original pattern.
+
+        The issue was that we were forgetting to check the
+        children of the renderer itself, rather than just
+        the children of the referenced renderers.
+
+        Found by running a test from Blink.
+
+        I also took the opportunity to clean up the debugging
+        code that logs cycle detection.
+
+        Test: svg/custom/pattern-3-step-cycle.html
+
+        * platform/Logging.h: Add a new SVG channel. I can't believe we
+        didn't already have one!
+        * rendering/svg/SVGResourcesCycleSolver.cpp:
+        (WebCore::SVGResourcesCycleSolver::resourceContainsCycles): Check the referenced
+        resources for cycles.
+        (WebCore::SVGResourcesCycleSolver::resolveCycles): Logging update.
+
+2015-09-17  Dean Jackson  <dino@apple.com>
+
         Cyclic resources were not detected if the reference had deep containers
         https://bugs.webkit.org/show_bug.cgi?id=149182