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 edde0cf4036ba54dee21e2d0e9336da9e804bb1f..705e7977c4d423c8389397f9924db32a2f3ac978 100644 |
--- a/chrome/browser/autocomplete/autocomplete_field_trial.cc |
+++ b/chrome/browser/autocomplete/autocomplete_field_trial.cc |
@@ -27,6 +27,8 @@ static const char kHUPCreateShorterMatchFieldTrialName[] = |
"OmniboxHUPCreateShorterMatch"; |
static const char kHQPReplaceHUPScoringFieldTrialName[] = |
"OmniboxHQPReplaceHUPNumComponentsFix"; |
+static const char kHQPOnlyCountMatchesAtWordBoundariesFieldTrialName[] = |
+ "OmniboxHQPOnlyCountMatchesAtWordBoundaries"; |
// Field trial experiment probabilities. |
@@ -74,6 +76,13 @@ const base::FieldTrial::Probability |
const base::FieldTrial::Probability |
kHQPReplaceHUPScoringFieldTrialExperimentFraction = 25; |
+// For the field trial that ignores all mid-term matches in HistoryQuick |
+// provider, put 25% ( = 25/100 ) of the users in the experiment group. |
+const base::FieldTrial::Probability |
+ kHQPOnlyCountMatchesAtWordBoundariesFieldTrialDivisor = 100; |
+const base::FieldTrial::Probability |
+ kHQPOnlyCountMatchesAtWordBoundariesFieldTrialExperimentFraction = 25; |
+ |
// Field trial IDs. |
// Though they are not literally "const", they are set only once, in |
@@ -97,6 +106,10 @@ int hup_dont_create_shorter_match_experiment_group = 0; |
// experiment group. |
int hqp_replace_hup_scoring_experiment_group = 0; |
+// Field trial ID for the HistoryQuick provider only count matches at |
+// word boundaries experiment group. |
+int hqp_only_count_matches_at_word_boundaries_experiment_group = 0; |
+ |
} |
@@ -191,6 +204,18 @@ void AutocompleteFieldTrial::Activate() { |
trial->UseOneTimeRandomization(); |
hqp_replace_hup_scoring_experiment_group = trial->AppendGroup("HQPReplaceHUP", |
kHQPReplaceHUPScoringFieldTrialExperimentFraction); |
+ |
+ // Create the field trial that makes HistoryQuick provider score |
+ // ignore all matches that happen in the middle of a word. Make it |
+ // expire on June 23, 2013. |
+ trial = base::FieldTrialList::FactoryGetFieldTrial( |
+ kHQPOnlyCountMatchesAtWordBoundariesFieldTrialName, |
+ kHQPOnlyCountMatchesAtWordBoundariesFieldTrialDivisor, |
+ "Standard", 2013, 6, 23, NULL); |
+ trial->UseOneTimeRandomization(); |
+ hqp_only_count_matches_at_word_boundaries_experiment_group = |
+ trial->AppendGroup("HQPOnlyCountMatchesAtWordBoundaries", |
+ kHQPOnlyCountMatchesAtWordBoundariesFieldTrialExperimentFraction); |
} |
bool AutocompleteFieldTrial::InDisallowInlineHQPFieldTrial() { |
@@ -264,3 +289,19 @@ bool AutocompleteFieldTrial::InHQPReplaceHUPScoringFieldTrialExperimentGroup() { |
kHQPReplaceHUPScoringFieldTrialName); |
return group == hqp_replace_hup_scoring_experiment_group; |
} |
+ |
+bool AutocompleteFieldTrial::InHQPOnlyCountMatchesAtWordBoundariesFieldTrial() { |
+ return base::FieldTrialList::TrialExists( |
+ kHQPOnlyCountMatchesAtWordBoundariesFieldTrialName); |
+} |
+ |
+bool AutocompleteFieldTrial:: |
+ InHQPOnlyCountMatchesAtWordBoundariesFieldTrialExperimentGroup() { |
+ if (!InHQPOnlyCountMatchesAtWordBoundariesFieldTrial()) |
+ return false; |
+ |
+ // Return true if we're in the experiment group. |
+ const int group = base::FieldTrialList::FindValue( |
+ kHQPOnlyCountMatchesAtWordBoundariesFieldTrialName); |
+ return group == hqp_only_count_matches_at_word_boundaries_experiment_group; |
+} |