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

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

Issue 2701993002: DO NOT COMMIT: Results of running new (proposed) clang-format on Blink (Closed)
Patch Set: Created 3 years, 10 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 87 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 // FIXME: The following checks could be narrowed down if we kept track of 98 // FIXME: The following checks could be narrowed down if we kept track of
99 // which type of grid items we have: 99 // which type of grid items we have:
100 // - explicit grid size changes impact negative explicitely positioned and 100 // - explicit grid size changes impact negative explicitely positioned and
101 // auto-placed grid items. 101 // auto-placed grid items.
102 // - named grid lines only impact grid items with named grid lines. 102 // - named grid lines only impact grid items with named grid lines.
103 // - auto-flow changes only impacts auto-placed children. 103 // - auto-flow changes only impacts auto-placed children.
104 104
105 if (explicitGridDidResize(*oldStyle) || 105 if (explicitGridDidResize(*oldStyle) ||
106 namedGridLinesDefinitionDidChange(*oldStyle) || 106 namedGridLinesDefinitionDidChange(*oldStyle) ||
107 oldStyle->getGridAutoFlow() != styleRef().getGridAutoFlow() || 107 oldStyle->getGridAutoFlow() != styleRef().getGridAutoFlow() ||
108 (diff.needsLayout() && (styleRef().gridAutoRepeatColumns().size() || 108 (diff.needsLayout() &&
109 styleRef().gridAutoRepeatRows().size()))) 109 (styleRef().gridAutoRepeatColumns().size() ||
110 styleRef().gridAutoRepeatRows().size())))
110 dirtyGrid(); 111 dirtyGrid();
111 } 112 }
112 113
113 bool LayoutGrid::explicitGridDidResize(const ComputedStyle& oldStyle) const { 114 bool LayoutGrid::explicitGridDidResize(const ComputedStyle& oldStyle) const {
114 return oldStyle.gridTemplateColumns().size() != 115 return oldStyle.gridTemplateColumns().size() !=
115 styleRef().gridTemplateColumns().size() || 116 styleRef().gridTemplateColumns().size() ||
116 oldStyle.gridTemplateRows().size() != 117 oldStyle.gridTemplateRows().size() !=
117 styleRef().gridTemplateRows().size() || 118 styleRef().gridTemplateRows().size() ||
118 oldStyle.namedGridAreaColumnCount() != 119 oldStyle.namedGridAreaColumnCount() !=
119 styleRef().namedGridAreaColumnCount() || 120 styleRef().namedGridAreaColumnCount() ||
(...skipping 19 matching lines...) Expand all
139 logicalHeight += row.baseSize(); 140 logicalHeight += row.baseSize();
140 141
141 logicalHeight += guttersSize(m_grid, ForRows, 0, allRows.size(), TrackSizing); 142 logicalHeight += guttersSize(m_grid, ForRows, 0, allRows.size(), TrackSizing);
142 143
143 return logicalHeight; 144 return logicalHeight;
144 } 145 }
145 146
146 void LayoutGrid::computeTrackSizesForDefiniteSize( 147 void LayoutGrid::computeTrackSizesForDefiniteSize(
147 GridTrackSizingDirection direction, 148 GridTrackSizingDirection direction,
148 LayoutUnit availableSpace) { 149 LayoutUnit availableSpace) {
149 LayoutUnit freeSpace = 150 LayoutUnit freeSpace = availableSpace -
150 availableSpace - guttersSize(m_grid, direction, 0, 151 guttersSize(m_grid, direction, 0,
151 m_grid.numTracks(direction), TrackSizing); 152 m_grid.numTracks(direction), TrackSizing);
152 m_trackSizingAlgorithm.setup(direction, numTracks(direction, m_grid), 153 m_trackSizingAlgorithm.setup(direction, numTracks(direction, m_grid),
153 TrackSizing, availableSpace, freeSpace); 154 TrackSizing, availableSpace, freeSpace);
154 m_trackSizingAlgorithm.run(); 155 m_trackSizingAlgorithm.run();
155 156
156 #if DCHECK_IS_ON() 157 #if DCHECK_IS_ON()
157 DCHECK(m_trackSizingAlgorithm.tracksAreWiderThanMinTrackBreadth()); 158 DCHECK(m_trackSizingAlgorithm.tracksAreWiderThanMinTrackBreadth());
158 #endif 159 #endif
159 } 160 }
160 161
161 void LayoutGrid::repeatTracksSizingIfNeeded(LayoutUnit availableSpaceForColumns, 162 void LayoutGrid::repeatTracksSizingIfNeeded(LayoutUnit availableSpaceForColumns,
(...skipping 1441 matching lines...) Expand 10 before | Expand all | Expand 10 after
1603 // If an item participates in baseline alignmen, we select such item. 1604 // If an item participates in baseline alignmen, we select such item.
1604 if (isInlineBaselineAlignedChild(child)) { 1605 if (isInlineBaselineAlignedChild(child)) {
1605 // TODO (lajava): self-baseline and content-baseline alignment 1606 // TODO (lajava): self-baseline and content-baseline alignment
1606 // still not implemented. 1607 // still not implemented.
1607 baselineChild = child; 1608 baselineChild = child;
1608 isBaselineAligned = true; 1609 isBaselineAligned = true;
1609 break; 1610 break;
1610 } 1611 }
1611 if (!baselineChild) { 1612 if (!baselineChild) {
1612 // Use dom order for items in the same cell. 1613 // Use dom order for items in the same cell.
1613 if (!firstChild || (m_grid.gridItemPaintOrder(*child) < 1614 if (!firstChild ||
1614 m_grid.gridItemPaintOrder(*firstChild))) 1615 (m_grid.gridItemPaintOrder(*child) <
1616 m_grid.gridItemPaintOrder(*firstChild)))
1615 firstChild = child; 1617 firstChild = child;
1616 } 1618 }
1617 } 1619 }
1618 if (!baselineChild && firstChild) 1620 if (!baselineChild && firstChild)
1619 baselineChild = firstChild; 1621 baselineChild = firstChild;
1620 } 1622 }
1621 1623
1622 if (!baselineChild) 1624 if (!baselineChild)
1623 return -1; 1625 return -1;
1624 1626
(...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after
1836 endOfRow -= trackGap; 1838 endOfRow -= trackGap;
1837 endOfRow -= m_offsetBetweenRows; 1839 endOfRow -= m_offsetBetweenRows;
1838 } 1840 }
1839 LayoutUnit columnAxisChildSize = 1841 LayoutUnit columnAxisChildSize =
1840 isOrthogonalChild(child) 1842 isOrthogonalChild(child)
1841 ? child.logicalWidth() + child.marginLogicalWidth() 1843 ? child.logicalWidth() + child.marginLogicalWidth()
1842 : child.logicalHeight() + child.marginLogicalHeight(); 1844 : child.logicalHeight() + child.marginLogicalHeight();
1843 OverflowAlignment overflow = alignSelfForChild(child).overflow(); 1845 OverflowAlignment overflow = alignSelfForChild(child).overflow();
1844 LayoutUnit offsetFromStartPosition = computeOverflowAlignmentOffset( 1846 LayoutUnit offsetFromStartPosition = computeOverflowAlignmentOffset(
1845 overflow, endOfRow - startOfRow, columnAxisChildSize); 1847 overflow, endOfRow - startOfRow, columnAxisChildSize);
1846 return startPosition + (axisPosition == GridAxisEnd 1848 return startPosition +
1847 ? offsetFromStartPosition 1849 (axisPosition == GridAxisEnd ? offsetFromStartPosition
1848 : offsetFromStartPosition / 2); 1850 : offsetFromStartPosition / 2);
1849 } 1851 }
1850 } 1852 }
1851 1853
1852 ASSERT_NOT_REACHED(); 1854 ASSERT_NOT_REACHED();
1853 return LayoutUnit(); 1855 return LayoutUnit();
1854 } 1856 }
1855 1857
1856 LayoutUnit LayoutGrid::rowAxisOffsetForChild(const LayoutBox& child) const { 1858 LayoutUnit LayoutGrid::rowAxisOffsetForChild(const LayoutBox& child) const {
1857 const GridSpan& columnsSpan = 1859 const GridSpan& columnsSpan =
1858 m_trackSizingAlgorithm.grid().gridItemSpan(child, ForColumns); 1860 m_trackSizingAlgorithm.grid().gridItemSpan(child, ForColumns);
(...skipping 19 matching lines...) Expand all
1878 endOfColumn -= trackGap; 1880 endOfColumn -= trackGap;
1879 endOfColumn -= m_offsetBetweenColumns; 1881 endOfColumn -= m_offsetBetweenColumns;
1880 } 1882 }
1881 LayoutUnit rowAxisChildSize = 1883 LayoutUnit rowAxisChildSize =
1882 isOrthogonalChild(child) 1884 isOrthogonalChild(child)
1883 ? child.logicalHeight() + child.marginLogicalHeight() 1885 ? child.logicalHeight() + child.marginLogicalHeight()
1884 : child.logicalWidth() + child.marginLogicalWidth(); 1886 : child.logicalWidth() + child.marginLogicalWidth();
1885 OverflowAlignment overflow = justifySelfForChild(child).overflow(); 1887 OverflowAlignment overflow = justifySelfForChild(child).overflow();
1886 LayoutUnit offsetFromStartPosition = computeOverflowAlignmentOffset( 1888 LayoutUnit offsetFromStartPosition = computeOverflowAlignmentOffset(
1887 overflow, endOfColumn - startOfColumn, rowAxisChildSize); 1889 overflow, endOfColumn - startOfColumn, rowAxisChildSize);
1888 return startPosition + (axisPosition == GridAxisEnd 1890 return startPosition +
1889 ? offsetFromStartPosition 1891 (axisPosition == GridAxisEnd ? offsetFromStartPosition
1890 : offsetFromStartPosition / 2); 1892 : offsetFromStartPosition / 2);
1891 } 1893 }
1892 } 1894 }
1893 1895
1894 ASSERT_NOT_REACHED(); 1896 ASSERT_NOT_REACHED();
1895 return LayoutUnit(); 1897 return LayoutUnit();
1896 } 1898 }
1897 1899
1898 ContentPosition static resolveContentDistributionFallback( 1900 ContentPosition static resolveContentDistributionFallback(
1899 ContentDistributionType distribution) { 1901 ContentDistributionType distribution) {
1900 switch (distribution) { 1902 switch (distribution) {
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1953 GridTrackSizingDirection direction, 1955 GridTrackSizingDirection direction,
1954 const LayoutUnit& availableFreeSpace, 1956 const LayoutUnit& availableFreeSpace,
1955 unsigned numberOfGridTracks) const { 1957 unsigned numberOfGridTracks) const {
1956 bool isRowAxis = direction == ForColumns; 1958 bool isRowAxis = direction == ForColumns;
1957 ContentPosition position = isRowAxis 1959 ContentPosition position = isRowAxis
1958 ? styleRef().resolvedJustifyContentPosition( 1960 ? styleRef().resolvedJustifyContentPosition(
1959 contentAlignmentNormalBehavior()) 1961 contentAlignmentNormalBehavior())
1960 : styleRef().resolvedAlignContentPosition( 1962 : styleRef().resolvedAlignContentPosition(
1961 contentAlignmentNormalBehavior()); 1963 contentAlignmentNormalBehavior());
1962 ContentDistributionType distribution = 1964 ContentDistributionType distribution =
1963 isRowAxis 1965 isRowAxis ? styleRef().resolvedJustifyContentDistribution(
1964 ? styleRef().resolvedJustifyContentDistribution( 1966 contentAlignmentNormalBehavior())
1965 contentAlignmentNormalBehavior()) 1967 : styleRef().resolvedAlignContentDistribution(
1966 : styleRef().resolvedAlignContentDistribution( 1968 contentAlignmentNormalBehavior());
1967 contentAlignmentNormalBehavior());
1968 // If <content-distribution> value can't be applied, 'position' will become 1969 // If <content-distribution> value can't be applied, 'position' will become
1969 // the associated <content-position> fallback value. 1970 // the associated <content-position> fallback value.
1970 ContentAlignmentData contentAlignment = contentDistributionOffset( 1971 ContentAlignmentData contentAlignment = contentDistributionOffset(
1971 availableFreeSpace, position, distribution, numberOfGridTracks); 1972 availableFreeSpace, position, distribution, numberOfGridTracks);
1972 if (contentAlignment.isValid()) 1973 if (contentAlignment.isValid())
1973 return contentAlignment; 1974 return contentAlignment;
1974 1975
1975 OverflowAlignment overflow = 1976 OverflowAlignment overflow =
1976 isRowAxis ? styleRef().justifyContentOverflowAlignment() 1977 isRowAxis ? styleRef().justifyContentOverflowAlignment()
1977 : styleRef().alignContentOverflowAlignment(); 1978 : styleRef().alignContentOverflowAlignment();
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
2091 if (direction == ForRows) 2092 if (direction == ForRows)
2092 return grid.numTracks(ForRows); 2093 return grid.numTracks(ForRows);
2093 2094
2094 return grid.numTracks(ForRows) 2095 return grid.numTracks(ForRows)
2095 ? grid.numTracks(ForColumns) 2096 ? grid.numTracks(ForColumns)
2096 : GridPositionsResolver::explicitGridColumnCount( 2097 : GridPositionsResolver::explicitGridColumnCount(
2097 styleRef(), grid.autoRepeatTracks(ForColumns)); 2098 styleRef(), grid.autoRepeatTracks(ForColumns));
2098 } 2099 }
2099 2100
2100 } // namespace blink 2101 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutGeometryMap.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutInline.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698