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_ |