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

Side by Side Diff: mojo/services/public/cpp/view_manager/lib/view_manager_private.cc

Issue 311373005: Nesting (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 6 months 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 | Annotate | Revision Log
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 "mojo/services/public/cpp/view_manager/lib/view_manager_private.h" 5 #include "mojo/services/public/cpp/view_manager/lib/view_manager_private.h"
6 6
7 #include "mojo/services/public/cpp/view_manager/lib/view_tree_node_private.h" 7 #include "mojo/services/public/cpp/view_manager/lib/view_tree_node_private.h"
8 #include "mojo/services/public/cpp/view_manager/view_tree_node_observer.h" 8 #include "mojo/services/public/cpp/view_manager/view_tree_node_observer.h"
9 9
10 namespace mojo { 10 namespace mojo {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 void ViewManagerPrivate::AddRoot(ViewTreeNode* root) { 43 void ViewManagerPrivate::AddRoot(ViewTreeNode* root) {
44 // A new root must not already exist as a root or be contained by an existing 44 // A new root must not already exist as a root or be contained by an existing
45 // hierarchy visible to this view manager. 45 // hierarchy visible to this view manager.
46 std::vector<ViewTreeNode*>::const_iterator it = manager_->roots().begin(); 46 std::vector<ViewTreeNode*>::const_iterator it = manager_->roots().begin();
47 for (; it != manager_->roots().end(); ++it) { 47 for (; it != manager_->roots().end(); ++it) {
48 if (*it == root || (*it)->Contains(root)) 48 if (*it == root || (*it)->Contains(root))
49 return; 49 return;
50 } 50 }
51 manager_->roots_.push_back(root); 51 manager_->roots_.push_back(root);
52 root->AddObserver(new RootObserver(root)); 52 root->AddObserver(new RootObserver(root));
53 if (!manager_->root_added_callback_.is_null()) 53 manager_->delegate_->OnRootAdded(manager_, root);
54 manager_->root_added_callback_.Run(manager_, root);
55 } 54 }
56 55
57 void ViewManagerPrivate::RemoveRoot(ViewTreeNode* root) { 56 void ViewManagerPrivate::RemoveRoot(ViewTreeNode* root) {
58 std::vector<ViewTreeNode*>::iterator it = 57 std::vector<ViewTreeNode*>::iterator it =
59 std::find(manager_->roots_.begin(), manager_->roots_.end(), root); 58 std::find(manager_->roots_.begin(), manager_->roots_.end(), root);
60 if (it != manager_->roots_.end()) { 59 if (it != manager_->roots_.end()) {
61 manager_->roots_.erase(it); 60 manager_->roots_.erase(it);
62 if (!manager_->root_removed_callback_.is_null()) 61 manager_->delegate_->OnRootRemoved(manager_, root);
63 manager_->root_removed_callback_.Run(manager_, root);
64 } 62 }
65 } 63 }
66 64
67 void ViewManagerPrivate::AddNode(TransportNodeId node_id, ViewTreeNode* node) { 65 void ViewManagerPrivate::AddNode(TransportNodeId node_id, ViewTreeNode* node) {
68 DCHECK(!manager_->nodes_[node_id]); 66 DCHECK(!manager_->nodes_[node_id]);
69 manager_->nodes_[node_id] = node; 67 manager_->nodes_[node_id] = node;
70 } 68 }
71 69
72 void ViewManagerPrivate::RemoveNode(TransportNodeId node_id) { 70 void ViewManagerPrivate::RemoveNode(TransportNodeId node_id) {
73 ViewManager::IdToNodeMap::iterator it = manager_->nodes_.find(node_id); 71 ViewManager::IdToNodeMap::iterator it = manager_->nodes_.find(node_id);
74 if (it != manager_->nodes_.end()) 72 if (it != manager_->nodes_.end())
75 manager_->nodes_.erase(it); 73 manager_->nodes_.erase(it);
76 } 74 }
77 75
78 void ViewManagerPrivate::AddView(TransportViewId view_id, View* view) { 76 void ViewManagerPrivate::AddView(TransportViewId view_id, View* view) {
79 DCHECK(!manager_->views_[view_id]); 77 DCHECK(!manager_->views_[view_id]);
80 manager_->views_[view_id] = view; 78 manager_->views_[view_id] = view;
81 } 79 }
82 80
83 void ViewManagerPrivate::RemoveView(TransportViewId view_id) { 81 void ViewManagerPrivate::RemoveView(TransportViewId view_id) {
84 ViewManager::IdToViewMap::iterator it = manager_->views_.find(view_id); 82 ViewManager::IdToViewMap::iterator it = manager_->views_.find(view_id);
85 if (it != manager_->views_.end()) 83 if (it != manager_->views_.end())
86 manager_->views_.erase(it); 84 manager_->views_.erase(it);
87 } 85 }
88 86
89 } // namespace view_manager 87 } // namespace view_manager
90 } // namespace mojo 88 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698