diff options
author | aberent@chromium.org <aberent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-12 19:07:08 +0000 |
---|---|---|
committer | aberent@chromium.org <aberent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-12 19:07:08 +0000 |
commit | 8fc2a4bfd29a6d984c203caff5376d66be2a5988 (patch) | |
tree | b021c0d718a57bd885cdb477d6357bb8581b4125 /mojo/shell | |
parent | bd254d51c03c91f8a42113766d071834be3f8d08 (diff) | |
download | chromium_src-8fc2a4bfd29a6d984c203caff5376d66be2a5988.zip chromium_src-8fc2a4bfd29a6d984c203caff5376d66be2a5988.tar.gz chromium_src-8fc2a4bfd29a6d984c203caff5376d66be2a5988.tar.bz2 |
[Android][Mojo] Switch to standard Chromium library loader
Now that the library loader has been moved to base mojo shell can use
it. Switch to using it.
BUG=225101
Review URL: https://codereview.chromium.org/159253002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250768 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'mojo/shell')
4 files changed, 8 insertions, 30 deletions
diff --git a/mojo/shell/android/apk/src/org/chromium/mojo_shell_apk/LibraryLoader.java b/mojo/shell/android/apk/src/org/chromium/mojo_shell_apk/LibraryLoader.java deleted file mode 100644 index 93d4c0b..0000000 --- a/mojo/shell/android/apk/src/org/chromium/mojo_shell_apk/LibraryLoader.java +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -package org.chromium.mojo_shell_apk; - -import android.util.Log; - -public class LibraryLoader { - private static final String TAG = "LibraryLoader"; - private static Boolean sInitialized = false; - - public static void ensureInitialized() throws UnsatisfiedLinkError { - if (sInitialized) - return; - sInitialized = true; - System.loadLibrary("mojo_shell"); - Log.i(TAG, "libmojo_shell initialization success."); - } -} diff --git a/mojo/shell/android/apk/src/org/chromium/mojo_shell_apk/MojoShellActivity.java b/mojo/shell/android/apk/src/org/chromium/mojo_shell_apk/MojoShellActivity.java index 1229464..15a5861 100644 --- a/mojo/shell/android/apk/src/org/chromium/mojo_shell_apk/MojoShellActivity.java +++ b/mojo/shell/android/apk/src/org/chromium/mojo_shell_apk/MojoShellActivity.java @@ -12,8 +12,8 @@ import android.os.Bundle; import android.util.Log; import android.widget.EditText; -import org.chromium.mojo_shell_apk.LibraryLoader; -import org.chromium.mojo_shell_apk.MojoMain; +import org.chromium.base.library_loader.LibraryLoader; +import org.chromium.base.library_loader.ProcessInitException; /** * Activity for managing the Mojo Shell. @@ -27,7 +27,7 @@ public class MojoShellActivity extends Activity { try { LibraryLoader.ensureInitialized(); - } catch (UnsatisfiedLinkError e) { + } catch (ProcessInitException e) { Log.e(TAG, "libmojo_shell initialization failed.", e); finish(); return; @@ -44,6 +44,7 @@ public class MojoShellActivity extends Activity { final EditText input = new EditText(this); alert.setView(input); alert.setPositiveButton("Load", new DialogInterface.OnClickListener() { + @Override public void onClick(DialogInterface dialog, int button) { String url = input.getText().toString(); startWithURL(url); diff --git a/mojo/shell/android/library_loader.cc b/mojo/shell/android/library_loader.cc index e3a7854..37d6592 100644 --- a/mojo/shell/android/library_loader.cc +++ b/mojo/shell/android/library_loader.cc @@ -5,6 +5,7 @@ #include "base/android/base_jni_registrar.h" #include "base/android/jni_android.h" #include "base/android/jni_registrar.h" +#include "base/android/library_loader/library_loader_hooks.h" #include "base/logging.h" #include "mojo/services/native_viewport/native_viewport_android.h" #include "mojo/shell/android/mojo_main.h" @@ -29,6 +30,9 @@ JNI_EXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) { base::android::InitVM(vm); JNIEnv* env = base::android::AttachCurrentThread(); + if (!base::android::RegisterLibraryLoaderEntryHook(env)) + return -1; + if (!base::android::RegisterJni(env)) return -1; diff --git a/mojo/shell/android/mojo_main.cc b/mojo/shell/android/mojo_main.cc index 122a525..e892870 100644 --- a/mojo/shell/android/mojo_main.cc +++ b/mojo/shell/android/mojo_main.cc @@ -26,8 +26,6 @@ namespace mojo { namespace { -base::AtExitManager* g_at_exit = 0; - LazyInstance<scoped_ptr<base::MessageLoop> > g_java_message_loop = LAZY_INSTANCE_INITIALIZER; @@ -59,11 +57,6 @@ static void Init(JNIEnv* env, jclass clazz, jobject context) { base::android::InitApplicationContext(env, scoped_context); - if (g_at_exit) - return; - g_at_exit = new base::AtExitManager(); - // TODO(abarth): Currently we leak g_at_exit. - CommandLine::Init(0, 0); mojo::shell::InitializeLogging(); |