| Index: sky/compositor/surface_holder.cc
|
| diff --git a/sky/compositor/surface_holder.cc b/sky/compositor/surface_holder.cc
|
| index e46490226ef21a453ac7cec4986e32c8aed6be4e..3b130cee56d5dd0645447879049d552144848d2e 100644
|
| --- a/sky/compositor/surface_holder.cc
|
| +++ b/sky/compositor/surface_holder.cc
|
| @@ -17,12 +17,20 @@ SurfaceHolder::Client::~Client() {
|
| }
|
|
|
| SurfaceHolder::SurfaceHolder(Client* client, mojo::Shell* shell)
|
| - : client_(client), id_namespace_(0u), local_id_(0u), weak_factory_(this) {
|
| + : client_(client),
|
| + id_namespace_(0u),
|
| + local_id_(0u),
|
| + returner_binding_(this),
|
| + weak_factory_(this) {
|
| mojo::ServiceProviderPtr service_provider;
|
| shell->ConnectToApplication("mojo:surfaces_service",
|
| mojo::GetProxy(&service_provider), nullptr);
|
| mojo::ConnectToService(service_provider.get(), &surface_);
|
| - surface_.set_client(this);
|
| + surface_->GetIdNamespace(
|
| + base::Bind(&SurfaceHolder::SetIdNamespace, base::Unretained(this)));
|
| + mojo::ResourceReturnerPtr returner_ptr;
|
| + returner_binding_.Bind(GetProxy(&returner_ptr));
|
| + surface_->SetResourceReturner(returner_ptr.Pass());
|
| }
|
|
|
| SurfaceHolder::~SurfaceHolder() {
|
| @@ -65,9 +73,6 @@ void SurfaceHolder::SetIdNamespace(uint32_t id_namespace) {
|
|
|
| void SurfaceHolder::ReturnResources(
|
| mojo::Array<mojo::ReturnedResourcePtr> resources) {
|
| - // TODO(abarth): The surface service shouldn't spam us with empty calls.
|
| - if (!resources.size())
|
| - return;
|
| client_->ReturnResources(resources.Pass());
|
| }
|
|
|
|
|