Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/LayoutTableSection.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp b/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp |
| index baae67a67e1add2ff80ab2d4d35a5e2e8975557f..239b7a52e3359f7d7e4a9111833f787739a7bc63 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp |
| @@ -727,6 +727,15 @@ void LayoutTableSection::updateBaselineForCell(LayoutTableCell* cell, unsigned r |
| } |
| } |
| +static void ResetOverrideLoicalContentHeightIfNeeded(LayoutTableCell* cell) |
|
mstensho (USE GERRIT)
2016/01/12 19:18:13
That wasn't quite what I had in mind. Since update
a.suchit2
2016/01/13 05:58:43
Done.
|
| +{ |
| + if (cell->hasOverrideLogicalContentHeight()) { |
| + cell->clearIntrinsicPadding(); |
| + cell->clearOverrideSize(); |
| + cell->forceChildLayout(); |
| + } |
| +} |
| + |
| int LayoutTableSection::calcRowLogicalHeight() |
| { |
| #if ENABLE(ASSERT) |
| @@ -790,6 +799,8 @@ int LayoutTableSection::calcRowLogicalHeight() |
| rowSpanCells.append(cell); |
| lastRowSpanCell = cell; |
| + ResetOverrideLoicalContentHeightIfNeeded(cell); |
| + |
| // Find out the baseline. The baseline is set on the first row in a rowSpan. |
| updateBaselineForCell(cell, r, baselineDescent); |
| } |
| @@ -798,11 +809,7 @@ int LayoutTableSection::calcRowLogicalHeight() |
| ASSERT(cell->rowSpan() == 1); |
| - if (cell->hasOverrideLogicalContentHeight()) { |
| - cell->clearIntrinsicPadding(); |
| - cell->clearOverrideSize(); |
| - cell->forceChildLayout(); |
| - } |
| + ResetOverrideLoicalContentHeightIfNeeded(cell); |
| m_rowPos[r + 1] = std::max(m_rowPos[r + 1], m_rowPos[r] + cell->logicalHeightForRowSizing()); |