Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(421)

Side by Side Diff: chrome/browser/autocomplete/search_provider.cc

Issue 285343004: [AiS] Extract Answers, store on AutocompleteMatch. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/autocomplete/base_search_provider.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 676 matching lines...) Expand 10 before | Expand all | Expand 10 after
687 int verbatim_relevance = GetVerbatimRelevance(&relevance_from_server); 687 int verbatim_relevance = GetVerbatimRelevance(&relevance_from_server);
688 int did_not_accept_default_suggestion = 688 int did_not_accept_default_suggestion =
689 default_results_.suggest_results.empty() ? 689 default_results_.suggest_results.empty() ?
690 TemplateURLRef::NO_SUGGESTIONS_AVAILABLE : 690 TemplateURLRef::NO_SUGGESTIONS_AVAILABLE :
691 TemplateURLRef::NO_SUGGESTION_CHOSEN; 691 TemplateURLRef::NO_SUGGESTION_CHOSEN;
692 if (verbatim_relevance > 0) { 692 if (verbatim_relevance > 0) {
693 const base::string16& trimmed_verbatim = 693 const base::string16& trimmed_verbatim =
694 base::CollapseWhitespace(input_.text(), false); 694 base::CollapseWhitespace(input_.text(), false);
695 SuggestResult verbatim( 695 SuggestResult verbatim(
696 trimmed_verbatim, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED, 696 trimmed_verbatim, AutocompleteMatchType::SEARCH_WHAT_YOU_TYPED,
697 trimmed_verbatim, base::string16(), base::string16(), std::string(), 697 trimmed_verbatim, base::string16(), base::string16(), base::string16(),
698 std::string(), false, verbatim_relevance, relevance_from_server, false, 698 base::string16(), std::string(), std::string(), false,
699 verbatim_relevance, relevance_from_server, false,
699 trimmed_verbatim); 700 trimmed_verbatim);
700 AddMatchToMap(verbatim, std::string(), did_not_accept_default_suggestion, 701 AddMatchToMap(verbatim, std::string(), did_not_accept_default_suggestion,
701 false, &map); 702 false, &map);
702 } 703 }
703 if (!keyword_input_.text().empty()) { 704 if (!keyword_input_.text().empty()) {
704 const TemplateURL* keyword_url = providers_.GetKeywordProviderURL(); 705 const TemplateURL* keyword_url = providers_.GetKeywordProviderURL();
705 // We only create the verbatim search query match for a keyword 706 // We only create the verbatim search query match for a keyword
706 // if it's not an extension keyword. Extension keywords are handled 707 // if it's not an extension keyword. Extension keywords are handled
707 // in KeywordProvider::Start(). (Extensions are complicated...) 708 // in KeywordProvider::Start(). (Extensions are complicated...)
708 // Note: in this provider, SEARCH_OTHER_ENGINE must correspond 709 // Note: in this provider, SEARCH_OTHER_ENGINE must correspond
709 // to the keyword verbatim search query. Do not create other matches 710 // to the keyword verbatim search query. Do not create other matches
710 // of type SEARCH_OTHER_ENGINE. 711 // of type SEARCH_OTHER_ENGINE.
711 if (keyword_url && 712 if (keyword_url &&
712 (keyword_url->GetType() != TemplateURL::OMNIBOX_API_EXTENSION)) { 713 (keyword_url->GetType() != TemplateURL::OMNIBOX_API_EXTENSION)) {
713 bool keyword_relevance_from_server; 714 bool keyword_relevance_from_server;
714 const int keyword_verbatim_relevance = 715 const int keyword_verbatim_relevance =
715 GetKeywordVerbatimRelevance(&keyword_relevance_from_server); 716 GetKeywordVerbatimRelevance(&keyword_relevance_from_server);
716 if (keyword_verbatim_relevance > 0) { 717 if (keyword_verbatim_relevance > 0) {
717 const base::string16& trimmed_verbatim = 718 const base::string16& trimmed_verbatim =
718 base::CollapseWhitespace(keyword_input_.text(), false); 719 base::CollapseWhitespace(keyword_input_.text(), false);
719 SuggestResult verbatim( 720 SuggestResult verbatim(
720 trimmed_verbatim, AutocompleteMatchType::SEARCH_OTHER_ENGINE, 721 trimmed_verbatim, AutocompleteMatchType::SEARCH_OTHER_ENGINE,
721 trimmed_verbatim, base::string16(), base::string16(), 722 trimmed_verbatim, base::string16(), base::string16(),
722 std::string(), std::string(), true, keyword_verbatim_relevance, 723 base::string16(), base::string16(), std::string(), std::string(),
723 keyword_relevance_from_server, false, trimmed_verbatim); 724 true, keyword_verbatim_relevance, keyword_relevance_from_server,
725 false, trimmed_verbatim);
724 AddMatchToMap(verbatim, std::string(), 726 AddMatchToMap(verbatim, std::string(),
725 did_not_accept_keyword_suggestion, false, &map); 727 did_not_accept_keyword_suggestion, false, &map);
726 } 728 }
727 } 729 }
728 } 730 }
729 AddHistoryResultsToMap(keyword_history_results_, true, 731 AddHistoryResultsToMap(keyword_history_results_, true,
730 did_not_accept_keyword_suggestion, &map); 732 did_not_accept_keyword_suggestion, &map);
731 AddHistoryResultsToMap(default_history_results_, false, 733 AddHistoryResultsToMap(default_history_results_, false,
732 did_not_accept_default_suggestion, &map); 734 did_not_accept_default_suggestion, &map);
733 735
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
915 input_.current_page_classification(), &match, NULL); 917 input_.current_page_classification(), &match, NULL);
916 prevent_inline_autocomplete = 918 prevent_inline_autocomplete =
917 !AutocompleteMatch::IsSearchType(match.type); 919 !AutocompleteMatch::IsSearchType(match.type);
918 } 920 }
919 921
920 int relevance = CalculateRelevanceForHistory( 922 int relevance = CalculateRelevanceForHistory(
921 i->time, is_keyword, !prevent_inline_autocomplete, 923 i->time, is_keyword, !prevent_inline_autocomplete,
922 prevent_search_history_inlining); 924 prevent_search_history_inlining);
923 scored_results.push_back(SuggestResult( 925 scored_results.push_back(SuggestResult(
924 trimmed_suggestion, AutocompleteMatchType::SEARCH_HISTORY, 926 trimmed_suggestion, AutocompleteMatchType::SEARCH_HISTORY,
925 trimmed_suggestion, base::string16(), base::string16(), std::string(), 927 trimmed_suggestion, base::string16(), base::string16(),
926 std::string(), is_keyword, relevance, false, false, trimmed_input)); 928 base::string16(), base::string16(), std::string(), std::string(),
929 is_keyword, relevance, false, false, trimmed_input));
927 } 930 }
928 931
929 // History returns results sorted for us. However, we may have docked some 932 // History returns results sorted for us. However, we may have docked some
930 // results' scores, so things are no longer in order. Do a stable sort to get 933 // results' scores, so things are no longer in order. Do a stable sort to get
931 // things back in order without otherwise disturbing results with equal 934 // things back in order without otherwise disturbing results with equal
932 // scores, then force the scores to be unique, so that the order in which 935 // scores, then force the scores to be unique, so that the order in which
933 // they're shown is deterministic. 936 // they're shown is deterministic.
934 std::stable_sort(scored_results.begin(), scored_results.end(), 937 std::stable_sort(scored_results.begin(), scored_results.end(),
935 CompareScoredResults()); 938 CompareScoredResults());
936 int last_relevance = 0; 939 int last_relevance = 0;
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
1144 std::string raw_data; 1147 std::string raw_data;
1145 base::RandBytes(WriteInto(&raw_data, kTokenBytes + 1), kTokenBytes); 1148 base::RandBytes(WriteInto(&raw_data, kTokenBytes + 1), kTokenBytes);
1146 base::Base64Encode(raw_data, &current_token_); 1149 base::Base64Encode(raw_data, &current_token_);
1147 } 1150 }
1148 1151
1149 // Extend expiration time another 60 seconds. 1152 // Extend expiration time another 60 seconds.
1150 token_expiration_time_ = current_time + base::TimeDelta::FromSeconds(60); 1153 token_expiration_time_ = current_time + base::TimeDelta::FromSeconds(60);
1151 1154
1152 return current_token_; 1155 return current_token_;
1153 } 1156 }
OLDNEW
« no previous file with comments | « chrome/browser/autocomplete/base_search_provider.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698