Index: Source/core/rendering/RenderTableSection.cpp |
diff --git a/Source/core/rendering/RenderTableSection.cpp b/Source/core/rendering/RenderTableSection.cpp |
index d0e9ba961b9e24556333e02eb4e43e5edbe99931..71b57547ecf548d68a65a13d80c3a3b147c85266 100644 |
--- a/Source/core/rendering/RenderTableSection.cpp |
+++ b/Source/core/rendering/RenderTableSection.cpp |
@@ -762,8 +762,11 @@ void RenderTableSection::layout() |
cell->setCellLogicalWidth(tableLayoutLogicalWidth, layouter); |
} |
- if (RenderTableRow* rowRenderer = m_grid[r].rowRenderer) |
+ if (RenderTableRow* rowRenderer = m_grid[r].rowRenderer) { |
+ if (!rowRenderer->needsLayout()) |
+ rowRenderer->markForPaginationRelayoutIfNeeded(layouter); |
rowRenderer->layoutIfNeeded(); |
+ } |
} |
statePusher.pop(); |
@@ -973,8 +976,8 @@ void RenderTableSection::layoutRows() |
setLogicalPositionForCell(cell, c); |
- if (!cell->needsLayout() && view()->layoutState()->pageLogicalHeight() && view()->layoutState()->pageLogicalOffset(*cell, cell->logicalTop()) != cell->pageLogicalOffset()) |
- layouter.setChildNeedsLayout(cell); |
+ if (!cell->needsLayout()) |
+ cell->markForPaginationRelayoutIfNeeded(layouter); |
cell->layoutIfNeeded(); |