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

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

Issue 1968443002: Kill the autofill password manager in case 'store()' was called. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@2704
Patch Set: Created 4 years, 7 months 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/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 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 std::unique_ptr<password_manager::PasswordFormManager> form_to_save, 216 std::unique_ptr<password_manager::PasswordFormManager> form_to_save,
217 password_manager::CredentialSourceType type, 217 password_manager::CredentialSourceType type,
218 bool update_password) { 218 bool update_password) {
219 // Save password infobar and the password bubble prompts in case of 219 // Save password infobar and the password bubble prompts in case of
220 // "webby" URLs and do not prompt in case of "non-webby" URLS (e.g. file://). 220 // "webby" URLs and do not prompt in case of "non-webby" URLS (e.g. file://).
221 if (!BrowsingDataHelper::IsWebScheme( 221 if (!BrowsingDataHelper::IsWebScheme(
222 web_contents()->GetLastCommittedURL().scheme())) { 222 web_contents()->GetLastCommittedURL().scheme())) {
223 return false; 223 return false;
224 } 224 }
225 225
226 // Prevent the autofill password manager from prompting the second time.
227 if (type == password_manager::CredentialSourceType::CREDENTIAL_SOURCE_API)
228 password_manager_.DropFormManagers();
229
230 if (IsTheHotNewBubbleUIEnabled()) { 226 if (IsTheHotNewBubbleUIEnabled()) {
231 #if !BUILDFLAG(ANDROID_JAVA_UI) 227 #if !BUILDFLAG(ANDROID_JAVA_UI)
232 PasswordsClientUIDelegate* manage_passwords_ui_controller = 228 PasswordsClientUIDelegate* manage_passwords_ui_controller =
233 PasswordsClientUIDelegateFromWebContents(web_contents()); 229 PasswordsClientUIDelegateFromWebContents(web_contents());
234 if (update_password && IsUpdatePasswordUIEnabled()) { 230 if (update_password && IsUpdatePasswordUIEnabled()) {
235 manage_passwords_ui_controller->OnUpdatePasswordSubmitted( 231 manage_passwords_ui_controller->OnUpdatePasswordSubmitted(
236 std::move(form_to_save)); 232 std::move(form_to_save));
237 } else { 233 } else {
238 manage_passwords_ui_controller->OnPasswordSubmitted( 234 manage_passwords_ui_controller->OnPasswordSubmitted(
239 std::move(form_to_save)); 235 std::move(form_to_save));
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
336 return; 332 return;
337 333
338 if (possible_auto_sign_in_->username_value == form.username_value && 334 if (possible_auto_sign_in_->username_value == form.username_value &&
339 possible_auto_sign_in_->password_value == form.password_value && 335 possible_auto_sign_in_->password_value == form.password_value &&
340 possible_auto_sign_in_->origin == form.origin) { 336 possible_auto_sign_in_->origin == form.origin) {
341 PromptUserToEnableAutosigninIfNecessary(); 337 PromptUserToEnableAutosigninIfNecessary();
342 } 338 }
343 possible_auto_sign_in_.reset(); 339 possible_auto_sign_in_.reset();
344 } 340 }
345 341
342 void ChromePasswordManagerClient::NotifyStorePasswordCalled() {
343 // If a site stores a credential the autofill password manager shouldn't kick
344 // in.
345 password_manager_.DropFormManagers();
346 }
347
346 void ChromePasswordManagerClient::AutomaticPasswordSave( 348 void ChromePasswordManagerClient::AutomaticPasswordSave(
347 std::unique_ptr<password_manager::PasswordFormManager> saved_form) { 349 std::unique_ptr<password_manager::PasswordFormManager> saved_form) {
348 #if BUILDFLAG(ANDROID_JAVA_UI) 350 #if BUILDFLAG(ANDROID_JAVA_UI)
349 GeneratedPasswordSavedInfoBarDelegateAndroid::Create(web_contents()); 351 GeneratedPasswordSavedInfoBarDelegateAndroid::Create(web_contents());
350 #else 352 #else
351 if (IsTheHotNewBubbleUIEnabled()) { 353 if (IsTheHotNewBubbleUIEnabled()) {
352 PasswordsClientUIDelegate* manage_passwords_ui_controller = 354 PasswordsClientUIDelegate* manage_passwords_ui_controller =
353 PasswordsClientUIDelegateFromWebContents(web_contents()); 355 PasswordsClientUIDelegateFromWebContents(web_contents());
354 manage_passwords_ui_controller->OnAutomaticPasswordSave( 356 manage_passwords_ui_controller->OnAutomaticPasswordSave(
355 std::move(saved_form)); 357 std::move(saved_form));
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after
608 610
609 const password_manager::CredentialsFilter* 611 const password_manager::CredentialsFilter*
610 ChromePasswordManagerClient::GetStoreResultFilter() const { 612 ChromePasswordManagerClient::GetStoreResultFilter() const {
611 return &credentials_filter_; 613 return &credentials_filter_;
612 } 614 }
613 615
614 const password_manager::LogManager* ChromePasswordManagerClient::GetLogManager() 616 const password_manager::LogManager* ChromePasswordManagerClient::GetLogManager()
615 const { 617 const {
616 return log_manager_.get(); 618 return log_manager_.get();
617 } 619 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698