OLD | NEW |
---|---|
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 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
124 void computeUsedBreadthOfGridTracks(GridTrackSizingDirection, GridSizingData &, LayoutUnit& baseSizesWithoutMaximization, LayoutUnit& growthLimitsWithoutMaxi mization); | 124 void computeUsedBreadthOfGridTracks(GridTrackSizingDirection, GridSizingData &, LayoutUnit& baseSizesWithoutMaximization, LayoutUnit& growthLimitsWithoutMaxi mization); |
125 LayoutUnit computeUsedBreadthOfMinLength(const GridLength&, LayoutUnit maxBr eadth) const; | 125 LayoutUnit computeUsedBreadthOfMinLength(const GridLength&, LayoutUnit maxBr eadth) const; |
126 LayoutUnit computeUsedBreadthOfMaxLength(const GridLength&, LayoutUnit usedB readth, LayoutUnit maxBreadth) const; | 126 LayoutUnit computeUsedBreadthOfMaxLength(const GridLength&, LayoutUnit usedB readth, LayoutUnit maxBreadth) const; |
127 void resolveContentBasedTrackSizingFunctions(GridTrackSizingDirection, GridS izingData&); | 127 void resolveContentBasedTrackSizingFunctions(GridTrackSizingDirection, GridS izingData&); |
128 | 128 |
129 void ensureGridSize(size_t maximumRowSize, size_t maximumColumnSize); | 129 void ensureGridSize(size_t maximumRowSize, size_t maximumColumnSize); |
130 void insertItemIntoGrid(LayoutBox&, const GridArea&); | 130 void insertItemIntoGrid(LayoutBox&, const GridArea&); |
131 | 131 |
132 size_t computeAutoRepeatTracksCount(GridTrackSizingDirection) const; | 132 size_t computeAutoRepeatTracksCount(GridTrackSizingDirection) const; |
133 | 133 |
134 void placeItemsOnGrid(); | 134 void placeItemsOnGrid(SizingOperation); |
135 void populateExplicitGridAndOrderIterator(); | 135 void populateExplicitGridAndOrderIterator(); |
136 std::unique_ptr<GridArea> createEmptyGridAreaAtSpecifiedPositionsOutsideGrid (const LayoutBox&, GridTrackSizingDirection, const GridSpan& specifiedPositions) const; | 136 std::unique_ptr<GridArea> createEmptyGridAreaAtSpecifiedPositionsOutsideGrid (const LayoutBox&, GridTrackSizingDirection, const GridSpan& specifiedPositions) const; |
137 void placeSpecifiedMajorAxisItemsOnGrid(const Vector<LayoutBox*>&); | 137 void placeSpecifiedMajorAxisItemsOnGrid(const Vector<LayoutBox*>&); |
138 void placeAutoMajorAxisItemsOnGrid(const Vector<LayoutBox*>&); | 138 void placeAutoMajorAxisItemsOnGrid(const Vector<LayoutBox*>&); |
139 void placeAutoMajorAxisItemOnGrid(LayoutBox&, std::pair<size_t, size_t>& aut oPlacementCursor); | 139 void placeAutoMajorAxisItemOnGrid(LayoutBox&, std::pair<size_t, size_t>& aut oPlacementCursor); |
140 GridTrackSizingDirection autoPlacementMajorAxisDirection() const; | 140 GridTrackSizingDirection autoPlacementMajorAxisDirection() const; |
141 GridTrackSizingDirection autoPlacementMinorAxisDirection() const; | 141 GridTrackSizingDirection autoPlacementMinorAxisDirection() const; |
142 | 142 |
143 void computeIntrinsicLogicalHeight(GridSizingData&); | 143 void computeIntrinsicLogicalHeight(GridSizingData&); |
144 LayoutUnit computeTrackBasedLogicalHeight(const GridSizingData&) const; | 144 LayoutUnit computeTrackBasedLogicalHeight(const GridSizingData&) const; |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
202 | 202 |
203 size_t gridItemSpan(const LayoutBox&, GridTrackSizingDirection); | 203 size_t gridItemSpan(const LayoutBox&, GridTrackSizingDirection); |
204 bool spanningItemCrossesFlexibleSizedTracks(const GridSpan&, GridTrackSizing Direction, SizingOperation) const; | 204 bool spanningItemCrossesFlexibleSizedTracks(const GridSpan&, GridTrackSizing Direction, SizingOperation) const; |
205 | 205 |
206 size_t gridColumnCount() const; | 206 size_t gridColumnCount() const; |
207 size_t gridRowCount() const; | 207 size_t gridRowCount() const; |
208 | 208 |
209 bool isOrthogonalChild(const LayoutBox&) const; | 209 bool isOrthogonalChild(const LayoutBox&) const; |
210 GridTrackSizingDirection flowAwareDirectionForChild(const LayoutBox&, GridTr ackSizingDirection) const; | 210 GridTrackSizingDirection flowAwareDirectionForChild(const LayoutBox&, GridTr ackSizingDirection) const; |
211 | 211 |
212 void clearGridDataAndMarkAsDirty() const; | |
jfernandez
2016/07/11 12:52:22
Why const ?
svillar
2016/07/11 14:18:43
Because it's called inside computeIntrinsicLogical
| |
213 | |
212 typedef Vector<Vector<GridCell>> GridRepresentation; | 214 typedef Vector<Vector<GridCell>> GridRepresentation; |
213 GridRepresentation m_grid; | 215 mutable GridRepresentation m_grid; |
eae
2016/07/12 17:38:48
A const clear method and mutable non-cache data me
| |
214 bool m_gridIsDirty; | 216 mutable bool m_gridIsDirty; |
215 Vector<LayoutUnit> m_rowPositions; | 217 Vector<LayoutUnit> m_rowPositions; |
216 Vector<LayoutUnit> m_columnPositions; | 218 Vector<LayoutUnit> m_columnPositions; |
217 LayoutUnit m_offsetBetweenColumns; | 219 LayoutUnit m_offsetBetweenColumns; |
218 LayoutUnit m_offsetBetweenRows; | 220 LayoutUnit m_offsetBetweenRows; |
219 HashMap<const LayoutBox*, GridArea> m_gridItemArea; | 221 mutable HashMap<const LayoutBox*, GridArea> m_gridItemArea; |
220 OrderIterator m_orderIterator; | 222 OrderIterator m_orderIterator; |
221 Vector<LayoutBox*> m_gridItemsOverflowingGridArea; | 223 mutable Vector<LayoutBox*> m_gridItemsOverflowingGridArea; |
222 HashMap<const LayoutBox*, size_t> m_gridItemsIndexesMap; | 224 mutable HashMap<const LayoutBox*, size_t> m_gridItemsIndexesMap; |
223 | 225 |
224 LayoutUnit m_minContentHeight { -1 }; | 226 LayoutUnit m_minContentHeight { -1 }; |
225 LayoutUnit m_maxContentHeight { -1 }; | 227 LayoutUnit m_maxContentHeight { -1 }; |
226 | 228 |
227 int m_smallestRowStart; | 229 int m_smallestRowStart; |
228 int m_smallestColumnStart; | 230 int m_smallestColumnStart; |
229 | 231 |
230 size_t m_autoRepeatColumns { 0 }; | 232 mutable size_t m_autoRepeatColumns { 0 }; |
231 size_t m_autoRepeatRows { 0 }; | 233 mutable size_t m_autoRepeatRows { 0 }; |
232 | 234 |
233 bool m_hasAnyOrthogonalChild; | 235 bool m_hasAnyOrthogonalChild; |
234 }; | 236 }; |
235 | 237 |
236 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutGrid, isLayoutGrid()); | 238 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutGrid, isLayoutGrid()); |
237 | 239 |
238 } // namespace blink | 240 } // namespace blink |
239 | 241 |
240 #endif // LayoutGrid_h | 242 #endif // LayoutGrid_h |
OLD | NEW |