summaryrefslogtreecommitdiffstats
path: root/mojo/shell
diff options
context:
space:
mode:
authordavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-17 18:19:07 +0000
committerdavemoore@chromium.org <davemoore@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-17 18:19:07 +0000
commit7f7da3606233d30493b40bc953fafc32d88fd8ce (patch)
treefc4084ba1c8ca4e4b51d5ed1db2da302d3b5f1b3 /mojo/shell
parent450b03c7117979e702c57652cf6a32fbcaedf78a (diff)
downloadchromium_src-7f7da3606233d30493b40bc953fafc32d88fd8ce.zip
chromium_src-7f7da3606233d30493b40bc953fafc32d88fd8ce.tar.gz
chromium_src-7f7da3606233d30493b40bc953fafc32d88fd8ce.tar.bz2
Revert 264559 "Get sample_app running on Android again"
> Get sample_app running on Android again > > R=viettrungluu@chromium.org, viettrungluu > BUG= > > Review URL: https://codereview.chromium.org/240003006 TBR=davemoore@chromium.org Review URL: https://codereview.chromium.org/238563003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264576 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/shell')
-rw-r--r--mojo/shell/android/mojo_main.cc32
1 files changed, 27 insertions, 5 deletions
diff --git a/mojo/shell/android/mojo_main.cc b/mojo/shell/android/mojo_main.cc
index 889d893..a912864 100644
--- a/mojo/shell/android/mojo_main.cc
+++ b/mojo/shell/android/mojo_main.cc
@@ -13,10 +13,10 @@
#include "base/macros.h"
#include "base/message_loop/message_loop.h"
#include "jni/MojoMain_jni.h"
-#include "mojo/public/cpp/environment/environment.h"
#include "mojo/public/cpp/shell/application.h"
#include "mojo/service_manager/service_loader.h"
#include "mojo/service_manager/service_manager.h"
+#include "mojo/services/native_viewport/native_viewport_service.h"
#include "mojo/shell/context.h"
#include "mojo/shell/init.h"
#include "mojo/shell/run.h"
@@ -34,8 +34,28 @@ LazyInstance<scoped_ptr<base::MessageLoop> > g_java_message_loop =
LazyInstance<scoped_ptr<shell::Context> > g_context =
LAZY_INSTANCE_INITIALIZER;
-LazyInstance<scoped_ptr<mojo::Environment> > g_env =
- LAZY_INSTANCE_INITIALIZER;
+class NativeViewportServiceLoader : public ServiceLoader {
+ public:
+ NativeViewportServiceLoader() {}
+ virtual ~NativeViewportServiceLoader() {}
+
+ private:
+ virtual void LoadService(ServiceManager* manager,
+ const GURL& url,
+ ScopedShellHandle service_handle) OVERRIDE {
+ app_.reset(CreateNativeViewportService(g_context.Get().get(),
+ service_handle.Pass()));
+ }
+
+ virtual void OnServiceError(ServiceManager* manager,
+ const GURL& url) OVERRIDE {
+ }
+
+ scoped_ptr<Application> app_;
+};
+
+LazyInstance<scoped_ptr<NativeViewportServiceLoader> >
+ g_viewport_service_loader = LAZY_INSTANCE_INITIALIZER;
} // namspace
@@ -73,13 +93,15 @@ static void Start(JNIEnv* env, jclass clazz, jobject context, jstring jurl) {
CommandLine::ForCurrentProcess()->InitFromArgv(argv);
}
- g_env.Get().reset(new Environment);
-
base::android::ScopedJavaGlobalRef<jobject> activity;
activity.Reset(env, context);
shell::Context* shell_context = new shell::Context();
shell_context->set_activity(activity.obj());
+ g_viewport_service_loader.Get().reset(new NativeViewportServiceLoader());
+ shell_context->service_manager()->SetLoaderForURL(
+ g_viewport_service_loader.Get().get(),
+ GURL("mojo:mojo_native_viewport_service"));
g_context.Get().reset(shell_context);
shell::Run(shell_context);