Add long running gmail memory benchmark for background tab.
[chromium-blink-merge.git] / mojo / runner / android / library_loader.cc
blobb0dd98cd65028c783ff67fb85f9300b051bf439d
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "base/android/base_jni_onload.h"
6 #include "base/android/base_jni_registrar.h"
7 #include "base/android/jni_android.h"
8 #include "base/android/jni_registrar.h"
9 #include "base/bind.h"
10 #include "mojo/runner/android/android_handler.h"
11 #include "mojo/runner/android/main.h"
12 #include "ui/platform_window/android/platform_ime_controller_android.h"
13 #include "ui/platform_window/android/platform_window_android.h"
15 namespace {
17 base::android::RegistrationMethod kMojoRegisteredMethods[] = {
18 {"AndroidHandler", mojo::runner::RegisterAndroidHandlerJni},
19 {"PlatformImeControllerAndroid",
20 ui::PlatformImeControllerAndroid::Register},
21 {"PlatformWindowAndroid", ui::PlatformWindowAndroid::Register},
22 {"ShellMain", mojo::runner::RegisterShellMain},
25 bool RegisterJNI(JNIEnv* env) {
26 if (!base::android::RegisterJni(env))
27 return false;
29 return RegisterNativeMethods(env, kMojoRegisteredMethods,
30 arraysize(kMojoRegisteredMethods));
33 } // namespace
35 // This is called by the VM when the shared library is first loaded.
36 JNI_EXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
37 std::vector<base::android::RegisterCallback> register_callbacks;
38 register_callbacks.push_back(base::Bind(&RegisterJNI));
39 if (!base::android::OnJNIOnLoadRegisterJNI(vm, register_callbacks) ||
40 !base::android::OnJNIOnLoadInit(
41 std::vector<base::android::InitCallback>())) {
42 return -1;
45 return JNI_VERSION_1_4;