Index: Source/core/paint/TableCellPainter.cpp |
diff --git a/Source/core/paint/TableCellPainter.cpp b/Source/core/paint/TableCellPainter.cpp |
index 98ddaa79237fe6b7ff46da230481b656e5a09dda..3fec84449513ac3a0a2912a48f821bc3597ea8e6 100644 |
--- a/Source/core/paint/TableCellPainter.cpp |
+++ b/Source/core/paint/TableCellPainter.cpp |
@@ -180,11 +180,14 @@ void TableCellPainter::paintBoxDecorationBackground(const PaintInfo& paintInfo, |
if (!m_layoutTableCell.hasBackground() && !m_layoutTableCell.styleRef().boxShadow() && !needsToPaintBorder) |
return; |
- LayoutRect paintRect = paintBounds(paintOffset, DoNotAddOffsetFromParent); |
- LayoutObjectDrawingRecorder recorder(*paintInfo.context, m_layoutTableCell, DisplayItem::BoxDecorationBackground, pixelSnappedIntRect(paintRect)); |
+ LayoutRect visualOverflowRect = m_layoutTableCell.visualOverflowRect(); |
+ visualOverflowRect.moveBy(paintOffset); |
+ LayoutObjectDrawingRecorder recorder(*paintInfo.context, m_layoutTableCell, DisplayItem::BoxDecorationBackground, pixelSnappedIntRect(visualOverflowRect)); |
if (recorder.canUseCachedDrawing()) |
return; |
+ LayoutRect paintRect = paintBounds(paintOffset, DoNotAddOffsetFromParent); |
+ |
BoxPainter::paintBoxShadow(paintInfo, paintRect, m_layoutTableCell.styleRef(), Normal); |
// Paint our cell background. |