Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(462)

Unified Diff: mojo/examples/surfaces_app/surfaces_app.cc

Issue 504443002: Update mojo surfaces bindings and mojo/cc/ glue (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 b97e40f9c918106faae05c46309d63266a2d1ef8..5bb4ee988edddf0536d62e35f64e069190087ecb 100644
--- a/mojo/examples/surfaces_app/surfaces_app.cc
+++ b/mojo/examples/surfaces_app/surfaces_app.cc
@@ -18,6 +18,8 @@
#include "mojo/services/public/cpp/surfaces/surfaces_type_converters.h"
#include "mojo/services/public/interfaces/gpu/gpu.mojom.h"
#include "mojo/services/public/interfaces/native_viewport/native_viewport.mojom.h"
+#include "mojo/services/public/interfaces/surfaces/surfaces.mojom.h"
+#include "mojo/services/public/interfaces/surfaces/surfaces_service.mojom.h"
#include "ui/gfx/rect.h"
namespace mojo {
@@ -41,8 +43,10 @@ class SurfacesApp : public ApplicationDelegate,
connection->ConnectToService("mojo:mojo_native_viewport_service",
&gpu_service_);
- connection->ConnectToService("mojo:mojo_surfaces_service", &surfaces_);
- surfaces_.set_client(this);
+ connection->ConnectToService("mojo:mojo_surfaces_service",
+ &surfaces_service_);
+ surfaces_service_->CreateSurfaceConnection(base::Bind(
+ &SurfacesApp::SurfaceConnectionCreated, base::Unretained(this)));
size_ = gfx::Size(800, 600);
@@ -61,7 +65,6 @@ class SurfacesApp : public ApplicationDelegate,
Size::From(child_size_),
base::Bind(&SurfacesApp::ChildTwoProducedFrame,
base::Unretained(this)));
- embedder_.reset(new Embedder(surfaces_.get()));
return true;
}
@@ -91,8 +94,10 @@ class SurfacesApp : public ApplicationDelegate,
base::TimeDelta::FromMilliseconds(50));
}
- // SurfaceClient implementation.
- virtual void SetIdNamespace(uint32_t id_namespace) OVERRIDE {
+ void SurfaceConnectionCreated(SurfacePtr surface, uint32_t id_namespace) {
+ surface_ = surface.Pass();
+ surface_.set_client(this);
+ embedder_.reset(new Embedder(surface_.get()));
allocator_.reset(new cc::SurfaceIdAllocator(id_namespace));
CreateSurfaceIfReady();
}
@@ -124,7 +129,7 @@ class SurfacesApp : public ApplicationDelegate,
CommandBufferPtr cb;
gpu_service_->CreateOnscreenGLES2Context(
native_viewport_id_, Size::From(size_), Get(&cb));
- surfaces_->CreateGLES2BoundSurface(
+ surface_->CreateGLES2BoundSurface(
cb.Pass(), SurfaceId::From(onscreen_id_), Size::From(size_));
Draw(10);
}
@@ -136,7 +141,8 @@ class SurfacesApp : public ApplicationDelegate,
}
private:
- SurfacePtr surfaces_;
+ SurfacesServicePtr surfaces_service_;
+ SurfacePtr surface_;
cc::SurfaceId onscreen_id_;
uint64_t native_viewport_id_;
scoped_ptr<cc::SurfaceIdAllocator> allocator_;

Powered by Google App Engine
This is Rietveld 408576698