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

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

Issue 2770203002: Replace DCHECK with DCHECK_op and split some DCHECKs wherever necessary (Closed)
Patch Set: Add few more Created 3 years, 8 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 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/layout/Grid.h" 5 #include "core/layout/Grid.h"
6 6
7 #include "core/layout/LayoutGrid.h" 7 #include "core/layout/LayoutGrid.h"
8 8
9 namespace blink { 9 namespace blink {
10 10
(...skipping 13 matching lines...) Expand all
24 m_grid[row].grow(numTracks(ForColumns)); 24 m_grid[row].grow(numTracks(ForColumns));
25 } 25 }
26 26
27 if (maximumColumnSize > numTracks(ForColumns)) { 27 if (maximumColumnSize > numTracks(ForColumns)) {
28 for (size_t row = 0; row < numTracks(ForRows); ++row) 28 for (size_t row = 0; row < numTracks(ForRows); ++row)
29 m_grid[row].grow(maximumColumnSize); 29 m_grid[row].grow(maximumColumnSize);
30 } 30 }
31 } 31 }
32 32
33 void Grid::insert(LayoutBox& child, const GridArea& area) { 33 void Grid::insert(LayoutBox& child, const GridArea& area) {
34 DCHECK(area.rows.isTranslatedDefinite() && 34 DCHECK(area.rows.isTranslatedDefinite());
35 area.columns.isTranslatedDefinite()); 35 DCHECK(area.columns.isTranslatedDefinite());
36 ensureGridSize(area.rows.endLine(), area.columns.endLine()); 36 ensureGridSize(area.rows.endLine(), area.columns.endLine());
37 37
38 for (const auto& row : area.rows) { 38 for (const auto& row : area.rows) {
39 for (const auto& column : area.columns) 39 for (const auto& column : area.columns)
40 m_grid[row][column].push_back(&child); 40 m_grid[row][column].push_back(&child);
41 } 41 }
42 42
43 setGridItemArea(child, area); 43 setGridItemArea(child, area);
44 } 44 }
45 45
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 size_t varyingTrackIndex) 157 size_t varyingTrackIndex)
158 : m_grid(grid.m_grid), 158 : m_grid(grid.m_grid),
159 m_direction(direction), 159 m_direction(direction),
160 m_rowIndex((direction == ForColumns) ? varyingTrackIndex 160 m_rowIndex((direction == ForColumns) ? varyingTrackIndex
161 : fixedTrackIndex), 161 : fixedTrackIndex),
162 m_columnIndex((direction == ForColumns) ? fixedTrackIndex 162 m_columnIndex((direction == ForColumns) ? fixedTrackIndex
163 : varyingTrackIndex), 163 : varyingTrackIndex),
164 m_childIndex(0) { 164 m_childIndex(0) {
165 DCHECK(!m_grid.isEmpty()); 165 DCHECK(!m_grid.isEmpty());
166 DCHECK(!m_grid[0].isEmpty()); 166 DCHECK(!m_grid[0].isEmpty());
167 DCHECK(m_rowIndex < m_grid.size()); 167 DCHECK_LT(m_rowIndex, m_grid.size());
168 DCHECK(m_columnIndex < m_grid[0].size()); 168 DCHECK_LT(m_columnIndex, m_grid[0].size());
169 } 169 }
170 170
171 LayoutBox* GridIterator::nextGridItem() { 171 LayoutBox* GridIterator::nextGridItem() {
172 DCHECK(!m_grid.isEmpty()); 172 DCHECK(!m_grid.isEmpty());
173 DCHECK(!m_grid[0].isEmpty()); 173 DCHECK(!m_grid[0].isEmpty());
174 174
175 size_t& varyingTrackIndex = 175 size_t& varyingTrackIndex =
176 (m_direction == ForColumns) ? m_rowIndex : m_columnIndex; 176 (m_direction == ForColumns) ? m_rowIndex : m_columnIndex;
177 const size_t endOfVaryingTrackIndex = 177 const size_t endOfVaryingTrackIndex =
178 (m_direction == ForColumns) ? m_grid.size() : m_grid[0].size(); 178 (m_direction == ForColumns) ? m_grid.size() : m_grid[0].size();
(...skipping 26 matching lines...) Expand all
205 } 205 }
206 206
207 return true; 207 return true;
208 } 208 }
209 209
210 std::unique_ptr<GridArea> GridIterator::nextEmptyGridArea( 210 std::unique_ptr<GridArea> GridIterator::nextEmptyGridArea(
211 size_t fixedTrackSpan, 211 size_t fixedTrackSpan,
212 size_t varyingTrackSpan) { 212 size_t varyingTrackSpan) {
213 DCHECK(!m_grid.isEmpty()); 213 DCHECK(!m_grid.isEmpty());
214 DCHECK(!m_grid[0].isEmpty()); 214 DCHECK(!m_grid[0].isEmpty());
215 DCHECK(fixedTrackSpan >= 1 && varyingTrackSpan >= 1); 215 DCHECK_GE(fixedTrackSpan, 1u);
216 DCHECK_GE(varyingTrackSpan, 1u);
216 217
217 size_t rowSpan = 218 size_t rowSpan =
218 (m_direction == ForColumns) ? varyingTrackSpan : fixedTrackSpan; 219 (m_direction == ForColumns) ? varyingTrackSpan : fixedTrackSpan;
219 size_t columnSpan = 220 size_t columnSpan =
220 (m_direction == ForColumns) ? fixedTrackSpan : varyingTrackSpan; 221 (m_direction == ForColumns) ? fixedTrackSpan : varyingTrackSpan;
221 222
222 size_t& varyingTrackIndex = 223 size_t& varyingTrackIndex =
223 (m_direction == ForColumns) ? m_rowIndex : m_columnIndex; 224 (m_direction == ForColumns) ? m_rowIndex : m_columnIndex;
224 const size_t endOfVaryingTrackIndex = 225 const size_t endOfVaryingTrackIndex =
225 (m_direction == ForColumns) ? m_grid.size() : m_grid[0].size(); 226 (m_direction == ForColumns) ? m_grid.size() : m_grid[0].size();
226 for (; varyingTrackIndex < endOfVaryingTrackIndex; ++varyingTrackIndex) { 227 for (; varyingTrackIndex < endOfVaryingTrackIndex; ++varyingTrackIndex) {
227 if (checkEmptyCells(rowSpan, columnSpan)) { 228 if (checkEmptyCells(rowSpan, columnSpan)) {
228 std::unique_ptr<GridArea> result = WTF::wrapUnique( 229 std::unique_ptr<GridArea> result = WTF::wrapUnique(
229 new GridArea(GridSpan::translatedDefiniteGridSpan( 230 new GridArea(GridSpan::translatedDefiniteGridSpan(
230 m_rowIndex, m_rowIndex + rowSpan), 231 m_rowIndex, m_rowIndex + rowSpan),
231 GridSpan::translatedDefiniteGridSpan( 232 GridSpan::translatedDefiniteGridSpan(
232 m_columnIndex, m_columnIndex + columnSpan))); 233 m_columnIndex, m_columnIndex + columnSpan)));
233 // Advance the iterator to avoid an infinite loop where we would return 234 // Advance the iterator to avoid an infinite loop where we would return
234 // the same grid area over and over. 235 // the same grid area over and over.
235 ++varyingTrackIndex; 236 ++varyingTrackIndex;
236 return result; 237 return result;
237 } 238 }
238 } 239 }
239 return nullptr; 240 return nullptr;
240 } 241 }
241 242
242 } // namespace blink 243 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698