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

Side by Side Diff: components/autofill/core/browser/autocomplete_history_manager.cc

Issue 1208133002: [Autofill/Autocomplete Feature] Substring matching instead of prefix matching. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added |match_start| usage. Created 5 years, 6 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
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "components/autofill/core/browser/autocomplete_history_manager.h" 5 #include "components/autofill/core/browser/autocomplete_history_manager.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/prefs/pref_service.h" 9 #include "base/prefs/pref_service.h"
10 #include "base/profiler/scoped_tracker.h" 10 #include "base/profiler/scoped_tracker.h"
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
96 query_id_ = query_id; 96 query_id_ = query_id;
97 autofill_suggestions_ = suggestions; 97 autofill_suggestions_ = suggestions;
98 if (!autofill_client_->IsAutocompleteEnabled() || 98 if (!autofill_client_->IsAutocompleteEnabled() ||
99 form_control_type == "textarea" || 99 form_control_type == "textarea" ||
100 IsInAutofillSuggestionsDisabledExperiment()) { 100 IsInAutofillSuggestionsDisabledExperiment()) {
101 SendSuggestions(NULL); 101 SendSuggestions(NULL);
102 return; 102 return;
103 } 103 }
104 104
105 if (database_.get()) { 105 if (database_.get()) {
106 pending_query_prefix_ = prefix;
106 pending_query_handle_ = database_->GetFormValuesForElementName( 107 pending_query_handle_ = database_->GetFormValuesForElementName(
107 name, prefix, kMaxAutocompleteMenuItems, this); 108 name, prefix, kMaxAutocompleteMenuItems, this);
108 } 109 }
109 } 110 }
110 111
111 void AutocompleteHistoryManager::OnFormSubmitted(const FormData& form) { 112 void AutocompleteHistoryManager::OnFormSubmitted(const FormData& form) {
112 if (!autofill_client_->IsAutocompleteEnabled()) 113 if (!autofill_client_->IsAutocompleteEnabled())
113 return; 114 return;
114 115
115 if (driver_->IsOffTheRecord()) 116 if (driver_->IsOffTheRecord())
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
168 for (const auto& new_result : *autocomplete_results) { 169 for (const auto& new_result : *autocomplete_results) {
169 bool unique = true; 170 bool unique = true;
170 for (const auto& autofill_suggestion : autofill_suggestions_) { 171 for (const auto& autofill_suggestion : autofill_suggestions_) {
171 // Don't add duplicate values. 172 // Don't add duplicate values.
172 if (new_result == autofill_suggestion.value) { 173 if (new_result == autofill_suggestion.value) {
173 unique = false; 174 unique = false;
174 break; 175 break;
175 } 176 }
176 } 177 }
177 178
178 if (unique) 179 if (unique) {
179 autofill_suggestions_.push_back(Suggestion(new_result)); 180 Suggestion s(new_result);
181 s.match_start = pending_query_prefix_.size();
182 autofill_suggestions_.push_back(s);
183 }
180 } 184 }
181 } 185 }
182 186
183 external_delegate_->OnSuggestionsReturned(query_id_, autofill_suggestions_); 187 external_delegate_->OnSuggestionsReturned(query_id_, autofill_suggestions_);
184 188
185 query_id_ = 0; 189 query_id_ = 0;
186 autofill_suggestions_.clear(); 190 autofill_suggestions_.clear();
187 } 191 }
188 192
189 } // namespace autofill 193 } // namespace autofill
OLDNEW
« no previous file with comments | « components/autofill/core/browser/autocomplete_history_manager.h ('k') | components/autofill/core/browser/autofill_driver.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698