| 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 61%
|
| rename from chrome/browser/autofill/autofill_cc_infobar_delegate.h
|
| rename to components/autofill/core/browser/autofill_cc_infobar_delegate.h
|
| index 717cd900f5b8f054431e7d15c75e535b5d64b55b..75ae9b97b9452633713f890030dc14df68777f85 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,45 @@
|
| #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 AutofillDriver;
|
| +
|
| // An InfoBar delegate that enables the user to allow or deny storing credit
|
| -// card information gathered from a form submission.
|
| +// card information gathered from a form submission. Make sure the infobar is
|
| +// removed if its associated page content (i.e. RenderFrameHost) is destroyed.
|
| 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,
|
| + // Creates an autofill credit card infobar and delegate and add the infobar
|
| + // to |infobar_manager|.
|
| + static void Create(infobars::InfoBarManager* infobar_manager,
|
| + AutofillDriver* autofill_driver,
|
| const base::Closure& save_card_callback);
|
|
|
| #if defined(UNIT_TEST)
|
| static scoped_ptr<ConfirmInfoBarDelegate> Create(
|
| + AutofillDriver* autofill_driver,
|
| const base::Closure& save_card_callback) {
|
| return scoped_ptr<ConfirmInfoBarDelegate>(
|
| - new AutofillCCInfoBarDelegate(save_card_callback));
|
| + new AutofillCCInfoBarDelegate(autofill_driver, save_card_callback));
|
| }
|
| #endif
|
|
|
| + // Returns the AutofillCCInfoBarDelegate instance associated with
|
| + // |autofill_driver|, or NULL.
|
| + static AutofillCCInfoBarDelegate* FromAutofillDriver(
|
| + AutofillDriver* autofill_driver);
|
| +
|
| + // Closes the infobar.
|
| + void CloseInfoBar();
|
| +
|
| private:
|
| - explicit AutofillCCInfoBarDelegate(const base::Closure& save_card_callback);
|
| + AutofillCCInfoBarDelegate(AutofillDriver* autofill_driver,
|
| + const base::Closure& save_card_callback);
|
| ~AutofillCCInfoBarDelegate() override;
|
|
|
| void LogUserAction(AutofillMetrics::InfoBarMetric user_action);
|
| @@ -55,6 +69,10 @@ class AutofillCCInfoBarDelegate : public ConfirmInfoBarDelegate {
|
| base::string16 GetLinkText() const override;
|
| bool LinkClicked(WindowOpenDisposition disposition) override;
|
|
|
| + // Performs navigation to handle any link click. |autofill_driver_| outlives
|
| + // the lifetime of |this| object.
|
| + AutofillDriver* autofill_driver_;
|
| +
|
| // The callback to save credit card if the user accepts the infobar.
|
| base::Closure save_card_callback_;
|
|
|
| @@ -68,4 +86,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_
|
|
|