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

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

Issue 2620303004: Remove JNI onload callback vector construction in favour of direct calls. (Closed)
Patch Set: 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 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_onload.h"
8 #include "base/android/base_jni_registrar.h" 8 #include "base/android/base_jni_registrar.h"
9 #include "base/android/context_utils.h" 9 #include "base/android/context_utils.h"
10 #include "base/android/jni_android.h" 10 #include "base/android/jni_android.h"
(...skipping 18 matching lines...) Expand all
29 {"NativeTestServer", cronet::RegisterNativeTestServer}, 29 {"NativeTestServer", cronet::RegisterNativeTestServer},
30 {"QuicTestServer", cronet::RegisterQuicTestServer}, 30 {"QuicTestServer", cronet::RegisterQuicTestServer},
31 {"SdchTestUtil", cronet::RegisterSdchTestUtil}, 31 {"SdchTestUtil", cronet::RegisterSdchTestUtil},
32 {"TestUploadDataStreamHandlerRegisterJni", 32 {"TestUploadDataStreamHandlerRegisterJni",
33 cronet::TestUploadDataStreamHandlerRegisterJni}, 33 cronet::TestUploadDataStreamHandlerRegisterJni},
34 {"CronetUrlRequestContextConfigTest", 34 {"CronetUrlRequestContextConfigTest",
35 cronet::RegisterCronetUrlRequestContextConfigTest}, 35 cronet::RegisterCronetUrlRequestContextConfigTest},
36 {"CronetTestUtil", cronet::TestUtil::Register}, 36 {"CronetTestUtil", cronet::TestUtil::Register},
37 }; 37 };
38 38
39 bool NativeInit() {
Torne 2017/01/12 13:33:53 Seems inconsistent with other usage to do Register
Tobias Sargeant 2017/01/12 14:27:56 Done.
40 if (!base::android::OnJNIOnLoadInit())
41 return false;
42
43 if (!base::android::RegisterNativeMethods(
44 base::android::AttachCurrentThread(), kCronetTestsRegisteredMethods,
45 arraysize(kCronetTestsRegisteredMethods))) {
46 return false;
47 }
48 return true;
49 }
50
39 } // namespace 51 } // namespace
40 52
41 // This is called by the VM when the shared library is first loaded. 53 // This is called by the VM when the shared library is first loaded.
42 // Checks the available version of JNI. Also, caches Java reflection artifacts. 54 // Checks the available version of JNI. Also, caches Java reflection artifacts.
43 extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved) { 55 extern "C" jint JNI_OnLoad(JavaVM* vm, void* reserved) {
44 JNIEnv* env; 56 JNIEnv* env;
45 if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) { 57 if (vm->GetEnv(reinterpret_cast<void**>(&env), JNI_VERSION_1_6) != JNI_OK) {
46 return -1; 58 return -1;
47 } 59 }
48 60
49 std::vector<base::android::RegisterCallback> register_callbacks; 61 if (!base::android::OnJNIOnLoadRegisterJNI(vm) || !NativeInit()) {
50 std::vector<base::android::InitCallback> init_callbacks;
51 if (!base::android::OnJNIOnLoadRegisterJNI(vm, register_callbacks) ||
52 !base::android::OnJNIOnLoadInit(init_callbacks)) {
53 return -1; 62 return -1;
54 } 63 }
55 64
56 if (!base::android::RegisterNativeMethods(
57 env,
58 kCronetTestsRegisteredMethods,
59 arraysize(kCronetTestsRegisteredMethods))) {
60 return -1;
61 }
62 return JNI_VERSION_1_6; 65 return JNI_VERSION_1_6;
63 } 66 }
64 67
65 extern "C" void JNI_OnUnLoad(JavaVM* vm, void* reserved) { 68 extern "C" void JNI_OnUnLoad(JavaVM* vm, void* reserved) {
66 base::android::LibraryLoaderExitHook(); 69 base::android::LibraryLoaderExitHook();
67 } 70 }
68
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698