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..c878d8b5bf6ad4a094e8f73e14cf2ff535cb3134 100644 |
--- a/third_party/WebKit/Source/core/style/GridResolvedPosition.h |
+++ b/third_party/WebKit/Source/core/style/GridResolvedPosition.h |
@@ -14,60 +14,47 @@ 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(const GridPosition&, GridPositionSide); |
GridResolvedPosition& operator*() |
{ |
@@ -120,11 +107,17 @@ 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 void initialAndFinalPositionsFromStyle(const ComputedStyle&, const LayoutBox&, GridTrackSizingDirection, GridPosition &initialPosition, GridPosition &finalPosition); |
+ static PassOwnPtr<GridSpan> resolveNamedGridLinePositionAgainstOppositePosition(const ComputedStyle&, const GridResolvedPosition& resolvedOppositePosition, const GridPosition&, GridPositionSide); |
Manuel Rego
2015/11/10 09:08:03
Nit: Probably this should be plural ("Positions" i
svillar
2015/11/10 10:56:37
Actually that method should not be there, we must
|
static size_t explicitGridSizeForSide(const ComputedStyle&, GridPositionSide); |
size_t m_integerPosition; |