cc: Chromify tree synchronizer and test
[email protected]
BUG=none
Review URL: https://chromiumcodereview.appspot.com/12837004
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@188076 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/cc/tree_synchronizer.cc b/cc/tree_synchronizer.cc
index dfea08e..ecae10d7 100644
--- a/cc/tree_synchronizer.cc
+++ b/cc/tree_synchronizer.cc
@@ -17,162 +17,197 @@
typedef ScopedPtrHashMap<int, LayerImpl> ScopedPtrLayerImplMap;
typedef base::hash_map<int, LayerImpl*> RawPtrLayerImplMap;
-void collectExistingLayerImplRecursive(ScopedPtrLayerImplMap& oldLayers, scoped_ptr<LayerImpl> layerImpl)
-{
- if (!layerImpl)
- return;
+void CollectExistingLayerImplRecursive(ScopedPtrLayerImplMap* old_layers,
+ scoped_ptr<LayerImpl> layer_impl) {
+ if (!layer_impl)
+ return;
- ScopedPtrVector<LayerImpl>& children = layerImpl->children();
- for (ScopedPtrVector<LayerImpl>::iterator it = children.begin(); it != children.end(); ++it)
- collectExistingLayerImplRecursive(oldLayers, children.take(it));
+ ScopedPtrVector<LayerImpl>& children = layer_impl->children();
+ for (ScopedPtrVector<LayerImpl>::iterator it = children.begin();
+ it != children.end();
+ ++it)
+ CollectExistingLayerImplRecursive(old_layers, children.take(it));
- collectExistingLayerImplRecursive(oldLayers, layerImpl->TakeMaskLayer());
- collectExistingLayerImplRecursive(oldLayers, layerImpl->TakeReplicaLayer());
+ CollectExistingLayerImplRecursive(old_layers, layer_impl->TakeMaskLayer());
+ CollectExistingLayerImplRecursive(old_layers, layer_impl->TakeReplicaLayer());
- int id = layerImpl->id();
- oldLayers.set(id, layerImpl.Pass());
+ int id = layer_impl->id();
+ old_layers->set(id, layer_impl.Pass());
}
template <typename LayerType>
-scoped_ptr<LayerImpl> synchronizeTreesInternal(LayerType* layerRoot, scoped_ptr<LayerImpl> oldLayerImplRoot, LayerTreeImpl* treeImpl)
-{
- DCHECK(treeImpl);
+scoped_ptr<LayerImpl> SynchronizeTreesInternal(
+ LayerType* layer_root,
+ scoped_ptr<LayerImpl> old_layer_impl_root,
+ LayerTreeImpl* tree_impl) {
+ DCHECK(tree_impl);
- TRACE_EVENT0("cc", "TreeSynchronizer::synchronizeTrees");
- ScopedPtrLayerImplMap oldLayers;
- RawPtrLayerImplMap newLayers;
+ TRACE_EVENT0("cc", "TreeSynchronizer::SynchronizeTrees");
+ ScopedPtrLayerImplMap old_layers;
+ RawPtrLayerImplMap new_layers;
- collectExistingLayerImplRecursive(oldLayers, oldLayerImplRoot.Pass());
+ CollectExistingLayerImplRecursive(&old_layers, old_layer_impl_root.Pass());
- scoped_ptr<LayerImpl> newTree = synchronizeTreesRecursive(newLayers, oldLayers, layerRoot, treeImpl);
+ scoped_ptr<LayerImpl> new_tree = SynchronizeTreesRecursive(
+ &new_layers, &old_layers, layer_root, tree_impl);
- updateScrollbarLayerPointersRecursive(newLayers, layerRoot);
+ UpdateScrollbarLayerPointersRecursive(&new_layers, layer_root);
- return newTree.Pass();
+ return new_tree.Pass();
}
-scoped_ptr<LayerImpl> TreeSynchronizer::synchronizeTrees(Layer* layerRoot, scoped_ptr<LayerImpl> oldLayerImplRoot, LayerTreeImpl* treeImpl)
-{
- return synchronizeTreesInternal(layerRoot, oldLayerImplRoot.Pass(), treeImpl);
+scoped_ptr<LayerImpl> TreeSynchronizer::SynchronizeTrees(
+ Layer* layer_root,
+ scoped_ptr<LayerImpl> old_layer_impl_root,
+ LayerTreeImpl* tree_impl) {
+ return SynchronizeTreesInternal(
+ layer_root, old_layer_impl_root.Pass(), tree_impl);
}
-scoped_ptr<LayerImpl> TreeSynchronizer::synchronizeTrees(LayerImpl* layerRoot, scoped_ptr<LayerImpl> oldLayerImplRoot, LayerTreeImpl* treeImpl)
-{
- return synchronizeTreesInternal(layerRoot, oldLayerImplRoot.Pass(), treeImpl);
+scoped_ptr<LayerImpl> TreeSynchronizer::SynchronizeTrees(
+ LayerImpl* layer_root,
+ scoped_ptr<LayerImpl> old_layer_impl_root,
+ LayerTreeImpl* tree_impl) {
+ return SynchronizeTreesInternal(
+ layer_root, old_layer_impl_root.Pass(), tree_impl);
}
template <typename LayerType>
-scoped_ptr<LayerImpl> reuseOrCreateLayerImpl(RawPtrLayerImplMap& newLayers, ScopedPtrLayerImplMap& oldLayers, LayerType* layer, LayerTreeImpl* treeImpl)
-{
- scoped_ptr<LayerImpl> layerImpl = oldLayers.take(layer->id());
+scoped_ptr<LayerImpl> ReuseOrCreateLayerImpl(RawPtrLayerImplMap* new_layers,
+ ScopedPtrLayerImplMap* old_layers,
+ LayerType* layer,
+ LayerTreeImpl* tree_impl) {
+ scoped_ptr<LayerImpl> layer_impl = old_layers->take(layer->id());
- if (!layerImpl)
- layerImpl = layer->CreateLayerImpl(treeImpl);
+ if (!layer_impl)
+ layer_impl = layer->CreateLayerImpl(tree_impl);
- newLayers[layer->id()] = layerImpl.get();
- return layerImpl.Pass();
+ (*new_layers)[layer->id()] = layer_impl.get();
+ return layer_impl.Pass();
}
template <typename LayerType>
-scoped_ptr<LayerImpl> synchronizeTreesRecursiveInternal(RawPtrLayerImplMap& newLayers, ScopedPtrLayerImplMap& oldLayers, LayerType* layer, LayerTreeImpl* treeImpl)
-{
- if (!layer)
- return scoped_ptr<LayerImpl>();
+scoped_ptr<LayerImpl> SynchronizeTreesRecursiveInternal(
+ RawPtrLayerImplMap* new_layers,
+ ScopedPtrLayerImplMap* old_layers,
+ LayerType* layer,
+ LayerTreeImpl* tree_impl) {
+ if (!layer)
+ return scoped_ptr<LayerImpl>();
- scoped_ptr<LayerImpl> layerImpl = reuseOrCreateLayerImpl(newLayers, oldLayers, layer, treeImpl);
+ scoped_ptr<LayerImpl> layer_impl =
+ ReuseOrCreateLayerImpl(new_layers, old_layers, layer, tree_impl);
- layerImpl->ClearChildList();
- for (size_t i = 0; i < layer->children().size(); ++i)
- layerImpl->AddChild(synchronizeTreesRecursiveInternal(newLayers, oldLayers, layer->child_at(i), treeImpl));
+ layer_impl->ClearChildList();
+ for (size_t i = 0; i < layer->children().size(); ++i) {
+ layer_impl->AddChild(SynchronizeTreesRecursiveInternal(
+ new_layers, old_layers, layer->child_at(i), tree_impl));
+ }
- layerImpl->SetMaskLayer(synchronizeTreesRecursiveInternal(newLayers, oldLayers, layer->mask_layer(), treeImpl));
- layerImpl->SetReplicaLayer(synchronizeTreesRecursiveInternal(newLayers, oldLayers, layer->replica_layer(), treeImpl));
+ layer_impl->SetMaskLayer(SynchronizeTreesRecursiveInternal(
+ new_layers, old_layers, layer->mask_layer(), tree_impl));
+ layer_impl->SetReplicaLayer(SynchronizeTreesRecursiveInternal(
+ new_layers, old_layers, layer->replica_layer(), tree_impl));
- // Remove all dangling pointers. The pointers will be setup later in updateScrollbarLayerPointersRecursive phase
- layerImpl->SetHorizontalScrollbarLayer(NULL);
- layerImpl->SetVerticalScrollbarLayer(NULL);
+ // Remove all dangling pointers. The pointers will be setup later in
+ // UpdateScrollbarLayerPointersRecursive phase
+ layer_impl->SetHorizontalScrollbarLayer(NULL);
+ layer_impl->SetVerticalScrollbarLayer(NULL);
- return layerImpl.Pass();
+ return layer_impl.Pass();
}
-scoped_ptr<LayerImpl> synchronizeTreesRecursive(RawPtrLayerImplMap& newLayers, ScopedPtrLayerImplMap& oldLayers, Layer* layer, LayerTreeImpl* treeImpl)
-{
- return synchronizeTreesRecursiveInternal(newLayers, oldLayers, layer, treeImpl);
+scoped_ptr<LayerImpl> SynchronizeTreesRecursive(
+ RawPtrLayerImplMap* new_layers,
+ ScopedPtrLayerImplMap* old_layers,
+ Layer* layer,
+ LayerTreeImpl* tree_impl) {
+ return SynchronizeTreesRecursiveInternal(
+ new_layers, old_layers, layer, tree_impl);
}
-scoped_ptr<LayerImpl> synchronizeTreesRecursive(RawPtrLayerImplMap& newLayers, ScopedPtrLayerImplMap& oldLayers, LayerImpl* layer, LayerTreeImpl* treeImpl)
-{
- return synchronizeTreesRecursiveInternal(newLayers, oldLayers, layer, treeImpl);
+scoped_ptr<LayerImpl> SynchronizeTreesRecursive(
+ RawPtrLayerImplMap* new_layers,
+ ScopedPtrLayerImplMap* old_layers,
+ LayerImpl* layer,
+ LayerTreeImpl* tree_impl) {
+ return SynchronizeTreesRecursiveInternal(
+ new_layers, old_layers, layer, tree_impl);
}
template <typename LayerType, typename ScrollbarLayerType>
-void updateScrollbarLayerPointersRecursiveInternal(const RawPtrLayerImplMap& newLayers, LayerType* layer)
-{
- if (!layer)
- return;
+void UpdateScrollbarLayerPointersRecursiveInternal(
+ const RawPtrLayerImplMap* new_layers,
+ LayerType* layer) {
+ if (!layer)
+ return;
- for (size_t i = 0; i < layer->children().size(); ++i)
- updateScrollbarLayerPointersRecursiveInternal<LayerType, ScrollbarLayerType>(newLayers, layer->child_at(i));
+ for (size_t i = 0; i < layer->children().size(); ++i) {
+ UpdateScrollbarLayerPointersRecursiveInternal<
+ LayerType, ScrollbarLayerType>(new_layers, layer->child_at(i));
+ }
- ScrollbarLayerType* scrollbarLayer = layer->ToScrollbarLayer();
- if (!scrollbarLayer)
- return;
+ ScrollbarLayerType* scrollbar_layer = layer->ToScrollbarLayer();
+ if (!scrollbar_layer)
+ return;
- RawPtrLayerImplMap::const_iterator iter = newLayers.find(scrollbarLayer->id());
- ScrollbarLayerImpl* scrollbarLayerImpl = iter != newLayers.end() ? static_cast<ScrollbarLayerImpl*>(iter->second) : NULL;
- iter = newLayers.find(scrollbarLayer->scroll_layer_id());
- LayerImpl* scrollLayerImpl = iter != newLayers.end() ? iter->second : NULL;
+ RawPtrLayerImplMap::const_iterator iter =
+ new_layers->find(scrollbar_layer->id());
+ ScrollbarLayerImpl* scrollbar_layer_impl =
+ iter != new_layers->end() ? static_cast<ScrollbarLayerImpl*>(iter->second)
+ : NULL;
+ iter = new_layers->find(scrollbar_layer->scroll_layer_id());
+ LayerImpl* scroll_layer_impl =
+ iter != new_layers->end() ? iter->second : NULL;
- DCHECK(scrollbarLayerImpl);
- DCHECK(scrollLayerImpl);
+ DCHECK(scrollbar_layer_impl);
+ DCHECK(scroll_layer_impl);
- if (scrollbarLayer->Orientation() == WebKit::WebScrollbar::Horizontal)
- scrollLayerImpl->SetHorizontalScrollbarLayer(scrollbarLayerImpl);
- else
- scrollLayerImpl->SetVerticalScrollbarLayer(scrollbarLayerImpl);
+ if (scrollbar_layer->Orientation() == WebKit::WebScrollbar::Horizontal)
+ scroll_layer_impl->SetHorizontalScrollbarLayer(scrollbar_layer_impl);
+ else
+ scroll_layer_impl->SetVerticalScrollbarLayer(scrollbar_layer_impl);
}
-void updateScrollbarLayerPointersRecursive(const RawPtrLayerImplMap& newLayers, Layer* layer)
-{
- updateScrollbarLayerPointersRecursiveInternal<Layer, ScrollbarLayer>(newLayers, layer);
+void UpdateScrollbarLayerPointersRecursive(const RawPtrLayerImplMap* new_layers,
+ Layer* layer) {
+ UpdateScrollbarLayerPointersRecursiveInternal<Layer, ScrollbarLayer>(
+ new_layers, layer);
}
-void updateScrollbarLayerPointersRecursive(const RawPtrLayerImplMap& newLayers, LayerImpl* layer)
-{
- updateScrollbarLayerPointersRecursiveInternal<LayerImpl, ScrollbarLayerImpl>(newLayers, layer);
+void UpdateScrollbarLayerPointersRecursive(const RawPtrLayerImplMap* new_layers,
+ LayerImpl* layer) {
+ UpdateScrollbarLayerPointersRecursiveInternal<LayerImpl, ScrollbarLayerImpl>(
+ new_layers, layer);
}
template <typename LayerType>
-void pushPropertiesInternal(LayerType* layer, LayerImpl* layerImpl)
-{
- if (!layer) {
- DCHECK(!layerImpl);
- return;
- }
+void PushPropertiesInternal(LayerType* layer, LayerImpl* layer_impl) {
+ if (!layer) {
+ DCHECK(!layer_impl);
+ return;
+ }
- DCHECK_EQ(layer->id(), layerImpl->id());
- layer->PushPropertiesTo(layerImpl);
+ DCHECK_EQ(layer->id(), layer_impl->id());
+ layer->PushPropertiesTo(layer_impl);
- pushPropertiesInternal(layer->mask_layer(), layerImpl->mask_layer());
- pushPropertiesInternal(layer->replica_layer(), layerImpl->replica_layer());
+ PushPropertiesInternal(layer->mask_layer(), layer_impl->mask_layer());
+ PushPropertiesInternal(layer->replica_layer(), layer_impl->replica_layer());
- const ScopedPtrVector<LayerImpl>& implChildren = layerImpl->children();
- DCHECK_EQ(layer->children().size(), implChildren.size());
+ const ScopedPtrVector<LayerImpl>& impl_children = layer_impl->children();
+ DCHECK_EQ(layer->children().size(), impl_children.size());
- for (size_t i = 0; i < layer->children().size(); ++i) {
- pushPropertiesInternal(layer->child_at(i), implChildren[i]);
- }
+ for (size_t i = 0; i < layer->children().size(); ++i) {
+ PushPropertiesInternal(layer->child_at(i), impl_children[i]);
+ }
}
-void TreeSynchronizer::pushProperties(Layer* layer, LayerImpl* layerImpl)
-{
- pushPropertiesInternal(layer, layerImpl);
+void TreeSynchronizer::PushProperties(Layer* layer, LayerImpl* layer_impl) {
+ PushPropertiesInternal(layer, layer_impl);
}
-void TreeSynchronizer::pushProperties(LayerImpl* layer, LayerImpl* layerImpl)
-{
- pushPropertiesInternal(layer, layerImpl);
+void TreeSynchronizer::PushProperties(LayerImpl* layer, LayerImpl* layer_impl) {
+ PushPropertiesInternal(layer, layer_impl);
}
-
} // namespace cc