| Index: mojo/services/view_manager/view_manager_service_impl.cc
|
| diff --git a/mojo/services/view_manager/view_manager_service_impl.cc b/mojo/services/view_manager/view_manager_service_impl.cc
|
| index f98a9e545129946a2c1f7838c4dc00612d8844fb..e25980abe7afd11e1e84ff7b7d056b50abf75873 100644
|
| --- a/mojo/services/view_manager/view_manager_service_impl.cc
|
| +++ b/mojo/services/view_manager/view_manager_service_impl.cc
|
| @@ -561,15 +561,17 @@ void ViewManagerServiceImpl::CreateNode(
|
|
|
| void ViewManagerServiceImpl::DeleteNode(
|
| Id transport_node_id,
|
| + Id server_change_id,
|
| const Callback<void(bool)>& callback) {
|
| const NodeId node_id(NodeIdFromTransportId(transport_node_id));
|
| - bool did_delete = CanDeleteNode(node_id);
|
| - if (did_delete) {
|
| + bool success = false;
|
| + if (server_change_id == root_node_manager_->next_server_change_id() &&
|
| + CanDeleteNode(node_id)) {
|
| ViewManagerServiceImpl* connection = root_node_manager_->GetConnection(
|
| node_id.connection_id);
|
| - did_delete = connection && connection->DeleteNodeImpl(this, node_id);
|
| + success = connection && connection->DeleteNodeImpl(this, node_id);
|
| }
|
| - callback.Run(did_delete);
|
| + callback.Run(success);
|
| }
|
|
|
| void ViewManagerServiceImpl::AddNode(
|
|
|