| 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 1d730768b5cdc560cf8a21b1fa6b6dbfd3fffbd6..ff559fdfe733cd55e55a1432b59b1c017f0598bb 100644
|
| --- a/mojo/services/view_manager/view_manager_connection.cc
|
| +++ b/mojo/services/view_manager/view_manager_connection.cc
|
| @@ -6,7 +6,6 @@
|
|
|
| #include "base/stl_util.h"
|
| #include "mojo/geometry/geometry_type_converters.h"
|
| -#include "mojo/public/cpp/bindings/allocation_scope.h"
|
| #include "mojo/services/view_manager/node.h"
|
| #include "mojo/services/view_manager/root_node_manager.h"
|
| #include "mojo/services/view_manager/view.h"
|
| @@ -96,8 +95,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));
|
| }
|
| }
|
|
|
| @@ -131,7 +131,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,7 +409,6 @@ bool ViewManagerConnection::ProcessSetRoots(
|
| std::vector<const Node*> to_send;
|
| for (NodeIdSet::const_iterator i = roots_.begin(); i != roots_.end(); ++i)
|
| GetUnknownNodesFrom(GetNode(NodeIdFromTransportId(*i)), &to_send);
|
| - AllocationScope allocation_scope;
|
| client()->OnViewManagerConnectionEstablished(
|
| id_,
|
| root_node_manager_->next_server_change_id(),
|
| @@ -419,11 +417,10 @@ bool ViewManagerConnection::ProcessSetRoots(
|
| return true;
|
| }
|
|
|
| -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();
|
| @@ -431,14 +428,14 @@ 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()));
|
| - 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());
|
| + array[i] = inode.Pass();
|
| }
|
| - return array_builder.Finish();
|
| + return array.Pass();
|
| }
|
|
|
| void ViewManagerConnection::CreateNode(
|
| @@ -458,7 +455,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) {
|
| @@ -509,8 +505,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)) {
|
| @@ -581,7 +576,7 @@ void ViewManagerConnection::SetViewContents(
|
|
|
| void ViewManagerConnection::SetRoots(
|
| TransportConnectionId connection_id,
|
| - const Array<TransportNodeId>& transport_node_ids,
|
| + Array<TransportNodeId> transport_node_ids,
|
| const Callback<void(bool)>& callback) {
|
| ViewManagerConnection* connection =
|
| root_node_manager_->GetConnection(connection_id);
|
| @@ -591,7 +586,7 @@ void ViewManagerConnection::SetRoots(
|
|
|
| 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);
|
| @@ -608,8 +603,9 @@ 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);
|
| }
|
|
|
| @@ -631,7 +627,6 @@ void ViewManagerConnection::OnConnectionEstablished() {
|
| root_node_manager_->AddConnection(this);
|
| std::vector<const Node*> to_send;
|
| GetUnknownNodesFrom(root_node_manager_->root(), &to_send);
|
| - AllocationScope allocation_scope;
|
| client()->OnViewManagerConnectionEstablished(
|
| id_,
|
| root_node_manager_->next_server_change_id(),
|
|
|