summaryrefslogtreecommitdiffstats
path: root/chrome/browser/autocomplete_history_manager.cc
diff options
context:
space:
mode:
authorisherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-13 02:32:34 +0000
committerisherman@chromium.org <isherman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-07-13 02:32:34 +0000
commit59e74fe3c5312b7f168a80c74ef09df808af746e (patch)
tree23de7791b33792433da630d239cbe58af1bbe261 /chrome/browser/autocomplete_history_manager.cc
parentfb50bc9c6c0de329ee795e9776b56ed034db61c2 (diff)
downloadchromium_src-59e74fe3c5312b7f168a80c74ef09df808af746e.zip
chromium_src-59e74fe3c5312b7f168a80c74ef09df808af746e.tar.gz
chromium_src-59e74fe3c5312b7f168a80c74ef09df808af746e.tar.bz2
Save autocomplete text for search fields and other specialized text fields.
BUG=69847 TEST=unit_tests --gtest_filter=AutocompleteHistoryManagerTest.SearchField Review URL: http://codereview.chromium.org/7349001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@92299 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/autocomplete_history_manager.cc')
-rw-r--r--chrome/browser/autocomplete_history_manager.cc17
1 files changed, 14 insertions, 3 deletions
diff --git a/chrome/browser/autocomplete_history_manager.cc b/chrome/browser/autocomplete_history_manager.cc
index 4362283..bf64c35 100644
--- a/chrome/browser/autocomplete_history_manager.cc
+++ b/chrome/browser/autocomplete_history_manager.cc
@@ -19,6 +19,7 @@
#include "webkit/glue/form_data.h"
using webkit_glue::FormData;
+using webkit_glue::FormField;
namespace {
@@ -85,6 +86,16 @@ bool IsSSN(const string16& text) {
return true;
}
+bool IsTextField(const FormField& field) {
+ return
+ field.form_control_type == ASCIIToUTF16("text") ||
+ field.form_control_type == ASCIIToUTF16("search") ||
+ field.form_control_type == ASCIIToUTF16("tel") ||
+ field.form_control_type == ASCIIToUTF16("url") ||
+ field.form_control_type == ASCIIToUTF16("email") ||
+ field.form_control_type == ASCIIToUTF16("text");
+}
+
} // namespace
AutocompleteHistoryManager::AutocompleteHistoryManager(
@@ -130,13 +141,13 @@ void AutocompleteHistoryManager::OnFormSubmitted(const FormData& form) {
// - text field
// - value is not a credit card number
// - value is not a SSN
- std::vector<webkit_glue::FormField> values;
- for (std::vector<webkit_glue::FormField>::const_iterator iter =
+ std::vector<FormField> values;
+ for (std::vector<FormField>::const_iterator iter =
form.fields.begin();
iter != form.fields.end(); ++iter) {
if (!iter->value.empty() &&
!iter->name.empty() &&
- iter->form_control_type == ASCIIToUTF16("text") &&
+ IsTextField(*iter) &&
!CreditCard::IsValidCreditCardNumber(iter->value) &&
!IsSSN(iter->value)) {
values.push_back(*iter);