Chromium Code Reviews| Index: services/fake_surfaces/fake_surfaces_service_application.cc |
| diff --git a/services/fake_surfaces/fake_surfaces_service_application.cc b/services/fake_surfaces/fake_surfaces_service_application.cc |
| index 56508f6dcbf4c8120e51996165ff20961bf6179e..a62e5ea9b23c60561c5747de0fee5f0baea73a06 100644 |
| --- a/services/fake_surfaces/fake_surfaces_service_application.cc |
| +++ b/services/fake_surfaces/fake_surfaces_service_application.cc |
| @@ -18,19 +18,26 @@ class FakeSurfaceImpl : public mojo::Surface { |
| public: |
| FakeSurfaceImpl(uint32_t id_namespace, |
| mojo::InterfaceRequest<mojo::Surface> request) |
| - : binding_(this, request.Pass()) { |
| - binding_.client()->SetIdNamespace(id_namespace); |
| - } |
| + : id_namespace_(id_namespace), binding_(this, request.Pass()) {} |
| ~FakeSurfaceImpl() override {} |
| // mojo::Surface implementation. |
| + void GetIdNamespace( |
| + const Surface::GetIdNamespaceCallback& callback) override { |
| + callback.Run(id_namespace_); |
| + } |
| + |
| + void SetResourceReturner(mojo::ResourceReturnerPtr returner) override { |
| + returner_ = returner.Pass(); |
| + } |
| + |
| void CreateSurface(uint32_t local_id) override {} |
| void SubmitFrame(uint32_t local_id, |
| mojo::FramePtr frame, |
| const mojo::Closure& callback) override { |
| callback.Run(); |
| - if (frame->resources.size() == 0u) |
| + if (frame->resources.size() == 0u || !returner_) |
| return; |
| mojo::Array<mojo::ReturnedResourcePtr> returned; |
| returned.resize(frame->resources.size()); |
| @@ -42,7 +49,7 @@ class FakeSurfaceImpl : public mojo::Surface { |
| ret->lost = false; |
| returned[i] = ret.Pass(); |
| } |
| - binding_.client()->ReturnResources(returned.Pass()); |
| + returner_->ReturnResources(returned.Pass()); |
| } |
| void DestroySurface(uint32_t local_id) override {} |
| @@ -55,6 +62,8 @@ class FakeSurfaceImpl : public mojo::Surface { |
| override {} |
| private: |
| + uint32_t id_namespace_; |
|
sky
2015/01/31 01:25:28
nit: const.
|
| + mojo::ResourceReturnerPtr returner_; |
| mojo::StrongBinding<mojo::Surface> binding_; |
| DISALLOW_COPY_AND_ASSIGN(FakeSurfaceImpl); |