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

Unified Diff: extensions/common/feature_switch.h

Issue 1680823004: [Feature Switch][Media Router] Add required field trials to MR switch. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 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
Index: extensions/common/feature_switch.h
diff --git a/extensions/common/feature_switch.h b/extensions/common/feature_switch.h
index c170f9c2fb8f91cd74ef99130fc9630d3d1492e0..93e11f145586b8557fbeeea4542363da730122e0 100644
--- a/extensions/common/feature_switch.h
+++ b/extensions/common/feature_switch.h
@@ -6,6 +6,7 @@
#define EXTENSIONS_COMMON_FEATURE_SWITCH_H_
#include <string>
+#include <vector>
#include "base/macros.h"
@@ -27,7 +28,9 @@ namespace extensions {
// 3. If there is a switch name, and the switch is present in the command line,
// the command line value will be used.
// 4. If there is a finch experiment associated and applicable to the machine,
-// the finch value will be used.
+// the finch value will be used. In order for the feature to be enabled by
+// finch experiment, the machine must be in the "Enabled" group for the
+// experiment and all dependent experiments.
// 5. Otherwise, the default value is used.
class FeatureSwitch {
public:
@@ -72,13 +75,19 @@ class FeatureSwitch {
FeatureSwitch(const char* switch_name,
const char* field_trial_name,
DefaultValue default_value);
+ FeatureSwitch(const char* switch_name,
+ const char* field_trial_name,
+ const std::vector<const char*>& dependent_field_trials,
Devlin 2016/02/09 18:45:14 "dependent" is the wrong word here - it should pro
imcheng 2016/02/09 21:35:39 Done.
+ DefaultValue default_value);
FeatureSwitch(const base::CommandLine* command_line,
const char* switch_name,
DefaultValue default_value);
FeatureSwitch(const base::CommandLine* command_line,
const char* switch_name,
const char* field_trial_name,
+ const std::vector<const char*>& dependent_field_trials,
DefaultValue default_value);
+ ~FeatureSwitch();
// Consider using ScopedOverride instead.
void SetOverrideValue(OverrideValue value);
@@ -89,10 +98,12 @@ class FeatureSwitch {
private:
std::string GetLegacyEnableFlag() const;
std::string GetLegacyDisableFlag() const;
+ bool DependentFieldTrialsEnabled() const;
const base::CommandLine* command_line_;
const char* switch_name_;
const char* field_trial_name_;
+ std::vector<const char*> dependent_field_trials_;
Devlin 2016/02/09 18:45:14 this should probably just be std::vector<std::stri
imcheng 2016/02/09 21:35:39 Done.
bool default_value_;
OverrideValue override_value_;

Powered by Google App Engine
This is Rietveld 408576698