Index: chrome/browser/instant/instant_field_trial.cc |
diff --git a/chrome/browser/instant/instant_field_trial.cc b/chrome/browser/instant/instant_field_trial.cc |
index 66b51e671f34ad26d55b299937b9132d01e5af62..eaa785cf6f2625b791a4eb1539cab8481b5d88b9 100644 |
--- a/chrome/browser/instant/instant_field_trial.cc |
+++ b/chrome/browser/instant/instant_field_trial.cc |
@@ -19,13 +19,19 @@ namespace { |
// file for what these groups represent. |
int g_instant_experiment_a = 0; |
int g_instant_experiment_b = 0; |
+ |
int g_hidden_experiment_a = 0; |
int g_hidden_experiment_b = 0; |
+ |
int g_silent_experiment_a = 0; |
int g_silent_experiment_b = 0; |
+int g_suggest_experiment_a = 0; |
+int g_suggest_experiment_b = 0; |
+ |
int g_uma_control_a = 0; |
int g_uma_control_b = 0; |
+ |
int g_all_control_a = 0; |
int g_all_control_b = 0; |
@@ -43,13 +49,19 @@ void InstantFieldTrial::Activate() { |
// Each group is of total size 10% (5% each for the _a and _b variants). |
g_instant_experiment_a = trial->AppendGroup("InstantExperimentA", 50); |
g_instant_experiment_b = trial->AppendGroup("InstantExperimentB", 50); |
+ |
g_hidden_experiment_a = trial->AppendGroup("HiddenExperimentA", 50); |
g_hidden_experiment_b = trial->AppendGroup("HiddenExperimentB", 50); |
+ |
g_silent_experiment_a = trial->AppendGroup("SilentExperimentA", 50); |
g_silent_experiment_b = trial->AppendGroup("SilentExperimentB", 50); |
+ g_suggest_experiment_a = trial->AppendGroup("SuggestExperimentA", 50); |
+ g_suggest_experiment_b = trial->AppendGroup("SuggestExperimentB", 50); |
+ |
g_uma_control_a = trial->AppendGroup("UmaControlA", 50); |
g_uma_control_b = trial->AppendGroup("UmaControlB", 50); |
+ |
g_all_control_a = trial->AppendGroup("AllControlA", 50); |
g_all_control_b = trial->AppendGroup("AllControlB", 50); |
} |
@@ -66,6 +78,8 @@ InstantFieldTrial::Group InstantFieldTrial::GetGroup(Profile* profile) { |
return HIDDEN_EXPERIMENT_A; |
else if (switch_value == switches::kInstantFieldTrialSilent) |
return SILENT_EXPERIMENT_A; |
+ else if (switch_value == switches::kInstantFieldTrialSuggest) |
+ return SUGGEST_EXPERIMENT_A; |
else |
return INACTIVE; |
} |
@@ -88,6 +102,7 @@ InstantFieldTrial::Group InstantFieldTrial::GetGroup(Profile* profile) { |
return SILENT_EXPERIMENT_A; |
if (group == g_silent_experiment_b) |
return SILENT_EXPERIMENT_B; |
+ |
if (group == g_all_control_a) |
return ALL_CONTROL_A; |
if (group == g_all_control_b) |
@@ -104,10 +119,17 @@ InstantFieldTrial::Group InstantFieldTrial::GetGroup(Profile* profile) { |
return INSTANT_EXPERIMENT_A; |
if (group == g_instant_experiment_b) |
return INSTANT_EXPERIMENT_B; |
+ |
if (group == g_hidden_experiment_a) |
return HIDDEN_EXPERIMENT_A; |
if (group == g_hidden_experiment_b) |
return HIDDEN_EXPERIMENT_B; |
+ |
+ if (group == g_suggest_experiment_a) |
+ return SUGGEST_EXPERIMENT_A; |
+ if (group == g_suggest_experiment_b) |
+ return SUGGEST_EXPERIMENT_B; |
+ |
if (group == g_uma_control_a) |
return UMA_CONTROL_A; |
if (group == g_uma_control_b) |
@@ -122,14 +144,16 @@ bool InstantFieldTrial::IsInstantExperiment(Profile* profile) { |
Group group = GetGroup(profile); |
return group == INSTANT_EXPERIMENT_A || group == INSTANT_EXPERIMENT_B || |
group == HIDDEN_EXPERIMENT_A || group == HIDDEN_EXPERIMENT_B || |
- group == SILENT_EXPERIMENT_A || group == SILENT_EXPERIMENT_B; |
+ group == SILENT_EXPERIMENT_A || group == SILENT_EXPERIMENT_B || |
+ group == SUGGEST_EXPERIMENT_A || group == SUGGEST_EXPERIMENT_B; |
} |
// static |
bool InstantFieldTrial::IsHiddenExperiment(Profile* profile) { |
Group group = GetGroup(profile); |
return group == HIDDEN_EXPERIMENT_A || group == HIDDEN_EXPERIMENT_B || |
- group == SILENT_EXPERIMENT_A || group == SILENT_EXPERIMENT_B; |
+ group == SILENT_EXPERIMENT_A || group == SILENT_EXPERIMENT_B || |
+ group == SUGGEST_EXPERIMENT_A || group == SUGGEST_EXPERIMENT_B; |
} |
// static |
@@ -145,13 +169,19 @@ std::string InstantFieldTrial::GetGroupName(Profile* profile) { |
case INSTANT_EXPERIMENT_A: return "_InstantExperimentA"; |
case INSTANT_EXPERIMENT_B: return "_InstantExperimentB"; |
+ |
case HIDDEN_EXPERIMENT_A: return "_HiddenExperimentA"; |
case HIDDEN_EXPERIMENT_B: return "_HiddenExperimentB"; |
+ |
case SILENT_EXPERIMENT_A: return "_SilentExperimentA"; |
case SILENT_EXPERIMENT_B: return "_SilentExperimentB"; |
+ case SUGGEST_EXPERIMENT_A: return "_SuggestExperimentA"; |
+ case SUGGEST_EXPERIMENT_B: return "_SuggestExperimentB"; |
+ |
case UMA_CONTROL_A: return "_UmaControlA"; |
case UMA_CONTROL_B: return "_UmaControlB"; |
+ |
case ALL_CONTROL_A: return "_AllControlA"; |
case ALL_CONTROL_B: return "_AllControlB"; |
} |
@@ -167,13 +197,19 @@ std::string InstantFieldTrial::GetGroupAsUrlParam(Profile* profile) { |
case INSTANT_EXPERIMENT_A: return "ix=iea&"; |
case INSTANT_EXPERIMENT_B: return "ix=ieb&"; |
+ |
case HIDDEN_EXPERIMENT_A: return "ix=hea&"; |
case HIDDEN_EXPERIMENT_B: return "ix=heb&"; |
+ |
case SILENT_EXPERIMENT_A: return "ix=sea&"; |
case SILENT_EXPERIMENT_B: return "ix=seb&"; |
+ case SUGGEST_EXPERIMENT_A: return "ix=tea&"; |
+ case SUGGEST_EXPERIMENT_B: return "ix=teb&"; |
+ |
case UMA_CONTROL_A: return "ix=uca&"; |
case UMA_CONTROL_B: return "ix=ucb&"; |
+ |
case ALL_CONTROL_A: return "ix=aca&"; |
case ALL_CONTROL_B: return "ix=acb&"; |
} |
@@ -181,3 +217,10 @@ std::string InstantFieldTrial::GetGroupAsUrlParam(Profile* profile) { |
NOTREACHED(); |
return std::string(); |
} |
+ |
+// static |
+bool InstantFieldTrial::ShouldSetSuggestedText(Profile* profile) { |
+ Group group = GetGroup(profile); |
+ return !(group == HIDDEN_EXPERIMENT_A || group == HIDDEN_EXPERIMENT_B || |
+ group == SILENT_EXPERIMENT_A || group == SILENT_EXPERIMENT_B); |
+} |