| Index: components/omnibox/browser/history_url_provider.cc
|
| diff --git a/components/omnibox/browser/history_url_provider.cc b/components/omnibox/browser/history_url_provider.cc
|
| index 3ad59b5e569fab2814e5f9b735423048612e3536..1757bf688472c18fdc91c8d2d64c37f77c61f1c0 100644
|
| --- a/components/omnibox/browser/history_url_provider.cc
|
| +++ b/components/omnibox/browser/history_url_provider.cc
|
| @@ -114,23 +114,25 @@ double CalculateRelevanceUsingScoreBuckets(
|
| const HUPScoringParams::ScoreBuckets& score_buckets,
|
| const base::TimeDelta& time_since_last_visit,
|
| int undecayed_relevance,
|
| - int count) {
|
| + int undecayed_count) {
|
| // Back off if above relevance cap.
|
| if ((score_buckets.relevance_cap() != -1) &&
|
| (undecayed_relevance >= score_buckets.relevance_cap()))
|
| return undecayed_relevance;
|
|
|
| // Time based decay using half-life time.
|
| - double decayed_count = count;
|
| + double decayed_count = undecayed_count;
|
| + double decay_factor = score_buckets.HalfLifeTimeDecay(time_since_last_visit);
|
| if (decayed_count > 0)
|
| - decayed_count *= score_buckets.HalfLifeTimeDecay(time_since_last_visit);
|
| + decayed_count *= decay_factor;
|
|
|
| - // Find a threshold where decayed_count >= bucket.
|
| const HUPScoringParams::ScoreBuckets::CountMaxRelevance* score_bucket = NULL;
|
| + const double factor = (score_buckets.use_decay_factor() ?
|
| + decay_factor : decayed_count);
|
| for (size_t i = 0; i < score_buckets.buckets().size(); ++i) {
|
| score_bucket = &score_buckets.buckets()[i];
|
| - if (decayed_count >= score_bucket->first)
|
| - break; // Buckets are in descending order, so we can ignore the rest.
|
| + if (factor >= score_bucket->first)
|
| + break;
|
| }
|
|
|
| return (score_bucket && (undecayed_relevance > score_bucket->second)) ?
|
| @@ -146,9 +148,6 @@ int CalculateRelevanceScoreUsingScoringParams(
|
| const history::HistoryMatch& match,
|
| int old_relevance,
|
| const HUPScoringParams& scoring_params) {
|
| - if (!scoring_params.experimental_scoring_enabled)
|
| - return old_relevance;
|
| -
|
| const base::TimeDelta time_since_last_visit =
|
| base::Time::Now() - match.url_info.last_visit();
|
|
|
| @@ -463,6 +462,8 @@ HistoryURLProvider::HistoryURLProvider(AutocompleteProviderClient* client,
|
| : HistoryProvider(AutocompleteProvider::TYPE_HISTORY_URL, client),
|
| listener_(listener),
|
| params_(NULL) {
|
| + // Initialize the default HUP scoring params.
|
| + OmniboxFieldTrial::GetDefaultHUPScoringParams(&scoring_params_);
|
| // Initialize HUP scoring params based on the current experiment.
|
| OmniboxFieldTrial::GetExperimentalHUPScoringParams(&scoring_params_);
|
| }
|
|
|