| Index: examples/surfaces_app/child_impl.cc
|
| diff --git a/examples/surfaces_app/child_impl.cc b/examples/surfaces_app/child_impl.cc
|
| index cd0cf481364ecf1d37397cf99ffffbb4766389f4..de5279eaf77a14c6c11f5b418cd2a906670b3a63 100644
|
| --- a/examples/surfaces_app/child_impl.cc
|
| +++ b/examples/surfaces_app/child_impl.cc
|
| @@ -28,19 +28,22 @@ using cc::SolidColorDrawQuad;
|
| using cc::DelegatedFrameData;
|
| using cc::CompositorFrame;
|
|
|
| -ChildImpl::ChildImpl(ApplicationConnection* surfaces_service_connection) {
|
| +static const uint32_t kLocalId = 1u;
|
| +
|
| +ChildImpl::ChildImpl(ApplicationConnection* surfaces_service_connection)
|
| + : id_namespace_(0u) {
|
| surfaces_service_connection->ConnectToService(&surface_);
|
| surface_.set_client(this);
|
| surface_.WaitForIncomingMethodCall(); // Wait for ID namespace to arrive.
|
| + DCHECK_NE(0u, id_namespace_);
|
| }
|
|
|
| ChildImpl::~ChildImpl() {
|
| - if (surface_)
|
| - surface_->DestroySurface(mojo::SurfaceId::From(id_));
|
| + surface_->DestroySurface(kLocalId);
|
| }
|
|
|
| void ChildImpl::SetIdNamespace(uint32_t id_namespace) {
|
| - allocator_.reset(new cc::SurfaceIdAllocator(id_namespace));
|
| + id_namespace_ = id_namespace;
|
| }
|
|
|
| void ChildImpl::ReturnResources(
|
| @@ -48,12 +51,9 @@ void ChildImpl::ReturnResources(
|
| DCHECK(!resources.size());
|
| }
|
|
|
| -void ChildImpl::ProduceFrame(
|
| - ColorPtr color,
|
| - SizePtr size_ptr,
|
| - const mojo::Callback<void(SurfaceIdPtr id)>& callback) {
|
| - id_ = allocator_->GenerateId();
|
| - surface_->CreateSurface(mojo::SurfaceId::From(id_));
|
| +void ChildImpl::ProduceFrame(ColorPtr color,
|
| + SizePtr size_ptr,
|
| + const ProduceCallback& callback) {
|
| gfx::Size size = size_ptr.To<gfx::Size>();
|
| gfx::Rect rect(size);
|
| RenderPassId id(1, 1);
|
| @@ -65,11 +65,8 @@ void ChildImpl::ProduceFrame(
|
| SolidColorDrawQuad* color_quad =
|
| pass->CreateAndAppendDrawQuad<SolidColorDrawQuad>();
|
| bool force_anti_aliasing_off = false;
|
| - color_quad->SetNew(pass->shared_quad_state_list.back(),
|
| - rect,
|
| - rect,
|
| - color.To<SkColor>(),
|
| - force_anti_aliasing_off);
|
| + color_quad->SetNew(pass->shared_quad_state_list.back(), rect, rect,
|
| + color.To<SkColor>(), force_anti_aliasing_off);
|
|
|
| scoped_ptr<DelegatedFrameData> delegated_frame_data(new DelegatedFrameData);
|
| delegated_frame_data->render_pass_list.push_back(pass.Pass());
|
| @@ -77,9 +74,12 @@ void ChildImpl::ProduceFrame(
|
| scoped_ptr<CompositorFrame> frame(new CompositorFrame);
|
| frame->delegated_frame_data = delegated_frame_data.Pass();
|
|
|
| - surface_->SubmitFrame(mojo::SurfaceId::From(id_), mojo::Frame::From(*frame),
|
| - mojo::Closure());
|
| - callback.Run(SurfaceId::From(id_));
|
| + surface_->CreateSurface(kLocalId);
|
| + surface_->SubmitFrame(kLocalId, mojo::Frame::From(*frame), mojo::Closure());
|
| + auto qualified_id = mojo::SurfaceId::New();
|
| + qualified_id->id_namespace = id_namespace_;
|
| + qualified_id->local = kLocalId;
|
| + callback.Run(qualified_id.Pass());
|
| }
|
|
|
| } // namespace examples
|
|
|