| 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()
|
|
|