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

Unified Diff: chrome/browser/autofill/autofill_manager.cc

Issue 6033010: Support autocompletion for HTMl5 tags:"email", "month" and "tel". (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: unroll tests. Created 9 years, 11 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
Index: chrome/browser/autofill/autofill_manager.cc
diff --git a/chrome/browser/autofill/autofill_manager.cc b/chrome/browser/autofill/autofill_manager.cc
index 162375268776d8418d802d495793a96847dc7b5f..6794cda2eda0a04246544a8b0fa02a00abb7ce28 100644
--- a/chrome/browser/autofill/autofill_manager.cc
+++ b/chrome/browser/autofill/autofill_manager.cc
@@ -686,10 +686,23 @@ void AutoFillManager::FillCreditCardFormField(const CreditCard* credit_card,
DCHECK(type.group() == AutoFillType::CREDIT_CARD);
DCHECK(field);
- if (field->form_control_type() == ASCIIToUTF16("select-one"))
+ if (field->form_control_type() == ASCIIToUTF16("select-one")) {
autofill::FillSelectControl(credit_card, type, field);
- else
+ } else if (field->form_control_type() == ASCIIToUTF16("month")) {
+ // HTML5 input="month" consists of year-month.
+ string16 year = credit_card->GetFieldText(
+ AutoFillType(CREDIT_CARD_EXP_4_DIGIT_YEAR));
+ string16 month = credit_card->GetFieldText(
+ AutoFillType(CREDIT_CARD_EXP_MONTH));
+ if (!year.empty() && !month.empty()) {
+ // Iff |credit_card| has both year and month, fill the value.
+ // Because |credit_card| might not have both info.
+ month = year + ASCIIToUTF16("-") + month;
+ field->set_value(month);
+ }
+ } else {
field->set_value(credit_card->GetFieldText(type));
+ }
}
void AutoFillManager::FillFormField(const AutoFillProfile* profile,

Powered by Google App Engine
This is Rietveld 408576698