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

Side by Side Diff: mojo/services/view_manager/view_manager_connection.cc

Issue 272833002: View synchronization (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: . Created 6 years, 7 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/view_manager/view_manager_connection.h" 5 #include "mojo/services/view_manager/view_manager_connection.h"
6 6
7 #include "base/stl_util.h" 7 #include "base/stl_util.h"
8 #include "mojo/public/cpp/bindings/allocation_scope.h" 8 #include "mojo/public/cpp/bindings/allocation_scope.h"
9 #include "mojo/services/view_manager/node.h" 9 #include "mojo/services/view_manager/node.h"
10 #include "mojo/services/view_manager/root_node_manager.h" 10 #include "mojo/services/view_manager/root_node_manager.h"
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 ViewIdToTransportId(new_view_id), 123 ViewIdToTransportId(new_view_id),
124 ViewIdToTransportId(old_view_id), 124 ViewIdToTransportId(old_view_id),
125 change_id); 125 change_id);
126 } 126 }
127 127
128 void ViewManagerConnection::NotifyNodeDeleted(const NodeId& node, 128 void ViewManagerConnection::NotifyNodeDeleted(const NodeId& node,
129 TransportChangeId change_id) { 129 TransportChangeId change_id) {
130 client_->OnNodeDeleted(NodeIdToTransportId(node), change_id); 130 client_->OnNodeDeleted(NodeIdToTransportId(node), change_id);
131 } 131 }
132 132
133 void ViewManagerConnection::NotifyViewDeleted(const ViewId& view,
134 TransportChangeId change_id) {
135 client_->OnViewDeleted(ViewIdToTransportId(view), change_id);
136 }
137
133 bool ViewManagerConnection::DeleteNodeImpl(ViewManagerConnection* source, 138 bool ViewManagerConnection::DeleteNodeImpl(ViewManagerConnection* source,
134 const NodeId& node_id, 139 const NodeId& node_id,
135 TransportChangeId change_id) { 140 TransportChangeId change_id) {
136 DCHECK_EQ(node_id.connection_id, id_); 141 DCHECK_EQ(node_id.connection_id, id_);
137 Node* node = GetNode(node_id); 142 Node* node = GetNode(node_id);
138 if (!node) 143 if (!node)
139 return false; 144 return false;
140 RootNodeManager::ScopedChange change(source, context(), change_id); 145 RootNodeManager::ScopedChange change(source, context(), change_id);
141 if (node->GetParent()) 146 if (node->GetParent())
142 node->GetParent()->Remove(node); 147 node->GetParent()->Remove(node);
(...skipping 12 matching lines...) Expand all
155 TransportChangeId change_id) { 160 TransportChangeId change_id) {
156 DCHECK_EQ(view_id.connection_id, id_); 161 DCHECK_EQ(view_id.connection_id, id_);
157 View* view = GetView(view_id); 162 View* view = GetView(view_id);
158 if (!view) 163 if (!view)
159 return false; 164 return false;
160 RootNodeManager::ScopedChange change(source, context(), change_id); 165 RootNodeManager::ScopedChange change(source, context(), change_id);
161 if (view->node()) 166 if (view->node())
162 view->node()->SetView(NULL); 167 view->node()->SetView(NULL);
163 view_map_.erase(view_id.view_id); 168 view_map_.erase(view_id.view_id);
164 delete view; 169 delete view;
170 context()->NotifyViewDeleted(view_id);
165 return true; 171 return true;
166 } 172 }
167 173
168 bool ViewManagerConnection::SetViewImpl(const NodeId& node_id, 174 bool ViewManagerConnection::SetViewImpl(const NodeId& node_id,
169 const ViewId& view_id, 175 const ViewId& view_id,
170 TransportChangeId change_id) { 176 TransportChangeId change_id) {
171 Node* node = GetNode(node_id); 177 Node* node = GetNode(node_id);
172 if (!node) 178 if (!node)
173 return false; 179 return false;
174 View* view = GetView(view_id); 180 View* view = GetView(view_id);
(...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 312
307 void ViewManagerConnection::OnNodeViewReplaced(const NodeId& node, 313 void ViewManagerConnection::OnNodeViewReplaced(const NodeId& node,
308 const ViewId& new_view_id, 314 const ViewId& new_view_id,
309 const ViewId& old_view_id) { 315 const ViewId& old_view_id) {
310 context()->NotifyNodeViewReplaced(node, new_view_id, old_view_id); 316 context()->NotifyNodeViewReplaced(node, new_view_id, old_view_id);
311 } 317 }
312 318
313 } // namespace view_manager 319 } // namespace view_manager
314 } // namespace services 320 } // namespace services
315 } // namespace mojo 321 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698