Index: Source/core/layout/LayoutBlockFlowLine.cpp |
diff --git a/Source/core/layout/LayoutBlockFlowLine.cpp b/Source/core/layout/LayoutBlockFlowLine.cpp |
index 8d5afbad9e49f34f9428fdb51afb3e2ee2a09744..424dc88a4f48a6f694a19fca94b2c63484303156 100644 |
--- a/Source/core/layout/LayoutBlockFlowLine.cpp |
+++ b/Source/core/layout/LayoutBlockFlowLine.cpp |
@@ -32,6 +32,7 @@ |
#include "core/layout/LayoutView.h" |
#include "core/layout/TextRunConstructor.h" |
#include "core/layout/VerticalPositionCache.h" |
+#include "core/layout/api/LineLayoutItem.h" |
#include "core/layout/line/BreakingContextInlineHeaders.h" |
#include "core/layout/line/GlyphOverflow.h" |
#include "core/layout/line/LayoutTextInfo.h" |
@@ -783,7 +784,7 @@ void LayoutBlockFlow::layoutRunsAndFloatsInRange(LineLayoutState& layoutState, |
LayoutTextInfo layoutTextInfo; |
VerticalPositionCache verticalPositionCache; |
- LineBreaker lineBreaker(this); |
+ LineBreaker lineBreaker(LineLayoutBlockFlow(this)); |
while (!endOfLine.atEnd()) { |
bool logicalWidthIsAvailable = false; |
@@ -881,7 +882,7 @@ void LayoutBlockFlow::layoutRunsAndFloatsInRange(LineLayoutState& layoutState, |
if (!logicalWidthIsAvailable) { |
for (size_t i = 0; i < lineBreaker.positionedObjects().size(); ++i) |
- setStaticPositions(this, lineBreaker.positionedObjects()[i]); |
+ setStaticPositions(LineLayoutBlockFlow(this), lineBreaker.positionedObjects()[i]); |
if (!layoutState.lineInfo().isEmpty()) |
layoutState.lineInfo().setFirstLine(false); |
@@ -1742,7 +1743,7 @@ RootInlineBox* LayoutBlockFlow::determineStartPosition(LineLayoutState& layoutSt |
if (last) { |
setLogicalHeight(last->lineBottomWithLeading()); |
- InlineIterator iter = InlineIterator(this, last->lineBreakObj(), last->lineBreakPos()); |
+ InlineIterator iter = InlineIterator(LineLayoutBlockFlow(this), LineLayoutItem(last->lineBreakObj()), last->lineBreakPos()); |
resolver.setPosition(iter, numberOfIsolateAncestors(iter)); |
resolver.setStatus(last->lineBreakBidiStatus()); |
} else { |
@@ -1750,7 +1751,7 @@ RootInlineBox* LayoutBlockFlow::determineStartPosition(LineLayoutState& layoutSt |
if (style()->unicodeBidi() == Plaintext) |
direction = determinePlaintextDirectionality(this); |
resolver.setStatus(BidiStatus(direction, isOverride(style()->unicodeBidi()))); |
- InlineIterator iter = InlineIterator(this, bidiFirstSkippingEmptyInlines(this, resolver.runs(), &resolver), 0); |
+ InlineIterator iter = InlineIterator(LineLayoutBlockFlow(this), bidiFirstSkippingEmptyInlines(LineLayoutBlockFlow(this), resolver.runs(), &resolver), 0); |
resolver.setPosition(iter, numberOfIsolateAncestors(iter)); |
} |
return curr; |
@@ -1794,7 +1795,7 @@ void LayoutBlockFlow::determineEndPosition(LineLayoutState& layoutState, RootInl |
// in the block. |
RootInlineBox* prev = last->prevRootBox(); |
- cleanLineStart = InlineIterator(this, prev->lineBreakObj(), prev->lineBreakPos()); |
+ cleanLineStart = InlineIterator(LineLayoutItem(this), LineLayoutItem(prev->lineBreakObj()), prev->lineBreakPos()); |
cleanLineBidiStatus = prev->lineBreakBidiStatus(); |
layoutState.setEndLineLogicalTop(prev->lineBottomWithLeading()); |
@@ -1890,7 +1891,7 @@ bool LayoutBlockFlow::generatesLineBoxesForInlineChild(LayoutObject* inlineObj) |
{ |
ASSERT(inlineObj->parent() == this); |
- InlineIterator it(this, inlineObj, 0); |
+ InlineIterator it(LineLayoutBlockFlow(this), LineLayoutItem(inlineObj), 0); |
// FIXME: We should pass correct value for WhitespacePosition. |
while (!it.atEnd() && !requiresLineBox(it)) |
it.increment(); |