[SCM] WebKit Debian packaging branch, webkit-1.3, updated. upstream/1.3.7-4207-g178b198

commit-queue at webkit.org commit-queue at webkit.org
Mon Feb 21 00:06:02 UTC 2011


The following commit has been merged in the webkit-1.3 branch:
commit a4264d64a8cfc8945dab26ba74bfe83914b55755
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jan 28 01:51:51 2011 +0000

    2011-01-27  Leo Yang  <leo.yang at torchmobile.com.cn>
    
            Reviewed by Dirk Schulze.
    
            SVG Use Cycle is not detected
            https://bugs.webkit.org/show_bug.cgi?id=52544
    
            Test for indirect <use> recursion. This test passes if
            no crash occurs.
    
            * svg/custom/recursive-use2-expected.txt: Added.
            * svg/custom/recursive-use2.svg: Added.
    2011-01-27  Leo Yang  <leo.yang at torchmobile.com.cn>
    
            Reviewed by Dirk Schulze.
    
            SVG Use Cycle is not detected
            https://bugs.webkit.org/show_bug.cgi?id=52544
    
            We should check if SVGUseElement::buildInstanceTree finds problem
            for every child node. If it finds problem for any children we must
            return immediately because otherwise the foundProblem variable may
            be rewritten to false.
    
            Test: svg/custom/recursive-use2.svg
    
            * svg/SVGUseElement.cpp:
            (WebCore::SVGUseElement::buildInstanceTree):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@76883 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index b50ebcf..0022c16 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,16 @@
+2011-01-27  Leo Yang  <leo.yang at torchmobile.com.cn>
+
+        Reviewed by Dirk Schulze.
+
+        SVG Use Cycle is not detected
+        https://bugs.webkit.org/show_bug.cgi?id=52544
+
+        Test for indirect <use> recursion. This test passes if
+        no crash occurs.
+
+        * svg/custom/recursive-use2-expected.txt: Added.
+        * svg/custom/recursive-use2.svg: Added.
+
 2011-01-27  Zhenyao Mo  <zmo at google.com>
 
         Reviewed by Kenneth Russell.
diff --git a/LayoutTests/svg/custom/recursive-use-expected.txt b/LayoutTests/svg/custom/recursive-use2-expected.txt
similarity index 100%
copy from LayoutTests/svg/custom/recursive-use-expected.txt
copy to LayoutTests/svg/custom/recursive-use2-expected.txt
diff --git a/LayoutTests/svg/custom/recursive-use2.svg b/LayoutTests/svg/custom/recursive-use2.svg
new file mode 100644
index 0000000..0002f4d
--- /dev/null
+++ b/LayoutTests/svg/custom/recursive-use2.svg
@@ -0,0 +1,22 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <script>
+        if (window.layoutTestController)
+            layoutTestController.dumpAsText();
+    </script>
+
+    <g id="g1">
+        <g id="g2">
+            <use xlink:href="#e2" id="e1" />
+        </g>
+        <use xlink:href="#e3" id="e4" />
+    </g>
+
+    <use xlink:href="#g1" id="e2" />
+    <use xlink:href="#g2" id="e3" />
+    <use xlink:href="#e1" id="e5" />
+    <use xlink:href="#e2" />
+    <use xlink:href="#e3" />
+
+    <text x="10" y="30">PASS without crash.</text>
+</svg>
+
diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog
index 76d599a..a63c810 100644
--- a/Source/WebCore/ChangeLog
+++ b/Source/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2011-01-27  Leo Yang  <leo.yang at torchmobile.com.cn>
+
+        Reviewed by Dirk Schulze.
+
+        SVG Use Cycle is not detected
+        https://bugs.webkit.org/show_bug.cgi?id=52544
+
+        We should check if SVGUseElement::buildInstanceTree finds problem
+        for every child node. If it finds problem for any children we must
+        return immediately because otherwise the foundProblem variable may
+        be rewritten to false.
+
+        Test: svg/custom/recursive-use2.svg
+
+        * svg/SVGUseElement.cpp:
+        (WebCore::SVGUseElement::buildInstanceTree):
+
 2011-01-27  Zhenyao Mo  <zmo at google.com>
 
         Reviewed by Kenneth Russell.
diff --git a/Source/WebCore/svg/SVGUseElement.cpp b/Source/WebCore/svg/SVGUseElement.cpp
index 9f43f82..c815eb5 100644
--- a/Source/WebCore/svg/SVGUseElement.cpp
+++ b/Source/WebCore/svg/SVGUseElement.cpp
@@ -716,6 +716,8 @@ void SVGUseElement::buildInstanceTree(SVGElement* target, SVGElementInstance* ta
 
         // Enter recursion, appending new instance tree nodes to the "instance" object.
         buildInstanceTree(element, instancePtr, foundProblem);
+        if (foundProblem)
+            return;
     }
 
     if (!targetHasUseTag || !newTarget)

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list