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..6470a424f6824b706853c9ec23f492265d6aa56d 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()) { |
+ // Fill the value only if |credit_card| includes both year and month |
+ // information. |
+ month = year + ASCIIToUTF16("-") + month; |
Ilya Sherman
2011/01/10 20:08:48
nit: Naming this "month" is confusing. Please eit
honten.org
2011/01/25 05:19:24
Done.
|
+ field->set_value(month); |
+ } |
+ } else { |
field->set_value(credit_card->GetFieldText(type)); |
+ } |
} |
void AutoFillManager::FillFormField(const AutoFillProfile* profile, |