Index: Source/core/rendering/RenderTableRow.cpp |
diff --git a/Source/core/rendering/RenderTableRow.cpp b/Source/core/rendering/RenderTableRow.cpp |
index 0e129aa63404fab4a93472cdd91a18fe877a9389..df4d58a0302ddd9679fc80799aa546fb34cb47c2 100644 |
--- a/Source/core/rendering/RenderTableRow.cpp |
+++ b/Source/core/rendering/RenderTableRow.cpp |
@@ -165,16 +165,13 @@ void RenderTableRow::layout() |
// Table rows do not add translation. |
LayoutStateMaintainer statePusher(*this, LayoutSize()); |
- bool paginated = view()->layoutState()->isPaginated(); |
- |
for (RenderObject* child = firstChild(); child; child = child->nextSibling()) { |
if (child->isTableCell()) { |
SubtreeLayoutScope layouter(child); |
RenderTableCell* cell = toRenderTableCell(child); |
- if (!cell->needsLayout() && paginated && view()->layoutState()->pageLogicalHeight() && view()->layoutState()->pageLogicalOffset(*cell, cell->logicalTop()) != cell->pageLogicalOffset()) |
- layouter.setChildNeedsLayout(cell); |
- |
- if (child->needsLayout()) { |
+ if (!cell->needsLayout()) |
+ cell->markForPaginationRelayoutIfNeeded(layouter); |
+ if (cell->needsLayout()) { |
cell->computeAndSetBlockDirectionMargins(table()); |
cell->layout(); |
} |