diff options
Diffstat (limited to 'WebCore/rendering/RenderTableSection.cpp')
-rw-r--r-- | WebCore/rendering/RenderTableSection.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/WebCore/rendering/RenderTableSection.cpp b/WebCore/rendering/RenderTableSection.cpp index 5052c3a..b627afe 100644 --- a/WebCore/rendering/RenderTableSection.cpp +++ b/WebCore/rendering/RenderTableSection.cpp @@ -46,6 +46,14 @@ namespace WebCore { using namespace HTMLNames; +static inline void setRowHeightToRowStyleHeightIfNotRelative(RenderTableSection::RowStruct* row) +{ + ASSERT(row && row->rowRenderer); + row->height = row->rowRenderer->style()->height(); + if (row->height.isRelative()) + row->height = Length(); +} + RenderTableSection::RenderTableSection(Node* node) : RenderBox(node) , m_gridRows(0) @@ -126,11 +134,8 @@ void RenderTableSection::addChild(RenderObject* child, RenderObject* beforeChild m_grid[m_cRow].rowRenderer = toRenderTableRow(child); - if (!beforeChild) { - m_grid[m_cRow].height = child->style()->height(); - if (m_grid[m_cRow].height.isRelative()) - m_grid[m_cRow].height = Length(); - } + if (!beforeChild) + setRowHeightToRowStyleHeightIfNotRelative(&m_grid[m_cRow]); // If the next renderer is actually wrapped in an anonymous table row, we need to go up and find that. while (beforeChild && beforeChild->parent() != this) @@ -1190,6 +1195,7 @@ void RenderTableSection::recalcCells() RenderTableRow* tableRow = toRenderTableRow(row); m_grid[m_cRow].rowRenderer = tableRow; + setRowHeightToRowStyleHeightIfNotRelative(&m_grid[m_cRow]); for (RenderObject* cell = row->firstChild(); cell; cell = cell->nextSibling()) { if (cell->isTableCell()) |