| Index: Source/platform/geometry/FloatRoundedRect.cpp
|
| diff --git a/Source/platform/geometry/FloatRoundedRect.cpp b/Source/platform/geometry/FloatRoundedRect.cpp
|
| index 8875445361c7e0320d13003495e753fbd073c231..9193b02b5a51449f7668bc727b6540426d494fb0 100644
|
| --- a/Source/platform/geometry/FloatRoundedRect.cpp
|
| +++ b/Source/platform/geometry/FloatRoundedRect.cpp
|
| @@ -158,12 +158,14 @@ static inline float cornerRectIntercept(float y, const FloatRect& cornerRect)
|
|
|
| FloatRect FloatRoundedRect::radiusCenterRect() const
|
| {
|
| - ASSERT(isRenderable());
|
| - int minX = m_rect.x() + std::max(m_radii.topLeft().width(), m_radii.bottomLeft().width());
|
| - int minY = m_rect.y() + std::max(m_radii.topLeft().height(), m_radii.topRight().height());
|
| - int maxX = m_rect.maxX() - std::max(m_radii.topRight().width(), m_radii.bottomRight().width());
|
| - int maxY = m_rect.maxY() - std::max(m_radii.bottomLeft().height(), m_radii.bottomRight().height());
|
| - return FloatRect(minX, minY, maxX - minX, maxY - minY);
|
| + FloatRectOutsets maximumRadiusInsets(
|
| + -std::max(m_radii.topLeft().height(), m_radii.topRight().height()),
|
| + -std::max(m_radii.topRight().width(), m_radii.bottomRight().width()),
|
| + -std::max(m_radii.bottomLeft().height(), m_radii.bottomRight().height()),
|
| + -std::max(m_radii.topLeft().width(), m_radii.bottomLeft().width()));
|
| + FloatRect centerRect(m_rect);
|
| + centerRect.expand(maximumRadiusInsets);
|
| + return centerRect;
|
| }
|
|
|
| bool FloatRoundedRect::xInterceptsAtY(float y, float& minXIntercept, float& maxXIntercept) const
|
|
|