Index: third_party/WebKit/Source/core/layout/LayoutBlock.cpp |
diff --git a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp |
index 496270a86f26fc7fbbe7b88ac937066e5b3fc381..1c3490669a318f8dce1ec6e8ad7b09702b718062 100644 |
--- a/third_party/WebKit/Source/core/layout/LayoutBlock.cpp |
+++ b/third_party/WebKit/Source/core/layout/LayoutBlock.cpp |
@@ -2049,7 +2049,8 @@ bool LayoutBlock::RecalcOverflowAfterStyleChange() { |
if (ChildNeedsOverflowRecalcAfterStyleChange()) |
children_overflow_changed = RecalcChildOverflowAfterStyleChange(); |
- if (!SelfNeedsOverflowRecalcAfterStyleChange() && !children_overflow_changed) |
+ bool self_needs_overflow_recalc = SelfNeedsOverflowRecalcAfterStyleChange(); |
+ if (!self_needs_overflow_recalc && !children_overflow_changed) |
return false; |
ClearSelfNeedsOverflowRecalcAfterStyleChange(); |
@@ -2066,7 +2067,7 @@ bool LayoutBlock::RecalcOverflowAfterStyleChange() { |
if (HasOverflowClip()) |
Layer()->GetScrollableArea()->UpdateAfterOverflowRecalc(); |
- return !HasOverflowClip(); |
+ return !HasOverflowClip() || self_needs_overflow_recalc; |
} |
// Called when a positioned object moves but doesn't necessarily change size. |