| Index: cc/layer_tree_host.cc
|
| diff --git a/cc/layer_tree_host.cc b/cc/layer_tree_host.cc
|
| index 91276deb8ad5bcb005ec733ce1713e3e0f543d63..ca6d2633b517b429d1a32482b863e6a93d01c7e2 100644
|
| --- a/cc/layer_tree_host.cc
|
| +++ b/cc/layer_tree_host.cc
|
| @@ -900,4 +900,28 @@ void LayerTreeHost::setAnimationEventsRecursive(const AnimationEventsVector& eve
|
| setAnimationEventsRecursive(events, layer->children()[childIndex].get(), wallClockTime);
|
| }
|
|
|
| +Layer* LayerTreeHost::getFirstLayerWithTags(unsigned int tags) const
|
| +{
|
| + std::queue<Layer*> layers;
|
| + layers.push(m_rootLayer.get());
|
| +
|
| + while (!layers.empty()) {
|
| + Layer* layer = layers.front();
|
| + layers.pop();
|
| +
|
| + if (!layer)
|
| + return NULL;
|
| +
|
| + if (layer->getTags() & tags)
|
| + return layer;
|
| +
|
| + for (LayerList::const_iterator it = layer->children().begin();
|
| + it != layer->children().end(); ++it) {
|
| + layers.push(it->get());
|
| + }
|
| + }
|
| +
|
| + return NULL;
|
| +}
|
| +
|
| } // namespace cc
|
|
|