| Index: Source/core/rendering/shapes/RasterShape.cpp
|
| diff --git a/Source/core/rendering/shapes/RasterShape.cpp b/Source/core/rendering/shapes/RasterShape.cpp
|
| index 996a8b8625ae26012a68583461ec5425aa72ee09..da08eedb651c0113b8cd19d7faf1156f465c6392 100644
|
| --- a/Source/core/rendering/shapes/RasterShape.cpp
|
| +++ b/Source/core/rendering/shapes/RasterShape.cpp
|
| @@ -255,11 +255,10 @@ const RasterShapeIntervals& RasterShape::marginIntervals() const
|
| if (!shapeMargin())
|
| return *m_intervals;
|
|
|
| - int marginBoundaryRadius = std::min(clampToInteger(ceil(shapeMargin())), std::max(m_imageSize.width(), m_imageSize.height()));
|
| - if (!m_marginIntervals) {
|
| - ASSERT(marginBoundaryRadius >= 0);
|
| - m_marginIntervals = m_intervals->computeShapeMarginIntervals(marginBoundaryRadius);
|
| - }
|
| + int shapeMarginInt = clampToPositiveInteger(ceil(shapeMargin()));
|
| + int maxShapeMarginInt = std::max(m_marginRectSize.width(), m_marginRectSize.height()) * sqrtf(2);
|
| + if (!m_marginIntervals)
|
| + m_marginIntervals = m_intervals->computeShapeMarginIntervals(std::min(shapeMarginInt, maxShapeMarginInt));
|
|
|
| return *m_marginIntervals;
|
| }
|
|
|