| Index: Source/core/platform/graphics/filters/FEMorphology.cpp
|
| diff --git a/Source/core/platform/graphics/filters/FEMorphology.cpp b/Source/core/platform/graphics/filters/FEMorphology.cpp
|
| index 1bc31aecc91fb89422b173bf857638c58eccb022..9d514fb1174dca24ea556ace51d26329c30c6005 100644
|
| --- a/Source/core/platform/graphics/filters/FEMorphology.cpp
|
| +++ b/Source/core/platform/graphics/filters/FEMorphology.cpp
|
| @@ -89,10 +89,7 @@ float FEMorphology::radiusY() const
|
|
|
| void FEMorphology::determineAbsolutePaintRect()
|
| {
|
| - FloatRect paintRect = inputEffect(0)->absolutePaintRect();
|
| - Filter* filter = this->filter();
|
| - paintRect.inflateX(filter->applyHorizontalScale(m_radiusX));
|
| - paintRect.inflateY(filter->applyVerticalScale(m_radiusY));
|
| + FloatRect paintRect = mapRect(inputEffect(0)->absolutePaintRect());
|
| if (clipsToBounds())
|
| paintRect.intersect(maxEffectRect());
|
| else
|
| @@ -100,6 +97,14 @@ void FEMorphology::determineAbsolutePaintRect()
|
| setAbsolutePaintRect(enclosingIntRect(paintRect));
|
| }
|
|
|
| +FloatRect FEMorphology::mapRect(const FloatRect& rect, bool)
|
| +{
|
| + FloatRect result = rect;
|
| + result.inflateX(filter()->applyHorizontalScale(m_radiusX));
|
| + result.inflateY(filter()->applyVerticalScale(m_radiusY));
|
| + return result;
|
| +}
|
| +
|
| bool FEMorphology::setRadiusY(float radiusY)
|
| {
|
| if (m_radiusY == radiusY)
|
|
|