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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutTableCell.h

Issue 2400863005: Reformat comments in core/layout up until LayoutTableRow (Closed)
Patch Set: Created 4 years, 2 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) 1997 Martin Jones (mjones@kde.org) 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org)
3 * (C) 1997 Torben Weis (weis@kde.org) 3 * (C) 1997 Torben Weis (weis@kde.org)
4 * (C) 1998 Waldo Bastian (bastian@kde.org) 4 * (C) 1998 Waldo Bastian (bastian@kde.org)
5 * (C) 1999 Lars Knoll (knoll@kde.org) 5 * (C) 1999 Lars Knoll (knoll@kde.org)
6 * (C) 1999 Antti Koivisto (koivisto@kde.org) 6 * (C) 1999 Antti Koivisto (koivisto@kde.org)
7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2013 Apple Inc. All rights reserved. 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2013 Apple Inc.
8 * All rights reserved.
8 * 9 *
9 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 11 * modify it under the terms of the GNU Library General Public
11 * License as published by the Free Software Foundation; either 12 * License as published by the Free Software Foundation; either
12 * version 2 of the License, or (at your option) any later version. 13 * version 2 of the License, or (at your option) any later version.
13 * 14 *
14 * This library is distributed in the hope that it will be useful, 15 * This library is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
17 * Library General Public License for more details. 18 * Library General Public License for more details.
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
145 return logicalWidthFromColumns(firstColumn, styleWidth); 146 return logicalWidthFromColumns(firstColumn, styleWidth);
146 return styleWidth; 147 return styleWidth;
147 } 148 }
148 149
149 int logicalHeightFromStyle() const { 150 int logicalHeightFromStyle() const {
150 Length height = style()->logicalHeight(); 151 Length height = style()->logicalHeight();
151 int styleLogicalHeight = height.isIntrinsicOrAuto() 152 int styleLogicalHeight = height.isIntrinsicOrAuto()
152 ? 0 153 ? 0
153 : valueForLength(height, LayoutUnit()).toInt(); 154 : valueForLength(height, LayoutUnit()).toInt();
154 155
155 // In strict mode, box-sizing: content-box do the right thing and actually a dd in the border and padding. 156 // In strict mode, box-sizing: content-box do the right thing and actually
157 // add in the border and padding.
156 // Call computedCSSPadding* directly to avoid including implicitPadding. 158 // Call computedCSSPadding* directly to avoid including implicitPadding.
157 if (!document().inQuirksMode() && 159 if (!document().inQuirksMode() &&
158 style()->boxSizing() != BoxSizingBorderBox) 160 style()->boxSizing() != BoxSizingBorderBox)
159 styleLogicalHeight += 161 styleLogicalHeight +=
160 (computedCSSPaddingBefore() + computedCSSPaddingAfter()).floor() + 162 (computedCSSPaddingBefore() + computedCSSPaddingAfter()).floor() +
161 borderBefore() + borderAfter(); 163 borderBefore() + borderAfter();
162 return styleLogicalHeight; 164 return styleLogicalHeight;
163 } 165 }
164 166
165 int logicalHeightForRowSizing() const { 167 int logicalHeightForRowSizing() const {
166 // FIXME: This function does too much work, and is very hot during table lay out! 168 // FIXME: This function does too much work, and is very hot during table
169 // layout!
167 int adjustedLogicalHeight = 170 int adjustedLogicalHeight =
168 pixelSnappedLogicalHeight() - 171 pixelSnappedLogicalHeight() -
169 (intrinsicPaddingBefore() + intrinsicPaddingAfter()); 172 (intrinsicPaddingBefore() + intrinsicPaddingAfter());
170 int styleLogicalHeight = logicalHeightFromStyle(); 173 int styleLogicalHeight = logicalHeightFromStyle();
171 return max(styleLogicalHeight, adjustedLogicalHeight); 174 return max(styleLogicalHeight, adjustedLogicalHeight);
172 } 175 }
173 176
174 void setCellLogicalWidth(int constrainedLogicalWidth, SubtreeLayoutScope&); 177 void setCellLogicalWidth(int constrainedLogicalWidth, SubtreeLayoutScope&);
175 178
176 int borderLeft() const override; 179 int borderLeft() const override;
(...skipping 24 matching lines...) Expand all
201 void clearIntrinsicPadding() { setIntrinsicPadding(0, 0); } 204 void clearIntrinsicPadding() { setIntrinsicPadding(0, 0); }
202 205
203 int intrinsicPaddingBefore() const { return m_intrinsicPaddingBefore; } 206 int intrinsicPaddingBefore() const { return m_intrinsicPaddingBefore; }
204 int intrinsicPaddingAfter() const { return m_intrinsicPaddingAfter; } 207 int intrinsicPaddingAfter() const { return m_intrinsicPaddingAfter; }
205 208
206 LayoutUnit paddingTop() const override; 209 LayoutUnit paddingTop() const override;
207 LayoutUnit paddingBottom() const override; 210 LayoutUnit paddingBottom() const override;
208 LayoutUnit paddingLeft() const override; 211 LayoutUnit paddingLeft() const override;
209 LayoutUnit paddingRight() const override; 212 LayoutUnit paddingRight() const override;
210 213
211 // FIXME: For now we just assume the cell has the same block flow direction as the table. It's likely we'll 214 // FIXME: For now we just assume the cell has the same block flow direction as
212 // create an extra anonymous LayoutBlock to handle mixing directionality anywa y, in which case we can lock 215 // the table. It's likely we'll create an extra anonymous LayoutBlock to
213 // the block flow directionality of the cells to the table's directionality. 216 // handle mixing directionality anyway, in which case we can lock the block
217 // flow directionality of the cells to the table's directionality.
214 LayoutUnit paddingBefore() const override; 218 LayoutUnit paddingBefore() const override;
215 LayoutUnit paddingAfter() const override; 219 LayoutUnit paddingAfter() const override;
216 220
217 void setOverrideLogicalContentHeightFromRowHeight(LayoutUnit); 221 void setOverrideLogicalContentHeightFromRowHeight(LayoutUnit);
218 222
219 void scrollbarsChanged(bool horizontalScrollbarChanged, 223 void scrollbarsChanged(bool horizontalScrollbarChanged,
220 bool verticalScrollbarChanged) override; 224 bool verticalScrollbarChanged) override;
221 225
222 bool cellWidthChanged() const { return m_cellWidthChanged; } 226 bool cellWidthChanged() const { return m_cellWidthChanged; }
223 void setCellWidthChanged(bool b = true) { m_cellWidthChanged = b; } 227 void setCellWidthChanged(bool b = true) { m_cellWidthChanged = b; }
224 228
225 static LayoutTableCell* createAnonymous(Document*); 229 static LayoutTableCell* createAnonymous(Document*);
226 static LayoutTableCell* createAnonymousWithParent(const LayoutObject*); 230 static LayoutTableCell* createAnonymousWithParent(const LayoutObject*);
227 LayoutBox* createAnonymousBoxWithSameTypeAs( 231 LayoutBox* createAnonymousBoxWithSameTypeAs(
228 const LayoutObject* parent) const override { 232 const LayoutObject* parent) const override {
229 return createAnonymousWithParent(parent); 233 return createAnonymousWithParent(parent);
230 } 234 }
231 235
232 // This function is used to unify which table part's style we use for computin g direction and 236 // This function is used to unify which table part's style we use for
233 // writing mode. Writing modes are not allowed on row group and row but direct ion is. 237 // computing direction and writing mode. Writing modes are not allowed on row
234 // This means we can safely use the same style in all cases to simplify our co de. 238 // group and row but direction is. This means we can safely use the same style
235 // FIXME: Eventually this function should replaced by style() once we support direction 239 // in all cases to simplify our code.
236 // on all table parts and writing-mode on cells. 240 // FIXME: Eventually this function should replaced by style() once we support
241 // direction on all table parts and writing-mode on cells.
237 const ComputedStyle& styleForCellFlow() const { return row()->styleRef(); } 242 const ComputedStyle& styleForCellFlow() const { return row()->styleRef(); }
238 243
239 const BorderValue& borderAdjoiningTableStart() const { 244 const BorderValue& borderAdjoiningTableStart() const {
240 ASSERT(isFirstOrLastCellInRow()); 245 ASSERT(isFirstOrLastCellInRow());
241 if (section()->hasSameDirectionAs(table())) 246 if (section()->hasSameDirectionAs(table()))
242 return style()->borderStart(); 247 return style()->borderStart();
243 248
244 return style()->borderEnd(); 249 return style()->borderEnd();
245 } 250 }
246 251
247 const BorderValue& borderAdjoiningTableEnd() const { 252 const BorderValue& borderAdjoiningTableEnd() const {
248 ASSERT(isFirstOrLastCellInRow()); 253 ASSERT(isFirstOrLastCellInRow());
249 if (section()->hasSameDirectionAs(table())) 254 if (section()->hasSameDirectionAs(table()))
250 return style()->borderEnd(); 255 return style()->borderEnd();
251 256
252 return style()->borderStart(); 257 return style()->borderStart();
253 } 258 }
254 259
255 const BorderValue& borderAdjoiningCellBefore(const LayoutTableCell* cell) { 260 const BorderValue& borderAdjoiningCellBefore(const LayoutTableCell* cell) {
256 DCHECK_EQ(table()->cellAfter(cell), this); 261 DCHECK_EQ(table()->cellAfter(cell), this);
257 // FIXME: https://webkit.org/b/79272 - Add support for mixed directionality at the cell level. 262 // FIXME: https://webkit.org/b/79272 - Add support for mixed directionality
263 // at the cell level.
258 return style()->borderStart(); 264 return style()->borderStart();
259 } 265 }
260 266
261 const BorderValue& borderAdjoiningCellAfter(const LayoutTableCell* cell) { 267 const BorderValue& borderAdjoiningCellAfter(const LayoutTableCell* cell) {
262 DCHECK_EQ(table()->cellBefore(cell), this); 268 DCHECK_EQ(table()->cellBefore(cell), this);
263 // FIXME: https://webkit.org/b/79272 - Add support for mixed directionality at the cell level. 269 // FIXME: https://webkit.org/b/79272 - Add support for mixed directionality
270 // at the cell level.
264 return style()->borderEnd(); 271 return style()->borderEnd();
265 } 272 }
266 273
267 #if ENABLE(ASSERT) 274 #if ENABLE(ASSERT)
268 bool isFirstOrLastCellInRow() const { 275 bool isFirstOrLastCellInRow() const {
269 return !table()->cellAfter(this) || !table()->cellBefore(this); 276 return !table()->cellAfter(this) || !table()->cellBefore(this);
270 } 277 }
271 #endif 278 #endif
272 279
273 const char* name() const override { return "LayoutTableCell"; } 280 const char* name() const override { return "LayoutTableCell"; }
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
371 Length widthFromStyle) const; 378 Length widthFromStyle) const;
372 379
373 void updateColAndRowSpanFlags(); 380 void updateColAndRowSpanFlags();
374 381
375 unsigned parseRowSpanFromDOM() const; 382 unsigned parseRowSpanFromDOM() const;
376 unsigned parseColSpanFromDOM() const; 383 unsigned parseColSpanFromDOM() const;
377 384
378 void nextSibling() const = delete; 385 void nextSibling() const = delete;
379 void previousSibling() const = delete; 386 void previousSibling() const = delete;
380 387
381 // Note MSVC will only pack members if they have identical types, hence we use unsigned instead of bool here. 388 // Note MSVC will only pack members if they have identical types, hence we use
389 // unsigned instead of bool here.
382 unsigned m_absoluteColumnIndex : 29; 390 unsigned m_absoluteColumnIndex : 29;
383 unsigned m_cellWidthChanged : 1; 391 unsigned m_cellWidthChanged : 1;
384 unsigned m_hasColSpan : 1; 392 unsigned m_hasColSpan : 1;
385 unsigned m_hasRowSpan : 1; 393 unsigned m_hasRowSpan : 1;
386 394
387 // The intrinsic padding. 395 // The intrinsic padding.
388 // See class comment for what they are. 396 // See class comment for what they are.
389 // 397 //
390 // Note: Those fields are using non-subpixel units (int) 398 // Note: Those fields are using non-subpixel units (int)
391 // because we don't do fractional arithmetic on tables. 399 // because we don't do fractional arithmetic on tables.
(...skipping 17 matching lines...) Expand all
409 return toLayoutTableCell(firstChild()); 417 return toLayoutTableCell(firstChild());
410 } 418 }
411 419
412 inline LayoutTableCell* LayoutTableRow::lastCell() const { 420 inline LayoutTableCell* LayoutTableRow::lastCell() const {
413 return toLayoutTableCell(lastChild()); 421 return toLayoutTableCell(lastChild());
414 } 422 }
415 423
416 } // namespace blink 424 } // namespace blink
417 425
418 #endif // LayoutTableCell_h 426 #endif // LayoutTableCell_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698