Index: Source/core/rendering/RenderBlock.cpp |
diff --git a/Source/core/rendering/RenderBlock.cpp b/Source/core/rendering/RenderBlock.cpp |
index 73eda306a3b58dc4a60e37fb9004d60f39cf9b16..56d3e93d0e5188237b4b07f89d8f038dc99944e5 100644 |
--- a/Source/core/rendering/RenderBlock.cpp |
+++ b/Source/core/rendering/RenderBlock.cpp |
@@ -1539,16 +1539,16 @@ bool RenderBlock::createsNewFormattingContext() const |
|| isDocumentElement() || style()->columnSpan() || isGridItem(); |
} |
-void RenderBlock::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, RenderBox* child) |
+void RenderBlock::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, RenderBox& child) |
{ |
// FIXME: Technically percentage height objects only need a relayout if their percentage isn't going to be turned into |
// an auto value. Add a method to determine this, so that we can avoid the relayout. |
- if (relayoutChildren || (child->hasRelativeLogicalHeight() && !isRenderView())) |
- child->setChildNeedsLayout(MarkOnlyThis); |
+ if (relayoutChildren || (child.hasRelativeLogicalHeight() && !isRenderView())) |
+ child.setChildNeedsLayout(MarkOnlyThis); |
// If relayoutChildren is set and the child has percentage padding or an embedded content box, we also need to invalidate the childs pref widths. |
- if (relayoutChildren && child->needsPreferredWidthsRecalculation()) |
- child->setPreferredLogicalWidthsDirty(MarkOnlyThis); |
+ if (relayoutChildren && child.needsPreferredWidthsRecalculation()) |
+ child.setPreferredLogicalWidthsDirty(MarkOnlyThis); |
} |
void RenderBlock::simplifiedNormalFlowLayout() |
@@ -1665,13 +1665,13 @@ void RenderBlock::markFixedPositionObjectForLayoutIfNeeded(RenderObject* child, |
} |
} |
-LayoutUnit RenderBlock::marginIntrinsicLogicalWidthForChild(RenderBox* child) const |
+LayoutUnit RenderBlock::marginIntrinsicLogicalWidthForChild(RenderBox& child) const |
{ |
// A margin has three types: fixed, percentage, and auto (variable). |
// Auto and percentage margins become 0 when computing min/max width. |
// Fixed margins can be added in as is. |
- Length marginLeft = child->style()->marginStartUsing(style()); |
- Length marginRight = child->style()->marginEndUsing(style()); |
+ Length marginLeft = child.style()->marginStartUsing(style()); |
+ Length marginRight = child.style()->marginEndUsing(style()); |
LayoutUnit margin = 0; |
if (marginLeft.isFixed()) |
margin += marginLeft.value(); |
@@ -1729,7 +1729,7 @@ void RenderBlock::layoutPositionedObjects(bool relayoutChildren, PositionedLayou |
r->updateLogicalHeight(); |
else |
r->updateLogicalWidth(); |
- oldLogicalTop = logicalTopForChild(r); |
+ oldLogicalTop = logicalTopForChild(*r); |
} |
// FIXME: We should be able to do a r->setNeedsPositionedMovementLayout() here instead of a full layout. Need |
@@ -1740,7 +1740,7 @@ void RenderBlock::layoutPositionedObjects(bool relayoutChildren, PositionedLayou |
r->layoutIfNeeded(); |
// Lay out again if our estimate was wrong. |
- if (needsBlockDirectionLocationSetBeforeLayout && logicalTopForChild(r) != oldLogicalTop) |
+ if (needsBlockDirectionLocationSetBeforeLayout && logicalTopForChild(*r) != oldLogicalTop) |
r->forceChildLayout(); |
} |
@@ -2426,7 +2426,7 @@ static PositionWithAffinity positionForPointRespectingEditingBoundaries(RenderBl |
return child->positionForPoint(pointInChildCoordinates); |
// Otherwise return before or after the child, depending on if the click was to the logical left or logical right of the child |
- LayoutUnit childMiddle = parent->logicalWidthForChild(child) / 2; |
+ LayoutUnit childMiddle = parent->logicalWidthForChild(*child) / 2; |
LayoutUnit logicalLeft = parent->isHorizontalWritingMode() ? pointInChildCoordinates.x() : pointInChildCoordinates.y(); |
if (logicalLeft < childMiddle) |
return ancestor->createPositionWithAffinity(childNode->nodeIndex(), DOWNSTREAM); |
@@ -2561,14 +2561,14 @@ PositionWithAffinity RenderBlock::positionForPoint(const LayoutPoint& point) |
bool blocksAreFlipped = style()->isFlippedBlocksWritingMode(); |
if (lastCandidateBox) { |
- if (pointInLogicalContents.y() > logicalTopForChild(lastCandidateBox) |
- || (!blocksAreFlipped && pointInLogicalContents.y() == logicalTopForChild(lastCandidateBox))) |
+ if (pointInLogicalContents.y() > logicalTopForChild(*lastCandidateBox) |
+ || (!blocksAreFlipped && pointInLogicalContents.y() == logicalTopForChild(*lastCandidateBox))) |
return positionForPointRespectingEditingBoundaries(this, lastCandidateBox, pointInContents); |
for (RenderBox* childBox = firstChildBox(); childBox; childBox = childBox->nextSiblingBox()) { |
if (!isChildHitTestCandidate(childBox)) |
continue; |
- LayoutUnit childLogicalBottom = logicalTopForChild(childBox) + logicalHeightForChild(childBox); |
+ LayoutUnit childLogicalBottom = logicalTopForChild(*childBox) + logicalHeightForChild(*childBox); |
// We hit child if our click is above the bottom of its padding box (like IE6/7 and FF3). |
if (isChildHitTestCandidate(childBox) && (pointInLogicalContents.y() < childLogicalBottom |
|| (blocksAreFlipped && pointInLogicalContents.y() == childLogicalBottom))) |
@@ -3665,34 +3665,34 @@ LayoutUnit RenderBlock::offsetFromLogicalTopOfFirstPage() const |
return 0; |
} |
-LayoutUnit RenderBlock::collapsedMarginBeforeForChild(const RenderBox* child) const |
+LayoutUnit RenderBlock::collapsedMarginBeforeForChild(const RenderBox& child) const |
{ |
// If the child has the same directionality as we do, then we can just return its |
// collapsed margin. |
- if (!child->isWritingModeRoot()) |
- return child->collapsedMarginBefore(); |
+ if (!child.isWritingModeRoot()) |
+ return child.collapsedMarginBefore(); |
// The child has a different directionality. If the child is parallel, then it's just |
// flipped relative to us. We can use the collapsed margin for the opposite edge. |
- if (child->isHorizontalWritingMode() == isHorizontalWritingMode()) |
- return child->collapsedMarginAfter(); |
+ if (child.isHorizontalWritingMode() == isHorizontalWritingMode()) |
+ return child.collapsedMarginAfter(); |
// The child is perpendicular to us, which means its margins don't collapse but are on the |
// "logical left/right" sides of the child box. We can just return the raw margin in this case. |
return marginBeforeForChild(child); |
} |
-LayoutUnit RenderBlock::collapsedMarginAfterForChild(const RenderBox* child) const |
+LayoutUnit RenderBlock::collapsedMarginAfterForChild(const RenderBox& child) const |
{ |
// If the child has the same directionality as we do, then we can just return its |
// collapsed margin. |
- if (!child->isWritingModeRoot()) |
- return child->collapsedMarginAfter(); |
+ if (!child.isWritingModeRoot()) |
+ return child.collapsedMarginAfter(); |
// The child has a different directionality. If the child is parallel, then it's just |
// flipped relative to us. We can use the collapsed margin for the opposite edge. |
- if (child->isHorizontalWritingMode() == isHorizontalWritingMode()) |
- return child->collapsedMarginBefore(); |
+ if (child.isHorizontalWritingMode() == isHorizontalWritingMode()) |
+ return child.collapsedMarginBefore(); |
// The child is perpendicular to us, which means its margins don't collapse but are on the |
// "logical left/right" side of the child box. We can just return the raw margin in this case. |