| Index: chrome/browser/android/chrome_entry_point.cc
|
| diff --git a/chrome/browser/android/chrome_entry_point.cc b/chrome/browser/android/chrome_entry_point.cc
|
| index 5bc9215ded3a07c1f0967cfd1f5461d7ffd50081..4a540518ea52b1de61bebefb9d50edf12251fa6c 100644
|
| --- a/chrome/browser/android/chrome_entry_point.cc
|
| +++ b/chrome/browser/android/chrome_entry_point.cc
|
| @@ -3,6 +3,7 @@
|
| // found in the LICENSE file.
|
|
|
| #include "base/android/jni_android.h"
|
| +#include "base/android/jni_utils.h"
|
| #include "base/android/library_loader/library_loader_hooks.h"
|
| #include "base/bind.h"
|
| #include "chrome/app/android/chrome_jni_onload.h"
|
| @@ -25,6 +26,15 @@ bool NativeInit() {
|
|
|
| // This is called by the VM when the shared library is first loaded.
|
| JNI_EXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
|
| + // By default, all JNI methods are registered. However, since render processes
|
| + // don't need very much Java code, we enable selective JNI registration on the
|
| + // Java side and only register a subset of JNI methods.
|
| + base::android::InitVM(vm);
|
| + JNIEnv* env = base::android::AttachCurrentThread();
|
| + if (base::android::isSelectiveJniRegistrationEnabled(env)) {
|
| + base::android::SetJniRegistrationType(
|
| + base::android::SELECTIVE_JNI_REGISTRATION);
|
| + }
|
| if (!android::OnJNIOnLoadRegisterJNI(vm, base::Bind(&RegisterJNI))) {
|
| return -1;
|
| }
|
|
|