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

Unified Diff: components/autofill/core/browser/personal_data_manager.cc

Issue 106033007: Disable wallet in countries where it's not supported, take 2. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: sync Created 6 years, 11 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/core/browser/personal_data_manager.cc
diff --git a/components/autofill/core/browser/personal_data_manager.cc b/components/autofill/core/browser/personal_data_manager.cc
index 6ad59d1ec441132fe4bd4a6a273919cf28ab4f46..0e19ac4489c6d8a2ca7f4054f54c06ebf36ba194 100644
--- a/components/autofill/core/browser/personal_data_manager.cc
+++ b/components/autofill/core/browser/personal_data_manager.cc
@@ -682,6 +682,10 @@ bool PersonalDataManager::IsAutofillEnabled() const {
return pref_service_->GetBoolean(prefs::kAutofillEnabled);
}
+std::string PersonalDataManager::CountryCodeForCurrentTimezone() const {
+ return base::CountryCodeForCurrentTimezone();
+}
+
// static
bool PersonalDataManager::IsValidLearnableProfile(
const AutofillProfile& profile,
@@ -745,6 +749,31 @@ std::string PersonalDataManager::MergeProfile(
return guid;
}
+bool PersonalDataManager::IsCountryOfInterest(const std::string& country_code)
+ const {
+ DCHECK_EQ(2U, country_code.size());
+
+ const std::vector<AutofillProfile*>& profiles = web_profiles();
+ std::list<std::string> country_codes;
+ for (size_t i = 0; i < profiles.size(); ++i) {
+ country_codes.push_back(StringToLowerASCII(UTF16ToASCII(
+ profiles[i]->GetRawInfo(ADDRESS_HOME_COUNTRY))));
+ }
+
+ std::string timezone_country = CountryCodeForCurrentTimezone();
+ if (!timezone_country.empty())
+ country_codes.push_back(StringToLowerASCII(timezone_country));
+
+ // Only take the locale into consideration if all else fails.
+ if (country_codes.empty()) {
+ country_codes.push_back(StringToLowerASCII(
+ AutofillCountry::CountryCodeForLocale(app_locale())));
+ }
+
+ return std::find(country_codes.begin(), country_codes.end(),
+ StringToLowerASCII(country_code)) != country_codes.end();
+}
+
const std::string& PersonalDataManager::GetDefaultCountryCodeForNewAddress()
const {
if (default_country_code_.empty())
@@ -752,7 +781,7 @@ const std::string& PersonalDataManager::GetDefaultCountryCodeForNewAddress()
// Failing that, guess based on system timezone.
if (default_country_code_.empty())
- default_country_code_ = base::CountryCodeForCurrentTimezone();
+ default_country_code_ = CountryCodeForCurrentTimezone();
// Failing that, guess based on locale.
if (default_country_code_.empty())

Powered by Google App Engine
This is Rietveld 408576698