Chromium Code Reviews| Index: components/autofill/core/browser/personal_data_manager_mac.mm |
| diff --git a/components/autofill/core/browser/personal_data_manager_mac.mm b/components/autofill/core/browser/personal_data_manager_mac.mm |
| index b5d475359602b9f516f5abfa86df4af2c4d51652..91ddfc35bb0b3c9d8caf76c9bf69c557c59c0ca4 100644 |
| --- a/components/autofill/core/browser/personal_data_manager_mac.mm |
| +++ b/components/autofill/core/browser/personal_data_manager_mac.mm |
| @@ -38,6 +38,11 @@ const char kAddressBookOrigin[] = "OS X Address Book"; |
| bool HasPromptedForAccessToAddressBook(PrefService* pref_service) { |
| return pref_service->GetBoolean(prefs::kAutofillAuxiliaryProfilesQueried); |
| } |
|
Ilya Sherman
2014/06/02 22:54:27
nit: Please leave a blank line after this one.
erikchen
2014/06/03 01:34:19
Done.
|
| +// Whether the user wants Chrome to use the AddressBook to populate autofill |
| +// entries. |
| +bool ShouldUseAddressBook(PrefService* pref_service) { |
| + return pref_service->GetBoolean(prefs::kAutofillUseMacAddressBook); |
| +} |
| ABAddressBook* GetAddressBook(PrefService* pref_service) { |
| bool first_access = !HasPromptedForAccessToAddressBook(pref_service); |
| @@ -110,10 +115,9 @@ void AuxiliaryProfilesImpl::GetAddressBookMeCard(const std::string& app_locale, |
| PrefService* pref_service) { |
| profiles_.clear(); |
| - // Chrome has not yet requested address book permissions. Attempting to do so |
| - // presents a blocking modal dialog, which is undesirable. Instead, just show |
| - // no results. |
| - if (!HasPromptedForAccessToAddressBook(pref_service)) |
| + // The user does not want Chrome to use the AddressBook to populate autofill |
| + // entries. |
| + if (!ShouldUseAddressBook(pref_service)) |
| return; |
| ABAddressBook* addressBook = GetAddressBook(pref_service); |
| @@ -304,11 +308,10 @@ void PersonalDataManager::LoadAuxiliaryProfiles() const { |
| } |
| bool PersonalDataManager::AccessAddressBook() { |
| - if (!pref_service_->GetBoolean(prefs::kAutofillAuxiliaryProfilesEnabled)) |
| - return false; |
| - |
| - if (HasPromptedForAccessToAddressBook(pref_service_)) |
| - return false; |
| + // The user is attempting to give Chrome access to the user's Address Book. |
| + // This implicitly acknowledges that the user wants to use auxiliary |
| + // profiles. |
| + pref_service_->SetBoolean(prefs::kAutofillUseMacAddressBook, true); |
|
erikchen
2014/06/02 21:21:17
I've intentionally removed the check against the p
|
| // Request permissions. |
| GetAddressBook(pref_service_); |
| @@ -317,9 +320,6 @@ bool PersonalDataManager::AccessAddressBook() { |
| bool PersonalDataManager::ShouldShowAccessAddressBookSuggestion( |
| AutofillType type) { |
| - if (!pref_service_->GetBoolean(prefs::kAutofillAuxiliaryProfilesEnabled)) |
| - return false; |
| - |
| if (HasPromptedForAccessToAddressBook(pref_service_)) |
| return false; |