Chromium Code Reviews| Index: Source/WebCore/rendering/RenderLayerModelObject.cpp |
| diff --git a/Source/WebCore/rendering/RenderLayerModelObject.cpp b/Source/WebCore/rendering/RenderLayerModelObject.cpp |
| index ec7d69be201065374c4e88fd5ccff9bfc2a24b4e..22cb8b7a1ea19fae67921ffb1069ebed89d9f63e 100644 |
| --- a/Source/WebCore/rendering/RenderLayerModelObject.cpp |
| +++ b/Source/WebCore/rendering/RenderLayerModelObject.cpp |
| @@ -33,11 +33,6 @@ using namespace std; |
| namespace WebCore { |
| -bool RenderLayerModelObject::s_wasFloating = false; |
| -bool RenderLayerModelObject::s_hadLayer = false; |
| -bool RenderLayerModelObject::s_hadTransform = false; |
| -bool RenderLayerModelObject::s_layerWasSelfPainting = false; |
| - |
| RenderLayerModelObject::RenderLayerModelObject(ContainerNode* node) |
| : RenderObject(node) |
| , m_layer(0) |
| @@ -90,13 +85,12 @@ void RenderLayerModelObject::willBeDestroyed() |
| RenderObject::willBeDestroyed(); |
| } |
| -void RenderLayerModelObject::styleWillChange(StyleDifference diff, const RenderStyle* newStyle) |
| +void RenderLayerModelObject::styleWillChange(StyleDifference diff, const RenderStyle* newStyle, StyleChangeState& state) |
| { |
| - s_wasFloating = isFloating(); |
| - s_hadLayer = hasLayer(); |
| - s_hadTransform = hasTransform(); |
| - if (s_hadLayer) |
| - s_layerWasSelfPainting = layer()->isSelfPaintingLayer(); |
| + state.wasFloating = isFloating(); |
| + state.hadLayer = hasLayer(); |
| + state.hadTransform = hasTransform(); |
| + state.layerWasSelfPainting = hasSelfPaintingLayer(); |
|
eseidel
2013/04/05 01:50:36
This no longer needs to be conditional?
esprehn
2013/04/17 03:29:01
The conditional is still there, it's just inside h
|
| // If our z-index changes value or our visibility changes, |
| // we need to dirty our stacking context's z-order list. |
| @@ -137,17 +131,17 @@ void RenderLayerModelObject::styleWillChange(StyleDifference diff, const RenderS |
| } |
| } |
| - RenderObject::styleWillChange(diff, newStyle); |
| + RenderObject::styleWillChange(diff, newStyle, state); |
| } |
| -void RenderLayerModelObject::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle) |
| +void RenderLayerModelObject::styleDidChange(StyleDifference diff, const RenderStyle* oldStyle, const StyleChangeState& state) |
| { |
| - RenderObject::styleDidChange(diff, oldStyle); |
| - updateFromStyle(); |
| + RenderObject::styleDidChange(diff, oldStyle, state); |
| + updateFromStyle(state); |
| if (requiresLayer()) { |
| if (!layer() && layerCreationAllowedForSubtree()) { |
| - if (s_wasFloating && isFloating()) |
| + if (state.wasFloating && isFloating()) |
| setChildNeedsLayout(true); |
| ensureLayer(); |
| if (parent() && !needsLayout() && containingBlock()) { |
| @@ -161,15 +155,15 @@ void RenderLayerModelObject::styleDidChange(StyleDifference diff, const RenderSt |
| setHasTransform(false); // Either a transform wasn't specified or the object doesn't support transforms, so just null out the bit. |
| setHasReflection(false); |
| layer()->removeOnlyThisLayer(); // calls destroyLayer() which clears m_layer |
| - if (s_wasFloating && isFloating()) |
| + if (state.wasFloating && isFloating()) |
| setChildNeedsLayout(true); |
| - if (s_hadTransform) |
| + if (state.hadTransform) |
| setNeedsLayoutAndPrefWidthsRecalc(); |
| } |
| if (layer()) { |
| layer()->styleChanged(diff, oldStyle); |
| - if (s_hadLayer && layer()->isSelfPaintingLayer() != s_layerWasSelfPainting) |
| + if (state.hadLayer && layer()->isSelfPaintingLayer() != state.layerWasSelfPainting) |
| setChildNeedsLayout(true); |
| } |