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); |
} |
} |