Index: third_party/WebKit/Source/core/paint/TableCellPainter.cpp |
diff --git a/third_party/WebKit/Source/core/paint/TableCellPainter.cpp b/third_party/WebKit/Source/core/paint/TableCellPainter.cpp |
index 2fc5973ee3b9f7a2d94a19dc07925adb6f5f3e76..460a74a9b7ef6fdb67b83d0a6e31439b32629539 100644 |
--- a/third_party/WebKit/Source/core/paint/TableCellPainter.cpp |
+++ b/third_party/WebKit/Source/core/paint/TableCellPainter.cpp |
@@ -68,12 +68,13 @@ static EBorderStyle collapsedBorderStyle(EBorderStyle style) { |
return style; |
} |
-const DisplayItemClient& TableCellPainter::displayItemClientForBorders() const { |
+const DisplayItemClient& |
+TableCellPainter::displayItemClientRespectingCompositing() const { |
// TODO(wkorman): We may need to handle PaintInvalidationDelayedFull. |
// http://crbug.com/657186 |
return m_layoutTableCell.usesTableAsAdditionalDisplayItemClient() |
? static_cast<const DisplayItemClient&>( |
- *m_layoutTableCell.collapsedBorderValues()) |
+ *m_layoutTableCell.compositedTableCell()) |
: m_layoutTableCell; |
} |
@@ -131,7 +132,7 @@ void TableCellPainter::paintCollapsedBorders( |
paintRect.height() + topWidth / 2 + (bottomWidth + 1) / 2); |
GraphicsContext& graphicsContext = paintInfo.context; |
- const DisplayItemClient& client = displayItemClientForBorders(); |
+ const DisplayItemClient& client = displayItemClientRespectingCompositing(); |
if (DrawingRecorder::useCachedDrawingIfPossible( |
graphicsContext, client, |
static_cast<DisplayItem::Type>(displayItemType))) |
@@ -195,14 +196,15 @@ void TableCellPainter::paintContainerBackgroundBehindCell( |
!m_layoutTableCell.firstChild()) |
return; |
- if (LayoutObjectDrawingRecorder::useCachedDrawingIfPossible( |
- paintInfo.context, m_layoutTableCell, type)) |
+ const DisplayItemClient& client = displayItemClientRespectingCompositing(); |
+ if (DrawingRecorder::useCachedDrawingIfPossible(paintInfo.context, client, |
+ type)) |
return; |
LayoutRect paintRect = |
paintRectNotIncludingVisualOverflow(adjustedPaintOffset); |
- LayoutObjectDrawingRecorder recorder(paintInfo.context, m_layoutTableCell, |
- type, paintRect); |
+ DrawingRecorder recorder(paintInfo.context, client, type, |
+ FloatRect(paintRect)); |
paintBackground(paintInfo, paintRect, backgroundObject); |
} |