Index: Source/core/rendering/RenderLayer.h |
diff --git a/Source/core/rendering/RenderLayer.h b/Source/core/rendering/RenderLayer.h |
index 1c957f658880c3adee84cf105dbd4220ffa8f39d..848185358533703f9a239c6d96fa39ea9714d880 100644 |
--- a/Source/core/rendering/RenderLayer.h |
+++ b/Source/core/rendering/RenderLayer.h |
@@ -462,12 +462,21 @@ public: |
// Only safe to call from RenderLayerModelObject::destroyLayer() |
void operator delete(void*); |
- bool isComposited() const { return m_compositedLayerMapping; } |
- bool hasCompositedMask() const; |
- bool hasCompositedClippingMask() const; |
- CompositedLayerMapping* compositedLayerMapping() const { return m_compositedLayerMapping.get(); } |
+ CompositingState compositingState() const; |
+ |
+ CompositedLayerMapping* compositedLayerMapping() const |
+ { |
+ // NOTE: Checking whether backing exists is equivalent to asking if you are in one of these two compositing states. |
+ // If this is why you are using backing(), please try to use compositingState() instead. |
+ ASSERT(compositingState() == HasOwnBackingButPaintsIntoAncestor || compositingState() == PaintsIntoOwnBacking); |
+ return m_compositedLayerMapping.get(); |
+ } |
+ |
CompositedLayerMapping* ensureCompositedLayerMapping(); |
void clearCompositedLayerMapping(bool layerBeingDestroyed = false); |
+ |
+ bool hasCompositedMask() const; |
+ bool hasCompositedClippingMask() const; |
bool needsCompositedScrolling() const; |
bool needsToBeStackingContainer() const; |
@@ -480,7 +489,7 @@ public: |
bool paintsWithTransparency(PaintBehavior paintBehavior) const |
{ |
- return isTransparent() && ((paintBehavior & PaintBehaviorFlattenCompositingLayers) || !isComposited()); |
+ return isTransparent() && ((paintBehavior & PaintBehaviorFlattenCompositingLayers) || compositingState() != PaintsIntoOwnBacking); |
} |
bool paintsWithTransform(PaintBehavior) const; |