| Index: Source/core/rendering/RenderObject.cpp
|
| diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp
|
| index a8212875831dd180644ced4772bfe203de4c5144..6724009ef6eb1d03b617763c1b7af243a972d3da 100644
|
| --- a/Source/core/rendering/RenderObject.cpp
|
| +++ b/Source/core/rendering/RenderObject.cpp
|
| @@ -1367,7 +1367,7 @@ void RenderObject::repaintUsingContainer(const RenderLayerModelObject* repaintCo
|
| RenderView* v = view();
|
| if (repaintContainer->isRenderView()) {
|
| ASSERT(repaintContainer == v);
|
| - bool viewHasCompositedLayer = v->hasLayer() && v->layer()->isComposited();
|
| + bool viewHasCompositedLayer = v->hasLayer() && v->layer()->compositingState() == PaintsIntoOwnBacking;
|
| if (!viewHasCompositedLayer) {
|
| IntRect repaintRectangle = r;
|
| if (viewHasCompositedLayer && v->layer()->transform())
|
| @@ -1378,7 +1378,7 @@ void RenderObject::repaintUsingContainer(const RenderLayerModelObject* repaintCo
|
| }
|
|
|
| if (v->usesCompositing()) {
|
| - ASSERT(repaintContainer->hasLayer() && repaintContainer->layer()->isComposited());
|
| + ASSERT(repaintContainer->hasLayer() && repaintContainer->layer()->compositingState() == PaintsIntoOwnBacking);
|
| repaintContainer->layer()->setBackingNeedsRepaintInRect(r);
|
| }
|
| }
|
| @@ -1748,7 +1748,7 @@ StyleDifference RenderObject::adjustStyleDifference(StyleDifference diff, unsign
|
| // Text nodes share style with their parents but transforms don't apply to them,
|
| // hence the !isText() check.
|
| // FIXME: when transforms are taken into account for overflow, we will need to do a layout.
|
| - if (!isText() && (!hasLayer() || !toRenderLayerModelObject(this)->layer()->isComposited())) {
|
| + if (!isText() && (!hasLayer() || toRenderLayerModelObject(this)->layer()->compositingState() != PaintsIntoOwnBacking)) {
|
| // We need to set at least SimplifiedLayout, but if PositionedMovementOnly is already set
|
| // then we actually need SimplifiedLayoutAndPositionedMovement.
|
| if (!hasLayer())
|
| @@ -1764,7 +1764,7 @@ StyleDifference RenderObject::adjustStyleDifference(StyleDifference diff, unsign
|
| // If opacity changed, and we are not composited, need to repaint (also
|
| // ignoring text nodes)
|
| if (contextSensitiveProperties & ContextSensitivePropertyOpacity) {
|
| - if (!isText() && (!hasLayer() || !toRenderLayerModelObject(this)->layer()->isComposited()))
|
| + if (!isText() && (!hasLayer() || toRenderLayerModelObject(this)->layer()->compositingState() != PaintsIntoOwnBacking))
|
| diff = StyleDifferenceRepaintLayer;
|
| else if (diff < StyleDifferenceRecompositeLayer)
|
| diff = StyleDifferenceRecompositeLayer;
|
| @@ -1772,7 +1772,7 @@ StyleDifference RenderObject::adjustStyleDifference(StyleDifference diff, unsign
|
|
|
| if ((contextSensitiveProperties & ContextSensitivePropertyFilter) && hasLayer()) {
|
| RenderLayer* layer = toRenderLayerModelObject(this)->layer();
|
| - if (!layer->isComposited() || layer->paintsWithFilters())
|
| + if (layer->compositingState() != PaintsIntoOwnBacking || layer->paintsWithFilters())
|
| diff = StyleDifferenceRepaintLayer;
|
| else if (diff < StyleDifferenceRecompositeLayer)
|
| diff = StyleDifferenceRecompositeLayer;
|
| @@ -2718,9 +2718,9 @@ void RenderObject::updateDragState(bool dragOn)
|
| curr->updateDragState(dragOn);
|
| }
|
|
|
| -bool RenderObject::isComposited() const
|
| +CompositingState RenderObject::compositingState() const
|
| {
|
| - return hasLayer() && toRenderLayerModelObject(this)->layer()->isComposited();
|
| + return hasLayer() ? toRenderLayerModelObject(this)->layer()->compositingState() : NotComposited;
|
| }
|
|
|
| bool RenderObject::canResize() const
|
|
|