[SCM] WebKit Debian packaging branch, debian/unstable, updated. 0+svn32442-1-1179-g54c2d36

Mike Hommey glandium at debian.org
Sun Jul 6 13:32:13 UTC 2008


The following commit has been merged in the debian/unstable branch:
commit e2418439e5762ec6ccb508943a04d8164a20b1b0
Author: Mike Hommey <glandium at debian.org>
Date:   Thu Jun 19 20:07:31 2008 +0200

    2008-06-17  Alp Toker  <alp at nuanti.com>
    
            Reviewed by Dave Hyatt and Mark Rowe.
    
            https://bugs.webkit.org/show_bug.cgi?id=19190
            [CAIRO] Canvas rendered as black
    
            Make sure the frame alpha transparency flag is set to true unless
            we're certain the image data is solid and can be blitted, since the
            Cairo backend implements a fast-path for blittable BitmapImages.
    
            Thanks to Dirk Schulze for helping to track down this problem.
    
            * platform/graphics/BitmapImage.cpp:
            (WebCore::BitmapImage::frameHasAlphaAtIndex):
            * platform/graphics/cairo/ImageCairo.cpp:
            (WebCore::BitmapImage::BitmapImage):
            * platform/graphics/cg/ImageCG.cpp:
            (WebCore::BitmapImage::BitmapImage):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34625 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    filter-origin: 6ae8f58b3ff2eceb0e2336dc376fe84372e40b2c
    
    Conflicts:
    
    	WebCore/ChangeLog

diff --git a/WebCore/platform/graphics/BitmapImage.cpp b/WebCore/platform/graphics/BitmapImage.cpp
index 194eb79..f2be4c8 100644
--- a/WebCore/platform/graphics/BitmapImage.cpp
+++ b/WebCore/platform/graphics/BitmapImage.cpp
@@ -203,7 +203,7 @@ float BitmapImage::frameDurationAtIndex(size_t index)
 bool BitmapImage::frameHasAlphaAtIndex(size_t index)
 {
     if (index >= frameCount())
-        return 0;
+        return true;
 
     if (index >= m_frames.size() || !m_frames[index].m_frame)
         cacheFrame(index);
diff --git a/WebCore/platform/graphics/cairo/ImageCairo.cpp b/WebCore/platform/graphics/cairo/ImageCairo.cpp
index 39d224f..6c2bf2b 100644
--- a/WebCore/platform/graphics/cairo/ImageCairo.cpp
+++ b/WebCore/platform/graphics/cairo/ImageCairo.cpp
@@ -76,6 +76,7 @@ BitmapImage::BitmapImage(cairo_surface_t* surface, ImageObserver* observer)
 
     m_frames.grow(1);
     m_frames[0].m_frame = surface;
+    m_frames[0].m_hasAlpha = cairo_surface_get_content(surface) != CAIRO_CONTENT_COLOR;
     checkForSolidColor();
 }
 
diff --git a/WebCore/platform/graphics/cg/ImageCG.cpp b/WebCore/platform/graphics/cg/ImageCG.cpp
index a9c8720..bdf6c2c 100644
--- a/WebCore/platform/graphics/cg/ImageCG.cpp
+++ b/WebCore/platform/graphics/cg/ImageCG.cpp
@@ -87,6 +87,7 @@ BitmapImage::BitmapImage(CGImageRef cgImage, ImageObserver* observer)
 
     m_frames.grow(1);
     m_frames[0].m_frame = cgImage;
+    m_frames[0].m_hasAlpha = true;
     checkForSolidColor();
 }
 

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list