| 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 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 120 const NodeId& node, | 120 const NodeId& node, |
| 121 const ViewId& new_view_id, | 121 const ViewId& new_view_id, |
| 122 const ViewId& old_view_id, | 122 const ViewId& old_view_id, |
| 123 TransportChangeId change_id) { | 123 TransportChangeId change_id) { |
| 124 client()->OnNodeViewReplaced(NodeIdToTransportId(node), | 124 client()->OnNodeViewReplaced(NodeIdToTransportId(node), |
| 125 ViewIdToTransportId(new_view_id), | 125 ViewIdToTransportId(new_view_id), |
| 126 ViewIdToTransportId(old_view_id), | 126 ViewIdToTransportId(old_view_id), |
| 127 change_id); | 127 change_id); |
| 128 } | 128 } |
| 129 | 129 |
| 130 void ViewManagerConnection::NotifyNodeDeleted(const NodeId& node, |
| 131 TransportChangeId change_id) { |
| 132 client()->OnNodeDeleted(NodeIdToTransportId(node), change_id); |
| 133 } |
| 134 |
| 130 bool ViewManagerConnection::DeleteNodeImpl(ViewManagerConnection* source, | 135 bool ViewManagerConnection::DeleteNodeImpl(ViewManagerConnection* source, |
| 131 const NodeId& node_id, | 136 const NodeId& node_id, |
| 132 TransportChangeId change_id) { | 137 TransportChangeId change_id) { |
| 133 DCHECK_EQ(node_id.connection_id, id_); | 138 DCHECK_EQ(node_id.connection_id, id_); |
| 134 Node* node = GetNode(node_id); | 139 Node* node = GetNode(node_id); |
| 135 if (!node) | 140 if (!node) |
| 136 return false; | 141 return false; |
| 137 RootNodeManager::ScopedChange change(source, context(), change_id); | 142 RootNodeManager::ScopedChange change(source, context(), change_id); |
| 138 if (node->GetParent()) | 143 if (node->GetParent()) |
| 139 node->GetParent()->Remove(node); | 144 node->GetParent()->Remove(node); |
| 140 std::vector<Node*> children(node->GetChildren()); | 145 std::vector<Node*> children(node->GetChildren()); |
| 141 for (size_t i = 0; i < children.size(); ++i) | 146 for (size_t i = 0; i < children.size(); ++i) |
| 142 node->Remove(children[i]); | 147 node->Remove(children[i]); |
| 143 DCHECK(node->GetChildren().empty()); | 148 DCHECK(node->GetChildren().empty()); |
| 144 node_map_.erase(node_id.node_id); | 149 node_map_.erase(node_id.node_id); |
| 145 delete node; | 150 delete node; |
| 151 context()->NotifyNodeDeleted(node_id); |
| 146 return true; | 152 return true; |
| 147 } | 153 } |
| 148 | 154 |
| 149 bool ViewManagerConnection::DeleteViewImpl(ViewManagerConnection* source, | 155 bool ViewManagerConnection::DeleteViewImpl(ViewManagerConnection* source, |
| 150 const ViewId& view_id, | 156 const ViewId& view_id, |
| 151 TransportChangeId change_id) { | 157 TransportChangeId change_id) { |
| 152 DCHECK_EQ(view_id.connection_id, id_); | 158 DCHECK_EQ(view_id.connection_id, id_); |
| 153 View* view = GetView(view_id); | 159 View* view = GetView(view_id); |
| 154 if (!view) | 160 if (!view) |
| 155 return false; | 161 return false; |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 279 | 285 |
| 280 void ViewManagerConnection::OnNodeViewReplaced(const NodeId& node, | 286 void ViewManagerConnection::OnNodeViewReplaced(const NodeId& node, |
| 281 const ViewId& new_view_id, | 287 const ViewId& new_view_id, |
| 282 const ViewId& old_view_id) { | 288 const ViewId& old_view_id) { |
| 283 context()->NotifyNodeViewReplaced(node, new_view_id, old_view_id); | 289 context()->NotifyNodeViewReplaced(node, new_view_id, old_view_id); |
| 284 } | 290 } |
| 285 | 291 |
| 286 } // namespace view_manager | 292 } // namespace view_manager |
| 287 } // namespace services | 293 } // namespace services |
| 288 } // namespace mojo | 294 } // namespace mojo |
| OLD | NEW |