Index: mojo/examples/surfaces_app/surfaces_app.cc |
diff --git a/mojo/examples/surfaces_app/surfaces_app.cc b/mojo/examples/surfaces_app/surfaces_app.cc |
index 5bb4ee988edddf0536d62e35f64e069190087ecb..df24e7017026b874e0106e70b4873a4fe0b70676 100644 |
--- a/mojo/examples/surfaces_app/surfaces_app.cc |
+++ b/mojo/examples/surfaces_app/surfaces_app.cc |
@@ -29,7 +29,7 @@ class SurfacesApp : public ApplicationDelegate, |
public SurfaceClient, |
public NativeViewportClient { |
public: |
- SurfacesApp() : native_viewport_id_(0) {} |
+ SurfacesApp() {} |
virtual ~SurfacesApp() {} |
// ApplicationDelegate implementation |
@@ -39,10 +39,6 @@ class SurfacesApp : public ApplicationDelegate, |
&viewport_); |
viewport_.set_client(this); |
- // TODO(jamesr): Should be mojo:mojo_gpu_service |
- connection->ConnectToService("mojo:mojo_native_viewport_service", |
- &gpu_service_); |
- |
connection->ConnectToService("mojo:mojo_surfaces_service", |
&surfaces_service_); |
surfaces_service_->CreateSurfaceConnection(base::Bind( |
@@ -70,18 +66,13 @@ class SurfacesApp : public ApplicationDelegate, |
void ChildOneProducedFrame(SurfaceIdPtr id) { |
child_one_id_ = id.To<cc::SurfaceId>(); |
- Draw(10); |
} |
void ChildTwoProducedFrame(SurfaceIdPtr id) { |
child_two_id_ = id.To<cc::SurfaceId>(); |
- Draw(10); |
} |
void Draw(int offset) { |
- if (onscreen_id_.is_null() || child_one_id_.is_null() || |
- child_two_id_.is_null()) |
- return; |
int bounced_offset = offset; |
if (offset > 200) |
bounced_offset = 400 - offset; |
@@ -99,40 +90,20 @@ class SurfacesApp : public ApplicationDelegate, |
surface_.set_client(this); |
embedder_.reset(new Embedder(surface_.get())); |
allocator_.reset(new cc::SurfaceIdAllocator(id_namespace)); |
- CreateSurfaceIfReady(); |
- } |
- virtual void ReturnResources( |
- Array<ReturnedResourcePtr> resources) OVERRIDE { |
- DCHECK(!resources.size()); |
- } |
- |
- // NativeViewportClient implementation |
- virtual void OnCreated(uint64_t native_viewport_id) OVERRIDE { |
- native_viewport_id_ = native_viewport_id; |
- CreateSurfaceIfReady(); |
- } |
- |
- // We can't create our GLES2-bound surface until we have our id namespace from |
- // the surfaces service and our native viewport id from the native viewport |
- // service. There's no way of knowing which we'll get first, so we just start |
- // whenever both arrive. |
- void CreateSurfaceIfReady() { |
- if (!onscreen_id_.is_null()) |
- return; |
- if (native_viewport_id_ == 0) |
- return; |
- if (!allocator_) |
- return; |
onscreen_id_ = allocator_->GenerateId(); |
embedder_->SetSurfaceId(onscreen_id_); |
- CommandBufferPtr cb; |
- gpu_service_->CreateOnscreenGLES2Context( |
- native_viewport_id_, Size::From(size_), Get(&cb)); |
- surface_->CreateGLES2BoundSurface( |
- cb.Pass(), SurfaceId::From(onscreen_id_), Size::From(size_)); |
+ surface_->CreateSurface(SurfaceId::From(onscreen_id_), Size::From(size_)); |
+ viewport_->SubmittedFrame(SurfaceId::From(onscreen_id_)); |
Draw(10); |
} |
+ |
+ // SurfaceClient implementation. |
+ virtual void ReturnResources(Array<ReturnedResourcePtr> resources) OVERRIDE { |
+ DCHECK(!resources.size()); |
+ } |
+ // NativeViewportClient implementation. |
+ virtual void OnCreated(uint64_t native_viewport_id) OVERRIDE {} |
virtual void OnBoundsChanged(mojo::RectPtr bounds) OVERRIDE {} |
virtual void OnDestroyed() OVERRIDE {} |
virtual void OnEvent(mojo::EventPtr event, |
@@ -144,7 +115,6 @@ class SurfacesApp : public ApplicationDelegate, |
SurfacesServicePtr surfaces_service_; |
SurfacePtr surface_; |
cc::SurfaceId onscreen_id_; |
- uint64_t native_viewport_id_; |
scoped_ptr<cc::SurfaceIdAllocator> allocator_; |
scoped_ptr<Embedder> embedder_; |
ChildPtr child_one_; |
@@ -155,7 +125,6 @@ class SurfacesApp : public ApplicationDelegate, |
gfx::Size child_size_; |
NativeViewportPtr viewport_; |
- GpuPtr gpu_service_; |
DISALLOW_COPY_AND_ASSIGN(SurfacesApp); |
}; |