Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/LayoutTable.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/LayoutTable.cpp b/third_party/WebKit/Source/core/layout/LayoutTable.cpp |
| index 3c82b36e11aeea371d7277de86e9acffc1d438bf..9585c0ff358eab95ce40cbdbf90d499d83de457f 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutTable.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutTable.cpp |
| @@ -101,6 +101,14 @@ void LayoutTable::styleDidChange(StyleDifference diff, const ComputedStyle* oldS |
| // If border was changed, invalidate collapsed borders cache. |
| if (!needsLayout() && oldStyle && oldStyle->border() != style()->border()) |
| invalidateCollapsedBorders(); |
| + if (LayoutTableBoxComponent::doCellsHaveDirtyWidth(*this, *this, diff, *oldStyle)) { |
|
mstensho (USE GERRIT)
2016/09/21 07:02:45
The code here is almost identical to what we alrea
dgrogan
2016/09/21 18:35:11
Good catch, refactored.
|
| + for (LayoutObject* child = children()->firstChild(); child; child = child->nextSibling()) { |
| + if (!child->isTableSection()) |
| + continue; |
| + LayoutTableSection* section = toLayoutTableSection(child); |
| + section->markAllCellsWidthsDirtyAndOrNeedsLayout(LayoutTableSection::MarkDirtyAndNeedsLayout); |
| + } |
| + } |
| } |
| static inline void resetSectionPointerIfNotBefore(LayoutTableSection*& ptr, LayoutObject* before) |