Index: third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp b/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
index ec62c97eecfe87692ead5f08ab49bd496f63c7ef..c1b06e53319815d28082de5f9749d58f024c5a7e 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp |
@@ -2016,6 +2016,24 @@ void LayoutBlockFlow::checkLinesForTextOverflow() |
} |
} |
+void LayoutBlockFlow::markLinesDirtyInBlockRange(LayoutUnit logicalTop, LayoutUnit logicalBottom, RootInlineBox* highest) |
+{ |
+ if (logicalTop >= logicalBottom) |
+ return; |
+ |
+ RootInlineBox* lowestDirtyLine = lastRootBox(); |
+ RootInlineBox* afterLowest = lowestDirtyLine; |
+ while (lowestDirtyLine && lowestDirtyLine->lineBottomWithLeading() >= logicalBottom && logicalBottom < LayoutUnit::max()) { |
+ afterLowest = lowestDirtyLine; |
+ lowestDirtyLine = lowestDirtyLine->prevRootBox(); |
+ } |
+ |
+ while (afterLowest && afterLowest != highest && (afterLowest->lineBottomWithLeading() >= logicalTop || afterLowest->lineBottomWithLeading() < LayoutUnit())) { |
+ afterLowest->markDirty(); |
+ afterLowest = afterLowest->prevRootBox(); |
+ } |
+} |
+ |
LayoutUnit LayoutBlockFlow::startAlignedOffsetForLine(LayoutUnit position, IndentTextOrNot indentText) |
{ |
ETextAlign textAlign = style()->textAlign(); |