Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1430)

Unified Diff: Source/core/rendering/RenderGrid.h

Issue 148293008: [CSS Grid Layout] Add support to place items using named grid lines (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Added some more test cases for special grid area names Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/core/rendering/RenderGrid.h
diff --git a/Source/core/rendering/RenderGrid.h b/Source/core/rendering/RenderGrid.h
index b893585acb42ee9cb809edc90d27192e734927c3..ae88f4fc4df044dbd231f8b99f3d48aa4f929fb4 100644
--- a/Source/core/rendering/RenderGrid.h
+++ b/Source/core/rendering/RenderGrid.h
@@ -35,10 +35,7 @@ struct GridCoordinate;
struct GridSpan;
class GridTrack;
-enum GridTrackSizingDirection {
- ForColumns,
- ForRows
-};
+typedef HashMap<String, Vector<size_t> > NamedGridLinesMap;
class RenderGrid FINAL : public RenderBlock {
public:
@@ -124,6 +121,7 @@ private:
GridSpan resolveGridPositionsFromAutoPlacementPosition(const RenderBox*, GridTrackSizingDirection, size_t) const;
PassOwnPtr<GridSpan> resolveGridPositionsFromStyle(const RenderBox*, GridTrackSizingDirection) const;
size_t resolveNamedGridLinePositionFromStyle(const GridPosition&, GridPositionSide) const;
+ size_t resolveExplicitPositionFromStyle(const GridPosition&, GridPositionSide) const;
size_t resolveGridPositionFromStyle(const GridPosition&, GridPositionSide) const;
PassOwnPtr<GridSpan> resolveGridPositionAgainstOppositePosition(size_t resolvedOppositePosition, const GridPosition&, GridPositionSide) const;
PassOwnPtr<GridSpan> resolveNamedGridLinePositionAgainstOppositePosition(size_t resolvedOppositePosition, const GridPosition&, GridPositionSide) const;
@@ -151,6 +149,9 @@ private:
return m_grid.size();
}
+ const NamedGridLinesMap& gridLinesForSide(GridPositionSide side) const { return (side == ColumnStartSide || side == ColumnEndSide) ? m_namedGridColumnLines : m_namedGridRowLines; }
+ void createGridLineNamesMapsForDirection(GridTrackSizingDirection);
+
typedef Vector<RenderBox*, 1> GridCell;
typedef Vector<Vector<GridCell> > GridRepresentation;
GridRepresentation m_grid;
@@ -161,6 +162,9 @@ private:
OrderIterator m_orderIterator;
Vector<RenderBox*> m_gridItemsOverflowingGridArea;
+ NamedGridLinesMap m_namedGridColumnLines;
+ NamedGridLinesMap m_namedGridRowLines;
+
friend class GridCoordinateSorter;
};

Powered by Google App Engine
This is Rietveld 408576698