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

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

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 isherman, round 2. 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/autofill_external_delegate.cc
diff --git a/components/autofill/core/browser/autofill_external_delegate.cc b/components/autofill/core/browser/autofill_external_delegate.cc
index 80ad335a44a0e4c50f92eb406bdb0d6884ee5045..7d7a89739bcad59c0991bac006e50e5a9a76c83a 100644
--- a/components/autofill/core/browser/autofill_external_delegate.cc
+++ b/components/autofill/core/browser/autofill_external_delegate.cc
@@ -6,6 +6,7 @@
#include "base/message_loop/message_loop.h"
#include "base/metrics/histogram.h"
+#include "base/metrics/sparse_histogram.h"
#include "base/strings/utf_string_conversions.h"
#include "components/autofill/core/browser/autocomplete_history_manager.h"
#include "components/autofill/core/browser/autofill_driver.h"
@@ -49,7 +50,8 @@ AutofillExternalDelegate::AutofillExternalDelegate(AutofillManager* manager,
display_warning_if_disabled_(false),
has_suggestion_(false),
has_shown_popup_for_current_edit_(false),
- weak_ptr_factory_(this) {
+ weak_ptr_factory_(this),
+ has_shown_address_book_prompt(false) {
DCHECK(manager);
}
@@ -60,6 +62,9 @@ void AutofillExternalDelegate::OnQuery(int query_id,
const FormFieldData& field,
const gfx::RectF& element_bounds,
bool display_warning_if_disabled) {
+ if (query_form_ != form)
+ has_shown_address_book_prompt = false;
+
query_form_ = form;
query_field_ = field;
display_warning_if_disabled_ = display_warning_if_disabled;
@@ -117,8 +122,6 @@ void AutofillExternalDelegate::OnSuggestionsReturned(
// updated to match.
InsertDataListValues(&values, &labels, &icons, &ids);
-// Temporarily disabled. See http://crbug.com/408695
-#if 0
#if defined(OS_MACOSX) && !defined(OS_IOS)
if (values.empty() &&
manager_->ShouldShowAccessAddressBookSuggestion(query_form_,
@@ -129,10 +132,13 @@ void AutofillExternalDelegate::OnSuggestionsReturned(
icons.push_back(base::ASCIIToUTF16("macContactsIcon"));
ids.push_back(POPUP_ITEM_ID_MAC_ACCESS_CONTACTS);
- EmitHistogram(SHOWED_ACCESS_ADDRESS_BOOK_ENTRY);
+ if (!has_shown_address_book_prompt) {
+ has_shown_address_book_prompt = true;
+ EmitHistogram(SHOWED_ACCESS_ADDRESS_BOOK_ENTRY);
+ manager_->ShowedAccessAddressBookPrompt();
+ }
}
#endif // defined(OS_MACOSX) && !defined(OS_IOS)
-#endif
if (values.empty()) {
// No suggestions, any popup currently showing is obsolete.
@@ -201,6 +207,9 @@ void AutofillExternalDelegate::DidAcceptSuggestion(const base::string16& value,
} else if (identifier == POPUP_ITEM_ID_MAC_ACCESS_CONTACTS) {
#if defined(OS_MACOSX) && !defined(OS_IOS)
EmitHistogram(SELECTED_ACCESS_ADDRESS_BOOK_ENTRY);
+ UMA_HISTOGRAM_SPARSE_SLOWLY(
+ "Autofill.MacAddressBook.NumShowsBeforeSelected",
+ manager_->AccessAddressBookPromptCount());
// User wants to give Chrome access to user's address book.
manager_->AccessAddressBook();
« no previous file with comments | « components/autofill/core/browser/autofill_external_delegate.h ('k') | components/autofill/core/browser/autofill_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698