| 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 cf3c1a061e340b8c8c28b064daa89dacb5021be2..b075d1350c77b2694bd782315f69120122a14fc8 100644
|
| --- a/chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc
|
| +++ b/chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc
|
| @@ -29,6 +29,7 @@
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/profiles/profile.h"
|
| #include "chrome/browser/ui/autofill/autofill_dialog_common.h"
|
| +#include "chrome/browser/ui/autofill/autofill_dialog_i18n_input.h"
|
| #include "chrome/browser/ui/autofill/autofill_dialog_view.h"
|
| #include "chrome/browser/ui/autofill/data_model_wrapper.h"
|
| #if !defined(OS_ANDROID)
|
| @@ -623,14 +624,10 @@ void AutofillDialogControllerImpl::Show() {
|
| return;
|
| }
|
|
|
| - common::BuildInputsForSection(SECTION_CC,
|
| - &requested_cc_fields_);
|
| - common::BuildInputsForSection(SECTION_BILLING,
|
| - &requested_billing_fields_);
|
| - common::BuildInputsForSection(SECTION_CC_BILLING,
|
| - &requested_cc_billing_fields_);
|
| - common::BuildInputsForSection(SECTION_SHIPPING,
|
| - &requested_shipping_fields_);
|
| + std::string country_guess = i18ninput::GuessCountry();
|
| + for (size_t section = SECTION_MIN; section <= SECTION_MAX; ++section) {
|
| + BuildInputsForSection(static_cast<DialogSection>(section), country_guess);
|
| + }
|
|
|
| // Test whether we need to show the shipping section. If filling that section
|
| // would be a no-op, don't show it.
|
| @@ -1946,6 +1943,18 @@ void AutofillDialogControllerImpl::UserEditedOrActivatedInput(
|
| popup_ids);
|
| }
|
|
|
| +void AutofillDialogControllerImpl::ComboboxItemSelected(
|
| + ui::ComboboxModel* model,
|
| + DialogSection section,
|
| + int index) {
|
| + if (model == &country_combobox_model_) {
|
| + base::string16 country = model->GetItemAt(index);
|
| + std::string locale = g_browser_process->GetApplicationLocale();
|
| + std::string country_code = AutofillCountry::GetCountryCode(country, locale);
|
| + BuildInputsForSection(section, country_code);
|
| + }
|
| +}
|
| +
|
| void AutofillDialogControllerImpl::FocusMoved() {
|
| HidePopup();
|
| }
|
| @@ -2452,6 +2461,17 @@ void AutofillDialogControllerImpl::UpdateAccountChooserView() {
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
|
|
| +
|
| +void AutofillDialogControllerImpl::BuildInputsForSection(
|
| + DialogSection section,
|
| + const std::string& country_code) {
|
| + DetailInputs* inputs = MutableRequestedFieldsForSection(section);
|
| + common::BuildInputsForSection(section, inputs, country_code);
|
| +
|
| + if (view_)
|
| + view_->UpdateSection(section);
|
| +}
|
| +
|
| bool AutofillDialogControllerImpl::HandleKeyPressEventInInput(
|
| const content::NativeWebKeyboardEvent& event) {
|
| if (popup_controller_.get())
|
|
|