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

Unified Diff: chrome/browser/autocomplete/search_provider.cc

Issue 12039053: Fix cursor position for default provider searches in keyword mode. (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Added missing () to the comment in omnibox_edit_model.cc Created 7 years, 10 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/autocomplete/search_provider.h ('k') | chrome/browser/ui/omnibox/omnibox_edit_model.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/autocomplete/search_provider.cc
diff --git a/chrome/browser/autocomplete/search_provider.cc b/chrome/browser/autocomplete/search_provider.cc
index f1e02da9162e21b9aee5ff4151960043caa7cd30..7f72b8f1873026b171c468de684616c19361a8b7 100644
--- a/chrome/browser/autocomplete/search_provider.cc
+++ b/chrome/browser/autocomplete/search_provider.cc
@@ -227,11 +227,13 @@ void SearchProvider::Start(const AutocompleteInput& input,
return;
}
- keyword_input_text_.clear();
+ keyword_input_ = input;
const TemplateURL* keyword_provider =
- KeywordProvider::GetSubstitutingTemplateURLForInput(profile_, input,
- &keyword_input_text_);
- if (keyword_input_text_.empty())
+ KeywordProvider::GetSubstitutingTemplateURLForInput(model,
+ &keyword_input_);
+ if (keyword_provider == NULL)
+ keyword_input_.Clear();
+ else if (keyword_input_.text().empty())
keyword_provider = NULL;
const TemplateURL* default_provider = model->GetDefaultSearchProvider();
@@ -330,9 +332,9 @@ void SearchProvider::Run() {
time_suggest_request_sent_ = base::TimeTicks::Now();
default_fetcher_.reset(CreateSuggestFetcher(kDefaultProviderURLFetcherID,
- providers_.GetDefaultProviderURL(), input_.text()));
+ providers_.GetDefaultProviderURL(), input_));
keyword_fetcher_.reset(CreateSuggestFetcher(kKeywordProviderURLFetcherID,
- providers_.GetKeywordProviderURL(), keyword_input_text_));
+ providers_.GetKeywordProviderURL(), keyword_input_));
// Both the above can fail if the providers have been modified or deleted
// since the query began.
@@ -474,7 +476,7 @@ void SearchProvider::DoHistoryQuery(bool minimal_changes) {
const TemplateURL* keyword_url = providers_.GetKeywordProviderURL();
if (keyword_url) {
url_db->GetMostRecentKeywordSearchTerms(keyword_url->id(),
- keyword_input_text_, num_matches, &keyword_history_results_);
+ keyword_input_.text(), num_matches, &keyword_history_results_);
}
}
@@ -595,11 +597,11 @@ void SearchProvider::ClearResults() {
}
void SearchProvider::RemoveStaleResults() {
- // Keyword provider results should match |keyword_input_text_|, unless
+ // Keyword provider results should match |keyword_input_.text()|, unless
// the input was just changed to non-keyword mode; in that case, compare
// against |input_.text()|.
const string16& keyword_input =
- !keyword_input_text_.empty() ? keyword_input_text_ : input_.text();
+ !keyword_input_.text().empty() ? keyword_input_.text() : input_.text();
RemoveStaleSuggestResults(&keyword_suggest_results_, keyword_input);
RemoveStaleSuggestResults(&default_suggest_results_, input_.text());
RemoveStaleNavigationResults(&keyword_navigation_results_, keyword_input);
@@ -650,13 +652,13 @@ void SearchProvider::ApplyCalculatedNavigationRelevance(NavigationResults* list,
net::URLFetcher* SearchProvider::CreateSuggestFetcher(
int id,
const TemplateURL* template_url,
- const string16& text) {
+ const AutocompleteInput& input) {
if (!template_url || template_url->suggestions_url().empty())
return NULL;
// Bail if the suggestion URL is invalid with the given replacements.
- TemplateURLRef::SearchTermsArgs search_term_args(text);
- search_term_args.cursor_position = input_.cursor_position();
+ TemplateURLRef::SearchTermsArgs search_term_args(input.text());
+ search_term_args.cursor_position = input.cursor_position();
GURL suggest_url(template_url->suggestions_url_ref().ReplaceSearchTerms(
search_term_args));
if (!suggest_url.is_valid())
@@ -685,7 +687,8 @@ bool SearchProvider::ParseSuggestResults(Value* root_val, bool is_keyword) {
string16 query;
ListValue* root_list = NULL;
ListValue* results = NULL;
- const string16& input_text = is_keyword ? keyword_input_text_ : input_.text();
+ const string16& input_text =
+ is_keyword ? keyword_input_.text() : input_.text();
if (!root_val->GetAsList(&root_list) || !root_list->GetString(0, &query) ||
(query != input_text) || !root_list->GetList(1, &results))
return false;
@@ -950,7 +953,8 @@ void SearchProvider::AddHistoryResultsToMap(const HistoryResults& results,
bool prevent_inline_autocomplete = input_.prevent_inline_autocomplete() ||
(input_.type() == AutocompleteInput::URL);
- const string16& input_text = is_keyword ? keyword_input_text_ : input_.text();
+ const string16& input_text =
+ is_keyword ? keyword_input_.text() : input_.text();
bool input_multiple_words = HasMultipleWords(input_text);
SuggestResults scored_results;
@@ -1043,7 +1047,8 @@ SearchProvider::SuggestResults SearchProvider::ScoreHistoryResults(
void SearchProvider::AddSuggestResultsToMap(const SuggestResults& results,
bool is_keyword,
MatchMap* map) {
- const string16& input_text = is_keyword ? keyword_input_text_ : input_.text();
+ const string16& input_text =
+ is_keyword ? keyword_input_.text() : input_.text();
for (size_t i = 0; i < results.size(); ++i) {
AddMatchToMap(results[i].suggestion(), input_text, results[i].relevance(),
AutocompleteMatch::SEARCH_SUGGEST, i, is_keyword, map);
@@ -1241,7 +1246,7 @@ void SearchProvider::AddMatchToMap(const string16& query_string,
AutocompleteMatch SearchProvider::NavigationToMatch(
const NavigationResult& navigation,
bool is_keyword) {
- const string16& input = is_keyword ? keyword_input_text_ : input_.text();
+ const string16& input = is_keyword ? keyword_input_.text() : input_.text();
AutocompleteMatch match(this, navigation.relevance(), false,
AutocompleteMatch::NAVSUGGEST);
match.destination_url = navigation.url();
« no previous file with comments | « chrome/browser/autocomplete/search_provider.h ('k') | chrome/browser/ui/omnibox/omnibox_edit_model.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698