Chromium Code Reviews| Index: chrome/browser/autocomplete/autocomplete_field_trial.cc |
| diff --git a/chrome/browser/autocomplete/autocomplete_field_trial.cc b/chrome/browser/autocomplete/autocomplete_field_trial.cc |
| index 9f48b2633dab01e5ca2e6214d1e8e58c41ab9e67..f67f2b67571926aad2f5d4c04d58c3260d521711 100644 |
| --- a/chrome/browser/autocomplete/autocomplete_field_trial.cc |
| +++ b/chrome/browser/autocomplete/autocomplete_field_trial.cc |
| @@ -17,6 +17,7 @@ namespace { |
| static const char kDisallowInlineHQPFieldTrialName[] = |
| "OmniboxDisallowInlineHQP"; |
| static const char kSuggestFieldTrialName[] = "OmniboxSearchSuggest"; |
| +static const char kHQPNewScoringFieldTrialName[] = "OmniboxHQPNewScoring"; |
| // Field trial experiment probabilities. |
| @@ -31,6 +32,12 @@ const base::FieldTrial::Probability |
| // will decide what behavior (if any) to change based on the group. |
| const int kSuggestFieldTrialNumberOfGroups = 20; |
| +// For History Quick Provider new scoring field trial, put 25% ( = 25/100 ) |
| +// of the users in the new scoring experiment group. |
| +const base::FieldTrial::Probability kHQPNewScoringFieldTrialDivisor = 100; |
| +const base::FieldTrial::Probability |
| + kHQPNewScoringFieldTrialExperimentFraction = 25; |
| + |
| // Field trial IDs. |
| // Though they are not literally "const", they are set only once, in |
| // Activate() below. |
| @@ -39,6 +46,9 @@ const int kSuggestFieldTrialNumberOfGroups = 20; |
| // experiment group. |
| int disallow_inline_hqp_experiment_group = 0; |
| +// Field trial ID for the History Quick Provider new scoring experiment group. |
| +int hqp_new_scoring_experiment_group = 0; |
| + |
| } |
| @@ -90,6 +100,16 @@ void AutocompleteFieldTrial::Activate() { |
| static_cast<chrome_variations::ID>( |
| chrome_variations::kSuggestIDMin + i)); |
| } |
| + |
| + // Create inline History Quick Provider new scoring field trial. |
| + // Make it expire on January 14, 2013. |
| + trial = base::FieldTrialList::FactoryGetFieldTrial( |
| + kHQPNewScoringFieldTrialName, kHQPNewScoringFieldTrialDivisor, |
| + "Standard", 2013, 1, 14, NULL); |
| + if (base::FieldTrialList::IsOneTimeRandomizationEnabled()) |
| + trial->UseOneTimeRandomization(); |
| + hqp_new_scoring_experiment_group = trial->AppendGroup("NewScoring", |
| + kHQPNewScoringFieldTrialExperimentFraction); |
| } |
| bool AutocompleteFieldTrial::InDisallowInlineHQPFieldTrial() { |
| @@ -130,3 +150,17 @@ int AutocompleteFieldTrial::GetSuggestGroupNameAsNumber() { |
| int AutocompleteFieldTrial::GetSuggestNumberOfGroups() { |
| return kSuggestFieldTrialNumberOfGroups; |
| } |
| + |
| +bool AutocompleteFieldTrial::InHQPNewScoringFieldTrial() { |
| + return base::FieldTrialList::TrialExists(kHQPNewScoringFieldTrialName); |
| +} |
| + |
| +bool AutocompleteFieldTrial::InHQPNewScoringFieldTrialExperimentGroup() { |
| + if (!base::FieldTrialList::TrialExists(kHQPNewScoringFieldTrialName)) |
|
Ilya Sherman
2012/06/15 01:24:58
nit: Perhaps if (!InHQPNewScoringFieldTrial())?
Mark P
2012/06/15 12:26:12
Done.
|
| + return false; |
| + |
| + // Return true if we're in the experiment group. |
| + const int group = base::FieldTrialList::FindValue( |
| + kHQPNewScoringFieldTrialName); |
| + return group == hqp_new_scoring_experiment_group; |
| +} |