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 967 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
978 } | 978 } |
979 | 979 |
980 if (inflexibleItems.contains(child)) { | 980 if (inflexibleItems.contains(child)) { |
981 childSizes.append(inflexibleItems.get(child)); | 981 childSizes.append(inflexibleItems.get(child)); |
982 } else { | 982 } else { |
983 LayoutUnit childInnerFlexBaseSize = computeInnerFlexBaseSizeForChild
(*child); | 983 LayoutUnit childInnerFlexBaseSize = computeInnerFlexBaseSizeForChild
(*child); |
984 LayoutUnit childSize = childInnerFlexBaseSize; | 984 LayoutUnit childSize = childInnerFlexBaseSize; |
985 double extraSpace = 0; | 985 double extraSpace = 0; |
986 bool childShrunk = false; | 986 bool childShrunk = false; |
987 if (availableFreeSpace > 0 && totalFlexGrow > 0 && flexSign == Posit
iveFlexibility && std::isfinite(totalFlexGrow)) { | 987 if (availableFreeSpace > 0 && totalFlexGrow > 0 && flexSign == Posit
iveFlexibility && std::isfinite(totalFlexGrow)) { |
988 extraSpace = availableFreeSpace * child->style()->flexGrow() / t
otalFlexGrow; | 988 if (totalFlexGrow < 1) |
| 989 extraSpace = availableFreeSpace * child->style()->flexGrow()
; |
| 990 else |
| 991 extraSpace = availableFreeSpace * child->style()->flexGrow()
/ totalFlexGrow; |
989 } else if (availableFreeSpace < 0 && totalWeightedFlexShrink > 0 &&
flexSign == NegativeFlexibility && std::isfinite(totalWeightedFlexShrink) && chi
ld->style()->flexShrink()) { | 992 } else if (availableFreeSpace < 0 && totalWeightedFlexShrink > 0 &&
flexSign == NegativeFlexibility && std::isfinite(totalWeightedFlexShrink) && chi
ld->style()->flexShrink()) { |
990 extraSpace = availableFreeSpace * child->style()->flexShrink() *
childInnerFlexBaseSize / totalWeightedFlexShrink; | 993 extraSpace = availableFreeSpace * child->style()->flexShrink() *
childInnerFlexBaseSize / totalWeightedFlexShrink; |
991 childShrunk = true; | 994 childShrunk = true; |
992 } | 995 } |
993 if (std::isfinite(extraSpace)) | 996 if (std::isfinite(extraSpace)) |
994 childSize += LayoutUnit::fromFloatRound(extraSpace); | 997 childSize += LayoutUnit::fromFloatRound(extraSpace); |
995 | 998 |
996 LayoutUnit adjustedChildSize = adjustChildSizeForMinAndMax(*child, c
hildSize, childShrunk); | 999 LayoutUnit adjustedChildSize = adjustChildSizeForMinAndMax(*child, c
hildSize, childShrunk); |
997 ASSERT(adjustedChildSize >= 0); | 1000 ASSERT(adjustedChildSize >= 0); |
998 childSizes.append(adjustedChildSize); | 1001 childSizes.append(adjustedChildSize); |
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1496 ASSERT(child); | 1499 ASSERT(child); |
1497 LayoutUnit lineCrossAxisExtent = lineContexts[lineNumber].crossAxisE
xtent; | 1500 LayoutUnit lineCrossAxisExtent = lineContexts[lineNumber].crossAxisE
xtent; |
1498 LayoutUnit originalOffset = lineContexts[lineNumber].crossAxisOffset
- crossAxisStartEdge; | 1501 LayoutUnit originalOffset = lineContexts[lineNumber].crossAxisOffset
- crossAxisStartEdge; |
1499 LayoutUnit newOffset = contentExtent - originalOffset - lineCrossAxi
sExtent; | 1502 LayoutUnit newOffset = contentExtent - originalOffset - lineCrossAxi
sExtent; |
1500 adjustAlignmentForChild(*child, newOffset - originalOffset); | 1503 adjustAlignmentForChild(*child, newOffset - originalOffset); |
1501 } | 1504 } |
1502 } | 1505 } |
1503 } | 1506 } |
1504 | 1507 |
1505 } | 1508 } |
OLD | NEW |