Index: mojo/examples/pepper_container_app/pepper_container_app.cc |
diff --git a/mojo/examples/pepper_container_app/pepper_container_app.cc b/mojo/examples/pepper_container_app/pepper_container_app.cc |
index e74ae8c1313e5b2d04cede82010e1f50da9a5a8a..8d80a47e68326d7e0ad09628a7053b95d58d694d 100644 |
--- a/mojo/examples/pepper_container_app/pepper_container_app.cc |
+++ b/mojo/examples/pepper_container_app/pepper_container_app.cc |
@@ -14,6 +14,7 @@ |
#include "mojo/public/cpp/application/application_delegate.h" |
#include "mojo/public/cpp/application/application_impl.h" |
#include "mojo/public/cpp/system/core.h" |
+#include "mojo/services/public/interfaces/gpu/gpu.mojom.h" |
#include "mojo/services/public/interfaces/native_viewport/native_viewport.mojom.h" |
#include "ppapi/c/pp_rect.h" |
#include "ppapi/shared_impl/proxy_lock.h" |
@@ -35,6 +36,9 @@ class PepperContainerApp: public ApplicationDelegate, |
app->ConnectToService("mojo:mojo_native_viewport_service", &viewport_); |
viewport_.set_client(this); |
+ // TODO(jamesr): Should be mojo:mojo_gpu_service |
+ app->ConnectToService("mojo:mojo_native_viewport_service", &gpu_service_); |
+ |
RectPtr rect(Rect::New()); |
rect->x = 10; |
rect->y = 10; |
@@ -45,7 +49,8 @@ class PepperContainerApp: public ApplicationDelegate, |
} |
// NativeViewportClient implementation. |
- virtual void OnCreated() OVERRIDE { |
+ virtual void OnCreated(uint64_t native_viewport_id) OVERRIDE { |
+ native_viewport_id_ = native_viewport_id; |
ppapi::ProxyAutoLock lock; |
plugin_instance_ = plugin_module_->CreateInstance().Pass(); |
@@ -53,7 +58,7 @@ class PepperContainerApp: public ApplicationDelegate, |
plugin_instance_.reset(); |
} |
- virtual void OnDestroyed(const mojo::Callback<void()>& callback) OVERRIDE { |
+ virtual void OnDestroyed() OVERRIDE { |
ppapi::ProxyAutoLock lock; |
if (plugin_instance_) { |
@@ -62,7 +67,6 @@ class PepperContainerApp: public ApplicationDelegate, |
} |
base::MessageLoop::current()->Quit(); |
- callback.Run(); |
} |
virtual void OnBoundsChanged(RectPtr bounds) OVERRIDE { |
@@ -85,14 +89,20 @@ class PepperContainerApp: public ApplicationDelegate, |
// MojoPpapiGlobals::Delegate implementation. |
virtual ScopedMessagePipeHandle CreateGLES2Context() OVERRIDE { |
CommandBufferPtr command_buffer; |
- viewport_->CreateGLES2Context(Get(&command_buffer)); |
+ SizePtr size = Size::New(); |
+ size->width = 800; |
+ size->width = 600; |
+ gpu_service_->CreateOnscreenGLES2Context( |
+ native_viewport_id_, size.Pass(), Get(&command_buffer)); |
return command_buffer.PassMessagePipe(); |
} |
private: |
MojoPpapiGlobals ppapi_globals_; |
+ uint64_t native_viewport_id_; |
NativeViewportPtr viewport_; |
+ GpuPtr gpu_service_; |
scoped_refptr<PluginModule> plugin_module_; |
scoped_ptr<PluginInstance> plugin_instance_; |