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

Side by Side Diff: android_webview/lib/main/webview_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, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "android_webview/lib/main/webview_jni_onload.h" 5 #include "android_webview/lib/main/webview_jni_onload.h"
6 #include "base/android/jni_android.h" 6 #include "base/android/jni_android.h"
7 #include "base/android/library_loader/library_loader_hooks.h"
7 8
8 // This is called by the VM when the shared library is first loaded. 9 // This is called by the VM when the shared library is first loaded.
9 // Most of the initialization is done in LibraryLoadedOnMainThread(), not here. 10 // Most of the initialization is done in LibraryLoadedOnMainThread(), not here.
10 JNI_EXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) { 11 JNI_EXPORT jint JNI_OnLoad(JavaVM* vm, void* reserved) {
11 // WebView uses native JNI exports; disable manual JNI registration because 12 // WebView uses native JNI exports; disable manual JNI registration because
12 // we don't have a good way to detect the JNI registrations which is called, 13 // we don't have a good way to detect the JNI registrations which is called,
13 // outside of OnJNIOnLoadRegisterJNI code path. 14 // outside of OnJNIOnLoadRegisterJNI code path.
14 base::android::DisableManualJniRegistration(); 15 base::android::DisableManualJniRegistration();
15 16 base::android::InitVM(vm);
16 if (base::android::IsManualJniRegistrationDisabled()) { 17 base::android::SetNativeInitializationHook(&android_webview::OnJNIOnLoadInit);
17 base::android::InitVM(vm);
18 } else {
19 if (android_webview::OnJNIOnLoadRegisterJNI(vm))
20 return -1;
21 }
22
23 if (!android_webview::OnJNIOnLoadInit()) {
24 return -1;
25 }
26 return JNI_VERSION_1_4; 18 return JNI_VERSION_1_4;
27 } 19 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698