summaryrefslogtreecommitdiffstats
path: root/mojo/shell
diff options
context:
space:
mode:
authoraberent@chromium.org <aberent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-12 19:07:08 +0000
committeraberent@chromium.org <aberent@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-12 19:07:08 +0000
commit8fc2a4bfd29a6d984c203caff5376d66be2a5988 (patch)
treeb021c0d718a57bd885cdb477d6357bb8581b4125 /mojo/shell
parentbd254d51c03c91f8a42113766d071834be3f8d08 (diff)
downloadchromium_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')
-rw-r--r--mojo/shell/android/apk/src/org/chromium/mojo_shell_apk/LibraryLoader.java20
-rw-r--r--mojo/shell/android/apk/src/org/chromium/mojo_shell_apk/MojoShellActivity.java7
-rw-r--r--mojo/shell/android/library_loader.cc4
-rw-r--r--mojo/shell/android/mojo_main.cc7
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();