| 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();
|
| }
|
|
|