• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
FindFullName(JNIEnv * env,const JavaParamRef<jclass> & clazz,const JavaParamRef<jstring> & jtrial_name)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 
TrialExists(JNIEnv * env,const JavaParamRef<jclass> & clazz,const JavaParamRef<jstring> & jtrial_name)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 
RegisterFieldTrialList(JNIEnv * env)37 bool RegisterFieldTrialList(JNIEnv* env) {
38   return RegisterNativesImpl(env);
39 }
40 
41 }  // namespace android
42 }  // namespace base
43