| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/ui/autofill/autofill_dialog_controller_impl.h" | 5 #include "chrome/browser/ui/autofill/autofill_dialog_controller_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 851 DialogSection section) const { | 851 DialogSection section) const { |
| 852 return section != SECTION_CC_BILLING || !IsSubmitPausedOn(wallet::VERIFY_CVV); | 852 return section != SECTION_CC_BILLING || !IsSubmitPausedOn(wallet::VERIFY_CVV); |
| 853 } | 853 } |
| 854 | 854 |
| 855 void AutofillDialogControllerImpl::EditClickedForSection( | 855 void AutofillDialogControllerImpl::EditClickedForSection( |
| 856 DialogSection section) { | 856 DialogSection section) { |
| 857 DetailInputs* inputs = MutableRequestedFieldsForSection(section); | 857 DetailInputs* inputs = MutableRequestedFieldsForSection(section); |
| 858 scoped_ptr<DataModelWrapper> model = CreateWrapper(section); | 858 scoped_ptr<DataModelWrapper> model = CreateWrapper(section); |
| 859 model->FillInputs(inputs); | 859 model->FillInputs(inputs); |
| 860 section_editing_state_[section] = true; | 860 section_editing_state_[section] = true; |
| 861 view_->UpdateSection(section); | 861 view_->UpdateSection(section, CLEAR_USER_INPUT); |
| 862 } | 862 } |
| 863 | 863 |
| 864 void AutofillDialogControllerImpl::EditCancelledForSection( | 864 void AutofillDialogControllerImpl::EditCancelledForSection( |
| 865 DialogSection section) { | 865 DialogSection section) { |
| 866 ResetManualInputForSection(section); | 866 ResetManualInputForSection(section); |
| 867 view_->UpdateSection(section); | 867 view_->UpdateSection(section, CLEAR_USER_INPUT); |
| 868 } | 868 } |
| 869 | 869 |
| 870 gfx::Image AutofillDialogControllerImpl::IconForField( | 870 gfx::Image AutofillDialogControllerImpl::IconForField( |
| 871 AutofillFieldType type, const string16& user_input) const { | 871 AutofillFieldType type, const string16& user_input) const { |
| 872 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); | 872 ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance(); |
| 873 if (type == CREDIT_CARD_VERIFICATION_CODE) | 873 if (type == CREDIT_CARD_VERIFICATION_CODE) |
| 874 return rb.GetImageNamed(IDR_CREDIT_CARD_CVC_HINT); | 874 return rb.GetImageNamed(IDR_CREDIT_CARD_CVC_HINT); |
| 875 | 875 |
| 876 // For the credit card, we show a few grayscale images, and possibly one | 876 // For the credit card, we show a few grayscale images, and possibly one |
| 877 // color image if |user_input| is a valid card number. | 877 // color image if |user_input| is a valid card number. |
| (...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1275 | 1275 |
| 1276 // TODO(estade): use isherman's method of looping. | 1276 // TODO(estade): use isherman's method of looping. |
| 1277 static const DialogSection sections[] = { SECTION_EMAIL, | 1277 static const DialogSection sections[] = { SECTION_EMAIL, |
| 1278 SECTION_CC, | 1278 SECTION_CC, |
| 1279 SECTION_CC_BILLING, | 1279 SECTION_CC_BILLING, |
| 1280 SECTION_BILLING, | 1280 SECTION_BILLING, |
| 1281 SECTION_SHIPPING }; | 1281 SECTION_SHIPPING }; |
| 1282 for (size_t i = 0; i < arraysize(sections); ++i) { | 1282 for (size_t i = 0; i < arraysize(sections); ++i) { |
| 1283 DialogSection section = sections[i]; | 1283 DialogSection section = sections[i]; |
| 1284 wrapper->FillInputs(MutableRequestedFieldsForSection(section)); | 1284 wrapper->FillInputs(MutableRequestedFieldsForSection(section)); |
| 1285 view_->UpdateSection(section); | 1285 view_->UpdateSection(section, KEEP_USER_INPUT); |
| 1286 } | 1286 } |
| 1287 | 1287 |
| 1288 metric_logger_.LogDialogPopupEvent( | 1288 metric_logger_.LogDialogPopupEvent( |
| 1289 dialog_type_, AutofillMetrics::DIALOG_POPUP_FORM_FILLED); | 1289 dialog_type_, AutofillMetrics::DIALOG_POPUP_FORM_FILLED); |
| 1290 | 1290 |
| 1291 // TODO(estade): not sure why it's necessary to do this explicitly. | 1291 // TODO(estade): not sure why it's necessary to do this explicitly. |
| 1292 HidePopup(); | 1292 HidePopup(); |
| 1293 } | 1293 } |
| 1294 | 1294 |
| 1295 void AutofillDialogControllerImpl::RemoveSuggestion(const string16& value, | 1295 void AutofillDialogControllerImpl::RemoveSuggestion(const string16& value, |
| (...skipping 795 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2091 AutofillMetrics::DIALOG_USER_SIGNED_IN_NO_WALLET_NO_AUTOFILL; | 2091 AutofillMetrics::DIALOG_USER_SIGNED_IN_NO_WALLET_NO_AUTOFILL; |
| 2092 } | 2092 } |
| 2093 | 2093 |
| 2094 // Has Wallet items. | 2094 // Has Wallet items. |
| 2095 return has_autofill_profiles ? | 2095 return has_autofill_profiles ? |
| 2096 AutofillMetrics::DIALOG_USER_SIGNED_IN_HAS_WALLET_HAS_AUTOFILL : | 2096 AutofillMetrics::DIALOG_USER_SIGNED_IN_HAS_WALLET_HAS_AUTOFILL : |
| 2097 AutofillMetrics::DIALOG_USER_SIGNED_IN_HAS_WALLET_NO_AUTOFILL; | 2097 AutofillMetrics::DIALOG_USER_SIGNED_IN_HAS_WALLET_NO_AUTOFILL; |
| 2098 } | 2098 } |
| 2099 | 2099 |
| 2100 } // namespace autofill | 2100 } // namespace autofill |
| OLD | NEW |