Index: chrome/browser/prerender/prerender_field_trial.cc |
diff --git a/chrome/browser/prerender/prerender_field_trial.cc b/chrome/browser/prerender/prerender_field_trial.cc |
index 4c3344e903eb30331286a4ab0ba83e99668211e9..6fdf9effddc73c9cb52afa60d1b2d6e290aa721b 100644 |
--- a/chrome/browser/prerender/prerender_field_trial.cc |
+++ b/chrome/browser/prerender/prerender_field_trial.cc |
@@ -23,15 +23,21 @@ namespace { |
int omnibox_original_group_id = 0; |
int omnibox_conservative_group_id = 0; |
int omnibox_exact_group_id = 0; |
+int omnibox_exact_full_group_id = 0; |
const char* kOmniboxHeuristicNames[] = { |
"Original", |
"Conservative", |
- "Exact" |
+ "Exact", |
+ "Exact_Full" |
}; |
COMPILE_ASSERT(arraysize(kOmniboxHeuristicNames) == OMNIBOX_HEURISTIC_MAX, |
OmniboxHeuristic_name_count_mismatch); |
+const char kPrerenderFromOmniboxTrialName[] = "PrerenderFromOmnibox"; |
+const char kPrerenderFromOmniboxHeuristicTrialName[] = |
+ "PrerenderFromOmniboxHeuristic"; |
+ |
const char* NameFromOmniboxHeuristic(OmniboxHeuristic heuristic) { |
DCHECK_LT(static_cast<unsigned int>(heuristic), |
arraysize(kOmniboxHeuristicNames)); |
@@ -167,15 +173,16 @@ void ConfigurePrerenderFromOmnibox() { |
const base::FieldTrial::Probability kEnabledProbability = 40; |
scoped_refptr<base::FieldTrial> enabled_trial( |
- new base::FieldTrial("PrerenderFromOmnibox", kDivisor, |
+ new base::FieldTrial(kPrerenderFromOmniboxTrialName, kDivisor, |
"OmniboxPrerenderDisabled", 2012, 8, 30)); |
enabled_trial->AppendGroup("OmniboxPrerenderEnabled", kEnabledProbability); |
// Field trial to see which heuristic to use. |
- const base::FieldTrial::Probability kConservativeProbability = 33; |
- const base::FieldTrial::Probability kExactProbability = 33; |
+ const base::FieldTrial::Probability kConservativeProbability = 25; |
+ const base::FieldTrial::Probability kExactProbability = 25; |
+ const base::FieldTrial::Probability kExactFullProbability = 25; |
scoped_refptr<base::FieldTrial> heuristic_trial( |
- new base::FieldTrial("PrerenderFromOmniboxHeuristic", kDivisor, |
+ new base::FieldTrial(kPrerenderFromOmniboxHeuristicTrialName, kDivisor, |
"OriginalAlgorithm", 2012, 8, 30)); |
omnibox_original_group_id = base::FieldTrial::kDefaultGroupNumber; |
omnibox_conservative_group_id = |
@@ -183,6 +190,8 @@ void ConfigurePrerenderFromOmnibox() { |
kConservativeProbability); |
omnibox_exact_group_id = |
heuristic_trial->AppendGroup("ExactAlgorithm", kExactProbability); |
+ omnibox_exact_full_group_id = |
+ heuristic_trial->AppendGroup("ExactFullAlgorithm", kExactFullProbability); |
} |
bool IsOmniboxEnabled(Profile* profile) { |
@@ -211,20 +220,23 @@ bool IsOmniboxEnabled(Profile* profile) { |
if (!MetricsServiceHelper::IsMetricsReportingEnabled()) |
return false; |
- const int group = base::FieldTrialList::FindValue("PrerenderFromOmnibox"); |
+ const int group = |
+ base::FieldTrialList::FindValue(kPrerenderFromOmniboxTrialName); |
return group != base::FieldTrial::kNotFinalized && |
group != base::FieldTrial::kDefaultGroupNumber; |
} |
OmniboxHeuristic GetOmniboxHeuristicToUse() { |
const int group = |
- base::FieldTrialList::FindValue("PrerenderFromOmniboxHeuristic"); |
+ base::FieldTrialList::FindValue(kPrerenderFromOmniboxHeuristicTrialName); |
if (group == omnibox_original_group_id) |
return OMNIBOX_HEURISTIC_ORIGINAL; |
if (group == omnibox_conservative_group_id) |
return OMNIBOX_HEURISTIC_CONSERVATIVE; |
if (group == omnibox_exact_group_id) |
return OMNIBOX_HEURISTIC_EXACT; |
+ if (group == omnibox_exact_full_group_id) |
+ return OMNIBOX_HEURISTIC_EXACT_FULL; |
// If we don't have a group just return the original heuristic. |
return OMNIBOX_HEURISTIC_ORIGINAL; |