| Index: chrome/browser/password_manager/chrome_password_manager_client.cc
|
| diff --git a/chrome/browser/password_manager/chrome_password_manager_client.cc b/chrome/browser/password_manager/chrome_password_manager_client.cc
|
| index f60165313ce646f285a53d350bd21bd34cf4fe3e..42ddc2448e32311b4f5a8b0e616a240fef48224c 100644
|
| --- a/chrome/browser/password_manager/chrome_password_manager_client.cc
|
| +++ b/chrome/browser/password_manager/chrome_password_manager_client.cc
|
| @@ -134,6 +134,10 @@ bool ChromePasswordManagerClient::ShouldFilterAutofillResult(
|
| return false;
|
| }
|
|
|
| +std::string ChromePasswordManagerClient::GetSyncUsername() const {
|
| + return password_manager_sync_metrics::GetSyncUsername(profile_);
|
| +}
|
| +
|
| bool ChromePasswordManagerClient::IsSyncAccountCredential(
|
| const std::string& username, const std::string& origin) const {
|
| return password_manager_sync_metrics::IsSyncAccountCredential(
|
| @@ -237,16 +241,18 @@ ChromePasswordManagerClient::GetProbabilityForExperiment(
|
| return enabled_probability;
|
| }
|
|
|
| -bool ChromePasswordManagerClient::IsPasswordSyncEnabled() {
|
| +bool ChromePasswordManagerClient::IsPasswordSyncEnabled(
|
| + password_manager::CustomPassphraseState state) {
|
| ProfileSyncService* sync_service =
|
| ProfileSyncServiceFactory::GetForProfile(profile_);
|
| - // Don't consider sync enabled if the user has a custom passphrase. See
|
| - // crbug.com/358998 for more details.
|
| - if (sync_service &&
|
| - sync_service->HasSyncSetupCompleted() &&
|
| + if (sync_service && sync_service->HasSyncSetupCompleted() &&
|
| sync_service->SyncActive() &&
|
| - !sync_service->IsUsingSecondaryPassphrase()) {
|
| - return sync_service->GetActiveDataTypes().Has(syncer::PASSWORDS);
|
| + sync_service->GetActiveDataTypes().Has(syncer::PASSWORDS)) {
|
| + if (sync_service->IsUsingSecondaryPassphrase()) {
|
| + return state == password_manager::ONLY_CUSTOM_PASSPHRASE;
|
| + } else {
|
| + return state == password_manager::WITHOUT_CUSTOM_PASSPHRASE;
|
| + }
|
| }
|
| return false;
|
| }
|
|
|