summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhfung@chromium.org <hfung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-17 03:37:43 +0000
committerhfung@chromium.org <hfung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-17 03:37:43 +0000
commitb99ba414a16590b4dc5f8cbb53fd43f388f0fc2f (patch)
tree0c3b5cd3e550fbb3a5c94921bf858d1925de43a2
parentab862a1d04c8dcb223b110c21facc9f15528116f (diff)
downloadchromium_src-b99ba414a16590b4dc5f8cbb53fd43f388f0fc2f.zip
chromium_src-b99ba414a16590b4dc5f8cbb53fd43f388f0fc2f.tar.gz
chromium_src-b99ba414a16590b4dc5f8cbb53fd43f388f0fc2f.tar.bz2
Remove UndemotableTopMatchTypes since we don't plan on using it further. This is mostly undoing https://codereview.chromium.org/55413002/.
BUG=278442 Review URL: https://codereview.chromium.org/239973003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264386 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/autocomplete/autocomplete_result.cc16
-rw-r--r--chrome/browser/autocomplete/autocomplete_result_unittest.cc51
-rw-r--r--chrome/browser/omnibox/omnibox_field_trial.cc27
-rw-r--r--chrome/browser/omnibox/omnibox_field_trial.h10
-rw-r--r--chrome/browser/omnibox/omnibox_field_trial_unittest.cc28
5 files changed, 1 insertions, 131 deletions
diff --git a/chrome/browser/autocomplete/autocomplete_result.cc b/chrome/browser/autocomplete/autocomplete_result.cc
index 044b890..0943ac2 100644
--- a/chrome/browser/autocomplete/autocomplete_result.cc
+++ b/chrome/browser/autocomplete/autocomplete_result.cc
@@ -178,22 +178,10 @@ void AutocompleteResult::SortAndCull(const AutocompleteInput& input,
DedupMatchesByDestination(input.current_page_classification(), true,
&matches_);
- // Find the top match before possibly applying demotions.
- if (!matches_.empty())
- std::partial_sort(matches_.begin(), matches_.begin() + 1, matches_.end(),
- &AutocompleteMatch::MoreRelevant);
- // Don't demote the top match if applicable.
- OmniboxFieldTrial::UndemotableTopMatchTypes undemotable_top_types =
- OmniboxFieldTrial::GetUndemotableTopTypes(
- input.current_page_classification());
- const bool preserve_top_match = !matches_.empty() &&
- (undemotable_top_types.count(matches_.begin()->type) != 0);
-
// Sort and trim to the most relevant kMaxMatches matches.
size_t max_num_matches = std::min(kMaxMatches, matches_.size());
CompareWithDemoteByType comparing_object(input.current_page_classification());
- std::sort(matches_.begin() + (preserve_top_match ? 1 : 0), matches_.end(),
- comparing_object);
+ std::sort(matches_.begin(), matches_.end(), comparing_object);
if (!matches_.empty() && !matches_.begin()->allowed_to_be_default_match) {
// Top match is not allowed to be the default match. Find the most
// relevant legal match and shift it to the front.
@@ -390,8 +378,6 @@ void AutocompleteResult::AddMatch(
DCHECK_EQ(AutocompleteMatch::SanitizeString(match.contents), match.contents);
DCHECK_EQ(AutocompleteMatch::SanitizeString(match.description),
match.description);
- // GetUndemotableTopTypes() is not used here because it's done in
- // SortAndCull(), and we depend on SortAndCull() to be called afterwards.
CompareWithDemoteByType comparing_object(page_classification);
ACMatches::iterator insertion_point =
std::upper_bound(begin(), end(), match, comparing_object);
diff --git a/chrome/browser/autocomplete/autocomplete_result_unittest.cc b/chrome/browser/autocomplete/autocomplete_result_unittest.cc
index 24dd96e..e98653e 100644
--- a/chrome/browser/autocomplete/autocomplete_result_unittest.cc
+++ b/chrome/browser/autocomplete/autocomplete_result_unittest.cc
@@ -463,57 +463,6 @@ TEST_F(AutocompleteResultTest, SortAndCullWithDemotionsByType) {
result.match_at(2)->destination_url.spec());
}
-TEST_F(AutocompleteResultTest, SortAndCullWithUndemotableTypes) {
- // Add some matches.
- ACMatches matches(3);
- matches[0].destination_url = GURL("http://top-history-url/");
- matches[0].relevance = 1400;
- matches[0].allowed_to_be_default_match = true;
- matches[0].type = AutocompleteMatchType::HISTORY_URL;
- matches[1].destination_url = GURL("http://history-url2/");
- matches[1].relevance = 1300;
- matches[1].allowed_to_be_default_match = true;
- matches[1].type = AutocompleteMatchType::HISTORY_URL;
- matches[2].destination_url = GURL("http://search-what-you-typed/");
- matches[2].relevance = 1200;
- matches[2].allowed_to_be_default_match = true;
- matches[2].type = AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED;
-
- // Add a rule demoting history-url, but don't demote the top match.
- {
- std::map<std::string, std::string> params;
- // 3 == HOME_PAGE
- params[std::string(OmniboxFieldTrial::kDemoteByTypeRule) + ":3:*"] =
- "1:50";
- params[std::string(OmniboxFieldTrial::kUndemotableTopTypeRule) + ":3:*"] =
- "1,5";
- ASSERT_TRUE(chrome_variations::AssociateVariationParams(
- OmniboxFieldTrial::kBundledExperimentFieldTrialName, "B", params));
- }
- base::FieldTrialList::CreateFieldTrial(
- OmniboxFieldTrial::kBundledExperimentFieldTrialName, "B");
-
- AutocompleteResult result;
- result.AppendMatches(matches);
- AutocompleteInput input(base::string16(), base::string16::npos,
- base::string16(), GURL(),
- AutocompleteInput::HOME_PAGE, false, false, false,
- AutocompleteInput::ALL_MATCHES);
- result.SortAndCull(input, test_util_.profile());
-
- // Check the new ordering. The first history-url result should not be
- // demoted, but the second result should be.
- // We cannot check relevance scores because the matches are sorted by
- // demoted relevance but the actual relevance scores are not modified.
- ASSERT_EQ(3u, result.size());
- EXPECT_EQ("http://top-history-url/",
- result.match_at(0)->destination_url.spec());
- EXPECT_EQ("http://search-what-you-typed/",
- result.match_at(1)->destination_url.spec());
- EXPECT_EQ("http://history-url2/",
- result.match_at(2)->destination_url.spec());
-}
-
TEST_F(AutocompleteResultTest, SortAndCullWithMatchDupsAndDemotionsByType) {
// Add some matches.
ACMatches matches;
diff --git a/chrome/browser/omnibox/omnibox_field_trial.cc b/chrome/browser/omnibox/omnibox_field_trial.cc
index f686a21..858e4f8 100644
--- a/chrome/browser/omnibox/omnibox_field_trial.cc
+++ b/chrome/browser/omnibox/omnibox_field_trial.cc
@@ -366,32 +366,6 @@ void OmniboxFieldTrial::GetDemotionsByType(
}
}
-OmniboxFieldTrial::UndemotableTopMatchTypes
-OmniboxFieldTrial::GetUndemotableTopTypes(
- AutocompleteInput::PageClassification current_page_classification) {
- UndemotableTopMatchTypes undemotable_types;
- const std::string types_rule =
- OmniboxFieldTrial::GetValueForRuleInContext(
- kUndemotableTopTypeRule,
- current_page_classification);
- // The value of the UndemotableTopTypes rule is a comma-separated list of
- // AutocompleteMatchType::Type enums represented as an integer. The
- // DemoteByType rule does not apply to the top match if the type of the top
- // match is in this list.
- std::vector<std::string> types;
- base::SplitString(types_rule, ',', &types);
- for (std::vector<std::string>::const_iterator it = types.begin();
- it != types.end(); ++it) {
- // This is a best-effort conversion; we trust the hand-crafted parameters
- // downloaded from the server to be perfect. There's no need to handle
- // errors smartly.
- int t;
- base::StringToInt(*it, &t);
- undemotable_types.insert(static_cast<AutocompleteMatchType::Type>(t));
- }
- return undemotable_types;
-}
-
void OmniboxFieldTrial::GetExperimentalHUPScoringParams(
HUPScoringParams* scoring_params) {
scoring_params->experimental_scoring_enabled = false;
@@ -450,7 +424,6 @@ const char OmniboxFieldTrial::kShortcutsScoringMaxRelevanceRule[] =
"ShortcutsScoringMaxRelevance";
const char OmniboxFieldTrial::kSearchHistoryRule[] = "SearchHistory";
const char OmniboxFieldTrial::kDemoteByTypeRule[] = "DemoteByType";
-const char OmniboxFieldTrial::kUndemotableTopTypeRule[] = "UndemotableTopTypes";
const char OmniboxFieldTrial::kHQPBookmarkValueRule[] =
"HQPBookmarkValue";
const char OmniboxFieldTrial::kHQPAllowMatchInTLDRule[] = "HQPAllowMatchInTLD";
diff --git a/chrome/browser/omnibox/omnibox_field_trial.h b/chrome/browser/omnibox/omnibox_field_trial.h
index 44db860c..95913f9d 100644
--- a/chrome/browser/omnibox/omnibox_field_trial.h
+++ b/chrome/browser/omnibox/omnibox_field_trial.h
@@ -6,7 +6,6 @@
#define CHROME_BROWSER_OMNIBOX_OMNIBOX_FIELD_TRIAL_H_
#include <map>
-#include <set>
#include <string>
#include <vector>
@@ -91,9 +90,6 @@ class OmniboxFieldTrial {
// given number. Omitted types are assumed to have multipliers of 1.0.
typedef std::map<AutocompleteMatchType::Type, float> DemotionMultipliers;
- // A set of types that should not be demoted when they are the top match.
- typedef std::set<AutocompleteMatchType::Type> UndemotableTopMatchTypes;
-
// Creates the static field trial groups.
// *** MUST NOT BE CALLED MORE THAN ONCE. ***
static void ActivateStaticTrials();
@@ -226,11 +222,6 @@ class OmniboxFieldTrial {
AutocompleteInput::PageClassification current_page_classification,
DemotionMultipliers* demotions_by_type);
- // Get the set of types that should not be demoted if they are the top
- // match.
- static UndemotableTopMatchTypes GetUndemotableTopTypes(
- AutocompleteInput::PageClassification current_page_classification);
-
// ---------------------------------------------------------
// For the HistoryURL provider new scoring experiment that is part of the
// bundled omnibox field trial.
@@ -274,7 +265,6 @@ class OmniboxFieldTrial {
static const char kShortcutsScoringMaxRelevanceRule[];
static const char kSearchHistoryRule[];
static const char kDemoteByTypeRule[];
- static const char kUndemotableTopTypeRule[];
static const char kHQPBookmarkValueRule[];
static const char kHQPDiscountFrecencyWhenFewVisitsRule[];
static const char kHQPAllowMatchInTLDRule[];
diff --git a/chrome/browser/omnibox/omnibox_field_trial_unittest.cc b/chrome/browser/omnibox/omnibox_field_trial_unittest.cc
index d386d95..3af72ba 100644
--- a/chrome/browser/omnibox/omnibox_field_trial_unittest.cc
+++ b/chrome/browser/omnibox/omnibox_field_trial_unittest.cc
@@ -224,34 +224,6 @@ TEST_F(OmniboxFieldTrialTest, GetDemotionsByTypeWithFallback) {
VerifyDemotion(demotions_by_type, AutocompleteMatchType::HISTORY_URL, 0.25);
}
-TEST_F(OmniboxFieldTrialTest, GetUndemotableTopTypes) {
- {
- std::map<std::string, std::string> params;
- const std::string rule(OmniboxFieldTrial::kUndemotableTopTypeRule);
- params[rule + ":1:*"] = "1,3";
- params[rule + ":3:*"] = "5";
- params[rule + ":*:*"] = "2";
- ASSERT_TRUE(chrome_variations::AssociateVariationParams(
- OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A", params));
- }
- base::FieldTrialList::CreateFieldTrial(
- OmniboxFieldTrial::kBundledExperimentFieldTrialName, "A");
- OmniboxFieldTrial::UndemotableTopMatchTypes undemotable_types;
- undemotable_types = OmniboxFieldTrial::GetUndemotableTopTypes(
- AutocompleteInput::NTP);
- ASSERT_EQ(2u, undemotable_types.size());
- ASSERT_EQ(1u, undemotable_types.count(AutocompleteMatchType::HISTORY_URL));
- ASSERT_EQ(1u, undemotable_types.count(AutocompleteMatchType::HISTORY_BODY));
- undemotable_types = OmniboxFieldTrial::GetUndemotableTopTypes(
- AutocompleteInput::HOME_PAGE);
- ASSERT_EQ(1u, undemotable_types.size());
- ASSERT_EQ(1u, undemotable_types.count(AutocompleteMatchType::NAVSUGGEST));
- undemotable_types = OmniboxFieldTrial::GetUndemotableTopTypes(
- AutocompleteInput::BLANK);
- ASSERT_EQ(1u, undemotable_types.size());
- ASSERT_EQ(1u, undemotable_types.count(AutocompleteMatchType::HISTORY_TITLE));
-}
-
TEST_F(OmniboxFieldTrialTest, GetValueForRuleInContext) {
{
std::map<std::string, std::string> params;