Index: Source/WebCore/rendering/RenderLayerBacking.cpp |
=================================================================== |
--- Source/WebCore/rendering/RenderLayerBacking.cpp (revision 106839) |
+++ Source/WebCore/rendering/RenderLayerBacking.cpp (working copy) |
@@ -403,8 +403,12 @@ |
#endif |
m_owningLayer->updateVisibilityStatus(); |
- m_graphicsLayer->setContentsVisible(m_owningLayer->hasVisibleContent()); |
- |
+ |
+ // m_graphicsLayer is the corresponding GraphicsLayer for this RenderLayer and its non-compositing |
+ // descendants. So, the visibility flag for m_graphicsLayer should be true if there are any |
+ // non-compositing visible layers. |
+ m_graphicsLayer->setContentsVisible(m_owningLayer->hasVisibleContent() || hasVisibleNonCompositingDescendantLayers()); |
+ |
RenderStyle* style = renderer()->style(); |
m_graphicsLayer->setPreserves3D(style->transformStyle3D() == TransformStyle3DPreserve3D && !renderer()->hasReflection()); |
m_graphicsLayer->setBackfaceVisibility(style->backfaceVisibility() == BackfaceVisibilityVisible); |