Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / mojo / examples / pepper_container_app / pepper_container_app.cc
index 3c6cf76..18df756 100644 (file)
 #include "mojo/examples/pepper_container_app/plugin_instance.h"
 #include "mojo/examples/pepper_container_app/plugin_module.h"
 #include "mojo/examples/pepper_container_app/type_converters.h"
-#include "mojo/public/cpp/application/application.h"
-#include "mojo/public/cpp/gles2/gles2.h"
+#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/public/interfaces/service_provider/service_provider.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"
 namespace mojo {
 namespace examples {
 
-class PepperContainerApp: public Application,
+class PepperContainerApp: public ApplicationDelegate,
                           public NativeViewportClient,
                           public MojoPpapiGlobals::Delegate {
  public:
   explicit PepperContainerApp()
-      : Application(),
-        ppapi_globals_(this),
+      : ppapi_globals_(this),
         plugin_module_(new PluginModule) {}
 
   virtual ~PepperContainerApp() {}
 
-  virtual void Initialize() MOJO_OVERRIDE {
-    ConnectTo("mojo:mojo_native_viewport_service", &viewport_);
+  virtual void Initialize(ApplicationImpl* app) MOJO_OVERRIDE {
+    app->ConnectToService("mojo:mojo_native_viewport_service", &viewport_);
     viewport_.set_client(this);
 
     RectPtr rect(Rect::New());
@@ -55,7 +53,7 @@ class PepperContainerApp: public Application,
       plugin_instance_.reset();
   }
 
-  virtual void OnDestroyed() OVERRIDE {
+  virtual void OnDestroyed(const mojo::Callback<void()>& callback) OVERRIDE {
     ppapi::ProxyAutoLock lock;
 
     if (plugin_instance_) {
@@ -64,6 +62,7 @@ class PepperContainerApp: public Application,
     }
 
     base::MessageLoop::current()->Quit();
+    callback.Run();
   }
 
   virtual void OnBoundsChanged(RectPtr bounds) OVERRIDE {
@@ -103,7 +102,7 @@ class PepperContainerApp: public Application,
 }  // namespace examples
 
 // static
-Application* Application::Create() {
+ApplicationDelegate* ApplicationDelegate::Create() {
   return new examples::PepperContainerApp();
 }