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

Side by Side Diff: components/cronet/android/test/cronet_test_jni.cc

Issue 2406273002: [Cronet] Test the libcronet that's shipped, not libcronet_test (Closed)
Patch Set: fix shutdown race Created 4 years, 1 month 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 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 <jni.h> 5 #include <jni.h>
6 6
7 #include "base/android/base_jni_onload.h"
7 #include "base/android/base_jni_registrar.h" 8 #include "base/android/base_jni_registrar.h"
9 #include "base/android/context_utils.h"
8 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
9 #include "base/android/jni_registrar.h" 11 #include "base/android/jni_registrar.h"
12 #include "base/android/library_loader/library_loader_hooks.h"
10 #include "base/macros.h" 13 #include "base/macros.h"
11 #include "components/cronet/android/cronet_library_loader.h"
12 #include "cronet_test_util.h" 14 #include "cronet_test_util.h"
13 #include "cronet_url_request_context_config_test.h" 15 #include "cronet_url_request_context_config_test.h"
14 #include "mock_cert_verifier.h" 16 #include "mock_cert_verifier.h"
15 #include "mock_url_request_job_factory.h" 17 #include "mock_url_request_job_factory.h"
16 #include "native_test_server.h" 18 #include "native_test_server.h"
17 #include "network_change_notifier_util.h"
18 #include "quic_test_server.h" 19 #include "quic_test_server.h"
19 #include "sdch_test_util.h" 20 #include "sdch_test_util.h"
20 #include "test_upload_data_stream_handler.h" 21 #include "test_upload_data_stream_handler.h"
21 22
22 namespace { 23 namespace {
23 24
24 const base::android::RegistrationMethod kCronetTestsRegisteredMethods[] = { 25 const base::android::RegistrationMethod kCronetTestsRegisteredMethods[] = {
26 {"ContextUtils", base::android::RegisterContextUtils},
25 {"MockCertVerifier", cronet::RegisterMockCertVerifier}, 27 {"MockCertVerifier", cronet::RegisterMockCertVerifier},
26 {"MockUrlRequestJobFactory", cronet::RegisterMockUrlRequestJobFactory}, 28 {"MockUrlRequestJobFactory", cronet::RegisterMockUrlRequestJobFactory},
27 {"NativeTestServer", cronet::RegisterNativeTestServer}, 29 {"NativeTestServer", cronet::RegisterNativeTestServer},
28 {"NetworkChangeNotifierUtil", cronet::RegisterNetworkChangeNotifierUtil},
29 {"QuicTestServer", cronet::RegisterQuicTestServer}, 30 {"QuicTestServer", cronet::RegisterQuicTestServer},
30 {"SdchTestUtil", cronet::RegisterSdchTestUtil}, 31 {"SdchTestUtil", cronet::RegisterSdchTestUtil},
31 {"TestUploadDataStreamHandlerRegisterJni", 32 {"TestUploadDataStreamHandlerRegisterJni",
32 cronet::TestUploadDataStreamHandlerRegisterJni}, 33 cronet::TestUploadDataStreamHandlerRegisterJni},
33 {"CronetUrlRequestContextConfigTest", 34 {"CronetUrlRequestContextConfigTest",
34 cronet::RegisterCronetUrlRequestContextConfigTest}, 35 cronet::RegisterCronetUrlRequestContextConfigTest},
35 {"CronetTestUtil", cronet::RegisterCronetTestUtil}, 36 {"CronetTestUtil", cronet::TestUtil::Register},
36 }; 37 };
37 38
38 } // namespace 39 } // namespace
39 40
40 // This is called by the VM when the shared library is first loaded. 41 // This is called by the VM when the shared library is first loaded.
41 // Checks the available version of JNI. Also, caches Java reflection artifacts. 42 // Checks the available version of JNI. Also, caches Java reflection artifacts.
42 extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved) { 43 extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved) {
43 JNIEnv* env; 44 JNIEnv* env;
44 if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) { 45 if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
45 return -1; 46 return -1;
46 } 47 }
47 48
48 jint cronet_onload = cronet::CronetOnLoad(vm, reserved); 49 std::vector<base::android::RegisterCallback> register_callbacks;
49 if (cronet_onload == -1) 50 std::vector<base::android::InitCallback> init_callbacks;
50 return cronet_onload; 51 if (!base::android::OnJNIOnLoadRegisterJNI(vm, register_callbacks) ||
52 !base::android::OnJNIOnLoadInit(init_callbacks)) {
53 return -1;
54 }
51 55
52 if (!base::android::RegisterNativeMethods( 56 if (!base::android::RegisterNativeMethods(
53 env, 57 env,
54 kCronetTestsRegisteredMethods, 58 kCronetTestsRegisteredMethods,
55 arraysize(kCronetTestsRegisteredMethods))) { 59 arraysize(kCronetTestsRegisteredMethods))) {
56 return -1; 60 return -1;
57 } 61 }
58 return cronet_onload; 62 return JNI_VERSION_1_6;
59 } 63 }
60 64
61 extern "C" void JNI_OnUnLoad(JavaVM* vm, void* reserved) { 65 extern "C" void JNI_OnUnLoad(JavaVM* vm, void* reserved) {
62 cronet::CronetOnUnLoad(vm, reserved); 66 base::android::LibraryLoaderExitHook();
63 } 67 }
64 68
OLDNEW
« no previous file with comments | « components/cronet/android/cronet_url_request_context_adapter.h ('k') | components/cronet/android/test/cronet_test_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698