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

Unified Diff: chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc

Issue 261013010: autocomplete: add ability to get full address (hidden behind a flag). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: self review Created 6 years, 7 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/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 2a720544179612efd26963852f2c641976324ac7..8011aeef818ca8a2c4c78349166f406b5227bdde 100644
--- a/chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc
+++ b/chrome/browser/ui/autofill/autofill_dialog_controller_impl.cc
@@ -54,6 +54,7 @@
#include "components/autofill/content/browser/wallet/wallet_items.h"
#include "components/autofill/content/browser/wallet/wallet_service_url.h"
#include "components/autofill/content/browser/wallet/wallet_signin_helper.h"
+#include "components/autofill/core/browser/address_i18n.h"
#include "components/autofill/core/browser/autofill_country.h"
#include "components/autofill/core/browser/autofill_data_model.h"
#include "components/autofill/core/browser/autofill_manager.h"
@@ -511,23 +512,17 @@ ServerFieldType CountryTypeForSection(DialogSection section) {
ADDRESS_BILLING_COUNTRY;
}
-// profile.GetInfo() thunk.
-base::string16 GetInfoFromProfile(const AutofillProfile& profile,
- const AutofillType& type) {
- return profile.GetInfo(type, g_browser_process->GetApplicationLocale());
-}
-
// Attempts to canonicalize the administrative area name in |profile| using the
// rules in |validator|.
void CanonicalizeState(const AddressValidator* validator,
AutofillProfile* profile) {
base::string16 administrative_area;
- AddressData address_data;
- i18ninput::CreateAddressData(base::Bind(&GetInfoFromProfile, *profile),
- &address_data);
+ scoped_ptr<AddressData> address_data =
+ i18n::CreateAddressDataFromAutofillProfile(
+ *profile, g_browser_process->GetApplicationLocale());
- validator->CanonicalizeAdministrativeArea(&address_data);
- administrative_area = base::UTF8ToUTF16(address_data.administrative_area);
+ validator->CanonicalizeAdministrativeArea(address_data.get());
+ administrative_area = base::UTF8ToUTF16(address_data->administrative_area);
profile->SetInfo(AutofillType(ADDRESS_HOME_STATE),
administrative_area,
@@ -1955,13 +1950,13 @@ ValidityMessages AutofillDialogControllerImpl::InputsAreValid(
if (section != SECTION_CC) {
AutofillProfile profile;
FillFormGroupFromOutputs(inputs, &profile);
- AddressData address_data;
- i18ninput::CreateAddressData(base::Bind(&GetInfoFromProfile, profile),
- &address_data);
- address_data.language_code = AddressLanguageCodeForSection(section);
+ scoped_ptr<AddressData> address_data =
+ i18n::CreateAddressDataFromAutofillProfile(
+ profile, g_browser_process->GetApplicationLocale());
+ address_data->language_code = AddressLanguageCodeForSection(section);
AddressProblems problems;
- status = GetValidator()->ValidateAddress(address_data,
+ status = GetValidator()->ValidateAddress(*address_data,
AddressProblemFilter(),
&problems);
common::AddressType address_type = section == SECTION_SHIPPING ?
@@ -3027,7 +3022,8 @@ void AutofillDialogControllerImpl::SuggestionsUpdated() {
DCHECK_EQ(labels.size(), profiles.size());
for (size_t i = 0; i < profiles.size(); ++i) {
const AutofillProfile& profile = *profiles[i];
- if (!i18ninput::AddressHasCompleteAndVerifiedData(profile) ||
+ if (!i18ninput::AddressHasCompleteAndVerifiedData(
+ profile, g_browser_process->GetApplicationLocale()) ||
!i18ninput::CountryIsFullySupported(
base::UTF16ToASCII(profile.GetRawInfo(ADDRESS_HOME_COUNTRY)))) {
continue;
@@ -3348,14 +3344,14 @@ void AutofillDialogControllerImpl::GetI18nValidatorSuggestions(
AutofillProfile profile;
FillFormGroupFromOutputs(inputs, &profile);
- AddressData user_input;
- i18ninput::CreateAddressData(
- base::Bind(&GetInfoFromProfile, profile), &user_input);
- user_input.language_code = AddressLanguageCodeForSection(section);
+ scoped_ptr<AddressData> user_input =
+ i18n::CreateAddressDataFromAutofillProfile(
+ profile, g_browser_process->GetApplicationLocale());
+ user_input->language_code = AddressLanguageCodeForSection(section);
static const size_t kSuggestionsLimit = 10;
AddressValidator::Status status = GetValidator()->GetSuggestions(
- user_input, focused_field, kSuggestionsLimit,
+ *user_input, focused_field, kSuggestionsLimit,
&i18n_validator_suggestions_);
if (status != AddressValidator::SUCCESS)
@@ -3572,12 +3568,12 @@ bool AutofillDialogControllerImpl::IsCreditCardExpirationValid(
bool AutofillDialogControllerImpl::HasInvalidAddress(
const AutofillProfile& profile) {
- AddressData address_data;
- i18ninput::CreateAddressData(base::Bind(&GetInfoFromProfile, profile),
- &address_data);
+ scoped_ptr<AddressData> address_data =
+ i18n::CreateAddressDataFromAutofillProfile(
+ profile, g_browser_process->GetApplicationLocale());
AddressProblems problems;
- GetValidator()->ValidateAddress(address_data,
+ GetValidator()->ValidateAddress(*address_data,
AddressProblemFilter(),
&problems);
return !problems.empty();
« no previous file with comments | « chrome/browser/ui/autofill/autofill_dialog_common.cc ('k') | chrome/browser/ui/autofill/autofill_dialog_i18n_input.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698