[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
krit at webkit.org
krit at webkit.org
Wed Dec 22 14:28:31 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 240c03355c971c86d48ff35c9d90d383a939b807
Author: krit at webkit.org <krit at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Mon Oct 11 09:56:58 2010 +0000
2010-10-11 Dirk Schulze <krit at webkit.org>
Reviewed by Nikolas Zimmermann.
SVG feImage take preserveAspectRatio into account for absolute paint rect
https://bugs.webkit.org/show_bug.cgi?id=47464
Determine the smallest effect region for SVGFEImage by taking preserveAspectRatio into account.
* svg/graphics/filters/SVGFEImage.cpp:
(WebCore::FEImage::determineAbsolutePaintRect):
(WebCore::FEImage::apply):
* svg/graphics/filters/SVGFEImage.h:
2010-10-11 Dirk Schulze <krit at webkit.org>
Reviewed by Nikolas Zimmermann.
SVG feImage take preserveAspectRatio into account for absolute paint rect
https://bugs.webkit.org/show_bug.cgi?id=47464
Needs a new baseline for svg/W3C-SVG-1.1-SE/filters-image-03-f.
* platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.checksum:
* platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@69482 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog
index c5c8665..e02f00b 100644
--- a/LayoutTests/ChangeLog
+++ b/LayoutTests/ChangeLog
@@ -1,3 +1,15 @@
+2010-10-11 Dirk Schulze <krit at webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG feImage take preserveAspectRatio into account for absolute paint rect
+ https://bugs.webkit.org/show_bug.cgi?id=47464
+
+ Needs a new baseline for svg/W3C-SVG-1.1-SE/filters-image-03-f.
+
+ * platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.checksum:
+ * platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png:
+
2010-10-11 Alexander Pavlov <apavlov at chromium.org>
[Chromium] Unreviewed, build fix.
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.checksum b/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.checksum
index 1c58a99..c4d0d5a 100644
--- a/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.checksum
+++ b/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.checksum
@@ -1 +1 @@
-1c631e9b14f34ff25a574aa369f06d22
\ No newline at end of file
+e7d3e94eab51ca8ee154fe1c5f9f2392
\ No newline at end of file
diff --git a/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png b/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png
index 5385080..54ff8eb 100644
Binary files a/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png and b/LayoutTests/platform/mac/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.png differ
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index ac37a22..441e9b0 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,17 @@
+2010-10-11 Dirk Schulze <krit at webkit.org>
+
+ Reviewed by Nikolas Zimmermann.
+
+ SVG feImage take preserveAspectRatio into account for absolute paint rect
+ https://bugs.webkit.org/show_bug.cgi?id=47464
+
+ Determine the smallest effect region for SVGFEImage by taking preserveAspectRatio into account.
+
+ * svg/graphics/filters/SVGFEImage.cpp:
+ (WebCore::FEImage::determineAbsolutePaintRect):
+ (WebCore::FEImage::apply):
+ * svg/graphics/filters/SVGFEImage.h:
+
2010-10-10 Abhishek Arya <inferno at chromium.org>
Reviewed by Dan Bernstein.
diff --git a/WebCore/svg/graphics/filters/SVGFEImage.cpp b/WebCore/svg/graphics/filters/SVGFEImage.cpp
index b9e7d75..757c4fa 100644
--- a/WebCore/svg/graphics/filters/SVGFEImage.cpp
+++ b/WebCore/svg/graphics/filters/SVGFEImage.cpp
@@ -44,6 +44,16 @@ PassRefPtr<FEImage> FEImage::create(RefPtr<Image> image, const SVGPreserveAspect
return adoptRef(new FEImage(image, preserveAspectRatio));
}
+void FEImage::determineAbsolutePaintRect(Filter*)
+{
+ ASSERT(m_image);
+ FloatRect srcRect(FloatPoint(), m_image->size());
+ FloatRect paintRect(m_absoluteSubregion);
+ m_preserveAspectRatio.transformRect(paintRect, srcRect);
+ paintRect.intersect(maxEffectRect());
+ setAbsolutePaintRect(enclosingIntRect(paintRect));
+}
+
void FEImage::apply(Filter* filter)
{
if (!m_image.get())
@@ -55,9 +65,10 @@ void FEImage::apply(Filter* filter)
FloatRect srcRect(FloatPoint(), m_image->size());
FloatRect destRect(m_absoluteSubregion);
-
m_preserveAspectRatio.transformRect(destRect, srcRect);
- destRect.move(-m_absoluteSubregion.x(), -m_absoluteSubregion.y());
+
+ IntPoint paintLocation = absolutePaintRect().location();
+ destRect.move(-paintLocation.x(), -paintLocation.y());
filterContext->drawImage(m_image.get(), DeviceColorSpace, destRect, srcRect);
}
diff --git a/WebCore/svg/graphics/filters/SVGFEImage.h b/WebCore/svg/graphics/filters/SVGFEImage.h
index 4fe90f7..9efb5f1 100644
--- a/WebCore/svg/graphics/filters/SVGFEImage.h
+++ b/WebCore/svg/graphics/filters/SVGFEImage.h
@@ -38,7 +38,7 @@ public:
virtual void apply(Filter*);
virtual void dump();
- virtual void determineAbsolutePaintRect(Filter*) { setAbsolutePaintRect(maxEffectRect()); }
+ virtual void determineAbsolutePaintRect(Filter*);
virtual FilterEffectType filterEffectType() const { return FilterEffectTypeImage; }
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list