Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3916)

Unified Diff: chrome/browser/android/chrome_entry_point.cc

Issue 2593653002: Split JNI init so native library preloading dosn't cause native init. (Closed)
Patch Set: Add library initialization to AwCookieManager constructor Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 789b99b46a35d9abc9570817ce9b61ce56d653f6..5bc9215ded3a07c1f0967cfd1f5461d7ffd50081 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/library_loader/library_loader_hooks.h"
#include "base/bind.h"
#include "chrome/app/android/chrome_jni_onload.h"
@@ -16,13 +17,17 @@ bool Init() {
return true;
}
+bool NativeInit() {
+ return android::OnJNIOnLoadInit(base::Bind(&Init));
Torne 2017/01/03 12:13:50 This chaining mechanism looks weird and confusing
+}
+
} // namespace
// This is called by the VM when the shared library is first loaded.
JNI_EXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
- if (!android::OnJNIOnLoadRegisterJNI(vm, base::Bind(&RegisterJNI)) ||
- !android::OnJNIOnLoadInit(base::Bind(&Init))) {
+ if (!android::OnJNIOnLoadRegisterJNI(vm, base::Bind(&RegisterJNI))) {
return -1;
}
+ base::android::SetNativeInitializationHook(NativeInit);
return JNI_VERSION_1_4;
}

Powered by Google App Engine
This is Rietveld 408576698