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

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

Issue 1780443002: Cleanup: roll AutofillCCInfoBarDelegate into AutofillSaveCardInfoBarDelegateMobile. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@pay_mac_bubble_default
Patch Set: Created 4 years, 9 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_save_card_infobar_delegate_mobile.cc
diff --git a/components/autofill/core/browser/autofill_save_card_infobar_delegate_mobile.cc b/components/autofill/core/browser/autofill_save_card_infobar_delegate_mobile.cc
index ad6b86b0f252ed32e0354dd39a832752a7a9ec10..5818cb05153ca6fd19da1e587124ad2c16d9a38c 100644
--- a/components/autofill/core/browser/autofill_save_card_infobar_delegate_mobile.cc
+++ b/components/autofill/core/browser/autofill_save_card_infobar_delegate_mobile.cc
@@ -10,9 +10,14 @@
#include "base/values.h"
#include "components/autofill/core/browser/credit_card.h"
#include "components/autofill/core/browser/legal_message_line.h"
+#include "components/autofill/core/common/autofill_constants.h"
#include "components/infobars/core/infobar.h"
#include "components/infobars/core/infobar_manager.h"
+#include "grit/components_scaled_resources.h"
+#include "grit/components_strings.h"
+#include "ui/base/l10n/l10n_util.h"
#include "ui/base/window_open_disposition.h"
+#include "ui/gfx/vector_icons_public.h"
#include "url/gurl.h"
namespace autofill {
@@ -22,7 +27,10 @@ AutofillSaveCardInfoBarDelegateMobile::AutofillSaveCardInfoBarDelegateMobile(
const CreditCard& card,
scoped_ptr<base::DictionaryValue> legal_message,
const base::Closure& save_card_callback)
- : AutofillCCInfoBarDelegate(upload, save_card_callback),
+ : ConfirmInfoBarDelegate(),
+ upload_(upload),
+ save_card_callback_(save_card_callback),
+ had_user_interaction_(false),
#if defined(OS_IOS)
// TODO(jdonnelly): Use credit card issuer images on iOS.
// http://crbug.com/535784
@@ -36,14 +44,95 @@ AutofillSaveCardInfoBarDelegateMobile::AutofillSaveCardInfoBarDelegateMobile(
card_sub_label_(card.AbbreviatedExpirationDateForDisplay()) {
if (legal_message)
LegalMessageLine::Parse(*legal_message, &legal_messages_);
+
+ AutofillMetrics::LogCreditCardInfoBarMetric(AutofillMetrics::INFOBAR_SHOWN);
}
AutofillSaveCardInfoBarDelegateMobile::
- ~AutofillSaveCardInfoBarDelegateMobile() {}
+ ~AutofillSaveCardInfoBarDelegateMobile() {
+ if (!had_user_interaction_)
+ LogUserAction(AutofillMetrics::INFOBAR_IGNORED);
+}
void AutofillSaveCardInfoBarDelegateMobile::OnLegalMessageLinkClicked(
GURL url) {
infobar()->owner()->OpenURL(url, NEW_FOREGROUND_TAB);
}
+int AutofillSaveCardInfoBarDelegateMobile::GetIconId() const {
+ return IDR_INFOBAR_AUTOFILL_CC;
+}
+
+base::string16 AutofillSaveCardInfoBarDelegateMobile::GetMessageText() const {
+ return l10n_util::GetStringUTF16(
+ upload_ ? IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_TO_CLOUD
+ : IDS_AUTOFILL_SAVE_CARD_PROMPT_TITLE_LOCAL);
+}
+
+base::string16 AutofillSaveCardInfoBarDelegateMobile::GetLinkText() const {
+ return l10n_util::GetStringUTF16(IDS_LEARN_MORE);
+}
+
+void AutofillSaveCardInfoBarDelegateMobile::LogUserAction(
+ AutofillMetrics::InfoBarMetric user_action) {
+ DCHECK(!had_user_interaction_);
+
+ AutofillMetrics::LogCreditCardInfoBarMetric(user_action);
+ had_user_interaction_ = true;
+}
+
+infobars::InfoBarDelegate::Type
+AutofillSaveCardInfoBarDelegateMobile::GetInfoBarType() const {
+ return PAGE_ACTION_TYPE;
+}
+
+infobars::InfoBarDelegate::InfoBarIdentifier
+AutofillSaveCardInfoBarDelegateMobile::GetIdentifier() const {
+ return AUTOFILL_CC_INFOBAR_DELEGATE;
+}
+
+gfx::VectorIconId AutofillSaveCardInfoBarDelegateMobile::GetVectorIconId()
+ const {
+#if !defined(OS_MACOSX) && !defined(OS_IOS) && !defined(OS_ANDROID)
Evan Stade 2016/03/08 21:41:49 these defines don't seem still necessary. In fact
Justin Donnelly 2016/03/08 22:41:47 Done.
+ return gfx::VectorIconId::AUTOFILL;
Evan Stade 2016/03/08 21:41:49 I wonder if this is still used somewhere.. probabl
Justin Donnelly 2016/03/08 22:41:47 Removed.
+#else
+ return gfx::VectorIconId::VECTOR_ICON_NONE;
+#endif
+}
+
+bool AutofillSaveCardInfoBarDelegateMobile::ShouldExpire(
+ const NavigationDetails& details) const {
+ // The user has submitted a form, causing the page to navigate elsewhere. We
+ // don't want the infobar to be expired at this point, because the user won't
+ // get a chance to answer the question.
+ return false;
+}
+
+void AutofillSaveCardInfoBarDelegateMobile::InfoBarDismissed() {
+ LogUserAction(AutofillMetrics::INFOBAR_DENIED);
+}
+
+base::string16 AutofillSaveCardInfoBarDelegateMobile::GetButtonLabel(
+ InfoBarButton button) const {
+ return l10n_util::GetStringUTF16(button == BUTTON_OK
+ ? IDS_AUTOFILL_SAVE_CARD_PROMPT_ACCEPT
+ : IDS_AUTOFILL_SAVE_CARD_PROMPT_DENY);
+}
+
+bool AutofillSaveCardInfoBarDelegateMobile::Accept() {
+ save_card_callback_.Run();
+ save_card_callback_.Reset();
+ LogUserAction(AutofillMetrics::INFOBAR_ACCEPTED);
+ return true;
+}
+
+bool AutofillSaveCardInfoBarDelegateMobile::Cancel() {
+ LogUserAction(AutofillMetrics::INFOBAR_DENIED);
+ return true;
+}
+
+GURL AutofillSaveCardInfoBarDelegateMobile::GetLinkURL() const {
+ return GURL(kHelpURL);
+}
+
} // namespace autofill

Powered by Google App Engine
This is Rietveld 408576698