Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/LayoutGrid.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/LayoutGrid.cpp b/third_party/WebKit/Source/core/layout/LayoutGrid.cpp |
| index 084207f40c4254a3f0a46f4ab8d245d1333e2c31..c8f170960259bed7f900b0814f29193d01f02f17 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutGrid.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutGrid.cpp |
| @@ -138,8 +138,8 @@ public: |
| bool isValid() { return positionOffset >= 0 && distributionOffset >= 0; } |
| - LayoutUnit positionOffset = -1; |
| - LayoutUnit distributionOffset = -1; |
| + LayoutUnit positionOffset = LayoutUnit(-1); |
| + LayoutUnit distributionOffset = LayoutUnit(-1); |
| }; |
| enum TrackSizeRestriction { |
| @@ -351,7 +351,7 @@ void LayoutGrid::layoutBlock(bool relayoutChildren) |
| LayoutSize previousSize = size(); |
| updateLogicalWidth(); |
| - bool logicalHeightWasIndefinite = computeContentLogicalHeight(MainOrPreferredSize, style()->logicalHeight(), -1) == -1; |
| + bool logicalHeightWasIndefinite = computeContentLogicalHeight(MainOrPreferredSize, style()->logicalHeight(), LayoutUnit(-1)) == -1; |
|
eae
2016/01/30 23:58:24
Shouldn't this also be a LayoutUnit (to the right
|
| TextAutosizer::LayoutScope textAutosizerLayoutScope(this); |
| @@ -407,10 +407,10 @@ LayoutUnit LayoutGrid::guttersSize(GridTrackSizingDirection direction, size_t sp |
| ASSERT(span >= 1); |
| if (span == 1) |
| - return 0; |
| + return LayoutUnit(); |
| const Length& trackGap = direction == ForColumns ? styleRef().gridColumnGap() : styleRef().gridRowGap(); |
| - return valueForLength(trackGap, 0) * (span - 1); |
| + return valueForLength(trackGap, LayoutUnit(0)) * (span - 1); |
|
eae
2016/01/30 23:58:24
LayoutUnit()
leviw_travelin_and_unemployed
2016/01/31 00:33:13
D'oh :p
|
| } |
| void LayoutGrid::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, LayoutUnit& maxLogicalWidth) const |
| @@ -418,14 +418,14 @@ void LayoutGrid::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Layo |
| const_cast<LayoutGrid*>(this)->placeItemsOnGrid(); |
| GridSizingData sizingData(gridColumnCount(), gridRowCount()); |
| - sizingData.freeSpaceForDirection(ForColumns) = 0; |
| + sizingData.freeSpaceForDirection(ForColumns) = LayoutUnit(); |
| const_cast<LayoutGrid*>(this)->computeUsedBreadthOfGridTracks(ForColumns, sizingData, minLogicalWidth, maxLogicalWidth, AvailableSpaceIndefinite); |
| LayoutUnit totalGuttersSize = guttersSize(ForColumns, sizingData.columnTracks.size()); |
| minLogicalWidth += totalGuttersSize; |
| maxLogicalWidth += totalGuttersSize; |
| - LayoutUnit scrollbarWidth = intrinsicScrollbarLogicalWidth(); |
| + LayoutUnit scrollbarWidth = LayoutUnit(intrinsicScrollbarLogicalWidth()); |
| minLogicalWidth += scrollbarWidth; |
| maxLogicalWidth += scrollbarWidth; |
| } |
| @@ -433,7 +433,7 @@ void LayoutGrid::computeIntrinsicLogicalWidths(LayoutUnit& minLogicalWidth, Layo |
| void LayoutGrid::computeIntrinsicLogicalHeight(GridSizingData& sizingData) |
| { |
| ASSERT(tracksAreWiderThanMinTrackBreadth(ForColumns, sizingData)); |
| - sizingData.freeSpaceForDirection(ForRows) = 0; |
| + sizingData.freeSpaceForDirection(ForRows) = LayoutUnit(0); |
|
eae
2016/01/30 23:58:24
LayoutUnit()
|
| computeUsedBreadthOfGridTracks(ForRows, sizingData, m_minContentHeight, m_maxContentHeight, AvailableSpaceIndefinite); |
| LayoutUnit totalGuttersSize = guttersSize(ForRows, gridRowCount()); |
| @@ -453,7 +453,7 @@ LayoutUnit LayoutGrid::computeIntrinsicLogicalContentHeightUsing(const Length& l |
| if (logicalHeightLength.isFitContent()) { |
| if (m_minContentHeight == -1 || m_maxContentHeight == -1) |
| - return -1; |
| + return LayoutUnit(-1); |
| LayoutUnit fillAvailableExtent = containingBlock()->availableLogicalHeight(ExcludeMarginBorderPadding); |
| return std::min<LayoutUnit>(m_maxContentHeight, std::max(m_minContentHeight, fillAvailableExtent)); |
| } |
| @@ -461,7 +461,7 @@ LayoutUnit LayoutGrid::computeIntrinsicLogicalContentHeightUsing(const Length& l |
| if (logicalHeightLength.isFillAvailable()) |
| return containingBlock()->availableLogicalHeight(ExcludeMarginBorderPadding) - borderAndPadding; |
| ASSERT_NOT_REACHED(); |
| - return 0; |
| + return LayoutUnit(); |
| } |
| static inline double normalizedFlexFraction(const GridTrack& track, double flexFactor) |
| @@ -499,7 +499,7 @@ void LayoutGrid::computeUsedBreadthOfGridTracks(GridTrackSizingDirection directi |
| if (!sizingData.contentSizedTracksIndex.isEmpty()) |
| resolveContentBasedTrackSizingFunctions(direction, sizingData); |
| - baseSizesWithoutMaximization = growthLimitsWithoutMaximization = 0; |
| + baseSizesWithoutMaximization = growthLimitsWithoutMaximization = LayoutUnit(); |
| for (const auto& track: tracks) { |
| ASSERT(!track.infiniteGrowthPotential()); |
| @@ -573,14 +573,14 @@ void LayoutGrid::computeUsedBreadthOfGridTracks(GridTrackSizingDirection directi |
| LayoutUnit LayoutGrid::computeUsedBreadthOfMinLength(const GridLength& gridLength, LayoutUnit maxSize) const |
| { |
| if (gridLength.isFlex()) |
| - return 0; |
| + return LayoutUnit(); |
| const Length& trackLength = gridLength.length(); |
| if (trackLength.isSpecified()) |
| return valueForLength(trackLength, maxSize); |
| ASSERT(trackLength.isMinContent() || trackLength.isAuto() || trackLength.isMaxContent()); |
| - return 0; |
| + return LayoutUnit(); |
| } |
| LayoutUnit LayoutGrid::computeUsedBreadthOfMaxLength(const GridLength& gridLength, LayoutUnit usedBreadth, LayoutUnit maxSize) const |
| @@ -593,7 +593,7 @@ LayoutUnit LayoutGrid::computeUsedBreadthOfMaxLength(const GridLength& gridLengt |
| return valueForLength(trackLength, maxSize); |
| ASSERT(trackLength.isMinContent() || trackLength.isAuto() || trackLength.isMaxContent()); |
| - return infinity; |
| + return LayoutUnit(infinity); |
| } |
| double LayoutGrid::computeFlexFactorUnitSize(const Vector<GridTrack>& tracks, GridTrackSizingDirection direction, double flexFactorSum, LayoutUnit& leftOverSpace, const Vector<size_t, 8>& flexibleTracksIndexes, PassOwnPtr<TrackIndexSet> tracksToTreatAsInflexible) const |
| @@ -694,7 +694,7 @@ LayoutUnit LayoutGrid::logicalHeightForChild(LayoutBox& child, Vector<GridTrack> |
| // If |child| has a relative logical height, we shouldn't let it override its intrinsic height, which is |
| // what we are interested in here. Thus we need to set the override logical height to -1 (no possible resolution). |
| if (child.hasRelativeLogicalHeight()) |
| - child.setOverrideContainingBlockContentLogicalHeight(-1); |
| + child.setOverrideContainingBlockContentLogicalHeight(LayoutUnit(-1)); |
| child.layoutIfNeeded(); |
| // If the child was stretched we should use its intrinsic height. |
| return (hasOverrideHeight ? childIntrinsicHeight(child) : child.logicalHeight()) + child.marginLogicalHeight(); |
| @@ -724,13 +724,13 @@ LayoutUnit LayoutGrid::minContentForChild(LayoutBox& child, GridTrackSizingDirec |
| bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizontalWritingMode(); |
| // FIXME: Properly support orthogonal writing mode. |
| if (hasOrthogonalWritingMode) |
| - return 0; |
| + return LayoutUnit(); |
| if (direction == ForColumns) { |
| // If |child| has a relative logical width, we shouldn't let it override its intrinsic width, which is |
| // what we are interested in here. Thus we need to set the override logical width to -1 (no possible resolution). |
| if (child.hasRelativeLogicalWidth()) |
| - child.setOverrideContainingBlockContentLogicalWidth(-1); |
| + child.setOverrideContainingBlockContentLogicalWidth(LayoutUnit(-1)); |
| // FIXME: It's unclear if we should return the intrinsic width or the preferred width. |
| // See http://lists.w3.org/Archives/Public/www-style/2013Jan/0245.html |
| @@ -751,7 +751,7 @@ LayoutUnit LayoutGrid::maxContentForChild(LayoutBox& child, GridTrackSizingDirec |
| // If |child| has a relative logical width, we shouldn't let it override its intrinsic width, which is |
| // what we are interested in here. Thus we need to set the override logical width to -1 (no possible resolution). |
| if (child.hasRelativeLogicalWidth()) |
| - child.setOverrideContainingBlockContentLogicalWidth(-1); |
| + child.setOverrideContainingBlockContentLogicalWidth(LayoutUnit(-1)); |
| // FIXME: It's unclear if we should return the intrinsic width or the preferred width. |
| // See http://lists.w3.org/Archives/Public/www-style/2013Jan/0245.html |
| @@ -969,11 +969,11 @@ LayoutUnit LayoutGrid::currentItemSizeForTrackSizeComputationPhase(TrackSizeComp |
| return maxContentForChild(gridItem, direction, columnTracks); |
| case MaximizeTracks: |
| ASSERT_NOT_REACHED(); |
| - return 0; |
| + return LayoutUnit(); |
| } |
| ASSERT_NOT_REACHED(); |
| - return 0; |
| + return LayoutUnit(); |
| } |
| template <TrackSizeComputationPhase phase> |
| @@ -1388,7 +1388,7 @@ void LayoutGrid::applyStretchAlignmentToTracksIfNeeded(GridTrackSizingDirection |
| LayoutUnit baseSize = track->baseSize() + sizeToIncrease; |
| track->setBaseSize(baseSize); |
| } |
| - availableSpace = 0; |
| + availableSpace = LayoutUnit(); |
| } |
| void LayoutGrid::layoutGridItems(GridSizingData& sizingData) |
| @@ -1631,7 +1631,7 @@ static LayoutUnit computeOverflowAlignmentOffset(OverflowAlignment overflow, Lay |
| } |
| ASSERT_NOT_REACHED(); |
| - return 0; |
| + return LayoutUnit(); |
| } |
| static inline LayoutUnit constrainedChildIntrinsicContentLogicalHeight(const LayoutBox& child) |
| @@ -1680,7 +1680,7 @@ LayoutUnit LayoutGrid::marginLogicalHeightForChild(const LayoutBox& child) const |
| LayoutUnit LayoutGrid::computeMarginLogicalHeightForChild(const LayoutBox& child) const |
| { |
| if (!child.styleRef().hasMargin()) |
| - return 0; |
| + return LayoutUnit(); |
| LayoutUnit marginBefore; |
| LayoutUnit marginAfter; |
| @@ -1715,7 +1715,7 @@ void LayoutGrid::applyStretchAlignmentToChildIfNeeded(LayoutBox& child) |
| // TODO (lajava): grid track sizing and positioning do not support orthogonal modes yet. |
| if (child.isHorizontalWritingMode() == isHorizontalMode) { |
| LayoutUnit stretchedLogicalHeight = availableAlignmentSpaceForChildBeforeStretching(child.overrideContainingBlockContentLogicalHeight(), child); |
| - LayoutUnit desiredLogicalHeight = child.constrainLogicalHeightByMinMax(stretchedLogicalHeight, -1); |
| + LayoutUnit desiredLogicalHeight = child.constrainLogicalHeightByMinMax(stretchedLogicalHeight, LayoutUnit(-1)); |
| child.setOverrideLogicalContentHeight(desiredLogicalHeight - child.borderAndPaddingLogicalHeight()); |
| if (desiredLogicalHeight != child.logicalHeight()) { |
| // TODO (lajava): Can avoid laying out here in some cases. See https://webkit.org/b/87905. |
| @@ -1911,7 +1911,7 @@ LayoutUnit LayoutGrid::columnAxisOffsetForChild(const LayoutBox& child) const |
| } |
| ASSERT_NOT_REACHED(); |
| - return 0; |
| + return LayoutUnit(); |
| } |
| LayoutUnit LayoutGrid::rowAxisOffsetForChild(const LayoutBox& child) const |
| @@ -1943,7 +1943,7 @@ LayoutUnit LayoutGrid::rowAxisOffsetForChild(const LayoutBox& child) const |
| } |
| ASSERT_NOT_REACHED(); |
| - return 0; |
| + return LayoutUnit(); |
| } |
| ContentPosition static resolveContentDistributionFallback(ContentDistributionType distribution) |
| @@ -1989,7 +1989,7 @@ static ContentAlignmentData contentDistributionOffset(const LayoutUnit& availabl |
| case ContentDistributionSpaceBetween: |
| if (numberOfGridTracks < 2) |
| return {}; |
| - return {0, availableFreeSpace / (numberOfGridTracks - 1)}; |
| + return {LayoutUnit(), availableFreeSpace / (numberOfGridTracks - 1)}; |
| case ContentDistributionSpaceAround: |
| if (numberOfGridTracks < 1) |
| return {}; |
| @@ -1999,7 +1999,7 @@ static ContentAlignmentData contentDistributionOffset(const LayoutUnit& availabl |
| distributionOffset = availableFreeSpace / (numberOfGridTracks + 1); |
| return {distributionOffset, distributionOffset}; |
| case ContentDistributionStretch: |
| - return {0, 0}; |
| + return {LayoutUnit(), LayoutUnit()}; |
| case ContentDistributionDefault: |
| return {}; |
| } |
| @@ -2021,42 +2021,42 @@ ContentAlignmentData LayoutGrid::computeContentPositionAndDistributionOffset(Gri |
| OverflowAlignment overflow = isRowAxis ? styleRef().justifyContentOverflowAlignment() : styleRef().alignContentOverflowAlignment(); |
| if (availableFreeSpace <= 0 && overflow == OverflowAlignmentSafe) |
| - return {0, 0}; |
| + return {LayoutUnit(), LayoutUnit()}; |
| switch (position) { |
| case ContentPositionLeft: |
| // The align-content's axis is always orthogonal to the inline-axis. |
| - return {0, 0}; |
| + return {LayoutUnit(), LayoutUnit()}; |
| case ContentPositionRight: |
| if (isRowAxis) |
| - return {availableFreeSpace, 0}; |
| + return {availableFreeSpace, LayoutUnit()}; |
| // The align-content's axis is always orthogonal to the inline-axis. |
| - return {0, 0}; |
| + return {LayoutUnit(), LayoutUnit()}; |
| case ContentPositionCenter: |
| - return {availableFreeSpace / 2, 0}; |
| + return {availableFreeSpace / 2, LayoutUnit()}; |
| case ContentPositionFlexEnd: // Only used in flex layout, for other layout, it's equivalent to 'End'. |
| case ContentPositionEnd: |
| if (isRowAxis) |
| - return {offsetToEndEdge(styleRef().isLeftToRightDirection(), availableFreeSpace), 0}; |
| - return {availableFreeSpace, 0}; |
| + return {offsetToEndEdge(styleRef().isLeftToRightDirection(), availableFreeSpace), LayoutUnit()}; |
| + return {availableFreeSpace, LayoutUnit()}; |
| case ContentPositionFlexStart: // Only used in flex layout, for other layout, it's equivalent to 'Start'. |
| case ContentPositionStart: |
| if (isRowAxis) |
| - return {offsetToStartEdge(styleRef().isLeftToRightDirection(), availableFreeSpace), 0}; |
| - return {0, 0}; |
| + return {offsetToStartEdge(styleRef().isLeftToRightDirection(), availableFreeSpace), LayoutUnit()}; |
| + return {LayoutUnit(), LayoutUnit()}; |
| case ContentPositionBaseline: |
| case ContentPositionLastBaseline: |
| // FIXME: These two require implementing Baseline Alignment. For now, we always 'start' align the child. |
| // crbug.com/234191 |
| if (isRowAxis) |
| - return {offsetToStartEdge(styleRef().isLeftToRightDirection(), availableFreeSpace), 0}; |
| - return {0, 0}; |
| + return {offsetToStartEdge(styleRef().isLeftToRightDirection(), availableFreeSpace), LayoutUnit()}; |
| + return {LayoutUnit(), LayoutUnit()}; |
| case ContentPositionAuto: |
| break; |
| } |
| ASSERT_NOT_REACHED(); |
| - return {0, 0}; |
| + return {LayoutUnit(), LayoutUnit()}; |
| } |
| LayoutPoint LayoutGrid::findChildLogicalPosition(const LayoutBox& child, GridSizingData& sizingData) const |