Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(67)

Unified Diff: components/autofill/core/browser/autofill_cc_infobar_delegate.cc

Issue 710453002: [Autofill] Componentize AutofillCCInfoBarDelegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addresses Peter's input over use of WeakPtr<>. Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: components/autofill/core/browser/autofill_cc_infobar_delegate.cc
diff --git a/chrome/browser/autofill/autofill_cc_infobar_delegate.cc b/components/autofill/core/browser/autofill_cc_infobar_delegate.cc
similarity index 76%
rename from chrome/browser/autofill/autofill_cc_infobar_delegate.cc
rename to components/autofill/core/browser/autofill_cc_infobar_delegate.cc
index 430a79c4ac5b934e9ed38d9c7836eff3a78bcddb..2cd7f444c32e0386f7321dbdfac149ea75c19b28 100644
--- a/chrome/browser/autofill/autofill_cc_infobar_delegate.cc
+++ b/components/autofill/core/browser/autofill_cc_infobar_delegate.cc
@@ -2,37 +2,36 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "chrome/browser/autofill/autofill_cc_infobar_delegate.h"
+#include "components/autofill/core/browser/autofill_cc_infobar_delegate.h"
#include "base/logging.h"
-#include "chrome/browser/infobars/infobar_service.h"
-#include "chrome/grit/generated_resources.h"
-#include "chrome/grit/google_chrome_strings.h"
+#include "components/autofill/core/browser/autofill_driver.h"
#include "components/autofill/core/browser/credit_card.h"
#include "components/autofill/core/browser/personal_data_manager.h"
#include "components/autofill/core/common/autofill_constants.h"
#include "components/infobars/core/infobar.h"
-#include "content/public/browser/page_navigator.h"
-#include "content/public/browser/web_contents.h"
-#include "content/public/browser/web_contents_delegate.h"
+#include "components/infobars/core/infobar_manager.h"
+#include "grit/components_scaled_resources.h"
#include "grit/components_strings.h"
-#include "grit/theme_resources.h"
#include "ui/base/l10n/l10n_util.h"
namespace autofill {
// static
void AutofillCCInfoBarDelegate::Create(
- InfoBarService* infobar_service,
+ infobars::InfoBarManager* infobar_manager,
+ AutofillDriver* autofill_driver,
const base::Closure& save_card_callback) {
- infobar_service->AddInfoBar(
- infobar_service->CreateConfirmInfoBar(scoped_ptr<ConfirmInfoBarDelegate>(
- new AutofillCCInfoBarDelegate(save_card_callback))));
+ infobar_manager->AddInfoBar(
+ infobar_manager->CreateConfirmInfoBar(scoped_ptr<ConfirmInfoBarDelegate>(
+ new AutofillCCInfoBarDelegate(autofill_driver, save_card_callback))));
}
AutofillCCInfoBarDelegate::AutofillCCInfoBarDelegate(
+ AutofillDriver* autofill_driver,
const base::Closure& save_card_callback)
: ConfirmInfoBarDelegate(),
+ autofill_driver_(autofill_driver->AsWeakPtr()),
save_card_callback_(save_card_callback),
had_user_interaction_(false) {
AutofillMetrics::LogCreditCardInfoBarMetric(AutofillMetrics::INFOBAR_SHOWN);
@@ -99,11 +98,12 @@ base::string16 AutofillCCInfoBarDelegate::GetLinkText() const {
}
bool AutofillCCInfoBarDelegate::LinkClicked(WindowOpenDisposition disposition) {
- InfoBarService::WebContentsFromInfoBar(infobar())->OpenURL(
- content::OpenURLParams(
- GURL(autofill::kHelpURL), content::Referrer(),
- (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition,
- ui::PAGE_TRANSITION_LINK, false));
+ if (autofill_driver_) {
+ autofill_driver_->LinkClicked(
+ GURL(autofill::kHelpURL),
Peter Kasting 2014/12/29 22:24:30 If this is the only call to LinkClicked(), I would
Pritam Nikam 2014/12/30 13:22:13 This is modified to address Ilya's comment earlier
Ilya Sherman 2015/01/06 02:54:59 The goal is to share as much code as possible with
+ (disposition == CURRENT_TAB) ? NEW_FOREGROUND_TAB : disposition);
+ }
+
return false;
}

Powered by Google App Engine
This is Rietveld 408576698