OLD | NEW |
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, 2009, 2013 Apple Inc. All rights reserv
ed. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2009, 2013 Apple Inc. All rights reserv
ed. |
8 * | 8 * |
9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
(...skipping 228 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
239 int calcBlockDirectionOuterBorder(BlockBorderSide) const; | 239 int calcBlockDirectionOuterBorder(BlockBorderSide) const; |
240 enum InlineBorderSide { BorderStart, BorderEnd }; | 240 enum InlineBorderSide { BorderStart, BorderEnd }; |
241 int calcInlineDirectionOuterBorder(InlineBorderSide) const; | 241 int calcInlineDirectionOuterBorder(InlineBorderSide) const; |
242 void recalcOuterBorder(); | 242 void recalcOuterBorder(); |
243 | 243 |
244 int outerBorderBefore() const { return m_outerBorderBefore; } | 244 int outerBorderBefore() const { return m_outerBorderBefore; } |
245 int outerBorderAfter() const { return m_outerBorderAfter; } | 245 int outerBorderAfter() const { return m_outerBorderAfter; } |
246 int outerBorderStart() const { return m_outerBorderStart; } | 246 int outerBorderStart() const { return m_outerBorderStart; } |
247 int outerBorderEnd() const { return m_outerBorderEnd; } | 247 int outerBorderEnd() const { return m_outerBorderEnd; } |
248 | 248 |
249 unsigned numRows() const { return m_grid.size(); } | 249 unsigned numRows() const |
| 250 { |
| 251 DCHECK(!needsCellRecalc()); |
| 252 return m_grid.size(); |
| 253 } |
250 unsigned numEffectiveColumns() const; | 254 unsigned numEffectiveColumns() const; |
251 | 255 |
252 // recalcCells() is used when we are not sure about the section's structure | 256 // recalcCells() is used when we are not sure about the section's structure |
253 // and want to do an expensive (but safe) reconstruction of m_grid from | 257 // and want to do an expensive (but safe) reconstruction of m_grid from |
254 // scratch. | 258 // scratch. |
255 // An example of this is inserting a new cell in the middle of an existing | 259 // An example of this is inserting a new cell in the middle of an existing |
256 // row or removing a row. | 260 // row or removing a row. |
257 // | 261 // |
258 // Accessing m_grid when m_needsCellRecalc is set is UNSAFE as pointers can | 262 // Accessing m_grid when m_needsCellRecalc is set is UNSAFE as pointers can |
259 // be left dangling. Thus care should be taken in the code to check | 263 // be left dangling. Thus care should be taken in the code to check |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
402 bool m_hasMultipleCellLevels; | 406 bool m_hasMultipleCellLevels; |
403 | 407 |
404 LayoutUnit m_offsetForRepeatingHeader; | 408 LayoutUnit m_offsetForRepeatingHeader; |
405 }; | 409 }; |
406 | 410 |
407 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableSection, isTableSection()); | 411 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableSection, isTableSection()); |
408 | 412 |
409 } // namespace blink | 413 } // namespace blink |
410 | 414 |
411 #endif // LayoutTableSection_h | 415 #endif // LayoutTableSection_h |
OLD | NEW |