Index: Source/core/rendering/compositing/CompositedLayerMapping.cpp |
diff --git a/Source/core/rendering/compositing/CompositedLayerMapping.cpp b/Source/core/rendering/compositing/CompositedLayerMapping.cpp |
index 3f3eeb5bc620195b3bcd7e04d5f38dbf2058e7f6..e109d9435e44b204b73215c9fe2cfe7eb52d7a83 100644 |
--- a/Source/core/rendering/compositing/CompositedLayerMapping.cpp |
+++ b/Source/core/rendering/compositing/CompositedLayerMapping.cpp |
@@ -1061,7 +1061,7 @@ void CompositedLayerMapping::updateDrawsContent() |
bool hasNonScrollingPaintedContent = m_owningLayer.hasVisibleContent() && m_owningLayer.hasBoxDecorationsOrBackground(); |
m_graphicsLayer->setDrawsContent(hasNonScrollingPaintedContent); |
- bool hasScrollingPaintedContent = m_owningLayer.hasVisibleContent() && (renderer()->hasBackground() || paintsChildren()); |
+ bool hasScrollingPaintedContent = m_owningLayer.hasVisibleContent() && (renderer()->hasBackground() || paintsChildren() || hasScrollChildren()); |
m_scrollingContentsLayer->setDrawsContent(hasScrollingPaintedContent); |
return; |
} |
@@ -1482,6 +1482,14 @@ void CompositedLayerMapping::updateScrollParent(RenderLayer* scrollParent) |
} |
} |
+bool CompositedLayerMapping::hasScrollChildren() |
+{ |
+ ScrollingCoordinator* scrollingCoordinator = scrollingCoordinatorFromLayer(m_owningLayer); |
+ if (!scrollingCoordinator) |
+ return false; |
+ return scrollingCoordinator->hasScrollChildren(parentForSublayers()); |
+} |
+ |
void CompositedLayerMapping::updateClipParent(RenderLayer* clipParent) |
{ |
if (ScrollingCoordinator* scrollingCoordinator = scrollingCoordinatorFromLayer(m_owningLayer)) |