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 "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 Loading... |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |