[SCM] WebKit Debian packaging branch, debian/experimental, updated. debian/1.3.8-1-1049-g2e11a8e

simon.fraser at apple.com simon.fraser at apple.com
Fri Jan 21 15:00:30 UTC 2011


The following commit has been merged in the debian/experimental branch:
commit 1f3fb4c50ceb59de5fc34d113af93b87f863a33b
Author: simon.fraser at apple.com <simon.fraser at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Thu Jan 6 05:44:38 2011 +0000

    2011-01-05  Simon Fraser  <simon.fraser at apple.com>
    
            Reviewed by Ariya Hidayat.
    
            Directly composited SVG images fail to render
            https://bugs.webkit.org/show_bug.cgi?id=51975
    
            There was already code, added in r67900, to detect whether an image
            may be directly composited, by checking to see if it's a bitmap image.
    
            However, CachedImage::image() returns the nullImage() if m_image is null,
            which is a BitmapImage, confusing this test.
    
            Test: compositing/images/direct-svg-image.html
    
            * loader/cache/CachedImage.cpp: Remove nullImage(), since Image has
            exactly the same method.
            (WebCore::CachedImage::image): Use Image::nullImage().
            * loader/cache/CachedImage.h:
            (WebCore::CachedImage::hasImage): New method to ask whether the m_image is
            non-null.
            * rendering/RenderLayerBacking.cpp:
            (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use hasImage()
            so that we don't test the nullImage.
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75137 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index 9122e61..e30dd24 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,5 +1,19 @@
 2011-01-05  Simon Fraser  <simon.fraser at apple.com>
 
+        Reviewed by Ariya Hidayat.
+
+        Directly composited SVG images fail to render
+        https://bugs.webkit.org/show_bug.cgi?id=51975
+        
+        New testcase with directly composited SVG image.
+
+        * compositing/images/direct-svg-image-expected.checksum: Added.
+        * compositing/images/direct-svg-image-expected.png: Added.
+        * compositing/images/direct-svg-image-expected.txt: Added.
+        * compositing/images/direct-svg-image.html: Added.
+
+2011-01-05  Simon Fraser  <simon.fraser at apple.com>
+
         Reviewed by Darin Adler.
 
         Fix percentage values in radius of radial gradients
diff --git a/LayoutTests/compositing/images/direct-pdf-image.html b/LayoutTests/compositing/images/direct-pdf-image.html
index 50090f3..7a9ad15 100644
--- a/LayoutTests/compositing/images/direct-pdf-image.html
+++ b/LayoutTests/compositing/images/direct-pdf-image.html
@@ -34,7 +34,7 @@
     <img src="../../fast/images/resources/green_rectangle.pdf">
     <img class="composited" src="../../fast/images/resources/green_rectangle.pdf">
 
-    <!-- You should see two no red above -->
+    <!-- You should see no red above -->
 
 </body>
 </html>
diff --git a/LayoutTests/compositing/images/direct-pdf-image-expected.checksum b/LayoutTests/compositing/images/direct-svg-image-expected.checksum
similarity index 100%
copy from LayoutTests/compositing/images/direct-pdf-image-expected.checksum
copy to LayoutTests/compositing/images/direct-svg-image-expected.checksum
diff --git a/LayoutTests/compositing/images/direct-pdf-image-expected.txt b/LayoutTests/compositing/images/direct-svg-image-expected.txt
similarity index 100%
copy from LayoutTests/compositing/images/direct-pdf-image-expected.txt
copy to LayoutTests/compositing/images/direct-svg-image-expected.txt
diff --git a/LayoutTests/compositing/images/direct-svg-image.html b/LayoutTests/compositing/images/direct-svg-image.html
new file mode 100644
index 0000000..13f7ef4
--- /dev/null
+++ b/LayoutTests/compositing/images/direct-svg-image.html
@@ -0,0 +1,40 @@
+<!DOCTYPE>
+
+<html>
+<head>
+  <style type="text/css" media="screen">
+    body {
+        margin: 0;
+    }
+
+    img {
+        position: relative;
+        display: block;
+        width: 100px;
+        height: 100px;
+    }
+    
+    .composited {
+        -webkit-transform: translateZ(0);
+    }
+    
+    #indicator {
+        position: absolute;
+        top: 0;
+        background-color: red;
+        width: 100px;
+        height: 200px;
+    }
+  </style>
+</head>
+<body>
+
+    <div id="indicator"></div>
+
+    <img src="../../fast/images/resources/green-fixed-size-rect.svg">
+    <img class="composited" src="../../fast/images/resources/green-fixed-size-rect.svg">
+
+    <!-- You should see no red above -->
+
+</body>
+</html>
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index a271e5b..97dca8e 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,5 +1,30 @@
 2011-01-05  Simon Fraser  <simon.fraser at apple.com>
 
+        Reviewed by Ariya Hidayat.
+
+        Directly composited SVG images fail to render
+        https://bugs.webkit.org/show_bug.cgi?id=51975
+        
+        There was already code, added in r67900, to detect whether an image
+        may be directly composited, by checking to see if it's a bitmap image.
+        
+        However, CachedImage::image() returns the nullImage() if m_image is null,
+        which is a BitmapImage, confusing this test.
+
+        Test: compositing/images/direct-svg-image.html
+
+        * loader/cache/CachedImage.cpp: Remove nullImage(), since Image has
+        exactly the same method.
+        (WebCore::CachedImage::image): Use Image::nullImage().
+        * loader/cache/CachedImage.h:
+        (WebCore::CachedImage::hasImage): New method to ask whether the m_image is
+        non-null.
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::isDirectlyCompositedImage): Use hasImage()
+        so that we don't test the nullImage.
+
+2011-01-05  Simon Fraser  <simon.fraser at apple.com>
+
         Reviewed by Darin Adler.
 
         Fix percentage values in radius of radial gradients
diff --git a/WebCore/loader/cache/CachedImage.cpp b/WebCore/loader/cache/CachedImage.cpp
index 39462b6..606942b 100644
--- a/WebCore/loader/cache/CachedImage.cpp
+++ b/WebCore/loader/cache/CachedImage.cpp
@@ -117,12 +117,6 @@ static Image* brokenImage()
     return brokenImage.get();
 }
 
-static Image* nullImage()
-{
-    DEFINE_STATIC_LOCAL(RefPtr<BitmapImage>, nullImage, (BitmapImage::create()));
-    return nullImage.get();
-}
-
 Image* CachedImage::image() const
 {
     ASSERT(!isPurgeable());
@@ -133,7 +127,7 @@ Image* CachedImage::image() const
     if (m_image)
         return m_image.get();
 
-    return nullImage();
+    return Image::nullImage();
 }
 
 void CachedImage::setImageContainerSize(const IntSize& containerSize)
diff --git a/WebCore/loader/cache/CachedImage.h b/WebCore/loader/cache/CachedImage.h
index e889ea0..345d1e7 100644
--- a/WebCore/loader/cache/CachedImage.h
+++ b/WebCore/loader/cache/CachedImage.h
@@ -44,7 +44,8 @@ public:
     
     virtual void load(CachedResourceLoader* cachedResourceLoader);
 
-    Image* image() const;
+    Image* image() const; // Returns the nullImage() if the image is not available yet.
+    bool hasImage() const { return m_image.get(); }
 
     bool canRender(float multiplier) const { return !errorOccurred() && !imageSize(multiplier).isEmpty(); }
 
diff --git a/WebCore/rendering/RenderLayerBacking.cpp b/WebCore/rendering/RenderLayerBacking.cpp
index e718044..bac514d 100644
--- a/WebCore/rendering/RenderLayerBacking.cpp
+++ b/WebCore/rendering/RenderLayerBacking.cpp
@@ -790,8 +790,8 @@ bool RenderLayerBacking::isDirectlyCompositedImage() const
 
     RenderImage* imageRenderer = toRenderImage(renderObject);
     if (CachedImage* cachedImage = imageRenderer->cachedImage()) {
-        if (Image* image = cachedImage->image())
-            return image->isBitmapImage();
+        if (cachedImage->hasImage())
+            return cachedImage->image()->isBitmapImage();
     }
 
     return false;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list