| OLD | NEW | 
|   1 // Copyright 2014 The Chromium Authors. All rights reserved. |   1 // Copyright 2014 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 "base/android/base_jni_registrar.h" |   5 #include "base/android/base_jni_registrar.h" | 
|   6 #include "base/android/jni_android.h" |   6 #include "base/android/jni_android.h" | 
|   7 #include "base/android/jni_registrar.h" |   7 #include "base/android/jni_registrar.h" | 
|   8 #include "base/at_exit.h" |   8 #include "base/at_exit.h" | 
|   9 #include "components/cronet/android/chromium_url_request.h" |   9 #include "components/cronet/android/chromium_url_request.h" | 
|  10 #include "components/cronet/android/chromium_url_request_context.h" |  10 #include "components/cronet/android/chromium_url_request_context.h" | 
|  11 #include "net/android/net_jni_registrar.h" |  11 #include "net/android/net_jni_registrar.h" | 
|  12 #include "url/android/url_jni_registrar.h" |  12 #include "url/android/url_jni_registrar.h" | 
|  13 #include "url/url_util.h" |  13 #include "url/url_util.h" | 
|  14  |  14  | 
|  15 #if !defined(USE_ICU_ALTERNATIVES_ON_ANDROID) |  15 #if !defined(USE_ICU_ALTERNATIVES_ON_ANDROID) | 
|  16 #include "base/i18n/icu_util.h" |  16 #include "base/i18n/icu_util.h" | 
|  17 #endif |  17 #endif | 
|  18  |  18  | 
 |  19 namespace cronet { | 
|  19 namespace { |  20 namespace { | 
|  20  |  21  | 
|  21 const base::android::RegistrationMethod kCronetRegisteredMethods[] = { |  22 const base::android::RegistrationMethod kCronetRegisteredMethods[] = { | 
|  22     {"BaseAndroid", base::android::RegisterJni}, |  23     {"BaseAndroid", base::android::RegisterJni}, | 
|  23     {"ChromiumUrlRequest", cronet::ChromiumUrlRequestRegisterJni}, |  24     {"ChromiumUrlRequest", cronet::ChromiumUrlRequestRegisterJni}, | 
|  24     {"ChromiumUrlRequestContext", cronet::ChromiumUrlRequestContextRegisterJni}, |  25     {"ChromiumUrlRequestContext", cronet::ChromiumUrlRequestContextRegisterJni}, | 
|  25     {"NetAndroid", net::android::RegisterJni}, |  26     {"NetAndroid", net::android::RegisterJni}, | 
|  26     {"UrlAndroid", url::android::RegisterJni}, |  27     {"UrlAndroid", url::android::RegisterJni}, | 
|  27 }; |  28 }; | 
|  28  |  29  | 
|  29 base::AtExitManager* g_at_exit_manager = NULL; |  30 base::AtExitManager* g_at_exit_manager = NULL; | 
|  30  |  31  | 
|  31 }  // namespace |  32 }  // namespace | 
|  32  |  33  | 
|  33 // Checks the available version of JNI. Also, caches Java reflection artifacts. |  34 // Checks the available version of JNI. Also, caches Java reflection artifacts. | 
|  34 extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved) { |  35 jint CronetOnLoad(JavaVM* vm, void* reserved) { | 
|  35   JNIEnv* env; |  36   JNIEnv* env; | 
|  36   if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) { |  37   if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) { | 
|  37     return -1; |  38     return -1; | 
|  38   } |  39   } | 
|  39  |  40  | 
|  40   base::android::InitVM(vm); |  41   base::android::InitVM(vm); | 
|  41  |  42  | 
|  42   if (!base::android::RegisterNativeMethods( |  43   if (!base::android::RegisterNativeMethods( | 
|  43           env, kCronetRegisteredMethods, arraysize(kCronetRegisteredMethods))) { |  44           env, kCronetRegisteredMethods, arraysize(kCronetRegisteredMethods))) { | 
|  44     return -1; |  45     return -1; | 
|  45   } |  46   } | 
|  46  |  47  | 
|  47   g_at_exit_manager = new base::AtExitManager(); |  48   g_at_exit_manager = new base::AtExitManager(); | 
|  48  |  49  | 
|  49 #if !defined(USE_ICU_ALTERNATIVES_ON_ANDROID) |  50 #if !defined(USE_ICU_ALTERNATIVES_ON_ANDROID) | 
|  50   base::i18n::InitializeICU(); |  51   base::i18n::InitializeICU(); | 
|  51 #endif |  52 #endif | 
|  52  |  53  | 
|  53   url::Initialize(); |  54   url::Initialize(); | 
|  54  |  55  | 
|  55   return JNI_VERSION_1_6; |  56   return JNI_VERSION_1_6; | 
|  56 } |  57 } | 
|  57  |  58  | 
|  58 extern "C" void JNIEXPORT JNICALL JNI_OnUnLoad(JavaVM* jvm, void* reserved) { |  59 void CronetOnUnLoad(JavaVM* jvm, void* reserved) { | 
|  59   if (g_at_exit_manager) { |  60   if (g_at_exit_manager) { | 
|  60     delete g_at_exit_manager; |  61     delete g_at_exit_manager; | 
|  61     g_at_exit_manager = NULL; |  62     g_at_exit_manager = NULL; | 
|  62   } |  63   } | 
|  63 } |  64 } | 
|  64  |  65  | 
 |  66 }  // namespace cronet | 
| OLD | NEW |