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

Side by Side Diff: chrome/browser/password_manager/chrome_password_manager_client.cc

Issue 1467343002: Create an interface between ChromePasswordManagerClient and ManagePasswordsUIController (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: changed a comment Created 5 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
« no previous file with comments | « no previous file | chrome/browser/ui/passwords/manage_passwords_test.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/password_manager/chrome_password_manager_client.h" 5 #include "chrome/browser/password_manager/chrome_password_manager_client.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
11 #include "base/command_line.h" 11 #include "base/command_line.h"
12 #include "base/memory/singleton.h" 12 #include "base/memory/singleton.h"
13 #include "base/metrics/field_trial.h" 13 #include "base/metrics/field_trial.h"
14 #include "base/metrics/histogram.h" 14 #include "base/metrics/histogram.h"
15 #include "base/prefs/pref_service.h" 15 #include "base/prefs/pref_service.h"
16 #include "chrome/browser/browsing_data/browsing_data_helper.h" 16 #include "chrome/browser/browsing_data/browsing_data_helper.h"
17 #include "chrome/browser/password_manager/password_store_factory.h" 17 #include "chrome/browser/password_manager/password_store_factory.h"
18 #include "chrome/browser/profiles/profile.h" 18 #include "chrome/browser/profiles/profile.h"
19 #include "chrome/browser/signin/signin_manager_factory.h" 19 #include "chrome/browser/signin/signin_manager_factory.h"
20 #include "chrome/browser/sync/profile_sync_service_factory.h" 20 #include "chrome/browser/sync/profile_sync_service_factory.h"
21 #include "chrome/browser/ui/autofill/password_generation_popup_controller_impl.h " 21 #include "chrome/browser/ui/autofill/password_generation_popup_controller_impl.h "
22 #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" 22 #include "chrome/browser/ui/passwords/passwords_client_ui_delegate.h"
23 #include "chrome/common/channel_info.h" 23 #include "chrome/common/channel_info.h"
24 #include "chrome/common/chrome_switches.h" 24 #include "chrome/common/chrome_switches.h"
25 #include "chrome/common/url_constants.h" 25 #include "chrome/common/url_constants.h"
26 #include "components/autofill/content/browser/content_autofill_driver.h" 26 #include "components/autofill/content/browser/content_autofill_driver.h"
27 #include "components/autofill/content/browser/content_autofill_driver_factory.h" 27 #include "components/autofill/content/browser/content_autofill_driver_factory.h"
28 #include "components/autofill/content/common/autofill_messages.h" 28 #include "components/autofill/content/common/autofill_messages.h"
29 #include "components/autofill/core/browser/password_generator.h" 29 #include "components/autofill/core/browser/password_generator.h"
30 #include "components/autofill/core/common/password_form.h" 30 #include "components/autofill/core/common/password_form.h"
31 #include "components/browser_sync/browser/profile_sync_service.h" 31 #include "components/browser_sync/browser/profile_sync_service.h"
32 #include "components/password_manager/content/browser/content_password_manager_d river.h" 32 #include "components/password_manager/content/browser/content_password_manager_d river.h"
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 password_manager::CredentialSourceType type, 211 password_manager::CredentialSourceType type,
212 bool update_password) { 212 bool update_password) {
213 // Save password infobar and the password bubble prompts in case of 213 // Save password infobar and the password bubble prompts in case of
214 // "webby" URLs and do not prompt in case of "non-webby" URLS (e.g. file://). 214 // "webby" URLs and do not prompt in case of "non-webby" URLS (e.g. file://).
215 if (!BrowsingDataHelper::IsWebScheme( 215 if (!BrowsingDataHelper::IsWebScheme(
216 web_contents()->GetLastCommittedURL().scheme())) { 216 web_contents()->GetLastCommittedURL().scheme())) {
217 return false; 217 return false;
218 } 218 }
219 219
220 if (IsTheHotNewBubbleUIEnabled()) { 220 if (IsTheHotNewBubbleUIEnabled()) {
221 ManagePasswordsUIController* manage_passwords_ui_controller = 221 PasswordsClientUIDelegate* manage_passwords_ui_controller =
222 ManagePasswordsUIController::FromWebContents(web_contents()); 222 PasswordsClientUIDelegateFromWebContents(web_contents());
223 if (update_password && IsUpdatePasswordUIEnabled()) { 223 if (update_password && IsUpdatePasswordUIEnabled()) {
224 manage_passwords_ui_controller->OnUpdatePasswordSubmitted( 224 manage_passwords_ui_controller->OnUpdatePasswordSubmitted(
225 form_to_save.Pass()); 225 form_to_save.Pass());
226 } else { 226 } else {
227 manage_passwords_ui_controller->OnPasswordSubmitted(form_to_save.Pass()); 227 manage_passwords_ui_controller->OnPasswordSubmitted(form_to_save.Pass());
228 } 228 }
229 } else { 229 } else {
230 #if defined(OS_MACOSX) || defined(OS_ANDROID) 230 #if defined(OS_MACOSX) || defined(OS_ANDROID)
231 if (form_to_save->IsBlacklisted()) 231 if (form_to_save->IsBlacklisted())
232 return false; 232 return false;
233 std::string uma_histogram_suffix( 233 std::string uma_histogram_suffix(
234 password_manager::metrics_util::GroupIdToString( 234 password_manager::metrics_util::GroupIdToString(
235 password_manager::metrics_util::MonitoredDomainGroupId( 235 password_manager::metrics_util::MonitoredDomainGroupId(
236 form_to_save->pending_credentials().signon_realm, GetPrefs()))); 236 form_to_save->pending_credentials().signon_realm, GetPrefs())));
237 SavePasswordInfoBarDelegate::Create( 237 SavePasswordInfoBarDelegate::Create(
238 web_contents(), form_to_save.Pass(), uma_histogram_suffix, type); 238 web_contents(), form_to_save.Pass(), uma_histogram_suffix, type);
239 #else 239 #else
240 NOTREACHED() << "Aura platforms should always use the bubble"; 240 NOTREACHED() << "Aura platforms should always use the bubble";
241 #endif 241 #endif
242 } 242 }
243 return true; 243 return true;
244 } 244 }
245 245
246 bool ChromePasswordManagerClient::PromptUserToChooseCredentials( 246 bool ChromePasswordManagerClient::PromptUserToChooseCredentials(
247 ScopedVector<autofill::PasswordForm> local_forms, 247 ScopedVector<autofill::PasswordForm> local_forms,
248 ScopedVector<autofill::PasswordForm> federated_forms, 248 ScopedVector<autofill::PasswordForm> federated_forms,
249 const GURL& origin, 249 const GURL& origin,
250 base::Callback<void(const password_manager::CredentialInfo&)> callback) { 250 base::Callback<void(const password_manager::CredentialInfo&)> callback) {
251 return ManagePasswordsUIController::FromWebContents(web_contents())-> 251 return PasswordsClientUIDelegateFromWebContents(web_contents())
252 OnChooseCredentials(local_forms.Pass(), federated_forms.Pass(), origin, 252 ->OnChooseCredentials(local_forms.Pass(), federated_forms.Pass(), origin,
253 callback); 253 callback);
254 } 254 }
255 255
256 void ChromePasswordManagerClient::ForceSavePassword() { 256 void ChromePasswordManagerClient::ForceSavePassword() {
257 password_manager::ContentPasswordManagerDriver* driver = 257 password_manager::ContentPasswordManagerDriver* driver =
258 driver_factory_->GetDriverForFrame(web_contents()->GetFocusedFrame()); 258 driver_factory_->GetDriverForFrame(web_contents()->GetFocusedFrame());
259 driver->ForceSavePassword(); 259 driver->ForceSavePassword();
260 } 260 }
261 261
262 void ChromePasswordManagerClient::NotifyUserAutoSignin( 262 void ChromePasswordManagerClient::NotifyUserAutoSignin(
263 ScopedVector<autofill::PasswordForm> local_forms) { 263 ScopedVector<autofill::PasswordForm> local_forms) {
264 DCHECK(!local_forms.empty()); 264 DCHECK(!local_forms.empty());
265 #if defined(OS_ANDROID) 265 #if defined(OS_ANDROID)
266 ShowAutoSigninPrompt(web_contents(), local_forms[0]->username_value); 266 ShowAutoSigninPrompt(web_contents(), local_forms[0]->username_value);
267 #else 267 #else
268 ManagePasswordsUIController::FromWebContents(web_contents())-> 268 PasswordsClientUIDelegateFromWebContents(web_contents())
269 OnAutoSignin(local_forms.Pass()); 269 ->OnAutoSignin(local_forms.Pass());
270 270
271 #endif 271 #endif
272 } 272 }
273 273
274 void ChromePasswordManagerClient::AutomaticPasswordSave( 274 void ChromePasswordManagerClient::AutomaticPasswordSave(
275 scoped_ptr<password_manager::PasswordFormManager> saved_form) { 275 scoped_ptr<password_manager::PasswordFormManager> saved_form) {
276 #if defined(OS_ANDROID) 276 #if defined(OS_ANDROID)
277 GeneratedPasswordSavedInfoBarDelegateAndroid::Create(web_contents()); 277 GeneratedPasswordSavedInfoBarDelegateAndroid::Create(web_contents());
278 #else 278 #else
279 if (IsTheHotNewBubbleUIEnabled()) { 279 if (IsTheHotNewBubbleUIEnabled()) {
280 ManagePasswordsUIController* manage_passwords_ui_controller = 280 PasswordsClientUIDelegate* manage_passwords_ui_controller =
281 ManagePasswordsUIController::FromWebContents(web_contents()); 281 PasswordsClientUIDelegateFromWebContents(web_contents());
282 manage_passwords_ui_controller->OnAutomaticPasswordSave( 282 manage_passwords_ui_controller->OnAutomaticPasswordSave(
283 saved_form.Pass()); 283 saved_form.Pass());
284 } 284 }
285 #endif 285 #endif
286 } 286 }
287 287
288 void ChromePasswordManagerClient::PasswordWasAutofilled( 288 void ChromePasswordManagerClient::PasswordWasAutofilled(
289 const autofill::PasswordFormMap& best_matches, 289 const autofill::PasswordFormMap& best_matches,
290 const GURL& origin) const { 290 const GURL& origin) const {
291 ManagePasswordsUIController* manage_passwords_ui_controller = 291 PasswordsClientUIDelegate* manage_passwords_ui_controller =
292 ManagePasswordsUIController::FromWebContents(web_contents()); 292 PasswordsClientUIDelegateFromWebContents(web_contents());
293 if (manage_passwords_ui_controller && IsTheHotNewBubbleUIEnabled()) 293 if (manage_passwords_ui_controller && IsTheHotNewBubbleUIEnabled())
294 manage_passwords_ui_controller->OnPasswordAutofilled(best_matches, origin); 294 manage_passwords_ui_controller->OnPasswordAutofilled(best_matches, origin);
295 } 295 }
296 296
297 void ChromePasswordManagerClient::HidePasswordGenerationPopup() { 297 void ChromePasswordManagerClient::HidePasswordGenerationPopup() {
298 if (popup_controller_) 298 if (popup_controller_)
299 popup_controller_->HideAndDestroy(); 299 popup_controller_->HideAndDestroy();
300 } 300 }
301 301
302 PrefService* ChromePasswordManagerClient::GetPrefs() { 302 PrefService* ChromePasswordManagerClient::GetPrefs() {
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
523 523
524 const password_manager::CredentialsFilter* 524 const password_manager::CredentialsFilter*
525 ChromePasswordManagerClient::GetStoreResultFilter() const { 525 ChromePasswordManagerClient::GetStoreResultFilter() const {
526 return &credentials_filter_; 526 return &credentials_filter_;
527 } 527 }
528 528
529 const password_manager::LogManager* ChromePasswordManagerClient::GetLogManager() 529 const password_manager::LogManager* ChromePasswordManagerClient::GetLogManager()
530 const { 530 const {
531 return log_manager_.get(); 531 return log_manager_.get();
532 } 532 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/ui/passwords/manage_passwords_test.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698