Index: Source/core/layout/LayoutBlockFlow.cpp |
diff --git a/Source/core/layout/LayoutBlockFlow.cpp b/Source/core/layout/LayoutBlockFlow.cpp |
index 93c4967ebe1022c2efde2c5671861a14a9fe3b98..0ed2c2616d0c3ca7231948caeebd1d6c114f6652 100644 |
--- a/Source/core/layout/LayoutBlockFlow.cpp |
+++ b/Source/core/layout/LayoutBlockFlow.cpp |
@@ -778,6 +778,13 @@ void LayoutBlockFlow::adjustLinePositionForPagination(RootInlineBox& lineBox, La |
LayoutUnit pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset); |
if (!pageLogicalHeight) |
return; |
+ if (lineHeight > pageLogicalHeight) { |
+ // Too tall to fit in one page / column. Give up. Don't push to the next page / column. |
+ // TODO(mstensho): Get rid of this. This is just utter weirdness, but the other browsers |
+ // also do something slightly similar, although in much more specific cases than we do here, |
+ // and printing Google Docs depends on it. |
+ return; |
+ } |
LayoutUnit remainingLogicalHeight = pageRemainingLogicalHeightForOffset(logicalOffset, ExcludePageBoundary); |
int lineIndex = lineCount(&lineBox); |