Commit b72a2612 authored by rego's avatar rego Committed by Commit bot

[css-grid] Avoid computing available space if gap is not a percentage

This patch modifies LayoutGrid::gridGapForDirection() because
we only need to calculate the available space if the grid gap
is a percentage. Otherwise we can skip this operation.

BUG=615248

Review-Url: https://codereview.chromium.org/2325573003
Cr-Commit-Position: refs/heads/master@{#417568}
parent 1a379b6e
...@@ -532,11 +532,12 @@ bool LayoutGrid::isEmptyAutoRepeatTrack(GridTrackSizingDirection direction, size ...@@ -532,11 +532,12 @@ bool LayoutGrid::isEmptyAutoRepeatTrack(GridTrackSizingDirection direction, size
LayoutUnit LayoutGrid::gridGapForDirection(GridTrackSizingDirection direction, SizingOperation sizingOperation) const LayoutUnit LayoutGrid::gridGapForDirection(GridTrackSizingDirection direction, SizingOperation sizingOperation) const
{ {
LayoutUnit availableSize; LayoutUnit availableSize;
if (sizingOperation == TrackSizing) const Length& gap = direction == ForColumns ? styleRef().gridColumnGap() : styleRef().gridRowGap();
if (sizingOperation == TrackSizing && gap.isPercent())
availableSize = direction == ForColumns ? availableLogicalWidth() : availableLogicalHeightForPercentageComputation(); availableSize = direction == ForColumns ? availableLogicalWidth() : availableLogicalHeightForPercentageComputation();
// TODO(rego): Maybe we could cache the computed percentage as a performance improvement. // TODO(rego): Maybe we could cache the computed percentage as a performance improvement.
return valueForLength(direction == ForColumns ? styleRef().gridColumnGap() : styleRef().gridRowGap(), availableSize); return valueForLength(gap, availableSize);
} }
LayoutUnit LayoutGrid::guttersSize(GridTrackSizingDirection direction, size_t startLine, size_t span, SizingOperation sizingOperation) const LayoutUnit LayoutGrid::guttersSize(GridTrackSizingDirection direction, size_t startLine, size_t span, SizingOperation sizingOperation) const
......
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