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 e8ce02c280dad7589340e7bed68235a1817c381b..76656b644c15e66e5f836a58149c9ba8b921c3ba 100644 |
--- a/mojo/services/view_manager/view_manager_connection.cc |
+++ b/mojo/services/view_manager/view_manager_connection.cc |
@@ -571,13 +571,17 @@ void ViewManagerConnection::SetView( |
void ViewManagerConnection::SetViewContents( |
TransportViewId view_id, |
ScopedSharedBufferHandle buffer, |
- uint32_t buffer_size) { |
+ uint32_t buffer_size, |
+ const Callback<void(bool)>& callback) { |
View* view = GetView(ViewIdFromTransportId(view_id)); |
- if (!view) |
+ if (!view) { |
+ callback.Run(false); |
return; |
+ } |
void* handle_data; |
if (MapBuffer(buffer.get(), 0, buffer_size, &handle_data, |
MOJO_MAP_BUFFER_FLAG_NONE) != MOJO_RESULT_OK) { |
+ callback.Run(false); |
return; |
} |
SkBitmap bitmap; |
@@ -585,6 +589,7 @@ void ViewManagerConnection::SetViewContents( |
buffer_size, &bitmap); |
view->SetBitmap(bitmap); |
UnmapBuffer(handle_data); |
+ callback.Run(true); |
} |
void ViewManagerConnection::SetRoots( |