[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

krit at webkit.org krit at webkit.org
Wed Apr 7 23:40:05 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit 4978f29568a874bf6a6f90cb6b9a3dc840c42280
Author: krit at webkit.org <krit at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Nov 13 20:35:46 2009 +0000

    2009-11-13  Dirk Schulze  <krit at webkit.org>
    
            Reviewed by Gustavo Noronha.
    
            [CAIRO] shadow support for Canvas and SVG
            [https://bugs.webkit.org/show_bug.cgi?id=30960]
    
            We currently fill a path with solid color instead of filling
            a clipping path. This causes problems on some composite operators,
            since Cairo modifies the area outside the path.
            This fixes the behavior of WebKitGtk on fast/canvas/canvas-composite-alpha.html
    
            Thanks to Benjamin Otte for tracking the bug down.
    
            * platform/graphics/cairo/GraphicsContextCairo.cpp:
            (WebCore::setPlatformFill):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@50963 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 6908799..fd28c36 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2009-11-13  Dirk Schulze  <krit at webkit.org>
+
+        Reviewed by Gustavo Noronha.
+
+        [CAIRO] shadow support for Canvas and SVG
+        [https://bugs.webkit.org/show_bug.cgi?id=30960]
+
+        We currently fill a path with solid color instead of filling
+        a clipping path. This causes problems on some composite operators,
+        since Cairo modifies the area outside the path.
+        This fixes the behavior of WebKitGtk on fast/canvas/canvas-composite-alpha.html
+
+        Thanks to Benjamin Otte for tracking the bug down.
+
+        * platform/graphics/cairo/GraphicsContextCairo.cpp:
+        (WebCore::setPlatformFill):
+
 2009-11-12  Dumitru Daniliuc  <dumi at chromium.org>
 
         Reviewed by Dimitri Glazkov.
diff --git a/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp b/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
index d280412..70be066 100644
--- a/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
+++ b/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp
@@ -78,9 +78,9 @@ static inline void setPlatformFill(GraphicsContext* context, cairo_t* cr, Graphi
     cairo_save(cr);
     switch (gcp->state.fillType) {
     case SolidColorType: {
-        Color fillColor = colorWithOverrideAlpha(context->fillColor().rgb(), context->fillColor().alpha() / 255.f * gcp->state.globalAlpha);
-        setColor(cr, fillColor);
-        cairo_fill_preserve(cr);
+        setColor(cr, context->fillColor());
+        cairo_clip_preserve(cr);
+        cairo_paint_with_alpha(cr, gcp->state.globalAlpha);
         break;
     }
     case PatternType: {

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list