| Index: third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp b/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
|
| index cc800331100f484e9f021dd638b8e549bd1c5241..9fd494408f0514348a4bfcf40a6429e57452141e 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutTableRow.cpp
|
| @@ -81,13 +81,19 @@ void LayoutTableRow::styleDidChange(StyleDifference diff, const ComputedStyle* o
|
| // If the border width changes on a row, we need to make sure the cells in the row know to lay out again.
|
| // This only happens when borders are collapsed, since they end up affecting the border sides of the cell
|
| // itself.
|
| - table->setPreferredLogicalWidthsDirty(MarkOnlyThis);
|
| for (LayoutBox* childBox = firstChildBox(); childBox; childBox = childBox->nextSiblingBox()) {
|
| if (!childBox->isTableCell())
|
| continue;
|
| childBox->setChildNeedsLayout();
|
| childBox->setPreferredLogicalWidthsDirty(MarkOnlyThis);
|
| }
|
| + // Most table componenents can rely on LayoutObject::styleDidChange
|
| + // to mark the container chain dirty. But LayoutTableSection seems
|
| + // to never clear its dirty bit, which stops the propagation. So
|
| + // anything under LayoutTableSection has to restart the propagation
|
| + // at the table.
|
| + // TODO(dgrogan): Make LayoutTableSection clear its dirty bit.
|
| + table->setPreferredLogicalWidthsDirty();
|
| }
|
| }
|
| }
|
|
|