| Index: third_party/WebKit/Source/core/style/GridResolvedPosition.h
|
| diff --git a/third_party/WebKit/Source/core/style/GridResolvedPosition.h b/third_party/WebKit/Source/core/style/GridResolvedPosition.h
|
| index 184d312ccdbe60f2a31f8dec2b3a2933f63f14c0..dc22b7504a4b1039cfdd33f81f599b467b21e23a 100644
|
| --- a/third_party/WebKit/Source/core/style/GridResolvedPosition.h
|
| +++ b/third_party/WebKit/Source/core/style/GridResolvedPosition.h
|
| @@ -14,61 +14,46 @@ struct GridSpan;
|
| class LayoutBox;
|
| class ComputedStyle;
|
|
|
| -enum GridPositionSide {
|
| - ColumnStartSide,
|
| - ColumnEndSide,
|
| - RowStartSide,
|
| - RowEndSide
|
| -};
|
| -
|
| enum GridTrackSizingDirection {
|
| ForColumns,
|
| ForRows
|
| };
|
|
|
| -// This class represents an index into one of the dimensions of the grid array.
|
| -// Wraps a size_t integer just for the purpose of knowing what we manipulate in the grid code.
|
| -class GridResolvedPosition {
|
| - DISALLOW_NEW();
|
| +class GridUnresolvedSpan {
|
| public:
|
| - static GridResolvedPosition adjustGridPositionForAfterEndSide(size_t resolvedPosition)
|
| + GridUnresolvedSpan(GridPosition initialPosition, GridPositionSide initialPositionSide, GridPosition finalPosition, GridPositionSide finalPositionSide)
|
| + : m_initialPosition(initialPosition)
|
| + , m_finalPosition(finalPosition)
|
| + , m_initialPositionSide(initialPositionSide)
|
| + , m_finalPositionSide(finalPositionSide)
|
| {
|
| - return resolvedPosition ? GridResolvedPosition(resolvedPosition - 1) : GridResolvedPosition(0);
|
| }
|
|
|
| - static GridResolvedPosition adjustGridPositionForSide(size_t resolvedPosition, GridPositionSide side)
|
| - {
|
| - // An item finishing on the N-th line belongs to the N-1-th cell.
|
| - if (side == ColumnEndSide || side == RowEndSide)
|
| - return adjustGridPositionForAfterEndSide(resolvedPosition);
|
| + const GridPosition& initialPosition() const { return m_initialPosition; }
|
| + const GridPosition& finalPosition() const { return m_finalPosition; }
|
| + GridPositionSide initialPositionSide() const { return m_initialPositionSide; }
|
| + GridPositionSide finalPositionSide() const { return m_finalPositionSide; }
|
|
|
| - return GridResolvedPosition(resolvedPosition);
|
| - }
|
| + bool requiresAutoPlacement() const;
|
| + GridUnresolvedSpan& adjustGridPositionsFromStyle(const ComputedStyle& gridContainerStyle);
|
|
|
| - static bool isValidNamedLineOrArea(const String& lineName, const ComputedStyle&, GridPositionSide);
|
| - static GridPositionSide initialPositionSide(GridTrackSizingDirection);
|
| - static GridPositionSide finalPositionSide(GridTrackSizingDirection);
|
| - static void initialAndFinalPositionsFromStyle(const ComputedStyle&, const LayoutBox&, GridTrackSizingDirection, GridPosition &initialPosition, GridPosition &finalPosition);
|
| - static GridSpan resolveGridPositionsFromAutoPlacementPosition(const ComputedStyle&, const LayoutBox&, GridTrackSizingDirection, const GridResolvedPosition&);
|
| - static PassOwnPtr<GridSpan> resolveGridPositionsFromStyle(const ComputedStyle&, const LayoutBox&, GridTrackSizingDirection);
|
| - static GridResolvedPosition resolveNamedGridLinePositionFromStyle(const ComputedStyle&, const GridPosition&, GridPositionSide);
|
| - static GridResolvedPosition resolveGridPositionFromStyle(const ComputedStyle&, const GridPosition&, GridPositionSide);
|
| - static PassOwnPtr<GridSpan> resolveGridPositionAgainstOppositePosition(const ComputedStyle&, const GridResolvedPosition& resolvedOppositePosition, const GridPosition&, GridPositionSide);
|
| - static PassOwnPtr<GridSpan> resolveNamedGridLinePositionAgainstOppositePosition(const ComputedStyle&, const GridResolvedPosition& resolvedOppositePosition, const GridPosition&, GridPositionSide);
|
| +private:
|
| + GridPosition m_initialPosition;
|
| + GridPosition m_finalPosition;
|
| + GridPositionSide m_initialPositionSide;
|
| + GridPositionSide m_finalPositionSide;
|
| +};
|
|
|
| +// This class represents an index into one of the dimensions of the grid array.
|
| +// Wraps a size_t integer just for the purpose of knowing what we manipulate in the grid code.
|
| +class GridResolvedPosition {
|
| + DISALLOW_NEW();
|
| +public:
|
| GridResolvedPosition(size_t position)
|
| : m_integerPosition(position)
|
| {
|
| }
|
|
|
| - GridResolvedPosition(const GridPosition& position, GridPositionSide side)
|
| - {
|
| - ASSERT(position.integerPosition());
|
| - size_t integerPosition = position.integerPosition() - 1;
|
| -
|
| - m_integerPosition = adjustGridPositionForSide(integerPosition, side).toInt();
|
| - }
|
| -
|
| GridResolvedPosition& operator*()
|
| {
|
| return *this;
|
| @@ -120,13 +105,14 @@ public:
|
| return GridResolvedPosition(m_integerPosition + 1);
|
| }
|
|
|
| + static bool isValidNamedLineOrArea(const String& lineName, const ComputedStyle&, GridPositionSide);
|
| + static GridSpan resolveGridPositionsFromAutoPlacementPosition(const ComputedStyle&, const LayoutBox&, GridTrackSizingDirection, const GridResolvedPosition&);
|
| + static GridUnresolvedSpan unresolvedSpanFromStyle(const ComputedStyle&, const LayoutBox&, GridTrackSizingDirection);
|
| + static GridSpan resolveGridPositionsFromStyle(const GridUnresolvedSpan&, const ComputedStyle&);
|
| static size_t explicitGridColumnCount(const ComputedStyle&);
|
| static size_t explicitGridRowCount(const ComputedStyle&);
|
|
|
| private:
|
| -
|
| - static size_t explicitGridSizeForSide(const ComputedStyle&, GridPositionSide);
|
| -
|
| size_t m_integerPosition;
|
| };
|
|
|
|
|