Index: Source/core/layout/line/InlineFlowBox.cpp |
diff --git a/Source/core/layout/line/InlineFlowBox.cpp b/Source/core/layout/line/InlineFlowBox.cpp |
index 6dc6eba0597fd2f6ea140fda006f7d61304d08b7..dbdd468b029a068cc9076dfc0c7d7f95f14ea247 100644 |
--- a/Source/core/layout/line/InlineFlowBox.cpp |
+++ b/Source/core/layout/line/InlineFlowBox.cpp |
@@ -164,7 +164,7 @@ void InlineFlowBox::addToLine(InlineBox* child) |
LayoutBox& box = toLayoutBox(child->layoutObject()); |
if (box.hasOverflowModel() || box.hasSelfPaintingLayer()) |
child->clearKnownToHaveNoOverflow(); |
- } else if (!child->layoutObject().isBR() && (child->layoutObject().style(isFirstLineStyle())->boxShadow() || child->boxModelObject()->hasSelfPaintingLayer() |
+ } else if (!child->layoutObject().isBR() && (child->layoutObject().style(isFirstLineStyle())->boxShadow() || child->boxModelObject().hasSelfPaintingLayer() |
|| (child->layoutObject().isListMarker() && !toLayoutListMarker(child->layoutObject()).isInside()) |
|| child->layoutObject().style(isFirstLineStyle())->hasBorderImageOutsets() |
|| child->layoutObject().style(isFirstLineStyle())->hasOutline())) { |
@@ -429,8 +429,8 @@ LayoutUnit InlineFlowBox::placeBoxRangeInInlineDirection(InlineBox* firstChild, |
} else if (!curr->layoutObject().isListMarker() || toLayoutListMarker(curr->layoutObject()).isInside()) { |
// The box can have a different writing-mode than the overall line, so this is a bit complicated. |
// Just get all the physical margin and overflow values by hand based off |isHorizontal|. |
- LayoutUnit logicalLeftMargin = isHorizontal() ? curr->boxModelObject()->marginLeft() : curr->boxModelObject()->marginTop(); |
- LayoutUnit logicalRightMargin = isHorizontal() ? curr->boxModelObject()->marginRight() : curr->boxModelObject()->marginBottom(); |
+ LayoutUnit logicalLeftMargin = isHorizontal() ? curr->boxModelObject().marginLeft() : curr->boxModelObject().marginTop(); |
+ LayoutUnit logicalRightMargin = isHorizontal() ? curr->boxModelObject().marginRight() : curr->boxModelObject().marginBottom(); |
logicalLeft += logicalLeftMargin; |
curr->setLogicalLeft(logicalLeft); |
@@ -549,7 +549,7 @@ void InlineFlowBox::computeLogicalBoxHeights(RootInlineBox* rootBox, LayoutUnit& |
} else if (curr->verticalAlign() == BOTTOM) { |
if (maxPositionBottom < boxHeight) |
maxPositionBottom = boxHeight; |
- } else if (!inlineFlowBox || strictMode || inlineFlowBox->hasTextChildren() || (inlineFlowBox->descendantsHaveSameLineHeightAndBaseline() && inlineFlowBox->hasTextDescendants()) || inlineFlowBox->boxModelObject()->hasInlineDirectionBordersOrPadding()) { |
+ } else if (!inlineFlowBox || strictMode || inlineFlowBox->hasTextChildren() || (inlineFlowBox->descendantsHaveSameLineHeightAndBaseline() && inlineFlowBox->hasTextDescendants()) || inlineFlowBox->boxModelObject().hasInlineDirectionBordersOrPadding()) { |
// Note that these values can be negative. Even though we only affect the maxAscent and maxDescent values |
// if our box (excluding line-height) was above (for ascent) or below (for descent) the root baseline, once you factor in line-height |
// the final box can end up being fully above or fully below the root box's baseline! This is ok, but what it |
@@ -588,7 +588,7 @@ void InlineFlowBox::placeBoxesInBlockDirection(LayoutUnit top, LayoutUnit maxHei |
if (descendantsHaveSameLineHeightAndBaseline()) { |
adjustmentForChildrenWithSameLineHeightAndBaseline = logicalTop(); |
if (parent()) |
- adjustmentForChildrenWithSameLineHeightAndBaseline += (boxModelObject()->borderBefore() + boxModelObject()->paddingBefore()); |
+ adjustmentForChildrenWithSameLineHeightAndBaseline += (boxModelObject().borderBefore() + boxModelObject().paddingBefore()); |
} |
for (InlineBox* curr = firstChild(); curr; curr = curr->nextOnLine()) { |
@@ -607,7 +607,7 @@ void InlineFlowBox::placeBoxesInBlockDirection(LayoutUnit top, LayoutUnit maxHei |
} else if (curr->verticalAlign() == BOTTOM) { |
curr->setLogicalTop((top + maxHeight - curr->lineHeight())); |
} else { |
- if (!strictMode && inlineFlowBox && !inlineFlowBox->hasTextChildren() && !curr->boxModelObject()->hasInlineDirectionBordersOrPadding() |
+ if (!strictMode && inlineFlowBox && !inlineFlowBox->hasTextChildren() && !curr->boxModelObject().hasInlineDirectionBordersOrPadding() |
&& !(inlineFlowBox->descendantsHaveSameLineHeightAndBaseline() && inlineFlowBox->hasTextDescendants())) |
childAffectsTopBottomPos = false; |
LayoutUnit posAdjust = maxAscent - curr->baselinePosition(baselineType); |
@@ -922,10 +922,10 @@ void InlineFlowBox::computeOverflow(LayoutUnit lineTop, LayoutUnit lineBottom, G |
} else if (curr->layoutObject().isLayoutInline()) { |
InlineFlowBox* flow = toInlineFlowBox(curr); |
flow->computeOverflow(lineTop, lineBottom, textBoxDataMap); |
- if (!flow->boxModelObject()->hasSelfPaintingLayer()) |
+ if (!flow->boxModelObject().hasSelfPaintingLayer()) |
logicalVisualOverflow.unite(flow->logicalVisualOverflowRect(lineTop, lineBottom)); |
LayoutRect childLayoutOverflow = flow->logicalLayoutOverflowRect(lineTop, lineBottom); |
- childLayoutOverflow.move(flow->boxModelObject()->relativePositionLogicalOffset()); |
+ childLayoutOverflow.move(flow->boxModelObject().relativePositionLogicalOffset()); |
logicalLayoutOverflow.unite(childLayoutOverflow); |
} else { |
addReplacedChildOverflow(curr, logicalLayoutOverflow, logicalVisualOverflow); |
@@ -986,7 +986,7 @@ bool InlineFlowBox::nodeAtPoint(HitTestResult& result, const HitTestLocation& lo |
prev = curr->prevOnLine(); |
// Layers will handle hit testing themselves. |
- if (curr->boxModelObject() && curr->boxModelObject()->hasSelfPaintingLayer()) |
+ if (curr->boxModelObject() && curr->boxModelObject().hasSelfPaintingLayer()) |
continue; |
if (curr->nodeAtPoint(result, locationInContainer, accumulatedOffset, lineTop, lineBottom)) { |