Reviewers: Peter Kasting,
Message:
Hey Peter, please take a look; thanks!
Description:
Only use verbatimrelevance with other suggestions available.
BUG=125871,132942
TEST=Updated unit test; manual.
Please review this at
https://chromiumcodereview.appspot.com/10559053/
SVN Base: svn://
svn.chromium.org/chrome/trunk/src
Affected files:
M chrome/browser/autocomplete/search_provider.cc
M chrome/browser/autocomplete/search_provider_unittest.cc
Index: chrome/browser/autocomplete/search_provider.cc
diff --git a/chrome/browser/autocomplete/search_provider.cc
b/chrome/browser/autocomplete/search_provider.cc
index
9d1281b3cc74ca5850ce6cc2c06643119c647690..16dbce440abc007f2407ed3e69a82b7c35f72781
100644
--- a/chrome/browser/autocomplete/search_provider.cc
+++ b/chrome/browser/autocomplete/search_provider.cc
@@ -930,8 +930,14 @@ void SearchProvider::AddSuggestResultsToMap(const
SuggestResults& results,
}
int SearchProvider::GetVerbatimRelevance() const {
- if (verbatim_relevance_ >= 0 && !input_.prevent_inline_autocomplete())
+ // Use the server suggested verbatim relevance score if it is
non-negative,
+ // inline autocomplete isn't prevented (happens on backspace, etc.), and
+ // there is at least one other suggestion from the default provider.
+ if (verbatim_relevance_ >= 0 && !input_.prevent_inline_autocomplete() &&
+ (!default_suggest_results_.empty() ||
+ !default_navigation_results_.empty())) {
return verbatim_relevance_;
+ }
return CalculateRelevanceForVerbatim();
}
Index: chrome/browser/autocomplete/search_provider_unittest.cc
diff --git a/chrome/browser/autocomplete/search_provider_unittest.cc
b/chrome/browser/autocomplete/search_provider_unittest.cc
index
227c163a084100aaad205ad369bd235ed3e48fde..00d96a55c95229fe82420e5cc71491de67eaf0fe
100644
--- a/chrome/browser/autocomplete/search_provider_unittest.cc
+++ b/chrome/browser/autocomplete/search_provider_unittest.cc
@@ -854,6 +854,12 @@ TEST_F(SearchProviderTest, SuggestRelevanceExperiment)
{
"{\"google:suggestrelevance\":[9998, 9997, 9999],"
"\"google:verbatimrelevance\":0}]",
{ "a2", "a", "a1", kNotApplicable } },
+
+ // Ensure that verbatim is always generated without other suggestions.
+ { "[\"a\",[],[],[],{\"google:verbatimrelevance\":1}]",
+ { "a", kNotApplicable, kNotApplicable, kNotApplicable } },
+ { "[\"a\",[],[],[],{\"google:verbatimrelevance\":0}]",
+ { "a", kNotApplicable, kNotApplicable, kNotApplicable } },
};
for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); i++) {