Index: Source/core/rendering/RenderBlock.cpp |
diff --git a/Source/core/rendering/RenderBlock.cpp b/Source/core/rendering/RenderBlock.cpp |
index 24f3f026f6c14b1e10536b4590f4c9f3dfa0b941..c5658c36751ff2f6c6c896eaf30523379bea4b87 100644 |
--- a/Source/core/rendering/RenderBlock.cpp |
+++ b/Source/core/rendering/RenderBlock.cpp |
@@ -6474,8 +6474,13 @@ void RenderBlock::adjustLinePositionForPagination(RootInlineBox* lineBox, Layout |
lineBox->setPaginationStrut(remainingLogicalHeight); |
lineBox->setIsFirstAfterPageBreak(true); |
} |
- } else if (remainingLogicalHeight == pageLogicalHeight && lineBox != firstRootBox()) |
- lineBox->setIsFirstAfterPageBreak(true); |
+ } else if (remainingLogicalHeight == pageLogicalHeight) { |
+ // We're at the very top of a page or column. |
+ if (lineBox != firstRootBox()) |
+ lineBox->setIsFirstAfterPageBreak(true); |
+ if (lineBox != firstRootBox() || offsetFromLogicalTopOfFirstPage()) |
+ setPageBreak(logicalOffset, lineHeight); |
+ } |
} |
bool RenderBlock::lineWidthForPaginatedLineChanged(RootInlineBox* rootBox, LayoutUnit lineDelta, RenderFlowThread* flowThread) const |