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

Unified Diff: components/autofill/browser/phone_number_i18n.cc

Issue 13488009: Remove application locale cache in autofill code. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync Created 7 years, 8 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: components/autofill/browser/phone_number_i18n.cc
===================================================================
--- components/autofill/browser/phone_number_i18n.cc (revision 192613)
+++ components/autofill/browser/phone_number_i18n.cc (working copy)
@@ -18,12 +18,12 @@
namespace {
-std::string SanitizeRegion(const std::string& region) {
+std::string SanitizeRegion(const std::string& region,
+ const std::string& app_locale) {
if (region.length() == 2)
return region;
- return AutofillCountry::CountryCodeForLocale(
- AutofillCountry::ApplicationLocale());
+ return AutofillCountry::CountryCodeForLocale(app_locale);
}
// Returns true if |phone_number| is valid.
@@ -149,13 +149,14 @@
}
string16 NormalizePhoneNumber(const string16& value,
- std::string const& region) {
+ const std::string& region) {
+ DCHECK_EQ(2u, region.size());
string16 country_code;
string16 unused_city_code;
string16 unused_number;
PhoneNumber phone_number;
- if (!ParsePhoneNumber(value, SanitizeRegion(region), &country_code,
- &unused_city_code, &unused_number, &phone_number)) {
+ if (!ParsePhoneNumber(value, region, &country_code, &unused_city_code,
+ &unused_number, &phone_number)) {
return string16(); // Parsing failed - do not store phone.
}
@@ -169,14 +170,14 @@
const string16& number,
const std::string& region,
string16* whole_number) {
+ DCHECK_EQ(2u, region.size());
whole_number->clear();
string16 unused_country_code;
string16 unused_city_code;
string16 unused_number;
PhoneNumber phone_number;
- if (!ParsePhoneNumber(country_code + city_code + number,
- SanitizeRegion(region),
+ if (!ParsePhoneNumber(country_code + city_code + number, region,
&unused_country_code, &unused_city_code, &unused_number,
&phone_number)) {
return false;
@@ -188,9 +189,10 @@
bool PhoneNumbersMatch(const string16& number_a,
const string16& number_b,
- const std::string& raw_region) {
+ const std::string& raw_region,
+ const std::string& app_locale) {
// Sanitize the provided |raw_region| before trying to use it for parsing.
- const std::string region = SanitizeRegion(raw_region);
+ const std::string region = SanitizeRegion(raw_region, app_locale);
PhoneNumberUtil* phone_util = PhoneNumberUtil::GetInstance();
@@ -222,9 +224,11 @@
return false;
}
-PhoneObject::PhoneObject(const string16& number, const std::string& region)
- : region_(SanitizeRegion(region)),
+PhoneObject::PhoneObject(const string16& number,
+ const std::string& region)
+ : region_(region),
i18n_number_(NULL) {
+ DCHECK_EQ(2u, region.size());
// TODO(isherman): Autofill profiles should always have a |region| set, but in
// some cases it should be marked as implicit. Otherwise, phone numbers
// might behave differently when they are synced across computers:
« no previous file with comments | « components/autofill/browser/phone_number_i18n.h ('k') | components/autofill/browser/phone_number_i18n_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698