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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutGrid.h

Issue 2287113004: [css-grid] Implement fit-content track size (Closed)
Patch Set: Patch for landing Created 4 years, 3 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2011 Apple Inc. All rights reserved. 2 * Copyright (C) 2011 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 110
111 void styleDidChange(StyleDifference, const ComputedStyle*) override; 111 void styleDidChange(StyleDifference, const ComputedStyle*) override;
112 112
113 bool explicitGridDidResize(const ComputedStyle&) const; 113 bool explicitGridDidResize(const ComputedStyle&) const;
114 bool namedGridLinesDefinitionDidChange(const ComputedStyle&) const; 114 bool namedGridLinesDefinitionDidChange(const ComputedStyle&) const;
115 115
116 class GridIterator; 116 class GridIterator;
117 struct GridSizingData; 117 struct GridSizingData;
118 enum SizingOperation { TrackSizing, IntrinsicSizeComputation }; 118 enum SizingOperation { TrackSizing, IntrinsicSizeComputation };
119 void computeUsedBreadthOfGridTracks(GridTrackSizingDirection, GridSizingData &, LayoutUnit& baseSizesWithoutMaximization, LayoutUnit& growthLimitsWithoutMaxi mization) const; 119 void computeUsedBreadthOfGridTracks(GridTrackSizingDirection, GridSizingData &, LayoutUnit& baseSizesWithoutMaximization, LayoutUnit& growthLimitsWithoutMaxi mization) const;
120 LayoutUnit computeUsedBreadthOfMinLength(const GridLength&, LayoutUnit maxBr eadth) const; 120 LayoutUnit computeUsedBreadthOfMinLength(const GridTrackSize&, LayoutUnit ma xBreadth) const;
121 LayoutUnit computeUsedBreadthOfMaxLength(const GridLength&, LayoutUnit usedB readth, LayoutUnit maxBreadth) const; 121 LayoutUnit computeUsedBreadthOfMaxLength(const GridTrackSize&, LayoutUnit us edBreadth, LayoutUnit maxBreadth) const;
122 void resolveContentBasedTrackSizingFunctions(GridTrackSizingDirection, GridS izingData&) const; 122 void resolveContentBasedTrackSizingFunctions(GridTrackSizingDirection, GridS izingData&) const;
123 123
124 void ensureGridSize(size_t maximumRowSize, size_t maximumColumnSize); 124 void ensureGridSize(size_t maximumRowSize, size_t maximumColumnSize);
125 void insertItemIntoGrid(LayoutBox&, const GridArea&); 125 void insertItemIntoGrid(LayoutBox&, const GridArea&);
126 126
127 size_t computeAutoRepeatTracksCount(GridTrackSizingDirection, SizingOperatio n) const; 127 size_t computeAutoRepeatTracksCount(GridTrackSizingDirection, SizingOperatio n) const;
128 128
129 typedef ListHashSet<size_t> OrderedTrackIndexSet; 129 typedef ListHashSet<size_t> OrderedTrackIndexSet;
130 std::unique_ptr<OrderedTrackIndexSet> computeEmptyTracksForAutoRepeat(GridTr ackSizingDirection) const; 130 std::unique_ptr<OrderedTrackIndexSet> computeEmptyTracksForAutoRepeat(GridTr ackSizingDirection) const;
131 131
(...skipping 18 matching lines...) Expand all
150 void layoutGridItems(GridSizingData&); 150 void layoutGridItems(GridSizingData&);
151 void prepareChildForPositionedLayout(LayoutBox&); 151 void prepareChildForPositionedLayout(LayoutBox&);
152 void layoutPositionedObjects(bool relayoutChildren, PositionedLayoutBehavior = DefaultLayout); 152 void layoutPositionedObjects(bool relayoutChildren, PositionedLayoutBehavior = DefaultLayout);
153 void offsetAndBreadthForPositionedChild(const LayoutBox&, GridTrackSizingDir ection, LayoutUnit& offset, LayoutUnit& breadth); 153 void offsetAndBreadthForPositionedChild(const LayoutBox&, GridTrackSizingDir ection, LayoutUnit& offset, LayoutUnit& breadth);
154 void populateGridPositionsForDirection(GridSizingData&, GridTrackSizingDirec tion); 154 void populateGridPositionsForDirection(GridSizingData&, GridTrackSizingDirec tion);
155 155
156 typedef struct GridItemsSpanGroupRange GridItemsSpanGroupRange; 156 typedef struct GridItemsSpanGroupRange GridItemsSpanGroupRange;
157 LayoutUnit currentItemSizeForTrackSizeComputationPhase(TrackSizeComputationP hase, LayoutBox&, GridTrackSizingDirection, GridSizingData&) const; 157 LayoutUnit currentItemSizeForTrackSizeComputationPhase(TrackSizeComputationP hase, LayoutBox&, GridTrackSizingDirection, GridSizingData&) const;
158 void resolveContentBasedTrackSizingFunctionsForNonSpanningItems(GridTrackSiz ingDirection, const GridSpan&, LayoutBox& gridItem, GridTrack&, GridSizingData&) const; 158 void resolveContentBasedTrackSizingFunctionsForNonSpanningItems(GridTrackSiz ingDirection, const GridSpan&, LayoutBox& gridItem, GridTrack&, GridSizingData&) const;
159 template <TrackSizeComputationPhase> void resolveContentBasedTrackSizingFunc tionsForItems(GridTrackSizingDirection, GridSizingData&, const GridItemsSpanGrou pRange&) const; 159 template <TrackSizeComputationPhase> void resolveContentBasedTrackSizingFunc tionsForItems(GridTrackSizingDirection, GridSizingData&, const GridItemsSpanGrou pRange&) const;
160 template <TrackSizeComputationPhase> void distributeSpaceToTracks(Vector<Gri dTrack*>&, const Vector<GridTrack*>* growBeyondGrowthLimitsTracks, GridSizingDat a&, LayoutUnit& availableLogicalSpace) const; 160 template <TrackSizeComputationPhase> void distributeSpaceToTracks(Vector<Gri dTrack*>&, Vector<GridTrack*>* growBeyondGrowthLimitsTracks, GridSizingData&, La youtUnit& availableLogicalSpace) const;
161 161
162 typedef HashSet<size_t, DefaultHash<size_t>::Hash, WTF::UnsignedWithZeroKeyH ashTraits<size_t>> TrackIndexSet; 162 typedef HashSet<size_t, DefaultHash<size_t>::Hash, WTF::UnsignedWithZeroKeyH ashTraits<size_t>> TrackIndexSet;
163 double computeFlexFactorUnitSize(const Vector<GridTrack>&, GridTrackSizingDi rection, double flexFactorSum, LayoutUnit& leftOverSpace, const Vector<size_t, 8 >& flexibleTracksIndexes, std::unique_ptr<TrackIndexSet> tracksToTreatAsInflexib le = nullptr) const; 163 double computeFlexFactorUnitSize(const Vector<GridTrack>&, GridTrackSizingDi rection, double flexFactorSum, LayoutUnit& leftOverSpace, const Vector<size_t, 8 >& flexibleTracksIndexes, std::unique_ptr<TrackIndexSet> tracksToTreatAsInflexib le = nullptr) const;
164 double findFlexFactorUnitSize(const Vector<GridTrack>&, const GridSpan&, Gri dTrackSizingDirection, LayoutUnit leftOverSpace) const; 164 double findFlexFactorUnitSize(const Vector<GridTrack>&, const GridSpan&, Gri dTrackSizingDirection, LayoutUnit leftOverSpace) const;
165 165
166 const GridTrackSize& rawGridTrackSize(GridTrackSizingDirection, size_t) cons t; 166 const GridTrackSize& rawGridTrackSize(GridTrackSizingDirection, size_t) cons t;
167 GridTrackSize gridTrackSize(GridTrackSizingDirection, size_t, SizingOperatio n = TrackSizing) const; 167 GridTrackSize gridTrackSize(GridTrackSizingDirection, size_t, SizingOperatio n = TrackSizing) const;
168 168
169 bool updateOverrideContainingBlockContentSizeForChild(LayoutBox&, GridTrackS izingDirection, GridSizingData&) const; 169 bool updateOverrideContainingBlockContentSizeForChild(LayoutBox&, GridTrackS izingDirection, GridSizingData&) const;
170 LayoutUnit logicalHeightForChild(LayoutBox&, GridSizingData&) const; 170 LayoutUnit logicalHeightForChild(LayoutBox&, GridSizingData&) const;
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
244 244
245 std::unique_ptr<OrderedTrackIndexSet> m_autoRepeatEmptyColumns { nullptr }; 245 std::unique_ptr<OrderedTrackIndexSet> m_autoRepeatEmptyColumns { nullptr };
246 std::unique_ptr<OrderedTrackIndexSet> m_autoRepeatEmptyRows { nullptr }; 246 std::unique_ptr<OrderedTrackIndexSet> m_autoRepeatEmptyRows { nullptr };
247 }; 247 };
248 248
249 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutGrid, isLayoutGrid()); 249 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutGrid, isLayoutGrid());
250 250
251 } // namespace blink 251 } // namespace blink
252 252
253 #endif // LayoutGrid_h 253 #endif // LayoutGrid_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698