Chromium Code Reviews| Index: chrome/browser/ui/omnibox/omnibox_controller.cc |
| diff --git a/chrome/browser/ui/omnibox/omnibox_controller.cc b/chrome/browser/ui/omnibox/omnibox_controller.cc |
| index 903f3144ff406cf51d21215c5febf6eef2f60817..d488714b177b7d5b41bebe89f67d9ce4e57a0f3e 100644 |
| --- a/chrome/browser/ui/omnibox/omnibox_controller.cc |
| +++ b/chrome/browser/ui/omnibox/omnibox_controller.cc |
| @@ -31,11 +31,14 @@ namespace { |
| // |
| // The SearchProvider may mark some suggestions to be prefetched based on |
| // instructions from the suggest server. If such a match ranks sufficiently |
| -// highly, we'll return it. We only care about matches that are the default or |
| -// else the very first entry in the dropdown (which can happen for non-default |
| -// matches only if we're hiding a top verbatim match); for other matches, we |
| -// think the likelihood of the user selecting them is low enough that |
| -// prefetching isn't worth doing. |
| +// highly, we'll return it. |
| +// |
| +// We only care about matches that are the default or the very first entry in |
| +// the dropdown (which can happen for non-default matches only if we're hiding |
| +// a top verbatim match) or the second entry in the dropdown (which can happen |
| +// for non-default matches when a top verbatim match is shown); for other |
| +// matches, we think the likelihood of the user selecting them is low enough |
| +// that prefetching isn't worth doing. |
| const AutocompleteMatch* GetMatchToPrefetch(const AutocompleteResult& result) { |
| const AutocompleteResult::const_iterator default_match( |
| result.default_match()); |
| @@ -45,9 +48,11 @@ const AutocompleteMatch* GetMatchToPrefetch(const AutocompleteResult& result) { |
| if (SearchProvider::ShouldPrefetch(*default_match)) |
| return &(*default_match); |
| - return (result.ShouldHideTopMatch() && (result.size() > 1) && |
| - SearchProvider::ShouldPrefetch(result.match_at(1))) ? |
| - &result.match_at(1) : NULL; |
| + return ((result.ShouldHideTopMatch() || |
| + result.TopMatchIsVerbatimAndHasNoConsecutiveVerbatimMatches()) && |
| + (result.size() > 1) && |
| + SearchProvider::ShouldPrefetch(result.match_at(1))) ? |
| + &result.match_at(1) : NULL; |
|
Peter Kasting
2013/12/17 23:47:34
Nit: Indenting here is inconsistent; sometimes you
kmadhusu
2013/12/18 23:26:08
Fixed indentation.
|
| } |
| } // namespace |