| Index: chrome/browser/ui/autofill/chrome_autofill_client.cc
|
| diff --git a/chrome/browser/ui/autofill/chrome_autofill_client.cc b/chrome/browser/ui/autofill/chrome_autofill_client.cc
|
| index 882e989bda4eda6d4d8c74936b095ce22ea963e0..aea0036bec1faf224b0c445cc51803e489913710 100644
|
| --- a/chrome/browser/ui/autofill/chrome_autofill_client.cc
|
| +++ b/chrome/browser/ui/autofill/chrome_autofill_client.cc
|
| @@ -6,7 +6,6 @@
|
|
|
| #include "base/logging.h"
|
| #include "base/prefs/pref_service.h"
|
| -#include "chrome/browser/autofill/autofill_cc_infobar_delegate.h"
|
| #include "chrome/browser/autofill/personal_data_manager_factory.h"
|
| #include "chrome/browser/infobars/infobar_service.h"
|
| #include "chrome/browser/password_manager/chrome_password_manager_client.h"
|
| @@ -23,7 +22,9 @@
|
| #include "chrome/browser/webdata/web_data_service_factory.h"
|
| #include "chrome/common/url_constants.h"
|
| #include "components/autofill/content/browser/content_autofill_driver.h"
|
| +#include "components/autofill/content/browser/content_autofill_driver_factory.h"
|
| #include "components/autofill/content/common/autofill_messages.h"
|
| +#include "components/autofill/core/browser/autofill_cc_infobar_delegate.h"
|
| #include "components/autofill/core/common/autofill_pref_names.h"
|
| #include "components/password_manager/content/browser/content_password_manager_driver.h"
|
| #include "content/public/browser/render_view_host.h"
|
| @@ -137,10 +138,11 @@ void ChromeAutofillClient::OnVerificationFailure() {
|
| }
|
|
|
| void ChromeAutofillClient::ConfirmSaveCreditCard(
|
| + AutofillDriver* autofill_driver,
|
| const base::Closure& save_card_callback) {
|
| - InfoBarService* infobar_service =
|
| - InfoBarService::FromWebContents(web_contents());
|
| - AutofillCCInfoBarDelegate::Create(infobar_service, save_card_callback);
|
| + AutofillCCInfoBarDelegate::Create(
|
| + InfoBarService::FromWebContents(web_contents()), autofill_driver,
|
| + save_card_callback);
|
| }
|
|
|
| bool ChromeAutofillClient::HasCreditCardScanFeature() {
|
| @@ -225,6 +227,20 @@ void ChromeAutofillClient::WebContentsDestroyed() {
|
| HideAutofillPopup();
|
| }
|
|
|
| +void ChromeAutofillClient::RenderFrameDeleted(
|
| + content::RenderFrameHost* render_frame) {
|
| + ContentAutofillDriverFactory* autofill_driver_factory =
|
| + ContentAutofillDriverFactory::FromWebContents(web_contents());
|
| + autofill::AutofillDriver* driver =
|
| + autofill_driver_factory->DriverForFrame(render_frame);
|
| + if (driver != nullptr) {
|
| + autofill::AutofillCCInfoBarDelegate* cc_infobar_delegate =
|
| + AutofillCCInfoBarDelegate::FromAutofillDriver(driver);
|
| + if (cc_infobar_delegate != nullptr)
|
| + cc_infobar_delegate->CloseInfoBar();
|
| + }
|
| +}
|
| +
|
| void ChromeAutofillClient::OnZoomChanged(
|
| const ui_zoom::ZoomController::ZoomChangedEventData& data) {
|
| HideAutofillPopup();
|
|
|