Commit 89e80fc1 authored by cbiesinger's avatar cbiesinger Committed by Commit bot

[css-flexbox] Simplify code a bit

No need for these additions/subtractions of border and padding.

R=eae@chromium.org,dgrogan@chromium.org
BUG=470729

Review-Url: https://codereview.chromium.org/2156323002
Cr-Commit-Position: refs/heads/master@{#406151}
parent bb9dab02
...@@ -498,6 +498,11 @@ LayoutUnit LayoutFlexibleBox::mainAxisExtentForChild(const LayoutBox& child) con ...@@ -498,6 +498,11 @@ LayoutUnit LayoutFlexibleBox::mainAxisExtentForChild(const LayoutBox& child) con
return isHorizontalFlow() ? child.size().width() : child.size().height(); return isHorizontalFlow() ? child.size().width() : child.size().height();
} }
LayoutUnit LayoutFlexibleBox::mainAxisContentExtentForChild(const LayoutBox& child) const
{
return isHorizontalFlow() ? child.contentWidth() : child.contentHeight();
}
LayoutUnit LayoutFlexibleBox::crossAxisExtent() const LayoutUnit LayoutFlexibleBox::crossAxisExtent() const
{ {
return isHorizontalFlow() ? size().height() : size().width(); return isHorizontalFlow() ? size().height() : size().width();
...@@ -1409,12 +1414,12 @@ static LayoutUnit alignmentOffset(LayoutUnit availableFreeSpace, ItemPosition po ...@@ -1409,12 +1414,12 @@ static LayoutUnit alignmentOffset(LayoutUnit availableFreeSpace, ItemPosition po
return LayoutUnit(); return LayoutUnit();
} }
void LayoutFlexibleBox::setOverrideMainAxisSizeForChild(LayoutBox& child, LayoutUnit childPreferredSize) void LayoutFlexibleBox::setOverrideMainAxisContentSizeForChild(LayoutBox& child, LayoutUnit childPreferredSize)
{ {
if (hasOrthogonalFlow(child)) if (hasOrthogonalFlow(child))
child.setOverrideLogicalContentHeight(childPreferredSize - child.borderAndPaddingLogicalHeight()); child.setOverrideLogicalContentHeight(childPreferredSize);
else else
child.setOverrideLogicalContentWidth(childPreferredSize - child.borderAndPaddingLogicalWidth()); child.setOverrideLogicalContentWidth(childPreferredSize);
} }
LayoutUnit LayoutFlexibleBox::staticMainAxisPositionForPositionedChild(const LayoutBox& child) LayoutUnit LayoutFlexibleBox::staticMainAxisPositionForPositionedChild(const LayoutBox& child)
...@@ -1611,9 +1616,8 @@ void LayoutFlexibleBox::layoutAndPlaceChildren(LayoutUnit& crossAxisOffset, cons ...@@ -1611,9 +1616,8 @@ void LayoutFlexibleBox::layoutAndPlaceChildren(LayoutUnit& crossAxisOffset, cons
child->setMayNeedPaintInvalidation(); child->setMayNeedPaintInvalidation();
LayoutUnit childPreferredSize = flexItem.flexedContentSize + mainAxisBorderAndPaddingExtentForChild(*child); setOverrideMainAxisContentSizeForChild(*child, flexItem.flexedContentSize);
setOverrideMainAxisSizeForChild(*child, childPreferredSize); if (flexItem.flexedContentSize != mainAxisContentExtentForChild(*child)) {
if (childPreferredSize != mainAxisExtentForChild(*child)) {
child->setChildNeedsLayout(MarkOnlyThis); child->setChildNeedsLayout(MarkOnlyThis);
} else { } else {
// To avoid double applying margin changes in updateAutoMarginsInCrossAxis, we reset the margins here. // To avoid double applying margin changes in updateAutoMarginsInCrossAxis, we reset the margins here.
......
...@@ -120,6 +120,7 @@ private: ...@@ -120,6 +120,7 @@ private:
LayoutUnit childIntrinsicHeight(const LayoutBox& child) const; LayoutUnit childIntrinsicHeight(const LayoutBox& child) const;
LayoutUnit childIntrinsicWidth(const LayoutBox& child) const; LayoutUnit childIntrinsicWidth(const LayoutBox& child) const;
LayoutUnit mainAxisExtentForChild(const LayoutBox& child) const; LayoutUnit mainAxisExtentForChild(const LayoutBox& child) const;
LayoutUnit mainAxisContentExtentForChild(const LayoutBox& child) const;
LayoutUnit crossAxisExtent() const; LayoutUnit crossAxisExtent() const;
LayoutUnit mainAxisExtent() const; LayoutUnit mainAxisExtent() const;
LayoutUnit crossAxisContentExtent() const; LayoutUnit crossAxisContentExtent() const;
...@@ -181,7 +182,7 @@ private: ...@@ -181,7 +182,7 @@ private:
void freezeViolations(Vector<FlexItem*>&, LayoutUnit& availableFreeSpace, double& totalFlexGrow, double& totalFlexShrink, double& totalWeightedFlexShrink); void freezeViolations(Vector<FlexItem*>&, LayoutUnit& availableFreeSpace, double& totalFlexGrow, double& totalFlexShrink, double& totalWeightedFlexShrink);
void resetAutoMarginsAndLogicalTopInCrossAxis(LayoutBox& child); void resetAutoMarginsAndLogicalTopInCrossAxis(LayoutBox& child);
void setOverrideMainAxisSizeForChild(LayoutBox& child, LayoutUnit childPreferredSize); void setOverrideMainAxisContentSizeForChild(LayoutBox& child, LayoutUnit childPreferredSize);
void prepareChildForPositionedLayout(LayoutBox& child); void prepareChildForPositionedLayout(LayoutBox& child);
size_t numberOfInFlowPositionedChildren(const OrderedFlexItemList&) const; size_t numberOfInFlowPositionedChildren(const OrderedFlexItemList&) const;
void layoutAndPlaceChildren(LayoutUnit& crossAxisOffset, const OrderedFlexItemList&, LayoutUnit availableFreeSpace, bool relayoutChildren, SubtreeLayoutScope&, Vector<LineContext>&); void layoutAndPlaceChildren(LayoutUnit& crossAxisOffset, const OrderedFlexItemList&, LayoutUnit availableFreeSpace, bool relayoutChildren, SubtreeLayoutScope&, Vector<LineContext>&);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment