| 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_service_impl.h" | 5 #include "mojo/services/view_manager/view_manager_service_impl.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "mojo/services/public/cpp/geometry/geometry_type_converters.h" | 8 #include "mojo/services/public/cpp/geometry/geometry_type_converters.h" |
| 9 #include "mojo/services/public/cpp/input_events/input_events_type_converters.h" | 9 #include "mojo/services/public/cpp/input_events/input_events_type_converters.h" |
| 10 #include "mojo/services/view_manager/node.h" | 10 #include "mojo/services/view_manager/node.h" |
| (...skipping 524 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 535 inode->view_id = | 535 inode->view_id = |
| 536 ViewIdToTransportId(node->view() ? node->view()->id() : ViewId()); | 536 ViewIdToTransportId(node->view() ? node->view()->id() : ViewId()); |
| 537 inode->bounds = Rect::From(node->bounds()); | 537 inode->bounds = Rect::From(node->bounds()); |
| 538 array[i] = inode.Pass(); | 538 array[i] = inode.Pass(); |
| 539 } | 539 } |
| 540 return array.Pass(); | 540 return array.Pass(); |
| 541 } | 541 } |
| 542 | 542 |
| 543 void ViewManagerServiceImpl::CreateNode( | 543 void ViewManagerServiceImpl::CreateNode( |
| 544 Id transport_node_id, | 544 Id transport_node_id, |
| 545 const Callback<void(bool)>& callback) { | 545 const Callback<void(ErrorCode)>& callback) { |
| 546 const NodeId node_id(NodeIdFromTransportId(transport_node_id)); | 546 const NodeId node_id(NodeIdFromTransportId(transport_node_id)); |
| 547 if (node_id.connection_id != id_ || | 547 ErrorCode error_code = ERROR_CODE_NONE; |
| 548 node_map_.find(node_id.node_id) != node_map_.end()) { | 548 if (node_id.connection_id != id_) { |
| 549 callback.Run(false); | 549 error_code = ERROR_CODE_ILLEGAL_ARGUMENT; |
| 550 return; | 550 } else if (node_map_.find(node_id.node_id) != node_map_.end()) { |
| 551 error_code = ERROR_CODE_VALUE_IN_USE; |
| 552 } else { |
| 553 node_map_[node_id.node_id] = new Node(root_node_manager_, node_id); |
| 554 known_nodes_.insert(transport_node_id); |
| 551 } | 555 } |
| 552 node_map_[node_id.node_id] = new Node(root_node_manager_, node_id); | 556 callback.Run(error_code); |
| 553 known_nodes_.insert(transport_node_id); | |
| 554 callback.Run(true); | |
| 555 } | 557 } |
| 556 | 558 |
| 557 void ViewManagerServiceImpl::DeleteNode( | 559 void ViewManagerServiceImpl::DeleteNode( |
| 558 Id transport_node_id, | 560 Id transport_node_id, |
| 559 Id server_change_id, | 561 Id server_change_id, |
| 560 const Callback<void(bool)>& callback) { | 562 const Callback<void(bool)>& callback) { |
| 561 const NodeId node_id(NodeIdFromTransportId(transport_node_id)); | 563 const NodeId node_id(NodeIdFromTransportId(transport_node_id)); |
| 562 bool success = false; | 564 bool success = false; |
| 563 if (server_change_id == root_node_manager_->next_server_change_id() && | 565 if (server_change_id == root_node_manager_->next_server_change_id() && |
| 564 CanDeleteNode(node_id)) { | 566 CanDeleteNode(node_id)) { |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 795 client()->OnViewManagerConnectionEstablished( | 797 client()->OnViewManagerConnectionEstablished( |
| 796 id_, | 798 id_, |
| 797 creator_url_, | 799 creator_url_, |
| 798 root_node_manager_->next_server_change_id(), | 800 root_node_manager_->next_server_change_id(), |
| 799 NodesToNodeDatas(to_send)); | 801 NodesToNodeDatas(to_send)); |
| 800 } | 802 } |
| 801 | 803 |
| 802 } // namespace service | 804 } // namespace service |
| 803 } // namespace view_manager | 805 } // namespace view_manager |
| 804 } // namespace mojo | 806 } // namespace mojo |
| OLD | NEW |