| Index: Source/core/rendering/RenderLayerModelObject.cpp
|
| diff --git a/Source/core/rendering/RenderLayerModelObject.cpp b/Source/core/rendering/RenderLayerModelObject.cpp
|
| index e340de3fd4ebb33283c95641b5379b1fb386d4aa..947731dcd94047c9164f167cafa75e8f20f95f73 100644
|
| --- a/Source/core/rendering/RenderLayerModelObject.cpp
|
| +++ b/Source/core/rendering/RenderLayerModelObject.cpp
|
| @@ -104,6 +104,8 @@ void RenderLayerModelObject::styleWillChange(StyleDifference diff, const RenderS
|
| void RenderLayerModelObject::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle)
|
| {
|
| bool hadTransform = hasTransform();
|
| + bool hadLayer = hasLayer();
|
| + bool layerWasSelfPainting = hadLayer && layer()->isSelfPaintingLayer();
|
|
|
| RenderObject::styleDidChange(diff, oldStyle);
|
| updateFromStyle();
|
| @@ -136,7 +138,10 @@ void RenderLayerModelObject::styleDidChange(StyleDifference diff, const RenderSt
|
| // FIXME: Ideally we shouldn't need this setter but we can't easily infer an overflow-only layer
|
| // from the style.
|
| layer()->setLayerType(type);
|
| +
|
| layer()->styleChanged(diff, oldStyle);
|
| + if (hadLayer && layer()->isSelfPaintingLayer() != layerWasSelfPainting)
|
| + setChildNeedsLayout();
|
| }
|
|
|
| if (FrameView *frameView = view()->frameView()) {
|
|
|