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 112773d8d2c755c51d0e1194d75e2115dd40ae60..029d203fa895c7583ec5e8ee881a80f4d2d7c23e 100644 |
--- a/mojo/services/view_manager/view_manager_connection.cc |
+++ b/mojo/services/view_manager/view_manager_connection.cc |
@@ -5,7 +5,6 @@ |
#include "mojo/services/view_manager/view_manager_connection.h" |
#include "base/stl_util.h" |
-#include "mojo/public/cpp/bindings/allocation_scope.h" |
#include "mojo/services/public/cpp/geometry/geometry_type_converters.h" |
#include "mojo/services/view_manager/node.h" |
#include "mojo/services/view_manager/root_node_manager.h" |
@@ -106,8 +105,9 @@ void ViewManagerConnection::ProcessNodeBoundsChanged( |
return; |
TransportNodeId node_id = NodeIdToTransportId(node->id()); |
if (known_nodes_.count(node_id) > 0) { |
- AllocationScope scope; |
- client()->OnNodeBoundsChanged(node_id, old_bounds, new_bounds); |
+ client()->OnNodeBoundsChanged(node_id, |
+ Rect::From(old_bounds), |
+ Rect::From(new_bounds)); |
} |
} |
@@ -141,7 +141,6 @@ void ViewManagerConnection::ProcessNodeHierarchyChanged( |
} |
return; |
} |
- AllocationScope allocation_scope; |
const NodeId new_parent_id(new_parent ? new_parent->id() : NodeId()); |
const NodeId old_parent_id(old_parent ? old_parent->id() : NodeId()); |
DCHECK((node->id().connection_id == id_) || |
@@ -410,11 +409,10 @@ bool ViewManagerConnection::ShouldNotifyOnHierarchyChange( |
return known_nodes_.count(NodeIdToTransportId(node->id())) > 0; |
} |
-Array<INode> ViewManagerConnection::NodesToINodes( |
+Array<INodePtr> ViewManagerConnection::NodesToINodes( |
const std::vector<const Node*>& nodes) { |
- Array<INode>::Builder array_builder(nodes.size()); |
+ Array<INodePtr> array(nodes.size()); |
for (size_t i = 0; i < nodes.size(); ++i) { |
- INode::Builder node_builder; |
const Node* node = nodes[i]; |
DCHECK(known_nodes_.count(NodeIdToTransportId(node->id())) > 0); |
const Node* parent = node->GetParent(); |
@@ -422,15 +420,15 @@ Array<INode> ViewManagerConnection::NodesToINodes( |
// in roots), and should not be sent over. |
if (parent && known_nodes_.count(NodeIdToTransportId(parent->id())) == 0) |
parent = NULL; |
- node_builder.set_parent_id(NodeIdToTransportId( |
- parent ? parent->id() : NodeId())); |
- node_builder.set_node_id(NodeIdToTransportId(node->id())); |
- node_builder.set_view_id(ViewIdToTransportId( |
- node->view() ? node->view()->id() : ViewId())); |
- node_builder.set_bounds(node->bounds()); |
- array_builder[i] = node_builder.Finish(); |
+ INodePtr inode(INode::New()); |
+ inode->parent_id = NodeIdToTransportId(parent ? parent->id() : NodeId()); |
+ inode->node_id = NodeIdToTransportId(node->id()); |
+ inode->view_id = |
+ ViewIdToTransportId(node->view() ? node->view()->id() : ViewId()); |
+ inode->bounds = Rect::From(node->bounds()); |
+ array[i] = inode.Pass(); |
} |
- return array_builder.Finish(); |
+ return array.Pass(); |
} |
void ViewManagerConnection::CreateNode( |
@@ -450,7 +448,6 @@ void ViewManagerConnection::CreateNode( |
void ViewManagerConnection::DeleteNode( |
TransportNodeId transport_node_id, |
const Callback<void(bool)>& callback) { |
- AllocationScope allocation_scope; |
const NodeId node_id(NodeIdFromTransportId(transport_node_id)); |
bool did_delete = CanDeleteNode(node_id); |
if (did_delete) { |
@@ -501,8 +498,7 @@ void ViewManagerConnection::RemoveNodeFromParent( |
void ViewManagerConnection::GetNodeTree( |
TransportNodeId node_id, |
- const Callback<void(Array<INode>)>& callback) { |
- AllocationScope allocation_scope; |
+ const Callback<void(Array<INodePtr>)>& callback) { |
Node* node = GetNode(NodeIdFromTransportId(node_id)); |
std::vector<const Node*> nodes; |
if (CanGetNodeTree(node)) { |
@@ -573,7 +569,7 @@ void ViewManagerConnection::SetViewContents( |
void ViewManagerConnection::SetNodeBounds( |
TransportNodeId node_id, |
- const Rect& bounds, |
+ RectPtr bounds, |
const Callback<void(bool)>& callback) { |
if (NodeIdFromTransportId(node_id).connection_id != id_) { |
callback.Run(false); |
@@ -590,13 +586,14 @@ void ViewManagerConnection::SetNodeBounds( |
this, root_node_manager_, |
RootNodeManager::CHANGE_TYPE_DONT_ADVANCE_SERVER_CHANGE_ID, false); |
gfx::Rect old_bounds = node->window()->bounds(); |
- node->window()->SetBounds(bounds); |
- root_node_manager_->ProcessNodeBoundsChanged(node, old_bounds, bounds); |
+ node->window()->SetBounds(bounds.To<gfx::Rect>()); |
+ root_node_manager_->ProcessNodeBoundsChanged( |
+ node, old_bounds, bounds.To<gfx::Rect>()); |
callback.Run(true); |
} |
void ViewManagerConnection::Connect(const String& url, |
- const Array<uint32_t>& node_ids, |
+ Array<uint32_t> node_ids, |
const Callback<void(bool)>& callback) { |
const bool success = CanConnect(node_ids); |
if (success) |
@@ -631,7 +628,6 @@ void ViewManagerConnection::OnConnectionEstablished() { |
GetUnknownNodesFrom(GetNode(NodeIdFromTransportId(*i)), &to_send); |
} |
- AllocationScope allocation_scope; |
client()->OnViewManagerConnectionEstablished( |
id_, |
root_node_manager_->next_server_change_id(), |