| Index: trunk/Source/core/platform/graphics/filters/FEGaussianBlur.cpp
|
| ===================================================================
|
| --- trunk/Source/core/platform/graphics/filters/FEGaussianBlur.cpp (revision 150368)
|
| +++ trunk/Source/core/platform/graphics/filters/FEGaussianBlur.cpp (working copy)
|
| @@ -260,8 +260,16 @@
|
|
|
| void FEGaussianBlur::determineAbsolutePaintRect()
|
| {
|
| - FloatRect absolutePaintRect = mapRect(inputEffect(0)->absolutePaintRect());
|
| + unsigned kernelSizeX = 0;
|
| + unsigned kernelSizeY = 0;
|
| + calculateKernelSize(filter(), kernelSizeX, kernelSizeY, m_stdX, m_stdY);
|
|
|
| + FloatRect absolutePaintRect = inputEffect(0)->absolutePaintRect();
|
| +
|
| + // We take the half kernel size and multiply it with three, because we run box blur three times.
|
| + absolutePaintRect.inflateX(3 * kernelSizeX * 0.5f);
|
| + absolutePaintRect.inflateY(3 * kernelSizeY * 0.5f);
|
| +
|
| if (clipsToBounds())
|
| absolutePaintRect.intersect(maxEffectRect());
|
| else
|
| @@ -270,19 +278,6 @@
|
| setAbsolutePaintRect(enclosingIntRect(absolutePaintRect));
|
| }
|
|
|
| -FloatRect FEGaussianBlur::mapRect(const FloatRect& rect, bool)
|
| -{
|
| - FloatRect result = rect;
|
| - unsigned kernelSizeX = 0;
|
| - unsigned kernelSizeY = 0;
|
| - calculateKernelSize(filter(), kernelSizeX, kernelSizeY, m_stdX, m_stdY);
|
| -
|
| - // We take the half kernel size and multiply it with three, because we run box blur three times.
|
| - result.inflateX(3 * kernelSizeX * 0.5f);
|
| - result.inflateY(3 * kernelSizeY * 0.5f);
|
| - return result;
|
| -}
|
| -
|
| void FEGaussianBlur::applySoftware()
|
| {
|
| FilterEffect* in = inputEffect(0);
|
|
|