Index: third_party/WebKit/Source/core/layout/LayoutTableCell.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp b/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp |
index 390d419a7e79306141689d5bfded55d62b7b31f2..14dc86695534739603ece0f62b1be09ef692d49e 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp |
@@ -476,26 +476,27 @@ void LayoutTableCell::StyleDidChange(StyleDifference diff, |
LayoutBlockFlow::StyleDidChange(diff, old_style); |
SetHasBoxDecorationBackground(true); |
- if (Parent() && Section() && old_style && |
- Style()->Height() != old_style->Height()) |
+ if (!old_style) |
+ return; |
+ |
+ if (Parent() && Section() && Style()->Height() != old_style->Height()) |
Section()->RowLogicalHeightChanged(Row()); |
// Our intrinsic padding pushes us down to align with the baseline of other |
// cells on the row. If our vertical-align has changed then so will the |
// padding needed to align with other cells - clear it so we can recalculate |
// it from scratch. |
- if (old_style && Style()->VerticalAlign() != old_style->VerticalAlign()) |
+ if (Style()->VerticalAlign() != old_style->VerticalAlign()) |
ClearIntrinsicPadding(); |
- // If border was changed, notify table. |
if (!Parent()) |
return; |
- LayoutTable* table = this->Table(); |
+ LayoutTable* table = Table(); |
if (!table) |
return; |
- if (!table->SelfNeedsLayout() && !table->NormalChildNeedsLayout() && |
- old_style && old_style->Border() != Style()->Border()) |
- table->InvalidateCollapsedBorders(); |
+ |
+ LayoutTableBoxComponent::InvalidateCollapsedBordersOnStyleChange( |
+ *this, *table, diff, *old_style); |
if (LayoutTableBoxComponent::DoCellsHaveDirtyWidth(*this, *table, diff, |
*old_style)) { |