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

Side by Side Diff: chrome/browser/ui/autofill/chrome_autofill_client.cc

Issue 710453002: [Autofill] Componentize AutofillCCInfoBarDelegate. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebased. 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/ui/autofill/chrome_autofill_client.h" 5 #include "chrome/browser/ui/autofill/chrome_autofill_client.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/prefs/pref_service.h" 8 #include "base/prefs/pref_service.h"
9 #include "chrome/browser/autofill/autofill_cc_infobar_delegate.h"
10 #include "chrome/browser/autofill/personal_data_manager_factory.h" 9 #include "chrome/browser/autofill/personal_data_manager_factory.h"
11 #include "chrome/browser/infobars/infobar_service.h" 10 #include "chrome/browser/infobars/infobar_service.h"
12 #include "chrome/browser/password_manager/chrome_password_manager_client.h" 11 #include "chrome/browser/password_manager/chrome_password_manager_client.h"
13 #include "chrome/browser/profiles/profile.h" 12 #include "chrome/browser/profiles/profile.h"
14 #include "chrome/browser/ui/autofill/autofill_dialog_controller.h" 13 #include "chrome/browser/ui/autofill/autofill_dialog_controller.h"
15 #include "chrome/browser/ui/autofill/autofill_popup_controller_impl.h" 14 #include "chrome/browser/ui/autofill/autofill_popup_controller_impl.h"
16 #include "chrome/browser/ui/autofill/card_unmask_prompt_view.h" 15 #include "chrome/browser/ui/autofill/card_unmask_prompt_view.h"
17 #include "chrome/browser/ui/autofill/credit_card_scanner_controller.h" 16 #include "chrome/browser/ui/autofill/credit_card_scanner_controller.h"
18 #include "chrome/browser/ui/browser.h" 17 #include "chrome/browser/ui/browser.h"
19 #include "chrome/browser/ui/browser_finder.h" 18 #include "chrome/browser/ui/browser_finder.h"
20 #include "chrome/browser/ui/browser_window.h" 19 #include "chrome/browser/ui/browser_window.h"
21 #include "chrome/browser/ui/chrome_pages.h" 20 #include "chrome/browser/ui/chrome_pages.h"
22 #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" 21 #include "chrome/browser/ui/tabs/tab_strip_model_observer.h"
23 #include "chrome/browser/webdata/web_data_service_factory.h" 22 #include "chrome/browser/webdata/web_data_service_factory.h"
24 #include "chrome/common/url_constants.h" 23 #include "chrome/common/url_constants.h"
25 #include "components/autofill/content/browser/content_autofill_driver.h" 24 #include "components/autofill/content/browser/content_autofill_driver.h"
26 #include "components/autofill/content/common/autofill_messages.h" 25 #include "components/autofill/content/common/autofill_messages.h"
26 #include "components/autofill/core/browser/autofill_cc_infobar_delegate.h"
27 #include "components/autofill/core/common/autofill_pref_names.h" 27 #include "components/autofill/core/common/autofill_pref_names.h"
28 #include "components/infobars/core/infobar.h"
28 #include "components/password_manager/content/browser/content_password_manager_d river.h" 29 #include "components/password_manager/content/browser/content_password_manager_d river.h"
29 #include "content/public/browser/render_view_host.h" 30 #include "content/public/browser/render_view_host.h"
30 #include "ui/gfx/rect.h" 31 #include "ui/gfx/rect.h"
31 32
32 #if defined(OS_ANDROID) 33 #if defined(OS_ANDROID)
33 #include "chrome/browser/android/chromium_application.h" 34 #include "chrome/browser/android/chromium_application.h"
34 #include "chrome/browser/ui/android/autofill/autofill_logger_android.h" 35 #include "chrome/browser/ui/android/autofill/autofill_logger_android.h"
35 #else 36 #else
36 #include "components/ui/zoom/zoom_controller.h" 37 #include "components/ui/zoom/zoom_controller.h"
37 #endif 38 #endif
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 // the view object gets more complicated. 113 // the view object gets more complicated.
113 CardUnmaskPromptView::CreateAndShow( 114 CardUnmaskPromptView::CreateAndShow(
114 web_contents(), base::Bind(&ChromeAutofillClient::OnUnmaskResponse, 115 web_contents(), base::Bind(&ChromeAutofillClient::OnUnmaskResponse,
115 weak_pointer_factory_.GetWeakPtr())); 116 weak_pointer_factory_.GetWeakPtr()));
116 } 117 }
117 118
118 void ChromeAutofillClient::OnUnmaskResponse(const base::string16& response) { 119 void ChromeAutofillClient::OnUnmaskResponse(const base::string16& response) {
119 NOTIMPLEMENTED() << " I should probably do something with this: " << response; 120 NOTIMPLEMENTED() << " I should probably do something with this: " << response;
120 } 121 }
121 122
123 infobars::InfoBarManager* ChromeAutofillClient::GetInfoBarManager() {
124 return InfoBarService::FromWebContents(web_contents());
125 }
126
122 void ChromeAutofillClient::ConfirmSaveCreditCard( 127 void ChromeAutofillClient::ConfirmSaveCreditCard(
128 AutofillManager* autofill_manager,
123 const base::Closure& save_card_callback) { 129 const base::Closure& save_card_callback) {
124 InfoBarService* infobar_service = 130 AutofillCCInfoBarDelegate::Create(GetInfoBarManager(), autofill_manager,
125 InfoBarService::FromWebContents(web_contents()); 131 save_card_callback);
126 AutofillCCInfoBarDelegate::Create(infobar_service, save_card_callback);
127 } 132 }
Ilya Sherman 2014/12/12 22:24:21 Can you remove the AutofillClient::ConfirmSaveCred
Pritam Nikam 2014/12/15 11:16:14 Done.
128 133
129 bool ChromeAutofillClient::HasCreditCardScanFeature() { 134 bool ChromeAutofillClient::HasCreditCardScanFeature() {
130 return CreditCardScannerController::HasCreditCardScanFeature(); 135 return CreditCardScannerController::HasCreditCardScanFeature();
131 } 136 }
132 137
133 void ChromeAutofillClient::ScanCreditCard( 138 void ChromeAutofillClient::ScanCreditCard(
134 const CreditCardScanCallback& callback) { 139 const CreditCardScanCallback& callback) {
135 CreditCardScannerController::ScanCreditCard(web_contents(), callback); 140 CreditCardScannerController::ScanCreditCard(web_contents(), callback);
136 } 141 }
137 142
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 AutofillLoggerAndroid::DidFillOrPreviewField(autofilled_value, 238 AutofillLoggerAndroid::DidFillOrPreviewField(autofilled_value,
234 profile_full_name); 239 profile_full_name);
235 #endif // defined(OS_ANDROID) 240 #endif // defined(OS_ANDROID)
236 } 241 }
237 242
238 void ChromeAutofillClient::OnFirstUserGestureObserved() { 243 void ChromeAutofillClient::OnFirstUserGestureObserved() {
239 web_contents()->SendToAllFrames( 244 web_contents()->SendToAllFrames(
240 new AutofillMsg_FirstUserGestureObservedInTab(routing_id())); 245 new AutofillMsg_FirstUserGestureObservedInTab(routing_id()));
241 } 246 }
242 247
248 scoped_ptr<infobars::InfoBar> ChromeAutofillClient::CreateInfoBar(
249 scoped_ptr<ConfirmInfoBarDelegate> delegate) {
250 return ConfirmInfoBarDelegate::CreateInfoBar(delegate.Pass());
251 }
252
243 } // namespace autofill 253 } // namespace autofill
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698