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 8048a1b435da4df825f9d30d91250efce6231c3f..b5f782ce7e5ea2ea7db8a03b16dbb4fa1a97e6dc 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutTable.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutTable.cpp |
@@ -102,8 +102,12 @@ void LayoutTable::StyleDidChange(StyleDifference diff, |
if (!old_style) |
return; |
- LayoutTableBoxComponent::InvalidateCollapsedBordersOnStyleChange( |
- *this, *this, diff, *old_style); |
+ if (old_style->BorderCollapse() != StyleRef().BorderCollapse()) { |
+ InvalidateCollapsedBorders(); |
+ } else { |
+ LayoutTableBoxComponent::InvalidateCollapsedBordersOnStyleChange( |
+ *this, *this, diff, *old_style); |
+ } |
if (LayoutTableBoxComponent::DoCellsHaveDirtyWidth(*this, *this, diff, |
*old_style)) |
@@ -756,9 +760,6 @@ void LayoutTable::UpdateLayout() { |
UpdateLayerTransformAfterLayout(); |
- // Layout was changed, so probably borders too. |
- InvalidateCollapsedBorders(); |
- |
ComputeOverflow(ClientLogicalBottom()); |
UpdateAfterLayout(); |
@@ -778,9 +779,6 @@ void LayoutTable::UpdateLayout() { |
void LayoutTable::InvalidateCollapsedBorders() { |
collapsed_borders_.clear(); |
- if (!CollapseBorders()) |
- return; |
- |
collapsed_borders_valid_ = false; |
SetMayNeedPaintInvalidation(); |
} |