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

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

Issue 331243002: Makes IViewManager::DeleteNode take the server_change_id (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: resolve merge 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/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 "base/stl_util.h" 8 #include "base/stl_util.h"
9 #include "mojo/services/public/cpp/geometry/geometry_type_converters.h" 9 #include "mojo/services/public/cpp/geometry/geometry_type_converters.h"
10 #include "mojo/services/public/cpp/input_events/input_events_type_converters.h" 10 #include "mojo/services/public/cpp/input_events/input_events_type_converters.h"
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after
554 callback.Run(false); 554 callback.Run(false);
555 return; 555 return;
556 } 556 }
557 node_map_[node_id.node_id] = new Node(this, node_id); 557 node_map_[node_id.node_id] = new Node(this, node_id);
558 known_nodes_.insert(transport_node_id); 558 known_nodes_.insert(transport_node_id);
559 callback.Run(true); 559 callback.Run(true);
560 } 560 }
561 561
562 void ViewManagerServiceImpl::DeleteNode( 562 void ViewManagerServiceImpl::DeleteNode(
563 Id transport_node_id, 563 Id transport_node_id,
564 Id server_change_id,
564 const Callback<void(bool)>& callback) { 565 const Callback<void(bool)>& callback) {
565 const NodeId node_id(NodeIdFromTransportId(transport_node_id)); 566 const NodeId node_id(NodeIdFromTransportId(transport_node_id));
566 bool did_delete = CanDeleteNode(node_id); 567 bool success = false;
567 if (did_delete) { 568 if (server_change_id == root_node_manager_->next_server_change_id() &&
569 CanDeleteNode(node_id)) {
568 ViewManagerServiceImpl* connection = root_node_manager_->GetConnection( 570 ViewManagerServiceImpl* connection = root_node_manager_->GetConnection(
569 node_id.connection_id); 571 node_id.connection_id);
570 did_delete = connection && connection->DeleteNodeImpl(this, node_id); 572 success = connection && connection->DeleteNodeImpl(this, node_id);
571 } 573 }
572 callback.Run(did_delete); 574 callback.Run(success);
573 } 575 }
574 576
575 void ViewManagerServiceImpl::AddNode( 577 void ViewManagerServiceImpl::AddNode(
576 Id parent_id, 578 Id parent_id,
577 Id child_id, 579 Id child_id,
578 Id server_change_id, 580 Id server_change_id,
579 const Callback<void(bool)>& callback) { 581 const Callback<void(bool)>& callback) {
580 bool success = false; 582 bool success = false;
581 if (server_change_id == root_node_manager_->next_server_change_id()) { 583 if (server_change_id == root_node_manager_->next_server_change_id()) {
582 Node* parent = GetNode(NodeIdFromTransportId(parent_id)); 584 Node* parent = GetNode(NodeIdFromTransportId(parent_id));
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
787 client()->OnViewManagerConnectionEstablished( 789 client()->OnViewManagerConnectionEstablished(
788 id_, 790 id_,
789 creator_url_, 791 creator_url_,
790 root_node_manager_->next_server_change_id(), 792 root_node_manager_->next_server_change_id(),
791 NodesToNodeDatas(to_send)); 793 NodesToNodeDatas(to_send));
792 } 794 }
793 795
794 } // namespace service 796 } // namespace service
795 } // namespace view_manager 797 } // namespace view_manager
796 } // namespace mojo 798 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/services/view_manager/view_manager_service_impl.h ('k') | mojo/services/view_manager/view_manager_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698