Chromium Code Reviews| Index: Source/core/layout/LayoutBlockFlowLine.cpp |
| diff --git a/Source/core/layout/LayoutBlockFlowLine.cpp b/Source/core/layout/LayoutBlockFlowLine.cpp |
| index b382670640a5280839364f6f59a4f168f5a86df3..a097b187a7b7994ebdfe5fb91e71c5a5b0d86279 100644 |
| --- a/Source/core/layout/LayoutBlockFlowLine.cpp |
| +++ b/Source/core/layout/LayoutBlockFlowLine.cpp |
| @@ -670,11 +670,11 @@ void LayoutBlockFlow::computeBlockDirectionPositionsForLine(RootInlineBox* lineB |
| } |
| } |
| -void LayoutBlockFlow::appendFloatingObjectToLastLine(FloatingObject* floatingObject) |
| +void LayoutBlockFlow::appendFloatingObjectToLastLine(FloatingObject& floatingObject) |
| { |
| - ASSERT(!floatingObject->originatingLine()); |
| - floatingObject->setOriginatingLine(lastRootBox()); |
| - lastRootBox()->appendFloat(floatingObject->layoutObject()); |
| + ASSERT(!floatingObject.originatingLine()); |
| + floatingObject.setOriginatingLine(lastRootBox()); |
| + lastRootBox()->appendFloat(floatingObject.layoutObject()); |
| } |
| // This function constructs line boxes for all of the text runs in the resolver and computes their position. |
| @@ -914,7 +914,7 @@ void LayoutBlockFlow::layoutRunsAndFloatsInRange(LineLayoutState& layoutState, |
| } |
| for (; it != end; ++it) { |
| FloatingObject* f = it->get(); |
| - appendFloatingObjectToLastLine(f); |
| + appendFloatingObjectToLastLine(*f); |
|
Julien - ping for review
2015/03/16 15:27:54
|f| should be a reference (and probably renamed to
Sunil Ratnu
2015/03/17 11:31:19
Done.
|
| ASSERT(f->layoutObject() == layoutState.floats()[layoutState.floatIndex()].object); |
| // If a float's geometry has changed, give up on syncing with clean lines. |
| if (layoutState.floats()[layoutState.floatIndex()].rect != f->frameRect()) |
| @@ -1062,7 +1062,7 @@ void LayoutBlockFlow::linkToEndLineIfNeeded(LineLayoutState& layoutState) |
| } |
| for (; it != end; ++it) |
| - appendFloatingObjectToLastLine(it->get()); |
| + appendFloatingObjectToLastLine(it->getReference()); |
| } |
| } |
| @@ -1847,7 +1847,7 @@ bool LayoutBlockFlow::checkPaginationAndFloatsAtEndLine(LineLayoutState& layoutS |
| const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); |
| FloatingObjectSetIterator end = floatingObjectSet.end(); |
| for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++it) { |
| - FloatingObject* floatingObject = it->get(); |
| + FloatingObject& floatingObject = it->getReference(); |
| if (logicalBottomForFloat(floatingObject) >= logicalTop && logicalBottomForFloat(floatingObject) < logicalBottom) |
| return false; |
| } |
| @@ -2004,7 +2004,7 @@ bool LayoutBlockFlow::positionNewFloatOnLine(FloatingObject* newFloat, FloatingO |
| const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); |
| ASSERT(floatingObjectSet.last() == newFloat); |
| - LayoutUnit floatLogicalTop = logicalTopForFloat(newFloat); |
| + LayoutUnit floatLogicalTop = logicalTopForFloat(*newFloat); |
|
Julien - ping for review
2015/03/16 15:27:54
Again |newFloat| looks like it should be a referen
Sunil Ratnu
2015/03/17 11:31:19
Done.
|
| int paginationStrut = newFloat->paginationStrut(); |
| if (floatLogicalTop - paginationStrut != logicalHeight() + lineInfo.floatPaginationStrut()) |
| @@ -2018,7 +2018,7 @@ bool LayoutBlockFlow::positionNewFloatOnLine(FloatingObject* newFloat, FloatingO |
| FloatingObject* floatingObject = it->get(); |
| if (floatingObject == lastFloatFromPreviousLine) |
| break; |
| - if (logicalTopForFloat(floatingObject) == logicalHeight() + lineInfo.floatPaginationStrut()) { |
| + if (logicalTopForFloat(*floatingObject) == logicalHeight() + lineInfo.floatPaginationStrut()) { |
| floatingObject->setPaginationStrut(paginationStrut + floatingObject->paginationStrut()); |
| LayoutBox* floatBox = floatingObject->layoutObject(); |
| setLogicalTopForChild(*floatBox, logicalTopForChild(*floatBox) + marginBeforeForChild(*floatBox) + paginationStrut); |
| @@ -2028,9 +2028,9 @@ bool LayoutBlockFlow::positionNewFloatOnLine(FloatingObject* newFloat, FloatingO |
| floatBox->layoutIfNeeded(); |
| // Save the old logical top before calling removePlacedObject which will set |
| // isPlaced to false. Otherwise it will trigger an assert in logicalTopForFloat. |
| - LayoutUnit oldLogicalTop = logicalTopForFloat(floatingObject); |
| + LayoutUnit oldLogicalTop = logicalTopForFloat(*floatingObject); |
| m_floatingObjects->removePlacedObject(floatingObject); |
| - setLogicalTopForFloat(floatingObject, oldLogicalTop + paginationStrut); |
| + setLogicalTopForFloat(*floatingObject, oldLogicalTop + paginationStrut); |
| m_floatingObjects->addPlacedObject(floatingObject); |
| } |
| } |