Index: cc/layer_impl.cc |
diff --git a/cc/layer_impl.cc b/cc/layer_impl.cc |
index 81bc49f01aafb4a2ea926f0412e3764a5c786d8a..42391038db4d400dc257977e47ab13d3a7a0f123 100644 |
--- a/cc/layer_impl.cc |
+++ b/cc/layer_impl.cc |
@@ -112,13 +112,17 @@ void LayerImpl::createRenderSurface() |
setRenderTarget(this); |
} |
-bool LayerImpl::descendantDrawsContent() |
+int LayerImpl::descendantsDrawContent() |
{ |
+ int result = 0; |
for (size_t i = 0; i < m_children.size(); ++i) { |
- if (m_children[i]->drawsContent() || m_children[i]->descendantDrawsContent()) |
- return true; |
+ if (m_children[i]->drawsContent()) |
+ ++result; |
+ result += m_children[i]->descendantsDrawContent(); |
+ if (result > 1) |
+ return result; |
} |
- return false; |
+ return result; |
} |
scoped_ptr<SharedQuadState> LayerImpl::createSharedQuadState() const |