| Index: Source/core/rendering/svg/RenderSVGResourceFilter.cpp
|
| diff --git a/Source/core/rendering/svg/RenderSVGResourceFilter.cpp b/Source/core/rendering/svg/RenderSVGResourceFilter.cpp
|
| index cff8b3d0bc5f5fc58deb9fcf1e7fea9e6d63e20b..a8c98a6981bdb0fa39eb25b9ce5136a43f56cec5 100644
|
| --- a/Source/core/rendering/svg/RenderSVGResourceFilter.cpp
|
| +++ b/Source/core/rendering/svg/RenderSVGResourceFilter.cpp
|
| @@ -107,19 +107,18 @@ PassRefPtr<SVGFilterBuilder> RenderSVGResourceFilter::buildPrimitives(SVGFilter*
|
| return builder.release();
|
| }
|
|
|
| -bool RenderSVGResourceFilter::fitsInMaximumImageSize(const FloatSize& size, FloatSize& scale)
|
| +void RenderSVGResourceFilter::adjustScaleForMaximumImageSize(const FloatSize& size, FloatSize& filterScale)
|
| {
|
| FloatSize scaledSize(size);
|
| - scaledSize.scale(scale.width(), scale.height());
|
| + scaledSize.scale(filterScale.width(), filterScale.height());
|
| float scaledArea = scaledSize.width() * scaledSize.height();
|
|
|
| if (scaledArea <= FilterEffect::maxFilterArea())
|
| - return true;
|
| + return;
|
|
|
| // If area of scaled size is bigger than the upper limit, adjust the scale
|
| // to fit.
|
| - scale.scale(sqrt(FilterEffect::maxFilterArea() / scaledArea));
|
| - return false;
|
| + filterScale.scale(sqrt(FilterEffect::maxFilterArea() / scaledArea));
|
| }
|
|
|
| static bool createImageBuffer(const Filter* filter, OwnPtr<ImageBuffer>& imageBuffer, bool accelerated)
|
| @@ -196,7 +195,7 @@ bool RenderSVGResourceFilter::applyResource(RenderObject* object, RenderStyle*,
|
| }
|
| // The size of the scaled filter boundaries shouldn't be bigger than kMaxFilterSize.
|
| // Intermediate filters are limited by the filter boundaries so they can't be bigger than this.
|
| - fitsInMaximumImageSize(filterData->boundaries.size(), filterScale);
|
| + adjustScaleForMaximumImageSize(filterData->boundaries.size(), filterScale);
|
|
|
| filterData->drawingRegion = object->strokeBoundingBox();
|
| filterData->drawingRegion.intersect(filterData->boundaries);
|
|
|