| Index: Source/core/rendering/RenderTable.h
|
| diff --git a/Source/core/rendering/RenderTable.h b/Source/core/rendering/RenderTable.h
|
| index 0b6901f759f1331e3526b1edd99d5aaab84d24fd..ea9cb9124a1020f0e88f2d08c8b13b9781a1b7c5 100644
|
| --- a/Source/core/rendering/RenderTable.h
|
| +++ b/Source/core/rendering/RenderTable.h
|
| @@ -171,6 +171,9 @@ public:
|
|
|
| unsigned colToEffCol(unsigned column) const
|
| {
|
| + if (!m_hasCellColspanThatDeterminesTableWidth)
|
| + return column;
|
| +
|
| unsigned effColumn = 0;
|
| unsigned numColumns = numEffCols();
|
| for (unsigned c = 0; effColumn < numColumns && c + m_columns[effColumn].span - 1 < column; ++effColumn)
|
| @@ -180,6 +183,9 @@ public:
|
|
|
| unsigned effColToCol(unsigned effCol) const
|
| {
|
| + if (!m_hasCellColspanThatDeterminesTableWidth)
|
| + return effCol;
|
| +
|
| unsigned c = 0;
|
| for (unsigned i = 0; i < effCol; i++)
|
| c += m_columns[i].span;
|
| @@ -332,6 +338,15 @@ private:
|
|
|
| bool m_columnLogicalWidthChanged : 1;
|
| mutable bool m_columnRenderersValid: 1;
|
| + mutable bool m_hasCellColspanThatDeterminesTableWidth : 1;
|
| + bool hasCellColspanThatDeterminesTableWidth() const
|
| + {
|
| + for (unsigned c = 0; c < numEffCols(); c++) {
|
| + if (m_columns[c].span > 1)
|
| + return true;
|
| + }
|
| + return false;
|
| + }
|
|
|
| short m_hSpacing;
|
| short m_vSpacing;
|
|
|