Title: [137675] branches/chromium/1312

Diff

Modified: branches/chromium/1312/LayoutTests/platform/chromium-win/svg/custom/use-disappears-after-style-update-expected.png


(Binary files differ)

Copied: branches/chromium/1312/LayoutTests/svg/as-image/animated-use-as-image-crash-expected.txt (from rev 136845, trunk/LayoutTests/svg/as-image/animated-use-as-image-crash-expected.txt) (0 => 137675)


--- branches/chromium/1312/LayoutTests/svg/as-image/animated-use-as-image-crash-expected.txt	                        (rev 0)
+++ branches/chromium/1312/LayoutTests/svg/as-image/animated-use-as-image-crash-expected.txt	2012-12-14 00:00:34 UTC (rev 137675)
@@ -0,0 +1,3 @@
+Test passes if loaded into Chromium with Asan enabled and does not crash.
+
+

Copied: branches/chromium/1312/LayoutTests/svg/as-image/animated-use-as-image-crash.html (from rev 136845, trunk/LayoutTests/svg/as-image/animated-use-as-image-crash.html) (0 => 137675)


--- branches/chromium/1312/LayoutTests/svg/as-image/animated-use-as-image-crash.html	                        (rev 0)
+++ branches/chromium/1312/LayoutTests/svg/as-image/animated-use-as-image-crash.html	2012-12-14 00:00:34 UTC (rev 137675)
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html>
+  <p>Test passes if loaded into Chromium with Asan enabled and does not crash.</p>
+  <img src=''></img>
+  <script type="text/_javascript_">
+    if (window.testRunner) {
+      testRunner.waitUntilDone();
+      testRunner.dumpAsText();
+    }
+
+    setTimeout(function() { if (window.testRunner) testRunner.notifyDone(); }, 500);
+  </script>
+</html>
+

Copied: branches/chromium/1312/LayoutTests/svg/as-image/resources/animated-href-on-use.svg (from rev 136845, trunk/LayoutTests/svg/as-image/resources/animated-href-on-use.svg) (0 => 137675)


--- branches/chromium/1312/LayoutTests/svg/as-image/resources/animated-href-on-use.svg	                        (rev 0)
+++ branches/chromium/1312/LayoutTests/svg/as-image/resources/animated-href-on-use.svg	2012-12-14 00:00:34 UTC (rev 137675)
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" baseProfile="tiny" id="svg-root" width="100%" height="100%" viewBox="0 0 480 360">
+    <g>
+        <g transform="translate(10,10)">
+            <defs>
+                <text font-size="10pt" id="useA">Pass if no crash in Asan builds, message 1</text>
+                <text font-size="10pt" id="useB">Pass if no crash in Asan builds, message 2</text>
+            </defs>
+            <use xlink:href=""
+                <set id="useSet" attributeName="xlink:href" begin="0s;useSet.end+0.05s" dur="0.05s" to="#useB"/>
+            </use>
+        </g>
+    </g>
+</svg>

Modified: branches/chromium/1312/Source/WebCore/svg/graphics/SVGImageCache.cpp (137674 => 137675)


--- branches/chromium/1312/Source/WebCore/svg/graphics/SVGImageCache.cpp	2012-12-13 23:52:35 UTC (rev 137674)
+++ branches/chromium/1312/Source/WebCore/svg/graphics/SVGImageCache.cpp	2012-12-14 00:00:34 UTC (rev 137675)
@@ -90,14 +90,9 @@
     for (ImageDataMap::iterator it = m_imageDataMap.begin(); it != end; ++it)
         it->value.imageNeedsUpdate = true;
 
-    // If we're in the middle of layout, start redrawing dirty
-    // images on a timer; otherwise it's safe to draw immediately.
-    FrameView* frameView = m_svgImage->frameView();
-    if (frameView && (frameView->needsLayout() || frameView->isInLayout())) {
-        if (!m_redrawTimer.isActive())
-            m_redrawTimer.startOneShot(0);
-    } else
-       redraw();
+    // Always redraw on a timer because this method may be invoked from destructors of things we are intending to draw.
+    if (!m_redrawTimer.isActive())
+        m_redrawTimer.startOneShot(0);
 }
 
 void SVGImageCache::redraw()
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to