| 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 62c6b3bf4266fd3c0bf572d18512f3af0f02f493..d0eb69cc11e4d3ec7faf76bbadeb589d74b514fb 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutBlockFlowLine.cpp
|
| @@ -1362,9 +1362,9 @@ void LayoutBlockFlow::linkToEndLineIfNeeded(LineLayoutState& layoutState) {
|
| FloatingObject* floatingObject = insertFloatingObject(*box);
|
| ASSERT(!floatingObject->originatingLine());
|
| floatingObject->setOriginatingLine(line);
|
| - setLogicalHeight(logicalTopForChild(*box) -
|
| - marginBeforeForChild(*box) + delta);
|
| - positionNewFloats();
|
| + LayoutUnit logicalTop =
|
| + logicalTopForChild(*box) - marginBeforeForChild(*box) + delta;
|
| + positionNewFloats(logicalTop);
|
| }
|
| }
|
| }
|
| @@ -1379,7 +1379,7 @@ void LayoutBlockFlow::linkToEndLineIfNeeded(LineLayoutState& layoutState) {
|
| // now. This has to be done before adding in the bottom border/padding, or the
|
| // float will
|
| // include the padding incorrectly. -dwh
|
| - if (positionNewFloats() && lastRootBox())
|
| + if (positionNewFloats(logicalHeight()) && lastRootBox())
|
| appendFloatsToLastLine(layoutState, InlineIterator(), InlineBidiResolver(),
|
| BidiStatus());
|
| }
|
| @@ -1398,7 +1398,7 @@ void LayoutBlockFlow::markDirtyFloatsForPaintInvalidation(
|
| }
|
| insertFloatingObject(*f);
|
| }
|
| - positionNewFloats();
|
| + positionNewFloats(logicalHeight());
|
| }
|
|
|
| // InlineMinMaxIterator is a class that will iterate over all layout objects
|
| @@ -2078,7 +2078,6 @@ RootInlineBox* LayoutBlockFlow::determineStartPosition(
|
|
|
| unsigned numCleanFloats = 0;
|
| if (!layoutState.floats().isEmpty()) {
|
| - LayoutUnit savedLogicalHeight = logicalHeight();
|
| // Restore floats from clean lines.
|
| RootInlineBox* line = firstRootBox();
|
| while (line != curr) {
|
| @@ -2087,16 +2086,15 @@ RootInlineBox* LayoutBlockFlow::determineStartPosition(
|
| FloatingObject* floatingObject = insertFloatingObject(*box);
|
| ASSERT(!floatingObject->originatingLine());
|
| floatingObject->setOriginatingLine(line);
|
| - setLogicalHeight(logicalTopForChild(*box) -
|
| - marginBeforeForChild(*box));
|
| - positionNewFloats();
|
| + LayoutUnit logicalTop =
|
| + logicalTopForChild(*box) - marginBeforeForChild(*box);
|
| + positionNewFloats(logicalTop);
|
| ASSERT(layoutState.floats()[numCleanFloats].object == box);
|
| numCleanFloats++;
|
| }
|
| }
|
| line = line->nextRootBox();
|
| }
|
| - setLogicalHeight(savedLogicalHeight);
|
| }
|
| layoutState.setFloatIndex(numCleanFloats);
|
|
|
|
|