summaryrefslogtreecommitdiffstats
path: root/chromium/base/android/features_jni.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/base/android/features_jni.cc')
-rw-r--r--chromium/base/android/features_jni.cc31
1 files changed, 31 insertions, 0 deletions
diff --git a/chromium/base/android/features_jni.cc b/chromium/base/android/features_jni.cc
new file mode 100644
index 00000000000..0128651b8dc
--- /dev/null
+++ b/chromium/base/android/features_jni.cc
@@ -0,0 +1,31 @@
+// Copyright 2021 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "base/base_jni_headers/Features_jni.h"
+#include "base/android/jni_string.h"
+#include "base/feature_list.h"
+#include "base/metrics/field_trial_params.h"
+
+namespace base {
+namespace android {
+
+jboolean JNI_Features_IsEnabled(JNIEnv* env, jlong native_feature_pointer) {
+ return base::FeatureList::IsEnabled(
+ *reinterpret_cast<base::Feature*>(native_feature_pointer));
+}
+
+jboolean JNI_Features_GetFieldTrialParamByFeatureAsBoolean(
+ JNIEnv* env,
+ jlong native_feature_pointer,
+ const JavaParamRef<jstring>& jparam_name,
+ const jboolean jdefault_value) {
+ const base::Feature& feature =
+ *reinterpret_cast<base::Feature*>(native_feature_pointer);
+ const std::string& param_name = ConvertJavaStringToUTF8(env, jparam_name);
+ return base::GetFieldTrialParamByFeatureAsBool(feature, param_name,
+ jdefault_value);
+}
+
+} // namespace android
+} // namespace base