| Index: components/autofill/core/browser/autofill_cc_infobar_delegate.h
|
| diff --git a/components/autofill/core/browser/autofill_cc_infobar_delegate.h b/components/autofill/core/browser/autofill_cc_infobar_delegate.h
|
| index 8e50a052ffe3170744bc93b2323f58013b58a1a7..2b33c0916166a815f839a9dafe3f1dbabd871ac8 100644
|
| --- a/components/autofill/core/browser/autofill_cc_infobar_delegate.h
|
| +++ b/components/autofill/core/browser/autofill_cc_infobar_delegate.h
|
| @@ -11,15 +11,22 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/strings/string16.h"
|
| #include "components/autofill/core/browser/autofill_metrics.h"
|
| +#include "components/autofill/core/browser/legal_message_line.h"
|
| #include "components/infobars/core/confirm_infobar_delegate.h"
|
| #include "ui/base/window_open_disposition.h"
|
|
|
| +namespace base {
|
| +class DictionaryValue;
|
| +}
|
| +
|
| namespace infobars {
|
| class InfoBarManager;
|
| }
|
|
|
| namespace autofill {
|
|
|
| +class CreditCard;
|
| +
|
| // An InfoBar delegate that enables the user to allow or deny storing credit
|
| // card information gathered from a form submission.
|
| class AutofillCCInfoBarDelegate : public ConfirmInfoBarDelegate {
|
| @@ -27,22 +34,37 @@ class AutofillCCInfoBarDelegate : public ConfirmInfoBarDelegate {
|
| // Creates an autofill credit card infobar and delegate and adds the infobar
|
| // to |infobar_manager|.
|
| static void CreateForLocalSave(infobars::InfoBarManager* infobar_manager,
|
| + const CreditCard& card,
|
| const base::Closure& save_card_callback);
|
| static void CreateForUpload(infobars::InfoBarManager* infobar_manager,
|
| + const CreditCard& card,
|
| + scoped_ptr<base::DictionaryValue> legal_message,
|
| const base::Closure& save_card_callback);
|
|
|
| #if defined(UNIT_TEST)
|
| static scoped_ptr<ConfirmInfoBarDelegate> Create(
|
| const base::Closure& save_card_callback) {
|
| - return scoped_ptr<ConfirmInfoBarDelegate>(
|
| - new AutofillCCInfoBarDelegate(false, save_card_callback));
|
| + return scoped_ptr<ConfirmInfoBarDelegate>(new AutofillCCInfoBarDelegate(
|
| + false, CreditCard(), scoped_ptr<base::DictionaryValue>(nullptr),
|
| + save_card_callback));
|
| }
|
| #endif
|
|
|
| + ~AutofillCCInfoBarDelegate() override;
|
| +
|
| + int issuer_icon_id() const { return issuer_icon_id_; }
|
| + const base::string16& card_label() const { return card_label_; }
|
| + const base::string16& card_sub_label() const { return card_sub_label_; }
|
| + const LegalMessageLines& legal_messages() const { return legal_messages_; }
|
| +
|
| + // Called when a link in the legal message text was clicked.
|
| + void OnLegalMessageLinkClicked(GURL url);
|
| +
|
| private:
|
| AutofillCCInfoBarDelegate(bool upload,
|
| + const CreditCard& card,
|
| + scoped_ptr<base::DictionaryValue> legal_message,
|
| const base::Closure& save_card_callback);
|
| - ~AutofillCCInfoBarDelegate() override;
|
|
|
| void LogUserAction(AutofillMetrics::InfoBarMetric user_action);
|
|
|
| @@ -60,8 +82,21 @@ class AutofillCCInfoBarDelegate : public ConfirmInfoBarDelegate {
|
| base::string16 GetLinkText() const override;
|
| GURL GetLinkURL() const override;
|
|
|
| + // Whether the infobar is for uploading the credit card.
|
| bool upload_;
|
|
|
| + // The resource ID for the icon that identifies the issuer of the card.
|
| + int issuer_icon_id_;
|
| +
|
| + // The label for the card to show in the content of the infobar.
|
| + base::string16 card_label_;
|
| +
|
| + // The sub-label for the card to show in the content onf the infobar.
|
| + base::string16 card_sub_label_;
|
| +
|
| + // The legal messages to show in the content of the infobar.
|
| + LegalMessageLines legal_messages_;
|
| +
|
| // The callback to save credit card if the user accepts the infobar.
|
| base::Closure save_card_callback_;
|
|
|
|
|