Index: mojo/services/view_manager/public/cpp/lib/view.cc |
diff --git a/mojo/services/view_manager/public/cpp/lib/view.cc b/mojo/services/view_manager/public/cpp/lib/view.cc |
index 929eec494576ed14f25ab746a8b19d023e293074..c07edebd2f9e05a8ba746d76124043126b2995de 100644 |
--- a/mojo/services/view_manager/public/cpp/lib/view.cc |
+++ b/mojo/services/view_manager/public/cpp/lib/view.cc |
@@ -5,6 +5,7 @@ |
#include "view_manager/public/cpp/view.h" |
#include <set> |
+#include <string> |
#include "mojo/public/cpp/application/service_provider_impl.h" |
#include "view_manager/public/cpp/lib/view_manager_client_impl.h" |
@@ -247,6 +248,18 @@ void View::SetSharedProperty(const std::string& name, |
properties_.erase(it); |
} |
+ // TODO: add test coverage of this (450303). |
+ if (manager_) { |
+ Array<uint8_t> transport_value; |
+ if (value) { |
+ transport_value.resize(value->size()); |
+ if (value->size()) |
+ memcpy(&transport_value.front(), &(value->front()), value->size()); |
+ } |
+ static_cast<ViewManagerClientImpl*>(manager_)->SetProperty( |
+ id_, name, transport_value.Pass()); |
+ } |
+ |
FOR_EACH_OBSERVER( |
ViewObserver, observers_, |
OnViewSharedPropertyChanged(this, name, old_value_ptr, value)); |