-
mstensho@opera.com authored
The row index may be bogus or even unset in that case. Rows may be inserted with an initially unknown row index. This happens when the row isn't inserted at the end of its table section, and also when splitting an anonymous row. This would lead to an assertion failure for row()->rowIndexWasSet() in RenderTableCell::styleDidChange(). rowIndex() is used there in a call to RenderTableSection::rowLogicalHeightChanged(). rowIndex() is also used in a similar way in RenderTableRow::styleDidChange(), albeit without asserting first. styleDidChange() may be called while needsCellRecalc() is set, which may mean that row index hasn't been calculated yet (or is bogus). We could of course just recalculate the cells (which also involves calculating all row indices) in styleDidChange(), but it's not really necessary, since the row index was just needed in order to call rowLogicalHeightChanged(), which just bails anyway if cells need recalc. So the solution is to pass a RenderTableRow instead of the row index to rowLogicalHeightChanged(). This way we don't call rowIndex() when row index is unknown. BUG=397442 Review URL: https://codereview.chromium.org/532513002 git-svn-id: svn://svn.chromium.org/blink/trunk@181637 bbb929c8-8fbe-4397-9dbb-9b2b20218538
881726f5