Index: mojo/services/view_manager/view_manager_connection.cc |
diff --git a/mojo/services/view_manager/view_manager_connection.cc b/mojo/services/view_manager/view_manager_connection.cc |
index d42c403d32253c86b27a36be8e9888642487ecfe..6b7a8c8f6eb34614fdab7e46be9c88f9d6a35120 100644 |
--- a/mojo/services/view_manager/view_manager_connection.cc |
+++ b/mojo/services/view_manager/view_manager_connection.cc |
@@ -127,6 +127,7 @@ void ViewManagerConnection::ProcessNodeHierarchyChanged( |
RemoveFromKnown(node); |
client()->OnNodeDeleted(NodeIdToTransportId(node->id()), |
server_change_id); |
+ root_node_manager_->OnConnectionMessagedClient(id_); |
return; |
} |
} |
@@ -185,9 +186,12 @@ void ViewManagerConnection::ProcessNodeDeleted( |
if (in_known) { |
client()->OnNodeDeleted(NodeIdToTransportId(node), server_change_id); |
- } else if (root_node_manager_->IsProcessingChange()) { |
+ root_node_manager_->OnConnectionMessagedClient(id_); |
+ } else if (root_node_manager_->IsProcessingChange() && |
+ !root_node_manager_->DidConnectionMessageClient(id_)) { |
client()->OnServerChangeIdAdvanced( |
root_node_manager_->next_server_change_id() + 1); |
+ root_node_manager_->OnConnectionMessagedClient(id_); |
} |
} |