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 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |