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; |
} |