| Index: components/autofill/core/browser/autofill_cc_infobar_delegate.h
|
| diff --git a/chrome/browser/autofill/autofill_cc_infobar_delegate.h b/components/autofill/core/browser/autofill_cc_infobar_delegate.h
|
| similarity index 70%
|
| rename from chrome/browser/autofill/autofill_cc_infobar_delegate.h
|
| rename to components/autofill/core/browser/autofill_cc_infobar_delegate.h
|
| index 717cd900f5b8f054431e7d15c75e535b5d64b55b..b492fb752b0fb3be88a12bc41c2f09c97be48002 100644
|
| --- a/chrome/browser/autofill/autofill_cc_infobar_delegate.h
|
| +++ b/components/autofill/core/browser/autofill_cc_infobar_delegate.h
|
| @@ -2,8 +2,8 @@
|
| // Use of this source code is governed by a BSD-style license that can be
|
| // found in the LICENSE file.
|
|
|
| -#ifndef CHROME_BROWSER_AUTOFILL_AUTOFILL_CC_INFOBAR_DELEGATE_H_
|
| -#define CHROME_BROWSER_AUTOFILL_AUTOFILL_CC_INFOBAR_DELEGATE_H_
|
| +#ifndef COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_CC_INFOBAR_DELEGATE_H_
|
| +#define COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_CC_INFOBAR_DELEGATE_H_
|
|
|
| #include "base/basictypes.h"
|
| #include "base/callback.h"
|
| @@ -14,31 +14,36 @@
|
| #include "components/infobars/core/confirm_infobar_delegate.h"
|
| #include "ui/base/window_open_disposition.h"
|
|
|
| -class CreditCard;
|
| -class PersonalDataManager;
|
| -class InfoBarService;
|
| +namespace infobars {
|
| +class InfoBarManager;
|
| +}
|
|
|
| namespace autofill {
|
|
|
| +class AutofillClient;
|
| +
|
| // An InfoBar delegate that enables the user to allow or deny storing credit
|
| // card information gathered from a form submission.
|
| class AutofillCCInfoBarDelegate : public ConfirmInfoBarDelegate {
|
| public:
|
| // Creates an autofill credit card infobar and delegate and adds the infobar
|
| - // to |infobar_service|.
|
| - static void Create(InfoBarService* infobar_service,
|
| + // to |infobar_manager|. The |autofill_client| must outlive the infobar.
|
| + static void Create(infobars::InfoBarManager* infobar_manager,
|
| + AutofillClient* autofill_client,
|
| const base::Closure& save_card_callback);
|
|
|
| #if defined(UNIT_TEST)
|
| static scoped_ptr<ConfirmInfoBarDelegate> Create(
|
| + AutofillClient* autofill_client,
|
| const base::Closure& save_card_callback) {
|
| return scoped_ptr<ConfirmInfoBarDelegate>(
|
| - new AutofillCCInfoBarDelegate(save_card_callback));
|
| + new AutofillCCInfoBarDelegate(autofill_client, save_card_callback));
|
| }
|
| #endif
|
|
|
| private:
|
| - explicit AutofillCCInfoBarDelegate(const base::Closure& save_card_callback);
|
| + AutofillCCInfoBarDelegate(AutofillClient* autofill_client,
|
| + const base::Closure& save_card_callback);
|
| ~AutofillCCInfoBarDelegate() override;
|
|
|
| void LogUserAction(AutofillMetrics::InfoBarMetric user_action);
|
| @@ -55,6 +60,9 @@ class AutofillCCInfoBarDelegate : public ConfirmInfoBarDelegate {
|
| base::string16 GetLinkText() const override;
|
| bool LinkClicked(WindowOpenDisposition disposition) override;
|
|
|
| + // Performs navigation to handle any link click. Guaranteed to outlive us.
|
| + AutofillClient* const autofill_client_;
|
| +
|
| // The callback to save credit card if the user accepts the infobar.
|
| base::Closure save_card_callback_;
|
|
|
| @@ -68,4 +76,4 @@ class AutofillCCInfoBarDelegate : public ConfirmInfoBarDelegate {
|
|
|
| } // namespace autofill
|
|
|
| -#endif // CHROME_BROWSER_AUTOFILL_AUTOFILL_CC_INFOBAR_DELEGATE_H_
|
| +#endif // COMPONENTS_AUTOFILL_CORE_BROWSER_AUTOFILL_CC_INFOBAR_DELEGATE_H_
|
|
|