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

Unified Diff: chrome/browser/ui/views/autofill/autofill_dialog_views.cc

Issue 23756007: [rac] Show amex specific cvc hint (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rename StringFromType to StringIconIdentifierFromType Created 7 years, 3 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/ui/views/autofill/autofill_dialog_views.cc
diff --git a/chrome/browser/ui/views/autofill/autofill_dialog_views.cc b/chrome/browser/ui/views/autofill/autofill_dialog_views.cc
index 98e777fb914d4aedac6a2e2333b1aa759b4a490c..ea2076a98fecc0adff174bb4fa242e50fe267d34 100644
--- a/chrome/browser/ui/views/autofill/autofill_dialog_views.cc
+++ b/chrome/browser/ui/views/autofill/autofill_dialog_views.cc
@@ -1933,10 +1933,6 @@ views::View* AutofillDialogViews::InitInputsView(DialogSection section) {
l10n_util::GetStringUTF16(input.placeholder_text_rid),
this);
- gfx::Image icon =
- delegate_->IconForField(input.type, input.initial_value);
- field->SetIcon(icon);
-
textfields->insert(std::make_pair(&input, field));
view_to_add.reset(field);
}
@@ -1978,6 +1974,8 @@ views::View* AutofillDialogViews::InitInputsView(DialogSection section) {
1, 0);
}
+ SetIconsForSection(section);
+
return view;
}
@@ -1996,11 +1994,8 @@ void AutofillDialogViews::UpdateSectionImpl(
if (text_mapping != group->textfields.end()) {
DecoratedTextfield* decorated = text_mapping->second;
decorated->SetEnabled(input.editable);
- if (decorated->text().empty() || clobber_inputs) {
+ if (decorated->text().empty() || clobber_inputs)
decorated->SetText(iter->initial_value);
- decorated->SetIcon(
- delegate_->IconForField(input.type, decorated->text()));
- }
}
ComboboxMap::iterator combo_mapping = group->comboboxes.find(&input);
@@ -2019,6 +2014,7 @@ void AutofillDialogViews::UpdateSectionImpl(
}
}
+ SetIconsForSection(section);
UpdateDetailsGroupState(*group);
}
@@ -2237,7 +2233,7 @@ void AutofillDialogViews::TextfieldEditedOrActivated(
SetValidityForInput<DecoratedTextfield>(
decorated,
delegate_->InputValidityMessage(group->section, type,
- textfield->text()));
+ textfield->text()));
// If the field transitioned from invalid to valid, re-validate the group,
// since inter-field checks become meaningful with valid fields.
@@ -2245,8 +2241,8 @@ void AutofillDialogViews::TextfieldEditedOrActivated(
ValidateGroup(*group, VALIDATE_EDIT);
}
- gfx::Image icon = delegate_->IconForField(type, textfield->text());
- decorated->SetIcon(icon);
+ if (delegate_->FieldControlsIcons(type))
+ SetIconsForSection(group->section);
}
void AutofillDialogViews::UpdateButtonStripExtraView() {
@@ -2339,6 +2335,30 @@ bool AutofillDialogViews::SignInWebviewDictatesHeight() const {
(sign_in_webview_->web_contents() && delegate_->ShouldShowSpinner());
}
+void AutofillDialogViews::SetIconsForSection(DialogSection section) {
+ DetailOutputMap user_input;
+ GetUserInput(section, &user_input);
+ FieldValueMap field_values;
+ for (DetailOutputMap::const_iterator user_input_it = user_input.begin();
+ user_input_it != user_input.end();
+ ++user_input_it) {
+ const DetailInput* field_detail = user_input_it->first;
+ const string16& field_value = user_input_it->second;
+ field_values[field_detail->type] = field_value;
+ }
+ FieldIconMap field_icons = delegate_->IconsForFields(field_values);
+ TextfieldMap* textfields = &GroupForSection(section)->textfields;
+ for (TextfieldMap::const_iterator textfield_it = textfields->begin();
+ textfield_it != textfields->end();
+ ++textfield_it) {
+ ServerFieldType field_type = textfield_it->first->type;
+ FieldIconMap::const_iterator field_icon_it = field_icons.find(field_type);
+ DecoratedTextfield* textfield = textfield_it->second;
+ textfield->SetIcon(field_icon_it == field_icons.end() ?
+ gfx::Image() : field_icon_it->second);
+ }
+}
+
AutofillDialogViews::DetailsGroup::DetailsGroup(DialogSection section)
: section(section),
container(NULL),
« no previous file with comments | « chrome/browser/ui/views/autofill/autofill_dialog_views.h ('k') | components/autofill/content/browser/wallet/wallet_items.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698