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
FindFullName(JNIEnv * env,const JavaParamRef<jclass> & clazz,const JavaParamRef<jstring> & jtrial_name)16 static ScopedJavaLocalRef<jstring> FindFullName(
17 JNIEnv* env,
18 const JavaParamRef<jclass>& clazz,
19 const JavaParamRef<jstring>& jtrial_name) {
20 std::string trial_name(ConvertJavaStringToUTF8(env, jtrial_name));
21 return ConvertUTF8ToJavaString(
22 env, base::FieldTrialList::FindFullName(trial_name));
23 }
24
TrialExists(JNIEnv * env,const JavaParamRef<jclass> & clazz,const JavaParamRef<jstring> & jtrial_name)25 static jboolean TrialExists(JNIEnv* env,
26 const JavaParamRef<jclass>& clazz,
27 const JavaParamRef<jstring>& jtrial_name) {
28 std::string trial_name(ConvertJavaStringToUTF8(env, jtrial_name));
29 return base::FieldTrialList::TrialExists(trial_name);
30 }
31
32 namespace base {
33 namespace android {
34
RegisterFieldTrialList(JNIEnv * env)35 bool RegisterFieldTrialList(JNIEnv* env) {
36 return RegisterNativesImpl(env);
37 }
38
39 } // namespace android
40 } // namespace base
41