[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