| Index: components/password_manager/core/browser/password_manager.cc
|
| diff --git a/components/password_manager/core/browser/password_manager.cc b/components/password_manager/core/browser/password_manager.cc
|
| index 85ad67d89ea3e2996a6149177a8c7d4b07707b57..696918e7ba8e93fc0e969b6bccdcdd4003d9bb5a 100644
|
| --- a/components/password_manager/core/browser/password_manager.cc
|
| +++ b/components/password_manager/core/browser/password_manager.cc
|
| @@ -207,6 +207,14 @@ void PasswordManager::ProvisionallySavePassword(const PasswordForm& form) {
|
| return;
|
| }
|
|
|
| + // Don't save credentials for the syncing account. See crbug.com/365832 for
|
| + // background.
|
| + if (client_->IsPasswordSyncAccountCredential(
|
| + base::UTF16ToUTF8(form.username_value), form.signon_realm)) {
|
| + RecordFailure(SYNC_CREDENTIAL, form.origin.host(), logger.get());
|
| + return;
|
| + }
|
| +
|
| // Always save generated passwords, as the user expresses explicit intent for
|
| // Chrome to manage such passwords. For other passwords, respect the
|
| // autocomplete attribute if autocomplete='off' is not ignored.
|
| @@ -276,6 +284,9 @@ void PasswordManager::RecordFailure(ProvisionalSaveFailure failure,
|
| case AUTOCOMPLETE_OFF:
|
| logger->LogMessage(Logger::STRING_AUTOCOMPLETE_OFF);
|
| break;
|
| + case SYNC_CREDENTIAL:
|
| + logger->LogMessage(Logger::STRING_SYNC_CREDENTIAL);
|
| + break;
|
| case MAX_FAILURE_VALUE:
|
| NOTREACHED();
|
| return;
|
|
|