OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "mojo/services/view_manager/view_manager_connection.h" | 5 #include "mojo/services/view_manager/view_manager_connection.h" |
6 | 6 |
7 #include "base/stl_util.h" | 7 #include "base/stl_util.h" |
8 #include "mojo/geometry/geometry_type_converters.h" | 8 #include "mojo/geometry/geometry_type_converters.h" |
9 #include "mojo/public/cpp/bindings/allocation_scope.h" | 9 #include "mojo/public/cpp/bindings/allocation_scope.h" |
10 #include "mojo/services/view_manager/node.h" | 10 #include "mojo/services/view_manager/node.h" |
(...skipping 553 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
564 TransportViewId transport_view_id, | 564 TransportViewId transport_view_id, |
565 const Callback<void(bool)>& callback) { | 565 const Callback<void(bool)>& callback) { |
566 Node* node = GetNode(NodeIdFromTransportId(transport_node_id)); | 566 Node* node = GetNode(NodeIdFromTransportId(transport_node_id)); |
567 const ViewId view_id(ViewIdFromTransportId(transport_view_id)); | 567 const ViewId view_id(ViewIdFromTransportId(transport_view_id)); |
568 callback.Run(CanSetView(node, view_id) && SetViewImpl(node, view_id)); | 568 callback.Run(CanSetView(node, view_id) && SetViewImpl(node, view_id)); |
569 } | 569 } |
570 | 570 |
571 void ViewManagerConnection::SetViewContents( | 571 void ViewManagerConnection::SetViewContents( |
572 TransportViewId view_id, | 572 TransportViewId view_id, |
573 ScopedSharedBufferHandle buffer, | 573 ScopedSharedBufferHandle buffer, |
574 uint32_t buffer_size) { | 574 uint32_t buffer_size, |
| 575 const Callback<void(bool)>& callback) { |
575 View* view = GetView(ViewIdFromTransportId(view_id)); | 576 View* view = GetView(ViewIdFromTransportId(view_id)); |
576 if (!view) | 577 if (!view) { |
| 578 callback.Run(false); |
577 return; | 579 return; |
| 580 } |
578 void* handle_data; | 581 void* handle_data; |
579 if (MapBuffer(buffer.get(), 0, buffer_size, &handle_data, | 582 if (MapBuffer(buffer.get(), 0, buffer_size, &handle_data, |
580 MOJO_MAP_BUFFER_FLAG_NONE) != MOJO_RESULT_OK) { | 583 MOJO_MAP_BUFFER_FLAG_NONE) != MOJO_RESULT_OK) { |
| 584 callback.Run(false); |
581 return; | 585 return; |
582 } | 586 } |
583 SkBitmap bitmap; | 587 SkBitmap bitmap; |
584 gfx::PNGCodec::Decode(static_cast<const unsigned char*>(handle_data), | 588 gfx::PNGCodec::Decode(static_cast<const unsigned char*>(handle_data), |
585 buffer_size, &bitmap); | 589 buffer_size, &bitmap); |
586 view->SetBitmap(bitmap); | 590 view->SetBitmap(bitmap); |
587 UnmapBuffer(handle_data); | 591 UnmapBuffer(handle_data); |
| 592 callback.Run(true); |
588 } | 593 } |
589 | 594 |
590 void ViewManagerConnection::SetRoots( | 595 void ViewManagerConnection::SetRoots( |
591 TransportConnectionId connection_id, | 596 TransportConnectionId connection_id, |
592 const Array<TransportNodeId>& transport_node_ids, | 597 const Array<TransportNodeId>& transport_node_ids, |
593 const Callback<void(bool)>& callback) { | 598 const Callback<void(bool)>& callback) { |
594 ViewManagerConnection* connection = | 599 ViewManagerConnection* connection = |
595 root_node_manager_->GetConnection(connection_id); | 600 root_node_manager_->GetConnection(connection_id); |
596 callback.Run(connection && | 601 callback.Run(connection && |
597 connection->ProcessSetRoots(id_, transport_node_ids)); | 602 connection->ProcessSetRoots(id_, transport_node_ids)); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
629 | 634 |
630 void ViewManagerConnection::OnNodeViewReplaced(const Node* node, | 635 void ViewManagerConnection::OnNodeViewReplaced(const Node* node, |
631 const View* new_view, | 636 const View* new_view, |
632 const View* old_view) { | 637 const View* old_view) { |
633 root_node_manager_->ProcessNodeViewReplaced(node, new_view, old_view); | 638 root_node_manager_->ProcessNodeViewReplaced(node, new_view, old_view); |
634 } | 639 } |
635 | 640 |
636 } // namespace service | 641 } // namespace service |
637 } // namespace view_manager | 642 } // namespace view_manager |
638 } // namespace mojo | 643 } // namespace mojo |
OLD | NEW |