| Index: Source/core/paint/TableSectionPainter.cpp
|
| diff --git a/Source/core/paint/TableSectionPainter.cpp b/Source/core/paint/TableSectionPainter.cpp
|
| index 5866fdbbd5c433fd0dd0740e116065e32ea0a5de..30e07705d7686aa014b5011838cec82e60daabb2 100644
|
| --- a/Source/core/paint/TableSectionPainter.cpp
|
| +++ b/Source/core/paint/TableSectionPainter.cpp
|
| @@ -6,6 +6,7 @@
|
| #include "core/paint/TableSectionPainter.h"
|
|
|
| #include "core/paint/ObjectPainter.h"
|
| +#include "core/paint/TableCellPainter.h"
|
| #include "core/paint/TableRowPainter.h"
|
| #include "core/rendering/GraphicsContextAnnotator.h"
|
| #include "core/rendering/PaintInfo.h"
|
| @@ -83,7 +84,7 @@ void TableSectionPainter::paintObject(PaintInfo& paintInfo, const LayoutPoint& p
|
| if (!cell || (row > dirtiedRows.start() && m_renderTableSection.primaryCellAt(row - 1, col) == cell) || (col > dirtiedColumns.start() && m_renderTableSection.primaryCellAt(row, col - 1) == cell))
|
| continue;
|
| LayoutPoint cellPoint = m_renderTableSection.flipForWritingModeForChild(cell, paintOffset);
|
| - cell->paintCollapsedBorders(paintInfo, cellPoint);
|
| + TableCellPainter(*cell).paintCollapsedBorders(paintInfo, cellPoint);
|
| }
|
| }
|
| } else {
|
| @@ -146,7 +147,7 @@ void TableSectionPainter::paintObject(PaintInfo& paintInfo, const LayoutPoint& p
|
| if (paintInfo.phase == PaintPhaseCollapsedTableBorders) {
|
| for (unsigned i = cells.size(); i > 0; --i) {
|
| LayoutPoint cellPoint = m_renderTableSection.flipForWritingModeForChild(cells[i - 1], paintOffset);
|
| - cells[i - 1]->paintCollapsedBorders(paintInfo, cellPoint);
|
| + TableCellPainter(*cells[i - 1]).paintCollapsedBorders(paintInfo, cellPoint);
|
| }
|
| } else {
|
| for (unsigned i = 0; i < cells.size(); ++i)
|
| @@ -173,16 +174,16 @@ void TableSectionPainter::paintCell(RenderTableCell* cell, PaintInfo& paintInfo,
|
| // the stack, since we have already opened a transparency layer (potentially) for the table row group.
|
| // Note that we deliberately ignore whether or not the cell has a layer, since these backgrounds paint "behind" the
|
| // cell.
|
| - cell->paintBackgroundsBehindCell(paintInfo, cellPoint, columnGroup);
|
| - cell->paintBackgroundsBehindCell(paintInfo, cellPoint, column);
|
| + TableCellPainter(*cell).paintBackgroundsBehindCell(paintInfo, cellPoint, columnGroup);
|
| + TableCellPainter(*cell).paintBackgroundsBehindCell(paintInfo, cellPoint, column);
|
|
|
| // Paint the row group next.
|
| - cell->paintBackgroundsBehindCell(paintInfo, cellPoint, &m_renderTableSection);
|
| + TableCellPainter(*cell).paintBackgroundsBehindCell(paintInfo, cellPoint, &m_renderTableSection);
|
|
|
| // Paint the row next, but only if it doesn't have a layer. If a row has a layer, it will be responsible for
|
| // painting the row background for the cell.
|
| if (!row->hasSelfPaintingLayer())
|
| - cell->paintBackgroundsBehindCell(paintInfo, cellPoint, row);
|
| + TableCellPainter(*cell).paintBackgroundsBehindCell(paintInfo, cellPoint, row);
|
| }
|
| if ((!cell->hasSelfPaintingLayer() && !row->hasSelfPaintingLayer()))
|
| cell->paint(paintInfo, cellPoint);
|
|
|