[SCM] WebKit Debian packaging branch, webkit-1.2, updated. upstream/1.1.90-6072-g9a69373

krit at webkit.org krit at webkit.org
Thu Apr 8 00:52:46 UTC 2010


The following commit has been merged in the webkit-1.2 branch:
commit b7e8c66d5dff5ff1ed59aba2f5082b51795e1498
Author: krit at webkit.org <krit at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Sun Jan 3 17:45:33 2010 +0000

    2010-01-03  Dirk Schulze  <krit at webkit.org>
    
            Reviewed by Nikolas Zimmermann.
    
            Mark more filter effect as alphaImage if possible
            https://bugs.webkit.org/show_bug.cgi?id=33111
    
            Mark more effects as alphaImage if the previous effect is a
            alphaImage. This can reduce the calculation on the next effect
            like feGaussianBlur.
    
            Test: This changes don't affect any LayoutTests and can't be tested
                  somehow, since the changes are 'invisible'.
    
            * platform/graphics/filters/FEColorMatrix.cpp:
            (WebCore::FEColorMatrix::apply):
            * svg/graphics/filters/SVGFEMorphology.cpp:
            (WebCore::FEMorphology::apply):
            * svg/graphics/filters/SVGFEOffset.cpp:
            (WebCore::FEOffset::apply):
            * svg/graphics/filters/SVGFETile.cpp:
            (WebCore::FETile::apply):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@52689 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 1b4c978..a4467b0 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,26 @@
+2010-01-03  Dirk Schulze  <krit at webkit.org>
+
+        Reviewed by Nikolas Zimmermann.
+
+        Mark more filter effect as alphaImage if possible
+        https://bugs.webkit.org/show_bug.cgi?id=33111
+
+        Mark more effects as alphaImage if the previous effect is a
+        alphaImage. This can reduce the calculation on the next effect
+        like feGaussianBlur.
+        
+        Test: This changes don't affect any LayoutTests and can't be tested
+              somehow, since the changes are 'invisible'.
+
+        * platform/graphics/filters/FEColorMatrix.cpp:
+        (WebCore::FEColorMatrix::apply):
+        * svg/graphics/filters/SVGFEMorphology.cpp:
+        (WebCore::FEMorphology::apply):
+        * svg/graphics/filters/SVGFEOffset.cpp:
+        (WebCore::FEOffset::apply):
+        * svg/graphics/filters/SVGFETile.cpp:
+        (WebCore::FETile::apply):
+
 2010-01-01  Simon Fraser  <simon.fraser at apple.com>
 
         Reviewed by Dan Bernstein.
diff --git a/WebCore/platform/graphics/filters/FEColorMatrix.cpp b/WebCore/platform/graphics/filters/FEColorMatrix.cpp
index f422157..bd19d14 100644
--- a/WebCore/platform/graphics/filters/FEColorMatrix.cpp
+++ b/WebCore/platform/graphics/filters/FEColorMatrix.cpp
@@ -184,6 +184,7 @@ void FEColorMatrix::apply(Filter* filter)
             break;
         case FECOLORMATRIX_TYPE_LUMINANCETOALPHA:
             effectType<FECOLORMATRIX_TYPE_LUMINANCETOALPHA>(srcPixelArray, imageData, m_values);
+            setIsAlphaImage(true);
             break;
     }
 
diff --git a/WebCore/svg/graphics/filters/SVGFEMorphology.cpp b/WebCore/svg/graphics/filters/SVGFEMorphology.cpp
index 20d109a..987350d 100644
--- a/WebCore/svg/graphics/filters/SVGFEMorphology.cpp
+++ b/WebCore/svg/graphics/filters/SVGFEMorphology.cpp
@@ -90,6 +90,8 @@ void FEMorphology::apply(Filter* filter)
     if (!getEffectContext())
         return;
 
+    setIsAlphaImage(m_in->isAlphaImage());
+
     if (!m_radiusX || !m_radiusY)
         return;
 
diff --git a/WebCore/svg/graphics/filters/SVGFEOffset.cpp b/WebCore/svg/graphics/filters/SVGFEOffset.cpp
index 9fd50ed..0066c3e 100644
--- a/WebCore/svg/graphics/filters/SVGFEOffset.cpp
+++ b/WebCore/svg/graphics/filters/SVGFEOffset.cpp
@@ -74,6 +74,8 @@ void FEOffset::apply(Filter* filter)
     if (!filterContext)
         return;
 
+    setIsAlphaImage(m_in->isAlphaImage());
+
     FloatRect sourceImageRect = filter->sourceImageRect();
     sourceImageRect.scale(filter->filterResolution().width(), filter->filterResolution().height());
 
diff --git a/WebCore/svg/graphics/filters/SVGFETile.cpp b/WebCore/svg/graphics/filters/SVGFETile.cpp
index e97f68f..42da34d 100644
--- a/WebCore/svg/graphics/filters/SVGFETile.cpp
+++ b/WebCore/svg/graphics/filters/SVGFETile.cpp
@@ -58,6 +58,8 @@ void FETile::apply(Filter* filter)
     if (!filterContext)
         return;
 
+    setIsAlphaImage(m_in->isAlphaImage());
+
     IntRect tileRect = enclosingIntRect(m_in->scaledSubRegion());
 
     // Source input needs more attention. It has the size of the filterRegion but gives the

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list