Title: [135737] trunk/Source/WebCore
- Revision
- 135737
- Author
- [email protected]
- Date
- 2012-11-26 10:49:54 -0800 (Mon, 26 Nov 2012)
Log Message
[Cairo] fillRectWithColor with Color::transparent doesn't perform anything
https://bugs.webkit.org/show_bug.cgi?id=101911
Patch by Hurnjoo Lee <[email protected]> on 2012-11-26
Reviewed by Kenneth Rohde Christiansen.
fillRectWithColor with Color::transparent doesn't perform anything
because fillRectWithColor does early-return if the alpha value of
color is zero. But we expect that fill the rect with transparent color
in case the cairo_operator is CAIRO_OPERATOR_SOURCE.
Covered by existing tests.
* platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::fillRectWithColor):Add condition to prevent early-return if
cairo_operator is not CAIRO_OPERATOR_OVER
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (135736 => 135737)
--- trunk/Source/WebCore/ChangeLog 2012-11-26 18:47:18 UTC (rev 135736)
+++ trunk/Source/WebCore/ChangeLog 2012-11-26 18:49:54 UTC (rev 135737)
@@ -1,3 +1,21 @@
+2012-11-26 Hurnjoo Lee <[email protected]>
+
+ [Cairo] fillRectWithColor with Color::transparent doesn't perform anything
+ https://bugs.webkit.org/show_bug.cgi?id=101911
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ fillRectWithColor with Color::transparent doesn't perform anything
+ because fillRectWithColor does early-return if the alpha value of
+ color is zero. But we expect that fill the rect with transparent color
+ in case the cairo_operator is CAIRO_OPERATOR_SOURCE.
+
+ Covered by existing tests.
+
+ * platform/graphics/cairo/GraphicsContextCairo.cpp:
+ (WebCore::fillRectWithColor):Add condition to prevent early-return if
+ cairo_operator is not CAIRO_OPERATOR_OVER
+
2012-11-26 Jae Hyun Park <[email protected]>
Remove redundant assignment in TextureMapperLayer::flushCompositingStateSelf
Modified: trunk/Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp (135736 => 135737)
--- trunk/Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp 2012-11-26 18:47:18 UTC (rev 135736)
+++ trunk/Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp 2012-11-26 18:49:54 UTC (rev 135737)
@@ -70,7 +70,7 @@
// A helper which quickly fills a rectangle with a simple color fill.
static inline void fillRectWithColor(cairo_t* cr, const FloatRect& rect, const Color& color)
{
- if (!color.alpha())
+ if (!color.alpha() && cairo_get_operator(cr) == CAIRO_OPERATOR_OVER)
return;
setSourceRGBAFromColor(cr, color);
cairo_rectangle(cr, rect.x(), rect.y(), rect.width(), rect.height());
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes