Index: Source/core/layout/LayoutBox.cpp |
diff --git a/Source/core/layout/LayoutBox.cpp b/Source/core/layout/LayoutBox.cpp |
index aff8b7f4339afcf14c19215ae9c50f6b2c768c16..7a99166e89d02c591e927375b2a579f63b7c002b 100644 |
--- a/Source/core/layout/LayoutBox.cpp |
+++ b/Source/core/layout/LayoutBox.cpp |
@@ -157,6 +157,10 @@ void LayoutBox::styleWillChange(StyleDifference diff, const ComputedStyle& newSt |
{ |
const ComputedStyle* oldStyle = style(); |
if (oldStyle) { |
+ LayoutFlowThread* flowThread = flowThreadContainingBlock(); |
+ if (flowThread && flowThread != this) |
+ flowThread->flowThreadDescendantStyleWillChange(this, diff, newStyle); |
+ |
// The background of the root element or the body element could propagate up to |
// the canvas. Just dirty the entire canvas when our style changes substantially. |
if ((diff.needsPaintInvalidation() || diff.needsLayout()) && node() |
@@ -243,6 +247,12 @@ void LayoutBox::styleDidChange(StyleDifference diff, const ComputedStyle* oldSty |
placeholder->layoutObjectInFlowThreadStyleDidChange(oldStyle); |
updateSlowRepaintStatusAfterStyleChange(); |
+ |
+ if (oldStyle) { |
+ LayoutFlowThread* flowThread = flowThreadContainingBlock(); |
+ if (flowThread && flowThread != this) |
+ flowThread->flowThreadDescendantStyleDidChange(this, diff, *oldStyle); |
+ } |
} |
void LayoutBox::updateSlowRepaintStatusAfterStyleChange() |