Chromium Code Reviews| 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
|
| } |