Index: chrome/browser/autocomplete/search_provider.cc |
diff --git a/chrome/browser/autocomplete/search_provider.cc b/chrome/browser/autocomplete/search_provider.cc |
index 9d062749592927769a9bf8d3610ece1863f8325c..e828f8c1cea2983d68ef3e3f804df8ac4118049c 100644 |
--- a/chrome/browser/autocomplete/search_provider.cc |
+++ b/chrome/browser/autocomplete/search_provider.cc |
@@ -134,7 +134,8 @@ SearchProvider::SearchProvider(AutocompleteProviderListener* listener, |
Profile* profile) |
: BaseSearchProvider(listener, template_url_service, profile, |
AutocompleteProvider::TYPE_SEARCH), |
- providers_(template_url_service) { |
+ providers_(template_url_service), |
+ answers_cache_(1) { |
} |
// static |
@@ -653,9 +654,9 @@ net::URLFetcher* SearchProvider::CreateSuggestFetcher( |
search_term_args.session_token = GetSessionToken(); |
if (!prefetch_data_.full_query_text.empty()) { |
search_term_args.prefetch_query = |
- base::UTF16ToUTF8(last_answer_seen_.full_query_text); |
+ base::UTF16ToUTF8(prefetch_data_.full_query_text); |
search_term_args.prefetch_query_type = |
- base::UTF16ToUTF8(last_answer_seen_.query_type); |
+ base::UTF16ToUTF8(prefetch_data_.query_type); |
} |
} |
GURL suggest_url(template_url->suggestions_url_ref().ReplaceSearchTerms( |
@@ -1237,14 +1238,9 @@ void SearchProvider::RegisterDisplayedAnswers( |
return; |
// Valid answer encountered, cache it for further queries. |
- last_answer_seen_.full_query_text = match->fill_into_edit; |
- last_answer_seen_.query_type = match->answer_type; |
+ answers_cache_.UpdateRecentAnswers(match->fill_into_edit, match->answer_type); |
} |
void SearchProvider::DoAnswersQuery(const AutocompleteInput& input) { |
- // If the query text starts with trimmed input, this is valid prefetch data. |
- prefetch_data_ = StartsWith(last_answer_seen_.full_query_text, |
- base::CollapseWhitespace(input.text(), false), |
- false) ? |
- last_answer_seen_ : AnswersQueryData(); |
+ prefetch_data_ = answers_cache_.GetTopAnswerEntry(input.text()); |
Peter Kasting
2014/08/11 22:15:33
Should this just be inlined into the caller? Or a
groby-ooo-7-16
2014/08/12 01:16:27
This is mostly so I can test that DoAnswersQuery a
|
} |