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 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 | 213 |
214 size_t gridItemSpan(const LayoutBox&, GridTrackSizingDirection); | 214 size_t gridItemSpan(const LayoutBox&, GridTrackSizingDirection); |
215 bool spanningItemCrossesFlexibleSizedTracks(const GridSpan&, GridTrackSizing
Direction, SizingOperation) const; | 215 bool spanningItemCrossesFlexibleSizedTracks(const GridSpan&, GridTrackSizing
Direction, SizingOperation) const; |
216 | 216 |
217 size_t gridColumnCount() const; | 217 size_t gridColumnCount() const; |
218 size_t gridRowCount() const; | 218 size_t gridRowCount() const; |
219 | 219 |
220 bool isOrthogonalChild(const LayoutBox&) const; | 220 bool isOrthogonalChild(const LayoutBox&) const; |
221 GridTrackSizingDirection flowAwareDirectionForChild(const LayoutBox&, GridTr
ackSizingDirection) const; | 221 GridTrackSizingDirection flowAwareDirectionForChild(const LayoutBox&, GridTr
ackSizingDirection) const; |
222 | 222 |
| 223 bool cachedHasDefiniteLogicalHeight() const; |
| 224 |
223 typedef Vector<Vector<GridCell>> GridRepresentation; | 225 typedef Vector<Vector<GridCell>> GridRepresentation; |
224 GridRepresentation m_grid; | 226 GridRepresentation m_grid; |
225 bool m_gridIsDirty; | 227 bool m_gridIsDirty; |
226 Vector<LayoutUnit> m_rowPositions; | 228 Vector<LayoutUnit> m_rowPositions; |
227 Vector<LayoutUnit> m_columnPositions; | 229 Vector<LayoutUnit> m_columnPositions; |
228 LayoutUnit m_offsetBetweenColumns; | 230 LayoutUnit m_offsetBetweenColumns; |
229 LayoutUnit m_offsetBetweenRows; | 231 LayoutUnit m_offsetBetweenRows; |
230 HashMap<const LayoutBox*, GridArea> m_gridItemArea; | 232 HashMap<const LayoutBox*, GridArea> m_gridItemArea; |
231 OrderIterator m_orderIterator; | 233 OrderIterator m_orderIterator; |
232 Vector<LayoutBox*> m_gridItemsOverflowingGridArea; | 234 Vector<LayoutBox*> m_gridItemsOverflowingGridArea; |
233 HashMap<const LayoutBox*, size_t> m_gridItemsIndexesMap; | 235 HashMap<const LayoutBox*, size_t> m_gridItemsIndexesMap; |
234 | 236 |
235 LayoutUnit m_minContentHeight { -1 }; | 237 LayoutUnit m_minContentHeight { -1 }; |
236 LayoutUnit m_maxContentHeight { -1 }; | 238 LayoutUnit m_maxContentHeight { -1 }; |
237 | 239 |
238 int m_smallestRowStart; | 240 int m_smallestRowStart; |
239 int m_smallestColumnStart; | 241 int m_smallestColumnStart; |
240 | 242 |
241 size_t m_autoRepeatColumns { 0 }; | 243 size_t m_autoRepeatColumns { 0 }; |
242 size_t m_autoRepeatRows { 0 }; | 244 size_t m_autoRepeatRows { 0 }; |
243 | 245 |
244 bool m_hasAnyOrthogonalChild; | 246 bool m_hasAnyOrthogonalChild; |
245 | 247 |
246 std::unique_ptr<OrderedTrackIndexSet> m_autoRepeatEmptyColumns { nullptr }; | 248 std::unique_ptr<OrderedTrackIndexSet> m_autoRepeatEmptyColumns { nullptr }; |
247 std::unique_ptr<OrderedTrackIndexSet> m_autoRepeatEmptyRows { nullptr }; | 249 std::unique_ptr<OrderedTrackIndexSet> m_autoRepeatEmptyRows { nullptr }; |
| 250 |
| 251 Optional<bool> m_hasDefiniteLogicalHeight; |
248 }; | 252 }; |
249 | 253 |
250 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutGrid, isLayoutGrid()); | 254 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutGrid, isLayoutGrid()); |
251 | 255 |
252 } // namespace blink | 256 } // namespace blink |
253 | 257 |
254 #endif // LayoutGrid_h | 258 #endif // LayoutGrid_h |
OLD | NEW |