[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

commit-queue at webkit.org commit-queue at webkit.org
Wed Dec 22 11:16:06 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit dc7fd1c5bc82a261e886c6386dd970670e8496c0
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Jul 16 08:15:39 2010 +0000

    2010-07-16  Cosmin Truta  <ctruta at chromium.org>
    
            Reviewed by Eric Seidel.
    
            Some SVGs with empty <g> elements crash Chromium on Linux
            https://bugs.webkit.org/show_bug.cgi?id=41175
    
            This is a SVG with an empty <g> within a <g>, to which a filter is applied by reference.
            The rendered image is all blank.
    
            * platform/mac/svg/filters/filter-empty-g-expected.checksum: Added
            * platform/mac/svg/filters/filter-empty-g-expected.png: Added
            * platform/mac/svg/filters/filter-empty-g-expected.txt: Added
            * svg/filters/filter-empty-g.svg: Added
    2010-07-16  Cosmin Truta  <ctruta at chromium.org>
    
            Reviewed by Eric Seidel.
    
            Some SVGs with empty <g> elements crash Chromium on Linux
            https://bugs.webkit.org/show_bug.cgi?id=41175
    
            Avoid painting of zero-sized image buffers. Skia can't handle it.
    
            Test: svg/filters/filter-empty-g.svg
    
            * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
            (ImageBuffer::ImageBuffer):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@63530 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 362e2e8..84a5985 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,18 @@
+2010-07-16  Cosmin Truta  <ctruta at chromium.org>
+
+        Reviewed by Eric Seidel.
+
+        Some SVGs with empty <g> elements crash Chromium on Linux
+        https://bugs.webkit.org/show_bug.cgi?id=41175
+
+        This is a SVG with an empty <g> within a <g>, to which a filter is applied by reference.
+        The rendered image is all blank.
+
+        * platform/mac/svg/filters/filter-empty-g-expected.checksum: Added
+        * platform/mac/svg/filters/filter-empty-g-expected.png: Added
+        * platform/mac/svg/filters/filter-empty-g-expected.txt: Added
+        * svg/filters/filter-empty-g.svg: Added
+
 2010-07-16  Shinichiro Hamaji  <hamaji at chromium.org>
 
         Reviewed by Darin Adler.
diff --git a/LayoutTests/platform/chromium/test_expectations.txt b/LayoutTests/platform/chromium/test_expectations.txt
index ced0683..57e6b68 100644
--- a/LayoutTests/platform/chromium/test_expectations.txt
+++ b/LayoutTests/platform/chromium/test_expectations.txt
@@ -2694,6 +2694,9 @@ BUG_JIANLI LINUX : http/tests/local/formdata/send-form-data-with-sliced-file.htm
 
 BUG33812 SKIP : fast/dom/icon-url-property.html = FAIL
 
+// As long as the Chromium issue 37986 is unresolved, this may crash.
+BUG41808 LINUX : svg/filters/filter-empty-g.svg = CRASH PASS
+
 // Failing with webkit roll 57659 -> 57677.
 BUG41817 WIN LINUX : fast/backgrounds/svg-as-background-1.html = IMAGE PASS
 BUG41817 WIN LINUX : fast/backgrounds/svg-as-background-3.html = IMAGE PASS
diff --git a/LayoutTests/platform/chromium-mac/fast/js/missing-title-end-tag-js-expected.checksum b/LayoutTests/platform/mac/svg/filters/filter-empty-g-expected.checksum
similarity index 100%
copy from LayoutTests/platform/chromium-mac/fast/js/missing-title-end-tag-js-expected.checksum
copy to LayoutTests/platform/mac/svg/filters/filter-empty-g-expected.checksum
diff --git a/LayoutTests/platform/mac/svg/filters/filter-empty-g-expected.txt b/LayoutTests/platform/mac/svg/filters/filter-empty-g-expected.txt
new file mode 100644
index 0000000..07dc60b
--- /dev/null
+++ b/LayoutTests/platform/mac/svg/filters/filter-empty-g-expected.txt
@@ -0,0 +1,11 @@
+layer at (0,0) size 800x600
+  RenderView at (0,0) size 800x600
+layer at (0,0) size 800x600
+  RenderSVGRoot {svg} at (0,0) size 800x600
+    RenderSVGHiddenContainer {defs} at (0,0) size 0x0
+      RenderSVGResourceFilter {filter} [id="foo"] [filterUnits=userSpaceOnUse] [primitiveUnits=userSpaceOnUse]
+        [feGaussianBlur stdDeviation="3.00, 3.00"]
+          [SourceAlpha]
+    RenderSVGContainer {g} at (0,0) size 800x600
+      RenderSVGContainer {g} at (0,0) size 800x600
+        [filter="foo"] RenderSVGResourceFilter {filter} at (-80,-60) size 960x720
diff --git a/LayoutTests/svg/filters/filter-empty-g.svg b/LayoutTests/svg/filters/filter-empty-g.svg
new file mode 100644
index 0000000..fc164c6
--- /dev/null
+++ b/LayoutTests/svg/filters/filter-empty-g.svg
@@ -0,0 +1,10 @@
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xl="http://www.w3.org/1999/xlink">
+<defs>
+<filter id="foo" filterUnits="userSpaceOnUse">
+    <feGaussianBlur in="SourceAlpha" stdDeviation="3"/>
+</filter>
+</defs>
+<g>
+    <g style="filter:url(#foo)"/>
+</g>
+</svg>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index e9e3e70..313f4c5 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-07-16  Cosmin Truta  <ctruta at chromium.org>
+
+        Reviewed by Eric Seidel.
+
+        Some SVGs with empty <g> elements crash Chromium on Linux
+        https://bugs.webkit.org/show_bug.cgi?id=41175
+
+        Avoid painting of zero-sized image buffers. Skia can't handle it.
+
+        Test: svg/filters/filter-empty-g.svg
+
+        * WebCore/platform/graphics/skia/ImageBufferSkia.cpp:
+        (ImageBuffer::ImageBuffer):
+
 2010-07-16  Nate Chapin  <japhet at chromium.org>
 
         Reviewed by Darin Fisher.
diff --git a/WebCore/platform/graphics/skia/ImageBufferSkia.cpp b/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
index 912fd12..f8192fe 100644
--- a/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
+++ b/WebCore/platform/graphics/skia/ImageBufferSkia.cpp
@@ -74,7 +74,10 @@ ImageBuffer::ImageBuffer(const IntSize& size, ImageColorSpace imageColorSpace, b
     // Make the background transparent. It would be nice if this wasn't
     // required, but the canvas is currently filled with the magic transparency
     // color. Can we have another way to manage this?
-    m_data.m_canvas.drawARGB(0, 0, 0, 0, SkXfermode::kClear_Mode);
+    //
+    // Avoid drawing on a zero-sized canvas. Skia can't handle it.
+    if (!size.isZero())
+        m_data.m_canvas.drawARGB(0, 0, 0, 0, SkXfermode::kClear_Mode);
     success = true;
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list