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

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

Issue 11636040: AutofillPopupController clarifications + simplifications. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ilya review Created 8 years 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 a1c94197e229f9989f9f6498e3fc7695a12d0deb..27796a02efe6b196235feb3557eea6ada9a04b96 100644
--- a/chrome/browser/ui/views/autofill/autofill_dialog_views.cc
+++ b/chrome/browser/ui/views/autofill/autofill_dialog_views.cc
@@ -93,6 +93,22 @@ void AutofillDialogViews::Show() {
// Ownership of |contents_| is handed off by this call. The ConstrainedWindow
// will take care of deleting itself after calling DeleteDelegate().
window_ = new ConstrainedWindowViews(controller_->web_contents(), this);
+ window_->GetFocusManager()->AddFocusChangeListener(this);
Ilya Sherman 2012/12/20 21:57:42 This diff is not part of this CL.
Evan Stade 2012/12/20 23:04:00 please ignore the parts that are part of my previo
+}
+
+void AutofillDialogViews::UpdateSection(DialogSection section) {
+ const DetailInputs& updated_inputs =
+ controller_->RequestedFieldsForSection(section);
+ DetailsGroup* group = GroupForSection(section);
+
+ for (DetailInputs::const_iterator iter = updated_inputs.begin();
+ iter != updated_inputs.end(); ++iter) {
+ TextfieldMap::iterator input = group->textfields.find(&(*iter));
+ if (input == group->textfields.end())
+ continue;
+
+ input->second->SetText(iter->autofilled_value);
+ }
}
int AutofillDialogViews::GetSuggestionSelection(DialogSection section) {
@@ -123,6 +139,10 @@ string16 AutofillDialogViews::GetWindowTitle() const {
return controller_->DialogTitle();
}
+void AutofillDialogViews::WindowClosing() {
+ window_->GetFocusManager()->RemoveFocusChangeListener(this);
+}
+
void AutofillDialogViews::DeleteDelegate() {
window_ = NULL;
// |this| belongs to |controller_|.
@@ -179,6 +199,38 @@ void AutofillDialogViews::OnSelectedIndexChanged(views::Combobox* combobox) {
GetWidget()->SetSize(GetWidget()->non_client_view()->GetPreferredSize());
}
+void AutofillDialogViews::ContentsChanged(views::Textfield* sender,
+ const string16& new_contents) {
+ // TODO(estade): work for not billing.
+ for (TextfieldMap::iterator iter = billing_.textfields.begin();
+ iter != billing_.textfields.end();
+ ++iter) {
+ if (iter->second == sender) {
+ controller_->UserEditedInput(iter->first,
+ GetWidget()->GetNativeView(),
+ sender->GetBoundsInScreen(),
+ new_contents);
+ break;
+ }
+ }
+}
+
+bool AutofillDialogViews::HandleKeyEvent(views::Textfield* sender,
+ const ui::KeyEvent& key_event) {
+ // TODO(estade): implement.
+ return false;
+}
+
+void AutofillDialogViews::OnWillChangeFocus(
+ views::View* focused_before,
+ views::View* focused_now) {
+ controller_->FocusMoved();
+}
+
+void AutofillDialogViews::OnDidChangeFocus(
+ views::View* focused_before,
+ views::View* focused_now) {}
+
void AutofillDialogViews::InitChildViews() {
contents_ = new views::View();
views::GridLayout* layout = new views::GridLayout(contents_);
@@ -372,7 +424,7 @@ views::View* AutofillDialogViews::InitInputsView(DialogSection section) {
layout->AddView(combobox);
for (int i = 0; i < input_model->GetItemCount(); ++i) {
- if (input.starting_value == input_model->GetItemAt(i)) {
+ if (input.autofilled_value == input_model->GetItemAt(i)) {
combobox->SetSelectedIndex(i);
break;
}
@@ -380,7 +432,8 @@ views::View* AutofillDialogViews::InitInputsView(DialogSection section) {
} else {
views::Textfield* field = new views::Textfield();
field->set_placeholder_text(ASCIIToUTF16(input.placeholder_text));
- field->SetText(input.starting_value);
+ field->SetText(input.autofilled_value);
+ field->SetController(this);
textfields->insert(std::make_pair(&input, field));
layout->AddView(field);
}

Powered by Google App Engine
This is Rietveld 408576698