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