Index: Source/core/paint/ReplacedPainter.cpp |
diff --git a/Source/core/paint/ReplacedPainter.cpp b/Source/core/paint/ReplacedPainter.cpp |
index 6571e9cbda2b0db4bfa1ebb9a49069ce9781a8ad..40729601bc805b136c67100be6f07063dd86df05 100644 |
--- a/Source/core/paint/ReplacedPainter.cpp |
+++ b/Source/core/paint/ReplacedPainter.cpp |
@@ -23,10 +23,7 @@ void ReplacedPainter::paint(const PaintInfo& paintInfo, const LayoutPoint& paint |
return; |
LayoutPoint adjustedPaintOffset = paintOffset + m_layoutReplaced.location(); |
- LayoutRect paintRect(adjustedPaintOffset, m_layoutReplaced.size()); |
- |
- LayoutRect visualOverflowRect(m_layoutReplaced.visualOverflowRect()); |
- visualOverflowRect.moveBy(adjustedPaintOffset); |
+ LayoutRect borderRect(adjustedPaintOffset, m_layoutReplaced.size()); |
if (m_layoutReplaced.hasBoxDecorationBackground() && (paintInfo.phase == PaintPhaseForeground || paintInfo.phase == PaintPhaseSelection)) |
m_layoutReplaced.paintBoxDecorationBackground(paintInfo, adjustedPaintOffset); |
@@ -41,7 +38,7 @@ void ReplacedPainter::paint(const PaintInfo& paintInfo, const LayoutPoint& paint |
if (paintInfo.phase == PaintPhaseOutline || paintInfo.phase == PaintPhaseSelfOutline) { |
if (m_layoutReplaced.styleRef().outlineWidth()) |
- ObjectPainter(m_layoutReplaced).paintOutline(paintInfo, paintRect, visualOverflowRect); |
+ ObjectPainter(m_layoutReplaced).paintOutline(paintInfo, m_layoutReplaced.visualOverflowRect(), borderRect.size(), adjustedPaintOffset); |
return; |
} |
@@ -59,13 +56,11 @@ void ReplacedPainter::paint(const PaintInfo& paintInfo, const LayoutPoint& paint |
Optional<RoundedInnerRectClipper> clipper; |
bool completelyClippedOut = false; |
if (m_layoutReplaced.style()->hasBorderRadius()) { |
- LayoutRect borderRect = LayoutRect(adjustedPaintOffset, m_layoutReplaced.size()); |
- |
if (borderRect.isEmpty()) { |
completelyClippedOut = true; |
} else { |
// Push a clip if we have a border radius, since we want to round the foreground content that gets painted. |
- FloatRoundedRect roundedInnerRect = m_layoutReplaced.style()->getRoundedInnerBorderFor(paintRect, |
+ FloatRoundedRect roundedInnerRect = m_layoutReplaced.style()->getRoundedInnerBorderFor(borderRect, |
LayoutRectOutsets( |
-(m_layoutReplaced.paddingTop() + m_layoutReplaced.borderTop()), |
-(m_layoutReplaced.paddingRight() + m_layoutReplaced.borderRight()), |
@@ -73,7 +68,7 @@ void ReplacedPainter::paint(const PaintInfo& paintInfo, const LayoutPoint& paint |
-(m_layoutReplaced.paddingLeft() + m_layoutReplaced.borderLeft())), |
true, true); |
- clipper.emplace(m_layoutReplaced, paintInfo, paintRect, roundedInnerRect, ApplyToDisplayListIfEnabled); |
+ clipper.emplace(m_layoutReplaced, paintInfo, borderRect, roundedInnerRect, ApplyToDisplayListIfEnabled); |
} |
} |