| 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, 2007, 2009, 2013 Apple Inc. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2013 Apple Inc. |
| 8 * All rights reserved. | 8 * All rights reserved. |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 CRASH(); | 107 CRASH(); |
| 108 | 108 |
| 109 m_absoluteColumnIndex = column; | 109 m_absoluteColumnIndex = column; |
| 110 } | 110 } |
| 111 | 111 |
| 112 bool hasSetAbsoluteColumnIndex() const { | 112 bool hasSetAbsoluteColumnIndex() const { |
| 113 return m_absoluteColumnIndex != unsetColumnIndex; | 113 return m_absoluteColumnIndex != unsetColumnIndex; |
| 114 } | 114 } |
| 115 | 115 |
| 116 unsigned absoluteColumnIndex() const { | 116 unsigned absoluteColumnIndex() const { |
| 117 ASSERT(hasSetAbsoluteColumnIndex()); | 117 DCHECK(hasSetAbsoluteColumnIndex()); |
| 118 return m_absoluteColumnIndex; | 118 return m_absoluteColumnIndex; |
| 119 } | 119 } |
| 120 | 120 |
| 121 LayoutTableRow* row() const { return toLayoutTableRow(parent()); } | 121 LayoutTableRow* row() const { return toLayoutTableRow(parent()); } |
| 122 LayoutTableSection* section() const { | 122 LayoutTableSection* section() const { |
| 123 return toLayoutTableSection(parent()->parent()); | 123 return toLayoutTableSection(parent()->parent()); |
| 124 } | 124 } |
| 125 LayoutTable* table() const { | 125 LayoutTable* table() const { |
| 126 return toLayoutTable(parent()->parent()->parent()); | 126 return toLayoutTable(parent()->parent()->parent()); |
| 127 } | 127 } |
| 128 | 128 |
| 129 LayoutTableCell* previousCell() const; | 129 LayoutTableCell* previousCell() const; |
| 130 LayoutTableCell* nextCell() const; | 130 LayoutTableCell* nextCell() const; |
| 131 | 131 |
| 132 unsigned rowIndex() const { | 132 unsigned rowIndex() const { |
| 133 // This function shouldn't be called on a detached cell. | 133 // This function shouldn't be called on a detached cell. |
| 134 ASSERT(row()); | 134 DCHECK(row()); |
| 135 return row()->rowIndex(); | 135 return row()->rowIndex(); |
| 136 } | 136 } |
| 137 | 137 |
| 138 Length styleOrColLogicalWidth() const { | 138 Length styleOrColLogicalWidth() const { |
| 139 Length styleWidth = style()->logicalWidth(); | 139 Length styleWidth = style()->logicalWidth(); |
| 140 if (!styleWidth.isAuto()) | 140 if (!styleWidth.isAuto()) |
| 141 return styleWidth; | 141 return styleWidth; |
| 142 if (LayoutTableCol* firstColumn = | 142 if (LayoutTableCol* firstColumn = |
| 143 table() | 143 table() |
| 144 ->colElementAtAbsoluteColumn(absoluteColumnIndex()) | 144 ->colElementAtAbsoluteColumn(absoluteColumnIndex()) |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 | 244 |
| 245 // This function is used to unify which table part's style we use for | 245 // This function is used to unify which table part's style we use for |
| 246 // computing direction and writing mode. Writing modes are not allowed on row | 246 // computing direction and writing mode. Writing modes are not allowed on row |
| 247 // group and row but direction is. This means we can safely use the same style | 247 // group and row but direction is. This means we can safely use the same style |
| 248 // in all cases to simplify our code. | 248 // in all cases to simplify our code. |
| 249 // FIXME: Eventually this function should replaced by style() once we support | 249 // FIXME: Eventually this function should replaced by style() once we support |
| 250 // direction on all table parts and writing-mode on cells. | 250 // direction on all table parts and writing-mode on cells. |
| 251 const ComputedStyle& styleForCellFlow() const { return row()->styleRef(); } | 251 const ComputedStyle& styleForCellFlow() const { return row()->styleRef(); } |
| 252 | 252 |
| 253 const BorderValue& borderAdjoiningTableStart() const { | 253 const BorderValue& borderAdjoiningTableStart() const { |
| 254 ASSERT(isFirstOrLastCellInRow()); | 254 #if DCHECK_IS_ON() |
| 255 DCHECK(isFirstOrLastCellInRow()); |
| 256 #endif |
| 255 if (section()->hasSameDirectionAs(table())) | 257 if (section()->hasSameDirectionAs(table())) |
| 256 return style()->borderStart(); | 258 return style()->borderStart(); |
| 257 | 259 |
| 258 return style()->borderEnd(); | 260 return style()->borderEnd(); |
| 259 } | 261 } |
| 260 | 262 |
| 261 const BorderValue& borderAdjoiningTableEnd() const { | 263 const BorderValue& borderAdjoiningTableEnd() const { |
| 262 ASSERT(isFirstOrLastCellInRow()); | 264 #if DCHECK_IS_ON() |
| 265 DCHECK(isFirstOrLastCellInRow()); |
| 266 #endif |
| 263 if (section()->hasSameDirectionAs(table())) | 267 if (section()->hasSameDirectionAs(table())) |
| 264 return style()->borderEnd(); | 268 return style()->borderEnd(); |
| 265 | 269 |
| 266 return style()->borderStart(); | 270 return style()->borderStart(); |
| 267 } | 271 } |
| 268 | 272 |
| 269 const BorderValue& borderAdjoiningCellBefore(const LayoutTableCell* cell) { | 273 const BorderValue& borderAdjoiningCellBefore(const LayoutTableCell* cell) { |
| 270 DCHECK_EQ(table()->cellAfter(cell), this); | 274 DCHECK_EQ(table()->cellAfter(cell), this); |
| 271 // FIXME: https://webkit.org/b/79272 - Add support for mixed directionality | 275 // FIXME: https://webkit.org/b/79272 - Add support for mixed directionality |
| 272 // at the cell level. | 276 // at the cell level. |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 472 return toLayoutTableCell(firstChild()); | 476 return toLayoutTableCell(firstChild()); |
| 473 } | 477 } |
| 474 | 478 |
| 475 inline LayoutTableCell* LayoutTableRow::lastCell() const { | 479 inline LayoutTableCell* LayoutTableRow::lastCell() const { |
| 476 return toLayoutTableCell(lastChild()); | 480 return toLayoutTableCell(lastChild()); |
| 477 } | 481 } |
| 478 | 482 |
| 479 } // namespace blink | 483 } // namespace blink |
| 480 | 484 |
| 481 #endif // LayoutTableCell_h | 485 #endif // LayoutTableCell_h |
| OLD | NEW |