Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/autocomplete/search_provider.h" | 5 #include "chrome/browser/autocomplete/search_provider.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 | 9 |
| 10 #include "base/base64.h" | 10 #include "base/base64.h" |
| (...skipping 715 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 726 | 726 |
| 727 bool relevance_from_server; | 727 bool relevance_from_server; |
| 728 int verbatim_relevance = GetVerbatimRelevance(&relevance_from_server); | 728 int verbatim_relevance = GetVerbatimRelevance(&relevance_from_server); |
| 729 int did_not_accept_default_suggestion = | 729 int did_not_accept_default_suggestion = |
| 730 default_results_.suggest_results.empty() ? | 730 default_results_.suggest_results.empty() ? |
| 731 TemplateURLRef::NO_SUGGESTIONS_AVAILABLE : | 731 TemplateURLRef::NO_SUGGESTIONS_AVAILABLE : |
| 732 TemplateURLRef::NO_SUGGESTION_CHOSEN; | 732 TemplateURLRef::NO_SUGGESTION_CHOSEN; |
| 733 if (verbatim_relevance > 0) { | 733 if (verbatim_relevance > 0) { |
| 734 const base::string16& trimmed_verbatim = | 734 const base::string16& trimmed_verbatim = |
| 735 base::CollapseWhitespace(input_.text(), false); | 735 base::CollapseWhitespace(input_.text(), false); |
| 736 | |
| 737 // Verbatim results don't get suggestions and hence, answers. | |
|
Mark P
2014/08/12 20:57:29
This feels like the wrong place to do this. By do
groby-ooo-7-16
2014/08/12 22:09:20
But I can't add it anywhere else - the answer need
Mark P
2014/08/12 23:17:43
Good point.
msw
2014/08/13 19:01:04
Why don't verbatim results get suggestions? Isn't
Mark P
2014/08/13 19:42:22
I'll answer on behalf of groby@: the server does n
| |
| 738 // Scan previous matches if the last answer-bearing suggestion matches | |
|
msw
2014/08/13 19:01:04
Why not just check |last_answer_seen_| instead of
groby-ooo-7-16
2014/08/13 20:07:17
Because
1) last_answer_seen_ is only the query te
Mark P
2014/08/13 20:12:27
If this is happening, can you add to the bug that'
groby-ooo-7-16
2014/08/13 23:39:21
The cache still can't hold the answers content. Th
Mark P
2014/08/14 03:29:44
When the user ceases to edit something in the omni
| |
| 739 // verbatim, and if so, copy over answer contents. | |
| 740 base::string16 answer_contents; | |
| 741 base::string16 answer_type; | |
| 742 for (ACMatches::iterator it = matches_.begin(); it != matches_.end(); | |
| 743 ++it) { | |
| 744 if (!it->answer_contents.empty() && | |
| 745 it->fill_into_edit == trimmed_verbatim) { | |
| 746 answer_contents = it->answer_contents; | |
| 747 answer_type = it->answer_type; | |
| 748 break; | |
| 749 } | |
| 750 } | |
| 751 | |
| 736 SearchSuggestionParser::SuggestResult verbatim( | 752 SearchSuggestionParser::SuggestResult verbatim( |
| 737 trimmed_verbatim, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, | 753 trimmed_verbatim, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, |
| 738 trimmed_verbatim, base::string16(), base::string16(), base::string16(), | 754 trimmed_verbatim, base::string16(), base::string16(), answer_contents, |
| 739 base::string16(), std::string(), std::string(), false, | 755 answer_type, std::string(), std::string(), false, verbatim_relevance, |
| 740 verbatim_relevance, relevance_from_server, false, | 756 relevance_from_server, false, trimmed_verbatim); |
| 741 trimmed_verbatim); | |
| 742 AddMatchToMap(verbatim, std::string(), did_not_accept_default_suggestion, | 757 AddMatchToMap(verbatim, std::string(), did_not_accept_default_suggestion, |
| 743 false, &map); | 758 false, &map); |
| 744 } | 759 } |
| 745 if (!keyword_input_.text().empty()) { | 760 if (!keyword_input_.text().empty()) { |
| 746 const TemplateURL* keyword_url = providers_.GetKeywordProviderURL(); | 761 const TemplateURL* keyword_url = providers_.GetKeywordProviderURL(); |
| 747 // We only create the verbatim search query match for a keyword | 762 // We only create the verbatim search query match for a keyword |
| 748 // if it's not an extension keyword. Extension keywords are handled | 763 // if it's not an extension keyword. Extension keywords are handled |
| 749 // in KeywordProvider::Start(). (Extensions are complicated...) | 764 // in KeywordProvider::Start(). (Extensions are complicated...) |
| 750 // Note: in this provider, SEARCH_OTHER_ENGINE must correspond | 765 // Note: in this provider, SEARCH_OTHER_ENGINE must correspond |
| 751 // to the keyword verbatim search query. Do not create other matches | 766 // to the keyword verbatim search query. Do not create other matches |
| (...skipping 510 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1262 last_answer_seen_.query_type = match->answer_type; | 1277 last_answer_seen_.query_type = match->answer_type; |
| 1263 } | 1278 } |
| 1264 | 1279 |
| 1265 void SearchProvider::DoAnswersQuery(const AutocompleteInput& input) { | 1280 void SearchProvider::DoAnswersQuery(const AutocompleteInput& input) { |
| 1266 // If the query text starts with trimmed input, this is valid prefetch data. | 1281 // If the query text starts with trimmed input, this is valid prefetch data. |
| 1267 prefetch_data_ = StartsWith(last_answer_seen_.full_query_text, | 1282 prefetch_data_ = StartsWith(last_answer_seen_.full_query_text, |
| 1268 base::CollapseWhitespace(input.text(), false), | 1283 base::CollapseWhitespace(input.text(), false), |
| 1269 false) ? | 1284 false) ? |
| 1270 last_answer_seen_ : AnswersQueryData(); | 1285 last_answer_seen_ : AnswersQueryData(); |
| 1271 } | 1286 } |
| OLD | NEW |