Title: [87887] trunk/Source/WebCore
Revision
87887
Author
commit-qu...@webkit.org
Date
2011-06-02 03:04:33 -0700 (Thu, 02 Jun 2011)

Log Message

2011-06-02  Ian Henderson  <i...@apple.com>

        Reviewed by Simon Fraser.

        [CG] GraphicsContext::fillRoundedRect() ignores the gradient fill the CGContextFillEllipseInRect() code path
        https://bugs.webkit.org/show_bug.cgi?id=61882

        If we have a gradient or pattern fill set, take the slow path, which
        handles these cases properly.

        No new tests, since we never try to fill a rounded rect with a
        gradient or pattern.

        * platform/graphics/cg/GraphicsContextCG.cpp:
        (WebCore::GraphicsContext::fillRoundedRect):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (87886 => 87887)


--- trunk/Source/WebCore/ChangeLog	2011-06-02 09:48:33 UTC (rev 87886)
+++ trunk/Source/WebCore/ChangeLog	2011-06-02 10:04:33 UTC (rev 87887)
@@ -1,3 +1,19 @@
+2011-06-02  Ian Henderson  <i...@apple.com>
+
+        Reviewed by Simon Fraser.
+
+        [CG] GraphicsContext::fillRoundedRect() ignores the gradient fill the CGContextFillEllipseInRect() code path
+        https://bugs.webkit.org/show_bug.cgi?id=61882
+
+        If we have a gradient or pattern fill set, take the slow path, which
+        handles these cases properly.
+
+        No new tests, since we never try to fill a rounded rect with a
+        gradient or pattern.
+
+        * platform/graphics/cg/GraphicsContextCG.cpp:
+        (WebCore::GraphicsContext::fillRoundedRect):
+
 2011-06-02  MORITA Hajime  <morr...@google.com>
 
         Reviewed by Kent Tamura.

Modified: trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp (87886 => 87887)


--- trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp	2011-06-02 09:48:33 UTC (rev 87886)
+++ trunk/Source/WebCore/platform/graphics/cg/GraphicsContextCG.cpp	2011-06-02 10:04:33 UTC (rev 87887)
@@ -770,7 +770,8 @@
 
     bool equalWidths = (topLeft.width() == topRight.width() && topRight.width() == bottomLeft.width() && bottomLeft.width() == bottomRight.width());
     bool equalHeights = (topLeft.height() == bottomLeft.height() && bottomLeft.height() == topRight.height() && topRight.height() == bottomRight.height());
-    if (equalWidths && equalHeights && topLeft.width() * 2 == rect.width() && topLeft.height() * 2 == rect.height())
+    bool hasCustomFill = m_state.fillGradient || m_state.fillPattern;
+    if (!hasCustomFill && equalWidths && equalHeights && topLeft.width() * 2 == rect.width() && topLeft.height() * 2 == rect.height())
         CGContextFillEllipseInRect(context, rect);
     else {
         Path path;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to