Chromium Code Reviews| 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 69% |
| rename from chrome/browser/autofill/autofill_cc_infobar_delegate.h |
| rename to components/autofill/core/browser/autofill_cc_infobar_delegate.h |
| index 717cd900f5b8f054431e7d15c75e535b5d64b55b..566b0fe0bd6a8f04b74b0a734cd4defab6cb8a8f 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 AutofillDriver; |
| + |
| // 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 |autofill_driver|. |
|
Peter Kasting
2014/12/23 21:20:34
This comment isn't right; you don't add infobars t
Pritam Nikam
2014/12/24 11:16:57
Done.
Rephrased comments to: Creates an autofill
|
| + 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 |
| 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 +60,11 @@ class AutofillCCInfoBarDelegate : public ConfirmInfoBarDelegate { |
| base::string16 GetLinkText() const override; |
| bool LinkClicked(WindowOpenDisposition disposition) override; |
| + // Performs navigations to handle any link clicks. |
| + // It is associated with a render frame within the WebContents and lives as |
| + // long as its tab persists. |
| + base::WeakPtr<AutofillDriver> autofill_driver_; |
|
Peter Kasting
2014/12/23 21:20:34
If this lasts for the life of the tab, do we reall
Pritam Nikam
2014/12/24 11:16:57
AutofillDriver are per render-frame within web con
Peter Kasting
2014/12/24 23:23:25
I didn't fully understand that explanation, but it
|
| + |
| // The callback to save credit card if the user accepts the infobar. |
| base::Closure save_card_callback_; |
| @@ -68,4 +78,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_ |