Index: cc/layer.cc |
diff --git a/cc/layer.cc b/cc/layer.cc |
index dfc1c91a9d5e4eb877a38abc04ee07846c7fcd4e..f5c57e0e01bf004988e091811e93671027c19940 100644 |
--- a/cc/layer.cc |
+++ b/cc/layer.cc |
@@ -129,6 +129,22 @@ bool Layer::blocksPendingCommit() const |
return false; |
} |
+bool Layer::blocksPendingCommitRecursive() const |
+{ |
+ if (blocksPendingCommit()) |
+ return true; |
+ if (maskLayer() && maskLayer()->blocksPendingCommitRecursive()) |
+ return true; |
+ if (replicaLayer() && replicaLayer()->blocksPendingCommitRecursive()) |
+ return true; |
+ for (size_t i = 0; i < m_children.size(); ++i) |
+ { |
+ if (m_children[i]->blocksPendingCommitRecursive()) |
+ return true; |
+ } |
+ return false; |
+} |
+ |
void Layer::setParent(Layer* layer) |
{ |
DCHECK(!layer || !layer->hasAncestor(this)); |