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 793a4543d0377a8629dee853f01de02a6e227f64..ee2c795001ded8b944f3c016b77010483627373c 100644 |
--- a/mojo/services/view_manager/view_manager_service_impl.cc |
+++ b/mojo/services/view_manager/view_manager_service_impl.cc |
@@ -60,9 +60,7 @@ ViewManagerServiceImpl::~ViewManagerServiceImpl() { |
// Ditto the nodes. |
if (!node_map_.empty()) { |
- RootNodeManager::ScopedChange change( |
- this, root_node_manager_, |
- RootNodeManager::CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID, true); |
+ RootNodeManager::ScopedChange change(this, root_node_manager_, true); |
while (!node_map_.empty()) |
delete node_map_.begin()->second; |
} |
@@ -115,7 +113,6 @@ void ViewManagerServiceImpl::ProcessNodeHierarchyChanged( |
const Node* node, |
const Node* new_parent, |
const Node* old_parent, |
- Id server_change_id, |
bool originated_change) { |
if (known_nodes_.count(NodeIdToTransportId(node->id())) > 0) { |
if (originated_change) |
@@ -124,8 +121,7 @@ void ViewManagerServiceImpl::ProcessNodeHierarchyChanged( |
// Node was a descendant of roots and is no longer, treat it as though the |
// node was deleted. |
RemoveFromKnown(node, NULL); |
- client()->OnNodeDeleted(NodeIdToTransportId(node->id()), |
- server_change_id); |
+ client()->OnNodeDeleted(NodeIdToTransportId(node->id())); |
root_node_manager_->OnConnectionMessagedClient(id_); |
return; |
} |
@@ -136,10 +132,6 @@ void ViewManagerServiceImpl::ProcessNodeHierarchyChanged( |
std::vector<const Node*> to_send; |
if (!ShouldNotifyOnHierarchyChange(node, &new_parent, &old_parent, |
&to_send)) { |
- if (root_node_manager_->IsProcessingChange()) { |
- client()->OnServerChangeIdAdvanced( |
- root_node_manager_->next_server_change_id() + 1); |
- } |
return; |
} |
const NodeId new_parent_id(new_parent ? new_parent->id() : NodeId()); |
@@ -151,14 +143,12 @@ void ViewManagerServiceImpl::ProcessNodeHierarchyChanged( |
client()->OnNodeHierarchyChanged(NodeIdToTransportId(node->id()), |
NodeIdToTransportId(new_parent_id), |
NodeIdToTransportId(old_parent_id), |
- server_change_id, |
NodesToNodeDatas(to_send)); |
} |
void ViewManagerServiceImpl::ProcessNodeReorder(const Node* node, |
const Node* relative_node, |
OrderDirection direction, |
- Id server_change_id, |
bool originated_change) { |
if (originated_change || |
!known_nodes_.count(NodeIdToTransportId(node->id())) || |
@@ -168,8 +158,7 @@ void ViewManagerServiceImpl::ProcessNodeReorder(const Node* node, |
client()->OnNodeReordered(NodeIdToTransportId(node->id()), |
NodeIdToTransportId(relative_node->id()), |
- direction, |
- server_change_id); |
+ direction); |
} |
void ViewManagerServiceImpl::ProcessNodeViewReplaced( |
@@ -188,7 +177,6 @@ void ViewManagerServiceImpl::ProcessNodeViewReplaced( |
} |
void ViewManagerServiceImpl::ProcessNodeDeleted(const NodeId& node, |
- Id server_change_id, |
bool originated_change) { |
node_map_.erase(node.node_id); |
@@ -202,12 +190,10 @@ void ViewManagerServiceImpl::ProcessNodeDeleted(const NodeId& node, |
return; |
if (in_known) { |
- client()->OnNodeDeleted(NodeIdToTransportId(node), server_change_id); |
+ client()->OnNodeDeleted(NodeIdToTransportId(node)); |
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_); |
} |
} |
@@ -361,9 +347,7 @@ bool ViewManagerServiceImpl::DeleteNodeImpl(ViewManagerServiceImpl* source, |
Node* node = GetNode(node_id); |
if (!node) |
return false; |
- RootNodeManager::ScopedChange change( |
- source, root_node_manager_, |
- RootNodeManager::CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID, true); |
+ RootNodeManager::ScopedChange change(source, root_node_manager_, true); |
delete node; |
return true; |
} |
@@ -374,9 +358,7 @@ bool ViewManagerServiceImpl::DeleteViewImpl(ViewManagerServiceImpl* source, |
View* view = GetView(view_id); |
if (!view) |
return false; |
- RootNodeManager::ScopedChange change( |
- source, root_node_manager_, |
- RootNodeManager::CHANGE_TYPE_DONT_ADVANCE_SERVER_CHANGE_ID, false); |
+ RootNodeManager::ScopedChange change(source, root_node_manager_, false); |
if (view->node()) |
view->node()->SetView(NULL); |
view_map_.erase(view_id.view_id); |
@@ -391,9 +373,7 @@ bool ViewManagerServiceImpl::DeleteViewImpl(ViewManagerServiceImpl* source, |
bool ViewManagerServiceImpl::SetViewImpl(Node* node, const ViewId& view_id) { |
DCHECK(node); // CanSetView() should have verified node exists. |
View* view = GetView(view_id); |
- RootNodeManager::ScopedChange change( |
- this, root_node_manager_, |
- RootNodeManager::CHANGE_TYPE_DONT_ADVANCE_SERVER_CHANGE_ID, false); |
+ RootNodeManager::ScopedChange change(this, root_node_manager_, false); |
node->SetView(view); |
return true; |
} |
@@ -457,8 +437,7 @@ void ViewManagerServiceImpl::RemoveRoot(const NodeId& node_id) { |
if (node_id.connection_id == id_) |
return; |
- client()->OnNodeDeleted(transport_node_id, |
- root_node_manager_->next_server_change_id()); |
+ client()->OnNodeDeleted(transport_node_id); |
root_node_manager_->OnConnectionMessagedClient(id_); |
// This connection no longer knows about the node. Unparent any nodes that |
@@ -572,12 +551,10 @@ 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 success = false; |
- if (server_change_id == root_node_manager_->next_server_change_id() && |
- CanDeleteNode(node_id)) { |
+ if (CanDeleteNode(node_id)) { |
ViewManagerServiceImpl* connection = root_node_manager_->GetConnection( |
node_id.connection_id); |
success = connection && connection->DeleteNodeImpl(this, node_id); |
@@ -588,37 +565,27 @@ void ViewManagerServiceImpl::DeleteNode( |
void ViewManagerServiceImpl::AddNode( |
Id parent_id, |
Id child_id, |
- Id server_change_id, |
const Callback<void(bool)>& callback) { |
bool success = false; |
- if (server_change_id == root_node_manager_->next_server_change_id()) { |
- Node* parent = GetNode(NodeIdFromTransportId(parent_id)); |
- Node* child = GetNode(NodeIdFromTransportId(child_id)); |
- if (CanAddNode(parent, child)) { |
- success = true; |
- RootNodeManager::ScopedChange change( |
- this, root_node_manager_, |
- RootNodeManager::CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID, false); |
- parent->Add(child); |
- } |
+ Node* parent = GetNode(NodeIdFromTransportId(parent_id)); |
+ Node* child = GetNode(NodeIdFromTransportId(child_id)); |
+ if (CanAddNode(parent, child)) { |
+ success = true; |
+ RootNodeManager::ScopedChange change(this, root_node_manager_, false); |
+ parent->Add(child); |
} |
callback.Run(success); |
} |
void ViewManagerServiceImpl::RemoveNodeFromParent( |
Id node_id, |
- Id server_change_id, |
const Callback<void(bool)>& callback) { |
bool success = false; |
- if (server_change_id == root_node_manager_->next_server_change_id()) { |
- Node* node = GetNode(NodeIdFromTransportId(node_id)); |
- if (CanRemoveNodeFromParent(node)) { |
- success = true; |
- RootNodeManager::ScopedChange change( |
- this, root_node_manager_, |
- RootNodeManager::CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID, false); |
- node->GetParent()->Remove(node); |
- } |
+ Node* node = GetNode(NodeIdFromTransportId(node_id)); |
+ if (CanRemoveNodeFromParent(node)) { |
+ success = true; |
+ RootNodeManager::ScopedChange change(this, root_node_manager_, false); |
+ node->GetParent()->Remove(node); |
} |
callback.Run(success); |
} |
@@ -626,20 +593,15 @@ void ViewManagerServiceImpl::RemoveNodeFromParent( |
void ViewManagerServiceImpl::ReorderNode(Id node_id, |
Id relative_node_id, |
OrderDirection direction, |
- Id server_change_id, |
const Callback<void(bool)>& callback) { |
bool success = false; |
- if (server_change_id == root_node_manager_->next_server_change_id()) { |
- Node* node = GetNode(NodeIdFromTransportId(node_id)); |
- Node* relative_node = GetNode(NodeIdFromTransportId(relative_node_id)); |
- if (CanReorderNode(node, relative_node, direction)) { |
- success = true; |
- RootNodeManager::ScopedChange change( |
- this, root_node_manager_, |
- RootNodeManager::CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID, false); |
- node->GetParent()->Reorder(node, relative_node, direction); |
- root_node_manager_->ProcessNodeReorder(node, relative_node, direction); |
- } |
+ Node* node = GetNode(NodeIdFromTransportId(node_id)); |
+ Node* relative_node = GetNode(NodeIdFromTransportId(relative_node_id)); |
+ if (CanReorderNode(node, relative_node, direction)) { |
+ success = true; |
+ RootNodeManager::ScopedChange change(this, root_node_manager_, false); |
+ node->GetParent()->Reorder(node, relative_node, direction); |
+ root_node_manager_->ProcessNodeReorder(node, relative_node, direction); |
} |
callback.Run(success); |
} |
@@ -740,9 +702,7 @@ void ViewManagerServiceImpl::SetNodeBounds( |
return; |
} |
- RootNodeManager::ScopedChange change( |
- this, root_node_manager_, |
- RootNodeManager::CHANGE_TYPE_DONT_ADVANCE_SERVER_CHANGE_ID, false); |
+ RootNodeManager::ScopedChange change(this, root_node_manager_, false); |
gfx::Rect old_bounds = node->window()->bounds(); |
node->window()->SetBounds(bounds.To<gfx::Rect>()); |
callback.Run(true); |
@@ -777,9 +737,7 @@ void ViewManagerServiceImpl::Embed(const String& url, |
if ((connection_by_url != connection_with_node_as_root || |
(!connection_by_url && !connection_with_node_as_root)) && |
(!connection_by_url || !connection_by_url->HasRoot(node_id))) { |
- RootNodeManager::ScopedChange change( |
- this, root_node_manager_, |
- RootNodeManager::CHANGE_TYPE_ADVANCE_SERVER_CHANGE_ID, true); |
+ RootNodeManager::ScopedChange change(this, root_node_manager_, true); |
// Never message the originating connection. |
root_node_manager_->OnConnectionMessagedClient(id_); |
if (connection_with_node_as_root) |
@@ -788,7 +746,6 @@ void ViewManagerServiceImpl::Embed(const String& url, |
connection_by_url->AddRoot(node_id); |
else |
root_node_manager_->Embed(id_, url, transport_node_id); |
- change.SendServerChangeIdAdvanced(); |
} else { |
success = false; |
} |
@@ -828,7 +785,6 @@ void ViewManagerServiceImpl::OnConnectionEstablished() { |
client()->OnViewManagerConnectionEstablished( |
id_, |
creator_url_, |
- root_node_manager_->next_server_change_id(), |
NodesToNodeDatas(to_send)); |
} |