Chromium Code Reviews| Index: components/cronet/android/cronet_library_loader.cc |
| diff --git a/components/cronet/android/cronet_library_loader.cc b/components/cronet/android/cronet_library_loader.cc |
| index 6d4d11730c8c0cd7adb5e4f8711007a5841d9e15..6239785e6fd5d8d0cff54f9c03af703fab9b5a18 100644 |
| --- a/components/cronet/android/cronet_library_loader.cc |
| +++ b/components/cronet/android/cronet_library_loader.cc |
| @@ -52,9 +52,9 @@ const base::android::RegistrationMethod kCronetRegisteredMethods[] = { |
| {"NetAndroid", net::android::RegisterJni}, |
| }; |
| -// MessageLoop on the main thread, which is where objects that receive Java |
| +// MessageLoop on the init thread, which is where objects that receive Java |
| // notifications generally live. |
| -base::MessageLoop* g_main_message_loop = nullptr; |
| +base::MessageLoop* g_init_message_loop = nullptr; |
| net::NetworkChangeNotifier* g_network_change_notifier = nullptr; |
| @@ -72,6 +72,10 @@ bool NativeInit() { |
| } // namespace |
| +bool OnInitThread() { |
|
xunjieli
2017/04/13 18:44:54
This global static function will return true if g_
pauljensen
2017/05/01 15:35:53
Done.
|
| + return g_init_message_loop == base::MessageLoop::current(); |
| +} |
| + |
| // Checks the available version of JNI. Also, caches Java reflection artifacts. |
| jint CronetOnLoad(JavaVM* vm, void* reserved) { |
| base::android::InitVM(vm); |
| @@ -87,7 +91,7 @@ void CronetOnUnLoad(JavaVM* jvm, void* reserved) { |
| base::android::LibraryLoaderExitHook(); |
| } |
| -void CronetInitOnMainThread(JNIEnv* env, const JavaParamRef<jclass>& jcaller) { |
| +void CronetInitOnInitThread(JNIEnv* env, const JavaParamRef<jclass>& jcaller) { |
| #if !BUILDFLAG(USE_PLATFORM_ICU_ALTERNATIVES) |
| base::i18n::InitializeICU(); |
| #endif |
| @@ -97,9 +101,8 @@ void CronetInitOnMainThread(JNIEnv* env, const JavaParamRef<jclass>& jcaller) { |
| // configuration information. |
| base::CommandLine::Init(0, nullptr); |
| DCHECK(!base::MessageLoop::current()); |
| - DCHECK(!g_main_message_loop); |
| - g_main_message_loop = new base::MessageLoopForUI(); |
| - base::MessageLoopForUI::current()->Start(); |
| + DCHECK(!g_init_message_loop); |
| + g_init_message_loop = new base::MessageLoop(); |
| DCHECK(!g_network_change_notifier); |
| net::NetworkChangeNotifier::SetFactory( |
| new net::NetworkChangeNotifierFactoryAndroid()); |