[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