Home | History | Annotate | Download | only in android
      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