| Index: Source/core/rendering/RenderObject.cpp
|
| diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp
|
| index 5ca9dad46bcacf56a0506aa4028e310fef1eacea..db5ef71b13302b5afbdec65c122054342ccf2124 100644
|
| --- a/Source/core/rendering/RenderObject.cpp
|
| +++ b/Source/core/rendering/RenderObject.cpp
|
| @@ -2000,9 +2000,6 @@ void RenderObject::handleDynamicFloatPositionChange()
|
|
|
| StyleDifference RenderObject::adjustStyleDifference(StyleDifference diff, unsigned contextSensitiveProperties) const
|
| {
|
| - // FIXME: The calls to hasDirectReasonsForCompositing are using state that may not be up to date.
|
| - DisableCompositingQueryAsserts disabler;
|
| -
|
| if (contextSensitiveProperties & ContextSensitivePropertyTransform && isSVG())
|
| diff.setNeedsFullLayout();
|
|
|
| @@ -2010,7 +2007,7 @@ StyleDifference RenderObject::adjustStyleDifference(StyleDifference diff, unsign
|
| if (contextSensitiveProperties & ContextSensitivePropertyTransform) {
|
| // Text nodes share style with their parents but transforms don't apply to them,
|
| // hence the !isText() check.
|
| - if (!isText() && (!hasLayer() || !toRenderLayerModelObject(this)->layer()->hasDirectReasonsForCompositing()))
|
| + if (!isText() && (!hasLayer() || !toRenderLayerModelObject(this)->layer()->styleDeterminedCompositingReasons()))
|
| diff.setNeedsRepaintLayer();
|
| else
|
| diff.setNeedsRecompositeLayer();
|
| @@ -2019,7 +2016,7 @@ StyleDifference RenderObject::adjustStyleDifference(StyleDifference diff, unsign
|
| // If opacity or zIndex changed, and the layer does not paint into its own separate backing, then we need to repaint (also
|
| // ignoring text nodes)
|
| if (contextSensitiveProperties & (ContextSensitivePropertyOpacity | ContextSensitivePropertyZIndex)) {
|
| - if (!isText() && (!hasLayer() || !toRenderLayerModelObject(this)->layer()->hasDirectReasonsForCompositing()))
|
| + if (!isText() && (!hasLayer() || !toRenderLayerModelObject(this)->layer()->styleDeterminedCompositingReasons()))
|
| diff.setNeedsRepaintLayer();
|
| else
|
| diff.setNeedsRecompositeLayer();
|
| @@ -2028,7 +2025,7 @@ StyleDifference RenderObject::adjustStyleDifference(StyleDifference diff, unsign
|
| // If filter changed, and the layer does not paint into its own separate backing or it paints with filters, then we need to repaint.
|
| if ((contextSensitiveProperties & ContextSensitivePropertyFilter) && hasLayer()) {
|
| RenderLayer* layer = toRenderLayerModelObject(this)->layer();
|
| - if (!layer->hasDirectReasonsForCompositing() || layer->paintsWithFilters())
|
| + if (!layer->styleDeterminedCompositingReasons() || layer->paintsWithFilters())
|
| diff.setNeedsRepaintLayer();
|
| else
|
| diff.setNeedsRecompositeLayer();
|
|
|