Chromium Code Reviews| Index: chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc |
| diff --git a/chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc b/chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc |
| index 05b45203c0b53f9cd72844de1d529b136edbef63..de63349b5c878d7dec9664d5e3a5b46fb6f1df1e 100644 |
| --- a/chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc |
| +++ b/chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc |
| @@ -30,6 +30,7 @@ |
| #include "grit/generated_resources.h" |
| #include "net/base/cert_status_flags.h" |
| #include "ui/base/l10n/l10n_util.h" |
| +#include "ui/base/resource/resource_bundle.h" |
| namespace autofill { |
| @@ -329,14 +330,27 @@ string16 AutofillDialogControllerImpl::SuggestionTextForSection( |
| if (section == SECTION_CC) { |
| CreditCard* card = GetManager()->GetCreditCardByGUID(item_key); |
| - if (card) |
| - return card->Label(); |
| + if (!card) |
| + return string16(); |
|
Ilya Sherman
2013/01/24 04:27:27
When would card be null? The TODO on line 356 mak
Evan Stade
2013/01/24 23:34:25
same reason. I just get tired of repeating the sam
|
| + |
| + return card->TypeAndLastFourDigits(); |
| } else { |
| - // TODO(estade): This doesn't display as much info as it should (for |
| - // example, it should show full addresses rather than just a summary). |
| AutofillProfile* profile = GetManager()->GetProfileByGUID(item_key); |
| - if (profile) |
| - return profile->Label(); |
| + if (!profile) |
| + return string16(); |
| + |
| + const std::string app_locale = AutofillCountry::ApplicationLocale(); |
| + string16 comma = ASCIIToUTF16(", "); |
| + string16 label = profile->GetInfo(NAME_FULL, app_locale) + |
| + comma + profile->GetInfo(ADDRESS_HOME_LINE1, app_locale); |
| + string16 address2 = profile->GetInfo(ADDRESS_HOME_LINE2, app_locale); |
| + if (!address2.empty()) |
| + label += comma + address2; |
| + label += ASCIIToUTF16("\n") + |
| + profile->GetInfo(ADDRESS_HOME_CITY, app_locale) + comma + |
| + profile->GetInfo(ADDRESS_HOME_STATE, app_locale) + ASCIIToUTF16(" ") + |
| + profile->GetInfo(ADDRESS_HOME_ZIP, app_locale); |
|
Ilya Sherman
2013/01/24 04:27:27
This code is very US-centric. That's fine for now
Evan Stade
2013/01/24 23:34:25
the entire dialog needs localization, so this fits
|
| + return label; |
| } |
| // TODO(estade): The FormGroup was likely deleted while menu was showing. We |
| @@ -344,6 +358,21 @@ string16 AutofillDialogControllerImpl::SuggestionTextForSection( |
| return string16(); |
|
Ilya Sherman
2013/01/24 04:27:27
This code doesn't seem to be reachable anymore...
Evan Stade
2013/01/24 23:34:25
good catch, wonder why the compiler doesn't warn.
|
| } |
| +gfx::Image AutofillDialogControllerImpl::SuggestionIconForSection( |
| + DialogSection section) { |
| + if (section != SECTION_CC) |
| + return gfx::Image(); |
| + |
| + std::string item_key = |
| + suggested_cc_.GetItemKeyAt(suggested_cc_.checked_item()); |
| + CreditCard* card = GetManager()->GetCreditCardByGUID(item_key); |
| + if (!card) |
|
Ilya Sherman
2013/01/24 04:27:27
When is this case reachable? Can it be a DCHECK i
Evan Stade
2013/01/24 23:34:25
it's potentially reachable if the credit card is d
|
| + return gfx::Image(); |
| + |
| + ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
| + return rb.GetImageNamed(card->IconResourceId()); |
| +} |
| + |
| void AutofillDialogControllerImpl::EditClickedForSection( |
| DialogSection section) { |
| SuggestionsMenuModel* model = SuggestionsMenuModelForSection(section); |