Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(245)

Side by Side Diff: ui/compositor/layer_tree_owner.cc

Issue 2383263002: Generalize layer mirroring for phantom windows (Closed)
Patch Set: Rebase Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/compositor/layer_tree_owner.h ('k') | ui/compositor/layer_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
OLDNEW
« no previous file with comments | « ui/compositor/layer_tree_owner.h ('k') | ui/compositor/layer_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698