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 3 // found in the LICENSE file. 4 5 #include "base/android/field_trial_list.h" 6 7 #include <jni.h> 8 9 #include "base/android/jni_string.h" 10 #include "base/metrics/field_trial.h" 11 #include "jni/FieldTrialList_jni.h" 12 13 using base::android::ConvertJavaStringToUTF8; 14 using base::android::ConvertUTF8ToJavaString; 15 using base::android::JavaParamRef; 16 using base::android::ScopedJavaLocalRef; 17 18 static ScopedJavaLocalRef<jstring> FindFullName( 19 JNIEnv* env, 20 const JavaParamRef<jclass>& clazz, 21 const JavaParamRef<jstring>& jtrial_name) { 22 std::string trial_name(ConvertJavaStringToUTF8(env, jtrial_name)); 23 return ConvertUTF8ToJavaString( 24 env, base::FieldTrialList::FindFullName(trial_name)); 25 } 26 27 static jboolean TrialExists(JNIEnv* env, 28 const JavaParamRef<jclass>& clazz, 29 const JavaParamRef<jstring>& jtrial_name) { 30 std::string trial_name(ConvertJavaStringToUTF8(env, jtrial_name)); 31 return base::FieldTrialList::TrialExists(trial_name); 32 } 33 34 namespace base { 35 namespace android { 36 37 bool RegisterFieldTrialList(JNIEnv* env) { 38 return RegisterNativesImpl(env); 39 } 40 41 } // namespace android 42 } // namespace base 43