| Index: cc/layer_tree_host_impl.cc
|
| diff --git a/cc/layer_tree_host_impl.cc b/cc/layer_tree_host_impl.cc
|
| index 9d42698bae2a192a8e6884cd6011c818bd8040d1..9c217b0dd0f63b9be06658ebc36defa46c291f30 100644
|
| --- a/cc/layer_tree_host_impl.cc
|
| +++ b/cc/layer_tree_host_impl.cc
|
| @@ -1709,4 +1709,30 @@ void LayerTreeHostImpl::animateScrollbarsRecursive(LayerImpl* layer, base::TimeT
|
| animateScrollbarsRecursive(layer->children()[i], time);
|
| }
|
|
|
| +// static
|
| +LayerImpl* LayerTreeHostImpl::getNonCompositedContentLayerRecursive(LayerImpl* layer)
|
| +{
|
| + if (!layer)
|
| + return NULL;
|
| +
|
| + if (layer->drawsContent())
|
| + return layer;
|
| +
|
| + for (LayerImpl::LayerList::const_iterator it = layer->children().begin();
|
| + it != layer->children().end(); ++it) {
|
| + LayerImpl* nccr = getNonCompositedContentLayerRecursive(*it);
|
| + if (nccr)
|
| + return nccr;
|
| + }
|
| +
|
| + return NULL;
|
| +}
|
| +
|
| +skia::RefPtr<SkPicture> LayerTreeHostImpl::capturePicture()
|
| +{
|
| + LayerTreeImpl* tree = pendingTree() ? pendingTree() : activeTree();
|
| + LayerImpl* layer = getNonCompositedContentLayerRecursive(tree->RootLayer());
|
| + return layer ? layer->getPicture() : skia::RefPtr<SkPicture>();
|
| +}
|
| +
|
| } // namespace cc
|
|
|