Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(6420)

Unified Diff: chrome/browser/android/chrome_feature_list.cc

Issue 2657923002: Add a Kill switch for WebVR cardboard support through finch. (Closed)
Patch Set: Formating Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/android/chrome_feature_list.h ('k') | chrome/common/chrome_switches.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/android/chrome_feature_list.cc
diff --git a/chrome/browser/android/chrome_feature_list.cc b/chrome/browser/android/chrome_feature_list.cc
index d237ad8568adf7c7ffb4a08821225a572ea4eb5b..c2886e36435f92531e3a93f426af1bd11f82b67e 100644
--- a/chrome/browser/android/chrome_feature_list.cc
+++ b/chrome/browser/android/chrome_feature_list.cc
@@ -11,6 +11,7 @@
#include "base/android/jni_string.h"
#include "base/feature_list.h"
#include "base/macros.h"
+#include "base/metrics/field_trial_params.h"
#include "chrome/common/chrome_features.h"
#include "components/autofill/core/browser/autofill_experiments.h"
#include "components/ntp_snippets/features.h"
@@ -60,6 +61,7 @@ const base::Feature* kFeaturesExposedToJava[] = {
&kTabReparenting,
&kWebPaymentsModifiers,
&kWebPaymentsSingleAppUiSkip,
+ &kWebVRCardboardSupport,
&ntp_snippets::kIncreasedVisibility,
&ntp_snippets::kForeignSessionsSuggestionsFeature,
&ntp_snippets::kOfflineBadgeFeature,
@@ -144,6 +146,9 @@ const base::Feature kWebPaymentsModifiers{"WebPaymentsModifiers",
const base::Feature kWebPaymentsSingleAppUiSkip{
"WebPaymentsSingleAppUiSkip", base::FEATURE_ENABLED_BY_DEFAULT};
+const base::Feature kWebVRCardboardSupport{
+ "WebVRCardboardSupport", base::FEATURE_ENABLED_BY_DEFAULT};
+
static jboolean IsEnabled(JNIEnv* env,
const JavaParamRef<jclass>& clazz,
const JavaParamRef<jstring>& jfeature_name) {
@@ -157,6 +162,26 @@ static jboolean IsEnabled(JNIEnv* env,
return false;
}
+static jint GetFieldTrialParamByFeatureAsInt(
+ JNIEnv* env,
+ const JavaParamRef<jclass>& clazz,
+ const JavaParamRef<jstring>& jfeature_name,
+ const JavaParamRef<jstring>& jparam_name,
+ const jint jdefault_value) {
+ const std::string feature_name = ConvertJavaStringToUTF8(env, jfeature_name);
+ const std::string param_name = ConvertJavaStringToUTF8(env, jparam_name);
+ int default_value = static_cast<int>(jdefault_value);
+
+ for (size_t i = 0; i < arraysize(kFeaturesExposedToJava); ++i) {
+ if (kFeaturesExposedToJava[i]->name == feature_name)
+ return base::GetFieldTrialParamByFeatureAsInt(
+ *kFeaturesExposedToJava[i], param_name, default_value);
+ }
+ // Features queried via this API must be present in |kFeaturesExposedToJava|.
+ NOTREACHED();
+ return jdefault_value;
+}
+
bool RegisterChromeFeatureListJni(JNIEnv* env) {
return RegisterNativesImpl(env);
}
« no previous file with comments | « chrome/browser/android/chrome_feature_list.h ('k') | chrome/common/chrome_switches.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698