| OLD | NEW | 
|---|
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #include "ui/compositor/layer_tree_owner.h" | 5 #include "ui/compositor/layer_tree_owner.h" | 
| 6 | 6 | 
| 7 #include "ui/compositor/layer.h" | 7 #include "ui/compositor/layer.h" | 
| 8 | 8 | 
| 9 namespace ui { | 9 namespace ui { | 
| 10 | 10 | 
| 11 namespace { | 11 namespace { | 
| 12 | 12 | 
| 13 // Deletes |layer| and all its descendants. | 13 // Deletes |layer| and all its descendants. | 
| 14 void DeepDeleteLayers(Layer* layer) { | 14 void DeepDeleteLayers(Layer* layer) { | 
| 15   std::vector<Layer*> children = layer->children(); | 15   std::vector<Layer*> children = layer->children(); | 
| 16   for (std::vector<Layer*>::const_iterator it = children.begin(); | 16   for (std::vector<Layer*>::const_iterator it = children.begin(); | 
| 17        it != children.end(); | 17        it != children.end(); | 
| 18        ++it) { | 18        ++it) { | 
| 19     Layer* child = *it; | 19     Layer* child = *it; | 
| 20     DeepDeleteLayers(child); | 20     DeepDeleteLayers(child); | 
| 21   } | 21   } | 
| 22   delete layer; | 22   delete layer; | 
| 23 } | 23 } | 
| 24 | 24 | 
| 25 }  // namespace | 25 }  // namespace | 
| 26 | 26 | 
| 27 LayerTreeOwner::LayerTreeOwner(Layer* root) : root_(root) {} | 27 LayerTreeOwner::LayerTreeOwner(std::unique_ptr<Layer> root) | 
|  | 28     : root_(root.release()) {} | 
| 28 | 29 | 
| 29 LayerTreeOwner::~LayerTreeOwner() { | 30 LayerTreeOwner::~LayerTreeOwner() { | 
| 30   if (root_) | 31   if (root_) | 
| 31     DeepDeleteLayers(root_); | 32     DeepDeleteLayers(root_); | 
| 32 } | 33 } | 
| 33 | 34 | 
| 34 }  // namespace ui | 35 }  // namespace ui | 
| OLD | NEW | 
|---|