| 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 2bde0f0ab436ca7d0be1c675afd42fcd2e7431d8..dd3f6b467f7518de20eaa75fab62538659c74e1e 100644 | 
| --- a/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp | 
| +++ b/third_party/WebKit/Source/core/layout/LayoutTableSection.cpp | 
| @@ -48,7 +48,7 @@ static unsigned gMinTableSizeToUseFastPaintPathWithOverflowingCell = 75 * 75; | 
|  | 
| static inline void setRowLogicalHeightToRowStyleLogicalHeight( | 
| LayoutTableSection::RowStruct& row) { | 
| -  ASSERT(row.rowLayoutObject); | 
| +  DCHECK(row.rowLayoutObject); | 
| row.logicalHeight = row.rowLayoutObject->style()->logicalHeight(); | 
| } | 
|  | 
| @@ -207,7 +207,7 @@ void LayoutTableSection::addChild(LayoutObject* child, | 
| if (beforeChild && beforeChild->parent() != this) | 
| beforeChild = splitAnonymousBoxesAroundChild(beforeChild); | 
|  | 
| -  ASSERT(!beforeChild || beforeChild->isTableRow()); | 
| +  DCHECK(!beforeChild || beforeChild->isTableRow()); | 
| LayoutTableBoxComponent::addChild(child, beforeChild); | 
| } | 
|  | 
| @@ -215,23 +215,23 @@ static inline void checkThatVectorIsDOMOrdered( | 
| const Vector<LayoutTableCell*, 1>& cells) { | 
| #ifndef NDEBUG | 
| // This function should be called on a non-empty vector. | 
| -  ASSERT(cells.size() > 0); | 
| +  DCHECK_GT(cells.size(), 0u); | 
|  | 
| const LayoutTableCell* previousCell = cells[0]; | 
| for (size_t i = 1; i < cells.size(); ++i) { | 
| const LayoutTableCell* currentCell = cells[i]; | 
| // The check assumes that all cells belong to the same row group. | 
| -    ASSERT(previousCell->section() == currentCell->section()); | 
| +    DCHECK_EQ(previousCell->section(), currentCell->section()); | 
|  | 
| // 2 overlapping cells can't be on the same row. | 
| -    ASSERT(currentCell->row() != previousCell->row()); | 
| +    DCHECK_NE(currentCell->row(), previousCell->row()); | 
|  | 
| // Look backwards in the tree for the previousCell's row. If we are | 
| // DOM ordered, we should find it. | 
| const LayoutTableRow* row = currentCell->row(); | 
| for (; row && row != previousCell->row(); row = row->previousRow()) { | 
| } | 
| -    ASSERT(row == previousCell->row()); | 
| +    DCHECK_EQ(row, previousCell->row()); | 
|  | 
| previousCell = currentCell; | 
| } | 
| @@ -290,7 +290,7 @@ void LayoutTableSection::addCell(LayoutTableCell* cell, LayoutTableRow* row) { | 
| for (unsigned r = 0; r < rSpan; r++) { | 
| ensureCols(insertionRow + r, m_cCol + 1); | 
| CellStruct& c = cellAt(insertionRow + r, m_cCol); | 
| -      ASSERT(cell); | 
| +      DCHECK(cell); | 
| c.cells.push_back(cell); | 
| checkThatVectorIsDOMOrdered(c.cells); | 
| // If cells overlap then we take the slow path for painting. | 
| @@ -544,7 +544,7 @@ unsigned LayoutTableSection::calcRowHeightHavingOnlySpanningCells( | 
| unsigned rowToApplyExtraHeight, | 
| unsigned& extraTableHeightToPropgate, | 
| Vector<int>& rowsCountWithOnlySpanningCells) { | 
| -  ASSERT(rowHasOnlySpanningCells(row)); | 
| +  DCHECK(rowHasOnlySpanningCells(row)); | 
|  | 
| unsigned totalCols = m_grid[row].row.size(); | 
|  | 
| @@ -606,7 +606,7 @@ void LayoutTableSection::updateRowsHeightHavingOnlySpanningCells( | 
| struct SpanningRowsHeight& spanningRowsHeight, | 
| unsigned& extraHeightToPropagate, | 
| Vector<int>& rowsCountWithOnlySpanningCells) { | 
| -  ASSERT(spanningRowsHeight.rowHeight.size()); | 
| +  DCHECK(spanningRowsHeight.rowHeight.size()); | 
|  | 
| int accumulatedPositionIncrease = 0; | 
| const unsigned rowSpan = cell->rowSpan(); | 
| @@ -634,7 +634,7 @@ void LayoutTableSection::updateRowsHeightHavingOnlySpanningCells( | 
| // height of rows in rowSpan cell. | 
| void LayoutTableSection::distributeRowSpanHeightToRows( | 
| SpanningLayoutTableCells& rowSpanCells) { | 
| -  ASSERT(rowSpanCells.size()); | 
| +  DCHECK(rowSpanCells.size()); | 
|  | 
| // 'rowSpanCells' list is already sorted based on the cells rowIndex in | 
| // ascending order | 
| @@ -773,7 +773,7 @@ void LayoutTableSection::distributeRowSpanHeightToRows( | 
| spanningRowsHeight.rowHeight); | 
| } | 
|  | 
| -    ASSERT(!extraRowSpanningHeight); | 
| +    DCHECK(!extraRowSpanningHeight); | 
|  | 
| // Getting total changed height in the table | 
| extraHeightToPropagate = | 
| @@ -826,7 +826,7 @@ int LayoutTableSection::calcRowLogicalHeight() { | 
| SetLayoutNeededForbiddenScope layoutForbiddenScope(*this); | 
| #endif | 
|  | 
| -  ASSERT(!needsLayout()); | 
| +  DCHECK(!needsLayout()); | 
|  | 
| LayoutTableCell* cell; | 
|  | 
| @@ -936,16 +936,16 @@ int LayoutTableSection::calcRowLogicalHeight() { | 
| if (!rowSpanCells.isEmpty()) | 
| distributeRowSpanHeightToRows(rowSpanCells); | 
|  | 
| -  ASSERT(!needsLayout()); | 
| +  DCHECK(!needsLayout()); | 
|  | 
| return m_rowPos[m_grid.size()]; | 
| } | 
|  | 
| void LayoutTableSection::layout() { | 
| -  ASSERT(needsLayout()); | 
| +  DCHECK(needsLayout()); | 
| LayoutAnalyzer::Scope analyzer(*this); | 
| CHECK(!needsCellRecalc()); | 
| -  ASSERT(!table()->needsSectionRecalc()); | 
| +  DCHECK(!table()->needsSectionRecalc()); | 
|  | 
| // addChild may over-grow m_grid but we don't want to throw away the memory | 
| // too early as addChild can be called in a loop (e.g during parsing). Doing | 
| @@ -973,7 +973,7 @@ void LayoutTableSection::layout() { | 
| unsigned endCol = startColumn; | 
| unsigned cspan = cell->colSpan(); | 
| while (cspan && endCol < cols) { | 
| -        ASSERT(endCol < table()->effectiveColumns().size()); | 
| +        DCHECK_LT(endCol, table()->effectiveColumns().size()); | 
| cspan -= table()->effectiveColumns()[endCol].span; | 
| endCol++; | 
| } | 
| @@ -1024,7 +1024,7 @@ void LayoutTableSection::distributeExtraLogicalHeightToPercentRows( | 
| extraLogicalHeight -= toAdd; | 
| totalPercent -= m_grid[r].logicalHeight.percent(); | 
| } | 
| -    ASSERT(totalRows >= 1); | 
| +    DCHECK_GE(totalRows, 1u); | 
| if (r < totalRows - 1) | 
| rowHeight = m_rowPos[r + 2] - m_rowPos[r + 1]; | 
| m_rowPos[r + 1] += totalLogicalHeightAdded; | 
| @@ -1120,7 +1120,7 @@ void LayoutTableSection::layoutRows() { | 
| SetLayoutNeededForbiddenScope layoutForbiddenScope(*this); | 
| #endif | 
|  | 
| -  ASSERT(!needsLayout()); | 
| +  DCHECK(!needsLayout()); | 
|  | 
| LayoutAnalyzer::Scope analyzer(*this); | 
|  | 
| @@ -1218,7 +1218,7 @@ void LayoutTableSection::layoutRows() { | 
| rowLayoutObject->computeOverflow(); | 
| } | 
|  | 
| -  ASSERT(!needsLayout()); | 
| +  DCHECK(!needsLayout()); | 
|  | 
| setLogicalHeight(LayoutUnit(m_rowPos[totalRows])); | 
|  | 
| @@ -1305,11 +1305,13 @@ void LayoutTableSection::computeOverflowFromCells(unsigned totalRows, | 
| } | 
| } | 
|  | 
| -  ASSERT(hasOverflowingCell == this->hasOverflowingCell()); | 
| +#if DCHECK_IS_ON() | 
| +  DCHECK_EQ(hasOverflowingCell, this->hasOverflowingCell()); | 
| +#endif | 
| } | 
|  | 
| bool LayoutTableSection::recalcChildOverflowAfterStyleChange() { | 
| -  ASSERT(childNeedsOverflowRecalcAfterStyleChange()); | 
| +  DCHECK(childNeedsOverflowRecalcAfterStyleChange()); | 
| clearChildNeedsOverflowRecalcAfterStyleChange(); | 
| unsigned totalRows = m_grid.size(); | 
| bool childrenOverflowChanged = false; | 
| @@ -1676,7 +1678,7 @@ CellSpan LayoutTableSection::spannedEffectiveColumns( | 
| } | 
|  | 
| void LayoutTableSection::recalcCells() { | 
| -  ASSERT(m_needsCellRecalc); | 
| +  DCHECK(m_needsCellRecalc); | 
| // We reset the flag here to ensure that |addCell| works. This is safe to do | 
| // as fillRowsWithDefaultStartingAtPosition makes sure we match the table's | 
| // columns representation. | 
| @@ -1742,14 +1744,18 @@ unsigned LayoutTableSection::numEffectiveColumns() const { | 
|  | 
| const BorderValue& LayoutTableSection::borderAdjoiningStartCell( | 
| const LayoutTableCell* cell) const { | 
| -  ASSERT(cell->isFirstOrLastCellInRow()); | 
| +#if DCHECK_IS_ON() | 
| +  DCHECK(cell->isFirstOrLastCellInRow()); | 
| +#endif | 
| return hasSameDirectionAs(cell) ? style()->borderStart() | 
| : style()->borderEnd(); | 
| } | 
|  | 
| const BorderValue& LayoutTableSection::borderAdjoiningEndCell( | 
| const LayoutTableCell* cell) const { | 
| -  ASSERT(cell->isFirstOrLastCellInRow()); | 
| +#if DCHECK_IS_ON() | 
| +  DCHECK(cell->isFirstOrLastCellInRow()); | 
| +#endif | 
| return hasSameDirectionAs(cell) ? style()->borderEnd() | 
| : style()->borderStart(); | 
| } | 
| @@ -1785,14 +1791,14 @@ const LayoutTableCell* LayoutTableSection::originatingCellAt( | 
| } | 
|  | 
| void LayoutTableSection::appendEffectiveColumn(unsigned pos) { | 
| -  ASSERT(!m_needsCellRecalc); | 
| +  DCHECK(!m_needsCellRecalc); | 
|  | 
| for (unsigned row = 0; row < m_grid.size(); ++row) | 
| m_grid[row].row.resize(pos + 1); | 
| } | 
|  | 
| void LayoutTableSection::splitEffectiveColumn(unsigned pos, unsigned first) { | 
| -  ASSERT(!m_needsCellRecalc); | 
| +  DCHECK(!m_needsCellRecalc); | 
|  | 
| if (m_cCol > pos) | 
| m_cCol++; | 
| @@ -1803,8 +1809,8 @@ void LayoutTableSection::splitEffectiveColumn(unsigned pos, unsigned first) { | 
| if (r[pos].hasCells()) { | 
| r[pos + 1].cells.appendVector(r[pos].cells); | 
| LayoutTableCell* cell = r[pos].primaryCell(); | 
| -      ASSERT(cell); | 
| -      ASSERT(cell->colSpan() >= (r[pos].inColSpan ? 1u : 0)); | 
| +      DCHECK(cell); | 
| +      DCHECK_GE(cell->colSpan(), (r[pos].inColSpan ? 1u : 0)); | 
| unsigned colleft = cell->colSpan() - r[pos].inColSpan; | 
| if (first > colleft) | 
| r[pos + 1].inColSpan = 0; | 
| @@ -1992,7 +1998,7 @@ void LayoutTableSection::relayoutCellIfFlexed(LayoutTableCell& cell, | 
| int LayoutTableSection::logicalHeightForRow( | 
| const LayoutTableRow& rowObject) const { | 
| unsigned rowIndex = rowObject.rowIndex(); | 
| -  DCHECK(rowIndex < m_grid.size()); | 
| +  DCHECK_LT(rowIndex, m_grid.size()); | 
| int logicalHeight = 0; | 
| const Row& row = m_grid[rowIndex].row; | 
| unsigned cols = row.size(); | 
|  |