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

Unified Diff: components/autofill/core/browser/personal_data_manager_mac.mm

Issue 578383002: mac: Only show the access Address Book prompt a fixed number of times. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@autofill-contacts
Patch Set: Comments from estade. Created 6 years, 3 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_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 c6f8eef8b0205bce729cdcf3c88c53aed5e7530b..e190ffd22ac3f982f2c6e560a2d8e4698d3ba569 100644
--- a/components/autofill/core/browser/personal_data_manager_mac.mm
+++ b/components/autofill/core/browser/personal_data_manager_mac.mm
@@ -31,6 +31,10 @@
namespace autofill {
namespace {
+// The maximum number of instances when the access Address Book prompt should
+// be shown.
+int kMaxTimesToShowMacAddressBook = 5;
+
// There is an uncommon sequence of events that causes the Address Book
// permissions dialog to appear more than once for a given install of Chrome.
// 1. Chrome has previously presented the Address Book permissions dialog.
@@ -374,6 +378,9 @@ bool PersonalDataManager::ShouldShowAccessAddressBookSuggestion(
if (HasPromptedForAccessToAddressBook(pref_service_))
Evan Stade 2014/09/18 22:06:09 this is pretty confusing function naming. HasPromp
erikchen 2014/09/18 22:49:50 I went with the name of the preference, which uses
return false;
+ if (AccessAddressBookPromptCount() >= kMaxTimesToShowMacAddressBook)
+ return false;
+
switch (type.group()) {
case ADDRESS_BILLING:
case ADDRESS_HOME:
@@ -394,6 +401,15 @@ bool PersonalDataManager::ShouldShowAccessAddressBookSuggestion(
return false;
}
+void PersonalDataManager::ShowedAccessAddressBookPrompt() {
+ pref_service_->SetInteger(prefs::kAutofillMacAddressBookShowedCount,
+ AccessAddressBookPromptCount() + 1);
+}
+
+int PersonalDataManager::AccessAddressBookPromptCount() {
+ return pref_service_->GetInteger(prefs::kAutofillMacAddressBookShowedCount);
+}
+
void PersonalDataManager::BinaryChanging() {
g_binary_changed = true;
}

Powered by Google App Engine
This is Rietveld 408576698