Chromium Code Reviews| Index: chrome/browser/autofill/phone_number_i18n.cc |
| =================================================================== |
| --- chrome/browser/autofill/phone_number_i18n.cc (revision 85791) |
| +++ chrome/browser/autofill/phone_number_i18n.cc (working copy) |
| @@ -10,14 +10,14 @@ |
| #include "base/string_number_conversions.h" |
| #include "base/utf_string_conversions.h" |
| #include "third_party/libphonenumber/cpp/src/phonenumberutil.h" |
| +#include "unicode/locid.h" |
| namespace { |
| std::string SanitizeLocaleCode(const std::string& locale_code) { |
| if (locale_code.length() == 2) |
| return locale_code; |
| - // Use USA for incomplete locales. |
| - return std::string("US"); |
| + return std::string(icu::Locale::getDefault().getCountry()); |
|
Ilya Sherman
2011/05/19 05:52:25
You might want to use AutofillCountry::Application
GeorgeY
2011/05/19 19:00:18
Done.
GeorgeY
2011/05/19 20:45:54
Changed before I looked up what it was actually do
Ilya Sherman
2011/05/19 20:57:47
Based on """ git gs 'SetDefault(' """ we never set
|
| } |
| i18n::phonenumbers::PhoneNumberUtil::PhoneNumberFormat UtilsTypeToPhoneLibType( |
| @@ -162,6 +162,12 @@ |
| if (validation != i18n::phonenumbers::PhoneNumberUtil::IS_POSSIBLE) |
| return false; |
| + // This verifies that number has a valid area code (that in some cases could |
| + // be empty) for parsed country code. Also verifies that this is a valid |
| + // number (in US 1234567 is not valid, because numbers do not start with 1). |
| + if (!phone_util->IsValidNumber(i18n_number)) |
| + return false; |
| + |
| std::string formatted_number; |
| phone_util->Format(i18n_number, UtilsTypeToPhoneLibType(phone_format), |