| 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. All rights
reserved. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2009, 2013 Apple Inc. All rights
reserved. |
| 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 254 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 265 bool isFirstOrLastCellInRow() const | 265 bool isFirstOrLastCellInRow() const |
| 266 { | 266 { |
| 267 return !table()->cellAfter(this) || !table()->cellBefore(this); | 267 return !table()->cellAfter(this) || !table()->cellBefore(this); |
| 268 } | 268 } |
| 269 #endif | 269 #endif |
| 270 | 270 |
| 271 const char* name() const override { return "LayoutTableCell"; } | 271 const char* name() const override { return "LayoutTableCell"; } |
| 272 | 272 |
| 273 bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const override; | 273 bool backgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const override; |
| 274 | 274 |
| 275 struct CollapsedBorderValues { |
| 276 CollapsedBorderValue startBorder; |
| 277 CollapsedBorderValue endBorder; |
| 278 CollapsedBorderValue beforeBorder; |
| 279 CollapsedBorderValue afterBorder; |
| 280 }; |
| 281 const CollapsedBorderValues* collapsedBorderValues() const { return m_collap
sedBorderValues.get(); } |
| 282 |
| 275 protected: | 283 protected: |
| 276 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override
; | 284 void styleDidChange(StyleDifference, const ComputedStyle* oldStyle) override
; |
| 277 void computePreferredLogicalWidths() override; | 285 void computePreferredLogicalWidths() override; |
| 278 | 286 |
| 279 void addLayerHitTestRects(LayerHitTestRects&, const PaintLayer* currentCompo
sitedLayer, const LayoutPoint& layerOffset, const LayoutRect& containerRect) con
st override; | 287 void addLayerHitTestRects(LayerHitTestRects&, const PaintLayer* currentCompo
sitedLayer, const LayoutPoint& layerOffset, const LayoutRect& containerRect) con
st override; |
| 280 | 288 |
| 281 private: | 289 private: |
| 282 bool isOfType(LayoutObjectType type) const override { return type == LayoutO
bjectTableCell || LayoutBlockFlow::isOfType(type); } | 290 bool isOfType(LayoutObjectType type) const override { return type == LayoutO
bjectTableCell || LayoutBlockFlow::isOfType(type); } |
| 283 | 291 |
| 284 void willBeRemovedFromTree() override; | 292 void willBeRemovedFromTree() override; |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 350 unsigned m_hasColSpan: 1; | 358 unsigned m_hasColSpan: 1; |
| 351 unsigned m_hasRowSpan: 1; | 359 unsigned m_hasRowSpan: 1; |
| 352 | 360 |
| 353 // The intrinsic padding. | 361 // The intrinsic padding. |
| 354 // See class comment for what they are. | 362 // See class comment for what they are. |
| 355 // | 363 // |
| 356 // Note: Those fields are using non-subpixel units (int) | 364 // Note: Those fields are using non-subpixel units (int) |
| 357 // because we don't do fractional arithmetic on tables. | 365 // because we don't do fractional arithmetic on tables. |
| 358 int m_intrinsicPaddingBefore; | 366 int m_intrinsicPaddingBefore; |
| 359 int m_intrinsicPaddingAfter; | 367 int m_intrinsicPaddingAfter; |
| 368 |
| 369 OwnPtr<CollapsedBorderValues> m_collapsedBorderValues; |
| 360 }; | 370 }; |
| 361 | 371 |
| 362 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableCell, isTableCell()); | 372 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableCell, isTableCell()); |
| 363 | 373 |
| 364 inline LayoutTableCell* LayoutTableCell::previousCell() const | 374 inline LayoutTableCell* LayoutTableCell::previousCell() const |
| 365 { | 375 { |
| 366 return toLayoutTableCell(LayoutObject::previousSibling()); | 376 return toLayoutTableCell(LayoutObject::previousSibling()); |
| 367 } | 377 } |
| 368 | 378 |
| 369 inline LayoutTableCell* LayoutTableCell::nextCell() const | 379 inline LayoutTableCell* LayoutTableCell::nextCell() const |
| 370 { | 380 { |
| 371 return toLayoutTableCell(LayoutObject::nextSibling()); | 381 return toLayoutTableCell(LayoutObject::nextSibling()); |
| 372 } | 382 } |
| 373 | 383 |
| 374 inline LayoutTableCell* LayoutTableRow::firstCell() const | 384 inline LayoutTableCell* LayoutTableRow::firstCell() const |
| 375 { | 385 { |
| 376 ASSERT(children() == virtualChildren()); | 386 ASSERT(children() == virtualChildren()); |
| 377 return toLayoutTableCell(children()->firstChild()); | 387 return toLayoutTableCell(children()->firstChild()); |
| 378 } | 388 } |
| 379 | 389 |
| 380 inline LayoutTableCell* LayoutTableRow::lastCell() const | 390 inline LayoutTableCell* LayoutTableRow::lastCell() const |
| 381 { | 391 { |
| 382 ASSERT(children() == virtualChildren()); | 392 ASSERT(children() == virtualChildren()); |
| 383 return toLayoutTableCell(children()->lastChild()); | 393 return toLayoutTableCell(children()->lastChild()); |
| 384 } | 394 } |
| 385 | 395 |
| 386 } // namespace blink | 396 } // namespace blink |
| 387 | 397 |
| 388 #endif // LayoutTableCell_h | 398 #endif // LayoutTableCell_h |
| OLD | NEW |