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()); |