| 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 | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2009, 2013 Apple Inc. All rights |
| 8 * reserved. | 8 * 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 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 void AddChild(LayoutObject* child, | 114 void AddChild(LayoutObject* child, |
| 115 LayoutObject* before_child = nullptr) override; | 115 LayoutObject* before_child = nullptr) override; |
| 116 | 116 |
| 117 int FirstLineBoxBaseline() const override; | 117 int FirstLineBoxBaseline() const override; |
| 118 | 118 |
| 119 void AddCell(LayoutTableCell*, LayoutTableRow*); | 119 void AddCell(LayoutTableCell*, LayoutTableRow*); |
| 120 | 120 |
| 121 int VBorderSpacingBeforeFirstRow() const; | 121 int VBorderSpacingBeforeFirstRow() const; |
| 122 int CalcRowLogicalHeight(); | 122 int CalcRowLogicalHeight(); |
| 123 void LayoutRows(); | 123 void LayoutRows(); |
| 124 void ComputeOverflowFromCells(); | 124 void ComputeOverflowFromDescendants(); |
| 125 bool RecalcChildOverflowAfterStyleChange(); | 125 bool RecalcChildOverflowAfterStyleChange(); |
| 126 | 126 |
| 127 void MarkAllCellsWidthsDirtyAndOrNeedsLayout(LayoutTable::WhatToMarkAllCells); | 127 void MarkAllCellsWidthsDirtyAndOrNeedsLayout(LayoutTable::WhatToMarkAllCells); |
| 128 | 128 |
| 129 LayoutTable* Table() const { return ToLayoutTable(Parent()); } | 129 LayoutTable* Table() const { return ToLayoutTable(Parent()); } |
| 130 | 130 |
| 131 typedef Vector<LayoutTableCell*, 2> SpanningLayoutTableCells; | 131 typedef Vector<LayoutTableCell*, 2> SpanningLayoutTableCells; |
| 132 | 132 |
| 133 // CellStruct represents the cells that occupy an (N, M) position in the | 133 // CellStruct represents the cells that occupy an (N, M) position in the |
| 134 // table grid. | 134 // table grid. |
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 425 | 425 |
| 426 void UpdateBaselineForCell(LayoutTableCell*, | 426 void UpdateBaselineForCell(LayoutTableCell*, |
| 427 unsigned row, | 427 unsigned row, |
| 428 int& baseline_descent); | 428 int& baseline_descent); |
| 429 | 429 |
| 430 bool HasOverflowingCell() const { | 430 bool HasOverflowingCell() const { |
| 431 return overflowing_cells_.size() || | 431 return overflowing_cells_.size() || |
| 432 force_slow_paint_path_with_overflowing_cell_; | 432 force_slow_paint_path_with_overflowing_cell_; |
| 433 } | 433 } |
| 434 | 434 |
| 435 void ComputeOverflowFromCells(unsigned total_rows, unsigned n_eff_cols); | |
| 436 | |
| 437 // These two functions take a rectangle as input that has been flipped by | 435 // These two functions take a rectangle as input that has been flipped by |
| 438 // logicalRectForWritingModeAndDirection. | 436 // logicalRectForWritingModeAndDirection. |
| 439 // The returned span of rows or columns is end-exclusive, and empty if | 437 // The returned span of rows or columns is end-exclusive, and empty if |
| 440 // start==end. | 438 // start==end. |
| 441 CellSpan SpannedRows(const LayoutRect& flipped_rect) const; | 439 CellSpan SpannedRows(const LayoutRect& flipped_rect) const; |
| 442 CellSpan SpannedEffectiveColumns(const LayoutRect& flipped_rect) const; | 440 CellSpan SpannedEffectiveColumns(const LayoutRect& flipped_rect) const; |
| 443 | 441 |
| 444 void SetLogicalPositionForCell(LayoutTableCell*, | 442 void SetLogicalPositionForCell(LayoutTableCell*, |
| 445 unsigned effective_column) const; | 443 unsigned effective_column) const; |
| 446 | 444 |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 503 | 501 |
| 504 // Whether any cell spans multiple rows or cols. | 502 // Whether any cell spans multiple rows or cols. |
| 505 bool has_spanning_cells_; | 503 bool has_spanning_cells_; |
| 506 }; | 504 }; |
| 507 | 505 |
| 508 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableSection, IsTableSection()); | 506 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableSection, IsTableSection()); |
| 509 | 507 |
| 510 } // namespace blink | 508 } // namespace blink |
| 511 | 509 |
| 512 #endif // LayoutTableSection_h | 510 #endif // LayoutTableSection_h |
| OLD | NEW |