Commit 4a6f0da1 authored by Mohamed Amir Yosef's avatar Mohamed Amir Yosef Committed by Commit Bot

[Passwords] Extend password_manager::SyncState to support butter users

Change-Id: Ibae7013f4690d43d5fe576f82096ab1e6b1ee5fc
Bug: 991510
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1774285
Commit-Queue: Mohamed Amir Yosef <mamir@chromium.org>
Reviewed-by: default avatarVadym Doroshenko <dvadym@chromium.org>
Reviewed-by: default avatarMarc Treib <treib@chromium.org>
Cr-Commit-Position: refs/heads/master@{#695075}
parent 10ac55b7
...@@ -19,6 +19,7 @@ bool PasswordFeatureManagerImpl::IsGenerationEnabled() const { ...@@ -19,6 +19,7 @@ bool PasswordFeatureManagerImpl::IsGenerationEnabled() const {
return false; return false;
case SYNCING_WITH_CUSTOM_PASSPHRASE: case SYNCING_WITH_CUSTOM_PASSPHRASE:
case SYNCING_NORMAL_ENCRYPTION: case SYNCING_NORMAL_ENCRYPTION:
case ACCOUNT_PASSWORDS_ACTIVE_NORMAL_ENCRYPTION:
return true; return true;
} }
} }
...@@ -32,6 +33,7 @@ bool PasswordFeatureManagerImpl::ShouldCheckReuseOnLeakDetection() const { ...@@ -32,6 +33,7 @@ bool PasswordFeatureManagerImpl::ShouldCheckReuseOnLeakDetection() const {
case SYNCING_WITH_CUSTOM_PASSPHRASE: case SYNCING_WITH_CUSTOM_PASSPHRASE:
return false; return false;
case SYNCING_NORMAL_ENCRYPTION: case SYNCING_NORMAL_ENCRYPTION:
case ACCOUNT_PASSWORDS_ACTIVE_NORMAL_ENCRYPTION:
return true; return true;
} }
} }
......
...@@ -67,7 +67,8 @@ class PasswordStore; ...@@ -67,7 +67,8 @@ class PasswordStore;
enum SyncState { enum SyncState {
NOT_SYNCING, NOT_SYNCING,
SYNCING_NORMAL_ENCRYPTION, SYNCING_NORMAL_ENCRYPTION,
SYNCING_WITH_CUSTOM_PASSPHRASE SYNCING_WITH_CUSTOM_PASSPHRASE,
ACCOUNT_PASSWORDS_ACTIVE_NORMAL_ENCRYPTION
}; };
// An abstraction of operations that depend on the embedders (e.g. Chrome) // An abstraction of operations that depend on the embedders (e.g. Chrome)
......
...@@ -62,14 +62,23 @@ void UpdateMetadataForUsage(PasswordForm* credential) { ...@@ -62,14 +62,23 @@ void UpdateMetadataForUsage(PasswordForm* credential) {
password_manager::SyncState GetPasswordSyncState( password_manager::SyncState GetPasswordSyncState(
const syncer::SyncService* sync_service) { const syncer::SyncService* sync_service) {
if (sync_service && sync_service->GetUserSettings()->IsFirstSetupComplete() && if (!sync_service ||
sync_service->IsSyncFeatureActive() && !sync_service->GetActiveDataTypes().Has(syncer::PASSWORDS)) {
sync_service->GetActiveDataTypes().Has(syncer::PASSWORDS)) { return password_manager::NOT_SYNCING;
}
if (sync_service->IsSyncFeatureActive()) {
return sync_service->GetUserSettings()->IsUsingSecondaryPassphrase() return sync_service->GetUserSettings()->IsUsingSecondaryPassphrase()
? password_manager::SYNCING_WITH_CUSTOM_PASSPHRASE ? password_manager::SYNCING_WITH_CUSTOM_PASSPHRASE
: password_manager::SYNCING_NORMAL_ENCRYPTION; : password_manager::SYNCING_NORMAL_ENCRYPTION;
} }
return password_manager::NOT_SYNCING;
DCHECK(base::FeatureList::IsEnabled(
password_manager::features::kEnablePasswordsAccountStorage));
// Account passwords are enabled only for users with normal encryption at
// the moment. Data types won't become active for non-sync users with custom
// passphrase.
return password_manager::ACCOUNT_PASSWORDS_ACTIVE_NORMAL_ENCRYPTION;
} }
bool IsSyncingWithNormalEncryption(const syncer::SyncService* sync_service) { bool IsSyncingWithNormalEncryption(const syncer::SyncService* sync_service) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment