| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 417 | 417 |
| 418 alignChildren(lineContexts, childToExclude); | 418 alignChildren(lineContexts, childToExclude); |
| 419 | 419 |
| 420 if (style()->flexWrap() == FlexWrapReverse) | 420 if (style()->flexWrap() == FlexWrapReverse) |
| 421 flipForWrapReverse(lineContexts, crossAxisStartEdge); | 421 flipForWrapReverse(lineContexts, crossAxisStartEdge); |
| 422 | 422 |
| 423 // direction:rtl + flex-direction:column means the cross-axis direction is f
lipped. | 423 // direction:rtl + flex-direction:column means the cross-axis direction is f
lipped. |
| 424 flipForRightToLeftColumn(); | 424 flipForRightToLeftColumn(); |
| 425 } | 425 } |
| 426 | 426 |
| 427 DISABLE_CFI_PERF |
| 427 LayoutUnit LayoutFlexibleBox::clientLogicalBottomAfterRepositioning() | 428 LayoutUnit LayoutFlexibleBox::clientLogicalBottomAfterRepositioning() |
| 428 { | 429 { |
| 429 LayoutUnit maxChildLogicalBottom; | 430 LayoutUnit maxChildLogicalBottom; |
| 430 for (LayoutBox* child = firstChildBox(); child; child = child->nextSiblingBo
x()) { | 431 for (LayoutBox* child = firstChildBox(); child; child = child->nextSiblingBo
x()) { |
| 431 if (child->isOutOfFlowPositioned()) | 432 if (child->isOutOfFlowPositioned()) |
| 432 continue; | 433 continue; |
| 433 LayoutUnit childLogicalBottom = logicalTopForChild(*child) + logicalHeig
htForChild(*child) + marginAfterForChild(*child); | 434 LayoutUnit childLogicalBottom = logicalTopForChild(*child) + logicalHeig
htForChild(*child) + marginAfterForChild(*child); |
| 434 maxChildLogicalBottom = std::max(maxChildLogicalBottom, childLogicalBott
om); | 435 maxChildLogicalBottom = std::max(maxChildLogicalBottom, childLogicalBott
om); |
| 435 } | 436 } |
| 436 return std::max(clientLogicalBottom(), maxChildLogicalBottom + paddingAfter(
)); | 437 return std::max(clientLogicalBottom(), maxChildLogicalBottom + paddingAfter(
)); |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 490 DCHECK(!hasOrthogonalFlow(child)); | 491 DCHECK(!hasOrthogonalFlow(child)); |
| 491 if (needToStretchChildLogicalHeight(child)) { | 492 if (needToStretchChildLogicalHeight(child)) { |
| 492 LayoutUnit childIntrinsicContentLogicalHeight; | 493 LayoutUnit childIntrinsicContentLogicalHeight; |
| 493 if (!child.styleRef().containsSize()) | 494 if (!child.styleRef().containsSize()) |
| 494 childIntrinsicContentLogicalHeight = child.intrinsicContentLogicalHe
ight(); | 495 childIntrinsicContentLogicalHeight = child.intrinsicContentLogicalHe
ight(); |
| 495 return constrainedChildIntrinsicContentLogicalHeight(child, childIntrins
icContentLogicalHeight); | 496 return constrainedChildIntrinsicContentLogicalHeight(child, childIntrins
icContentLogicalHeight); |
| 496 } | 497 } |
| 497 return child.logicalHeight(); | 498 return child.logicalHeight(); |
| 498 } | 499 } |
| 499 | 500 |
| 501 DISABLE_CFI_PERF |
| 500 LayoutUnit LayoutFlexibleBox::childIntrinsicLogicalWidth(const LayoutBox& child)
const | 502 LayoutUnit LayoutFlexibleBox::childIntrinsicLogicalWidth(const LayoutBox& child)
const |
| 501 { | 503 { |
| 502 // This should only be called if the logical width is the cross size | 504 // This should only be called if the logical width is the cross size |
| 503 DCHECK(hasOrthogonalFlow(child)); | 505 DCHECK(hasOrthogonalFlow(child)); |
| 504 // If our height is auto, make sure that our returned height is unaffected b
y earlier layouts by | 506 // If our height is auto, make sure that our returned height is unaffected b
y earlier layouts by |
| 505 // returning the max preferred logical width | 507 // returning the max preferred logical width |
| 506 if (!crossAxisLengthIsDefinite(child, child.styleRef().logicalWidth())) | 508 if (!crossAxisLengthIsDefinite(child, child.styleRef().logicalWidth())) |
| 507 return child.maxPreferredLogicalWidth(); | 509 return child.maxPreferredLogicalWidth(); |
| 508 | 510 |
| 509 return child.logicalWidth(); | 511 return child.logicalWidth(); |
| (...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 625 return LayoutUnit(borderBottom()); | 627 return LayoutUnit(borderBottom()); |
| 626 case TransformedWritingMode::LeftToRightWritingMode: | 628 case TransformedWritingMode::LeftToRightWritingMode: |
| 627 return LayoutUnit(borderLeft()); | 629 return LayoutUnit(borderLeft()); |
| 628 case TransformedWritingMode::RightToLeftWritingMode: | 630 case TransformedWritingMode::RightToLeftWritingMode: |
| 629 return LayoutUnit(borderRight()); | 631 return LayoutUnit(borderRight()); |
| 630 } | 632 } |
| 631 NOTREACHED(); | 633 NOTREACHED(); |
| 632 return LayoutUnit(borderTop()); | 634 return LayoutUnit(borderTop()); |
| 633 } | 635 } |
| 634 | 636 |
| 637 DISABLE_CFI_PERF |
| 635 LayoutUnit LayoutFlexibleBox::flowAwareBorderAfter() const | 638 LayoutUnit LayoutFlexibleBox::flowAwareBorderAfter() const |
| 636 { | 639 { |
| 637 switch (getTransformedWritingMode()) { | 640 switch (getTransformedWritingMode()) { |
| 638 case TransformedWritingMode::TopToBottomWritingMode: | 641 case TransformedWritingMode::TopToBottomWritingMode: |
| 639 return LayoutUnit(borderBottom()); | 642 return LayoutUnit(borderBottom()); |
| 640 case TransformedWritingMode::BottomToTopWritingMode: | 643 case TransformedWritingMode::BottomToTopWritingMode: |
| 641 return LayoutUnit(borderTop()); | 644 return LayoutUnit(borderTop()); |
| 642 case TransformedWritingMode::LeftToRightWritingMode: | 645 case TransformedWritingMode::LeftToRightWritingMode: |
| 643 return LayoutUnit(borderRight()); | 646 return LayoutUnit(borderRight()); |
| 644 case TransformedWritingMode::RightToLeftWritingMode: | 647 case TransformedWritingMode::RightToLeftWritingMode: |
| (...skipping 26 matching lines...) Expand all Loading... |
| 671 return paddingBottom(); | 674 return paddingBottom(); |
| 672 case TransformedWritingMode::LeftToRightWritingMode: | 675 case TransformedWritingMode::LeftToRightWritingMode: |
| 673 return paddingLeft(); | 676 return paddingLeft(); |
| 674 case TransformedWritingMode::RightToLeftWritingMode: | 677 case TransformedWritingMode::RightToLeftWritingMode: |
| 675 return paddingRight(); | 678 return paddingRight(); |
| 676 } | 679 } |
| 677 NOTREACHED(); | 680 NOTREACHED(); |
| 678 return paddingTop(); | 681 return paddingTop(); |
| 679 } | 682 } |
| 680 | 683 |
| 684 DISABLE_CFI_PERF |
| 681 LayoutUnit LayoutFlexibleBox::flowAwarePaddingAfter() const | 685 LayoutUnit LayoutFlexibleBox::flowAwarePaddingAfter() const |
| 682 { | 686 { |
| 683 switch (getTransformedWritingMode()) { | 687 switch (getTransformedWritingMode()) { |
| 684 case TransformedWritingMode::TopToBottomWritingMode: | 688 case TransformedWritingMode::TopToBottomWritingMode: |
| 685 return paddingBottom(); | 689 return paddingBottom(); |
| 686 case TransformedWritingMode::BottomToTopWritingMode: | 690 case TransformedWritingMode::BottomToTopWritingMode: |
| 687 return paddingTop(); | 691 return paddingTop(); |
| 688 case TransformedWritingMode::LeftToRightWritingMode: | 692 case TransformedWritingMode::LeftToRightWritingMode: |
| 689 return paddingRight(); | 693 return paddingRight(); |
| 690 case TransformedWritingMode::RightToLeftWritingMode: | 694 case TransformedWritingMode::RightToLeftWritingMode: |
| 691 return paddingLeft(); | 695 return paddingLeft(); |
| 692 } | 696 } |
| 693 NOTREACHED(); | 697 NOTREACHED(); |
| 694 return paddingTop(); | 698 return paddingTop(); |
| 695 } | 699 } |
| 696 | 700 |
| 701 DISABLE_CFI_PERF |
| 697 LayoutUnit LayoutFlexibleBox::flowAwareMarginStartForChild(const LayoutBox& chil
d) const | 702 LayoutUnit LayoutFlexibleBox::flowAwareMarginStartForChild(const LayoutBox& chil
d) const |
| 698 { | 703 { |
| 699 if (isHorizontalFlow()) | 704 if (isHorizontalFlow()) |
| 700 return isLeftToRightFlow() ? child.marginLeft() : child.marginRight(); | 705 return isLeftToRightFlow() ? child.marginLeft() : child.marginRight(); |
| 701 return isLeftToRightFlow() ? child.marginTop() : child.marginBottom(); | 706 return isLeftToRightFlow() ? child.marginTop() : child.marginBottom(); |
| 702 } | 707 } |
| 703 | 708 |
| 709 DISABLE_CFI_PERF |
| 704 LayoutUnit LayoutFlexibleBox::flowAwareMarginEndForChild(const LayoutBox& child)
const | 710 LayoutUnit LayoutFlexibleBox::flowAwareMarginEndForChild(const LayoutBox& child)
const |
| 705 { | 711 { |
| 706 if (isHorizontalFlow()) | 712 if (isHorizontalFlow()) |
| 707 return isLeftToRightFlow() ? child.marginRight() : child.marginLeft(); | 713 return isLeftToRightFlow() ? child.marginRight() : child.marginLeft(); |
| 708 return isLeftToRightFlow() ? child.marginBottom() : child.marginTop(); | 714 return isLeftToRightFlow() ? child.marginBottom() : child.marginTop(); |
| 709 } | 715 } |
| 710 | 716 |
| 717 DISABLE_CFI_PERF |
| 711 LayoutUnit LayoutFlexibleBox::flowAwareMarginBeforeForChild(const LayoutBox& chi
ld) const | 718 LayoutUnit LayoutFlexibleBox::flowAwareMarginBeforeForChild(const LayoutBox& chi
ld) const |
| 712 { | 719 { |
| 713 switch (getTransformedWritingMode()) { | 720 switch (getTransformedWritingMode()) { |
| 714 case TransformedWritingMode::TopToBottomWritingMode: | 721 case TransformedWritingMode::TopToBottomWritingMode: |
| 715 return child.marginTop(); | 722 return child.marginTop(); |
| 716 case TransformedWritingMode::BottomToTopWritingMode: | 723 case TransformedWritingMode::BottomToTopWritingMode: |
| 717 return child.marginBottom(); | 724 return child.marginBottom(); |
| 718 case TransformedWritingMode::LeftToRightWritingMode: | 725 case TransformedWritingMode::LeftToRightWritingMode: |
| 719 return child.marginLeft(); | 726 return child.marginLeft(); |
| 720 case TransformedWritingMode::RightToLeftWritingMode: | 727 case TransformedWritingMode::RightToLeftWritingMode: |
| (...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 846 } | 853 } |
| 847 m_intrinsicSizeAlongMainAxis.set(&child, mainSize); | 854 m_intrinsicSizeAlongMainAxis.set(&child, mainSize); |
| 848 m_relaidOutChildren.add(&child); | 855 m_relaidOutChildren.add(&child); |
| 849 } | 856 } |
| 850 | 857 |
| 851 void LayoutFlexibleBox::clearCachedMainSizeForChild(const LayoutBox& child) | 858 void LayoutFlexibleBox::clearCachedMainSizeForChild(const LayoutBox& child) |
| 852 { | 859 { |
| 853 m_intrinsicSizeAlongMainAxis.remove(&child); | 860 m_intrinsicSizeAlongMainAxis.remove(&child); |
| 854 } | 861 } |
| 855 | 862 |
| 863 DISABLE_CFI_PERF |
| 856 LayoutUnit LayoutFlexibleBox::computeInnerFlexBaseSizeForChild(LayoutBox& child,
LayoutUnit mainAxisBorderAndPadding, ChildLayoutType childLayoutType) | 864 LayoutUnit LayoutFlexibleBox::computeInnerFlexBaseSizeForChild(LayoutBox& child,
LayoutUnit mainAxisBorderAndPadding, ChildLayoutType childLayoutType) |
| 857 { | 865 { |
| 858 child.clearOverrideSize(); | 866 child.clearOverrideSize(); |
| 859 | 867 |
| 860 if (child.isImage() || child.isVideo() || child.isCanvas()) | 868 if (child.isImage() || child.isVideo() || child.isCanvas()) |
| 861 UseCounter::count(document(), UseCounter::AspectRatioFlexItem); | 869 UseCounter::count(document(), UseCounter::AspectRatioFlexItem); |
| 862 | 870 |
| 863 Length flexBasis = flexBasisForChild(child); | 871 Length flexBasis = flexBasisForChild(child); |
| 864 if (mainAxisLengthIsDefinite(child, flexBasis)) | 872 if (mainAxisLengthIsDefinite(child, flexBasis)) |
| 865 return std::max(LayoutUnit(), computeMainAxisExtentForChild(child, MainO
rPreferredSize, flexBasis)); | 873 return std::max(LayoutUnit(), computeMainAxisExtentForChild(child, MainO
rPreferredSize, flexBasis)); |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1064 | 1072 |
| 1065 if (isHorizontal) | 1073 if (isHorizontal) |
| 1066 child.setMarginBottom(availableAlignmentSpace); | 1074 child.setMarginBottom(availableAlignmentSpace); |
| 1067 else | 1075 else |
| 1068 child.setMarginRight(availableAlignmentSpace); | 1076 child.setMarginRight(availableAlignmentSpace); |
| 1069 return true; | 1077 return true; |
| 1070 } | 1078 } |
| 1071 return false; | 1079 return false; |
| 1072 } | 1080 } |
| 1073 | 1081 |
| 1082 DISABLE_CFI_PERF |
| 1074 LayoutUnit LayoutFlexibleBox::marginBoxAscentForChild(const LayoutBox& child) | 1083 LayoutUnit LayoutFlexibleBox::marginBoxAscentForChild(const LayoutBox& child) |
| 1075 { | 1084 { |
| 1076 LayoutUnit ascent(child.firstLineBoxBaseline()); | 1085 LayoutUnit ascent(child.firstLineBoxBaseline()); |
| 1077 if (ascent == -1) | 1086 if (ascent == -1) |
| 1078 ascent = crossAxisExtentForChild(child); | 1087 ascent = crossAxisExtentForChild(child); |
| 1079 return ascent + flowAwareMarginBeforeForChild(child); | 1088 return ascent + flowAwareMarginBeforeForChild(child); |
| 1080 } | 1089 } |
| 1081 | 1090 |
| 1082 LayoutUnit LayoutFlexibleBox::computeChildMarginValue(Length margin) | 1091 LayoutUnit LayoutFlexibleBox::computeChildMarginValue(Length margin) |
| 1083 { | 1092 { |
| (...skipping 18 matching lines...) Expand all Loading... |
| 1102 if (isHorizontalFlow()) { | 1111 if (isHorizontalFlow()) { |
| 1103 child->setMarginLeft(computeChildMarginValue(child->style()->marginL
eft())); | 1112 child->setMarginLeft(computeChildMarginValue(child->style()->marginL
eft())); |
| 1104 child->setMarginRight(computeChildMarginValue(child->style()->margin
Right())); | 1113 child->setMarginRight(computeChildMarginValue(child->style()->margin
Right())); |
| 1105 } else { | 1114 } else { |
| 1106 child->setMarginTop(computeChildMarginValue(child->style()->marginTo
p())); | 1115 child->setMarginTop(computeChildMarginValue(child->style()->marginTo
p())); |
| 1107 child->setMarginBottom(computeChildMarginValue(child->style()->margi
nBottom())); | 1116 child->setMarginBottom(computeChildMarginValue(child->style()->margi
nBottom())); |
| 1108 } | 1117 } |
| 1109 } | 1118 } |
| 1110 } | 1119 } |
| 1111 | 1120 |
| 1121 DISABLE_CFI_PERF |
| 1112 LayoutUnit LayoutFlexibleBox::adjustChildSizeForMinAndMax(const LayoutBox& child
, LayoutUnit childSize) | 1122 LayoutUnit LayoutFlexibleBox::adjustChildSizeForMinAndMax(const LayoutBox& child
, LayoutUnit childSize) |
| 1113 { | 1123 { |
| 1114 Length max = isHorizontalFlow() ? child.style()->maxWidth() : child.style()-
>maxHeight(); | 1124 Length max = isHorizontalFlow() ? child.style()->maxWidth() : child.style()-
>maxHeight(); |
| 1115 LayoutUnit maxExtent(-1); | 1125 LayoutUnit maxExtent(-1); |
| 1116 if (max.isSpecifiedOrIntrinsic()) { | 1126 if (max.isSpecifiedOrIntrinsic()) { |
| 1117 maxExtent = computeMainAxisExtentForChild(child, MaxSize, max); | 1127 maxExtent = computeMainAxisExtentForChild(child, MaxSize, max); |
| 1118 DCHECK_GE(maxExtent, LayoutUnit(-1)); | 1128 DCHECK_GE(maxExtent, LayoutUnit(-1)); |
| 1119 if (maxExtent != -1 && childSize > maxExtent) | 1129 if (maxExtent != -1 && childSize > maxExtent) |
| 1120 childSize = maxExtent; | 1130 childSize = maxExtent; |
| 1121 } | 1131 } |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1218 } | 1228 } |
| 1219 | 1229 |
| 1220 if (crossAxisLengthIsDefinite(child, crossMin)) { | 1230 if (crossAxisLengthIsDefinite(child, crossMin)) { |
| 1221 LayoutUnit minValue = computeMainSizeFromAspectRatioUsing(child, crossMi
n); | 1231 LayoutUnit minValue = computeMainSizeFromAspectRatioUsing(child, crossMi
n); |
| 1222 childSize = std::max(minValue, childSize); | 1232 childSize = std::max(minValue, childSize); |
| 1223 } | 1233 } |
| 1224 | 1234 |
| 1225 return childSize; | 1235 return childSize; |
| 1226 } | 1236 } |
| 1227 | 1237 |
| 1238 DISABLE_CFI_PERF |
| 1228 LayoutFlexibleBox::FlexItem LayoutFlexibleBox::constructFlexItem(LayoutBox& chil
d, ChildLayoutType layoutType) | 1239 LayoutFlexibleBox::FlexItem LayoutFlexibleBox::constructFlexItem(LayoutBox& chil
d, ChildLayoutType layoutType) |
| 1229 { | 1240 { |
| 1230 LayoutUnit borderAndPadding = isHorizontalFlow() ? child.borderAndPaddingWid
th() : child.borderAndPaddingHeight(); | 1241 LayoutUnit borderAndPadding = isHorizontalFlow() ? child.borderAndPaddingWid
th() : child.borderAndPaddingHeight(); |
| 1231 LayoutUnit childInnerFlexBaseSize = computeInnerFlexBaseSizeForChild(child,
borderAndPadding, layoutType); | 1242 LayoutUnit childInnerFlexBaseSize = computeInnerFlexBaseSizeForChild(child,
borderAndPadding, layoutType); |
| 1232 LayoutUnit childMinMaxAppliedMainAxisExtent = adjustChildSizeForMinAndMax(ch
ild, childInnerFlexBaseSize); | 1243 LayoutUnit childMinMaxAppliedMainAxisExtent = adjustChildSizeForMinAndMax(ch
ild, childInnerFlexBaseSize); |
| 1233 LayoutUnit margin = isHorizontalFlow() ? child.marginWidth() : child.marginH
eight(); | 1244 LayoutUnit margin = isHorizontalFlow() ? child.marginWidth() : child.marginH
eight(); |
| 1234 return FlexItem(&child, childInnerFlexBaseSize, childMinMaxAppliedMainAxisEx
tent, borderAndPadding, margin); | 1245 return FlexItem(&child, childInnerFlexBaseSize, childMinMaxAppliedMainAxisEx
tent, borderAndPadding, margin); |
| 1235 } | 1246 } |
| 1236 | 1247 |
| 1237 bool LayoutFlexibleBox::computeNextFlexLine(OrderedFlexItemList& orderedChildren
, LayoutUnit& sumFlexBaseSize, double& totalFlexGrow, double& totalFlexShrink, d
ouble& totalWeightedFlexShrink, LayoutUnit& sumHypotheticalMainSize, bool relayo
utChildren, LayoutObject* childToExclude) | 1248 bool LayoutFlexibleBox::computeNextFlexLine(OrderedFlexItemList& orderedChildren
, LayoutUnit& sumFlexBaseSize, double& totalFlexGrow, double& totalFlexShrink, d
ouble& totalWeightedFlexShrink, LayoutUnit& sumHypotheticalMainSize, bool relayo
utChildren, LayoutObject* childToExclude) |
| (...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1612 return child.styleRef().overflowY(); | 1623 return child.styleRef().overflowY(); |
| 1613 } | 1624 } |
| 1614 | 1625 |
| 1615 EOverflow LayoutFlexibleBox::crossAxisOverflowForChild(const LayoutBox& child) c
onst | 1626 EOverflow LayoutFlexibleBox::crossAxisOverflowForChild(const LayoutBox& child) c
onst |
| 1616 { | 1627 { |
| 1617 if (isHorizontalFlow()) | 1628 if (isHorizontalFlow()) |
| 1618 return child.styleRef().overflowY(); | 1629 return child.styleRef().overflowY(); |
| 1619 return child.styleRef().overflowX(); | 1630 return child.styleRef().overflowX(); |
| 1620 } | 1631 } |
| 1621 | 1632 |
| 1633 DISABLE_CFI_PERF |
| 1622 void LayoutFlexibleBox::layoutAndPlaceChildren(LayoutUnit& crossAxisOffset, cons
t OrderedFlexItemList& children, LayoutUnit availableFreeSpace, bool relayoutChi
ldren, SubtreeLayoutScope& layoutScope, Vector<LineContext>& lineContexts) | 1634 void LayoutFlexibleBox::layoutAndPlaceChildren(LayoutUnit& crossAxisOffset, cons
t OrderedFlexItemList& children, LayoutUnit availableFreeSpace, bool relayoutChi
ldren, SubtreeLayoutScope& layoutScope, Vector<LineContext>& lineContexts) |
| 1623 { | 1635 { |
| 1624 ContentPosition position = styleRef().resolvedJustifyContentPosition(content
AlignmentNormalBehavior()); | 1636 ContentPosition position = styleRef().resolvedJustifyContentPosition(content
AlignmentNormalBehavior()); |
| 1625 ContentDistributionType distribution = styleRef().resolvedJustifyContentDist
ribution(contentAlignmentNormalBehavior()); | 1637 ContentDistributionType distribution = styleRef().resolvedJustifyContentDist
ribution(contentAlignmentNormalBehavior()); |
| 1626 | 1638 |
| 1627 size_t numberOfChildrenForJustifyContent = numberOfInFlowPositionedChildren(
children); | 1639 size_t numberOfChildrenForJustifyContent = numberOfInFlowPositionedChildren(
children); |
| 1628 LayoutUnit autoMarginOffset = autoMarginOffsetInMainAxis(children, available
FreeSpace); | 1640 LayoutUnit autoMarginOffset = autoMarginOffsetInMainAxis(children, available
FreeSpace); |
| 1629 LayoutUnit mainAxisOffset = flowAwareBorderStart() + flowAwarePaddingStart()
; | 1641 LayoutUnit mainAxisOffset = flowAwareBorderStart() + flowAwarePaddingStart()
; |
| 1630 mainAxisOffset += initialJustifyContentOffset(availableFreeSpace, position,
distribution, numberOfChildrenForJustifyContent); | 1642 mainAxisOffset += initialJustifyContentOffset(availableFreeSpace, position,
distribution, numberOfChildrenForJustifyContent); |
| 1631 if (style()->flexDirection() == FlowRowReverse && shouldPlaceBlockDirectionS
crollbarOnLogicalLeft()) | 1643 if (style()->flexDirection() == FlowRowReverse && shouldPlaceBlockDirectionS
crollbarOnLogicalLeft()) |
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1941 DCHECK(child); | 1953 DCHECK(child); |
| 1942 LayoutUnit lineCrossAxisExtent = lineContexts[lineNumber].crossAxisE
xtent; | 1954 LayoutUnit lineCrossAxisExtent = lineContexts[lineNumber].crossAxisE
xtent; |
| 1943 LayoutUnit originalOffset = lineContexts[lineNumber].crossAxisOffset
- crossAxisStartEdge; | 1955 LayoutUnit originalOffset = lineContexts[lineNumber].crossAxisOffset
- crossAxisStartEdge; |
| 1944 LayoutUnit newOffset = contentExtent - originalOffset - lineCrossAxi
sExtent; | 1956 LayoutUnit newOffset = contentExtent - originalOffset - lineCrossAxi
sExtent; |
| 1945 adjustAlignmentForChild(*child, newOffset - originalOffset); | 1957 adjustAlignmentForChild(*child, newOffset - originalOffset); |
| 1946 } | 1958 } |
| 1947 } | 1959 } |
| 1948 } | 1960 } |
| 1949 | 1961 |
| 1950 } // namespace blink | 1962 } // namespace blink |
| OLD | NEW |