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

Unified Diff: sync/internal_api/sync_encryption_handler_impl.cc

Issue 10832286: sync: Introduce control data types (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add ToFullModelTypeSet() function Created 8 years, 4 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 side-by-side diff with in-line comments
Download patch
Index: sync/internal_api/sync_encryption_handler_impl.cc
diff --git a/sync/internal_api/sync_encryption_handler_impl.cc b/sync/internal_api/sync_encryption_handler_impl.cc
index c632ba57a595351199c4a2954f5b7a8d969e6941..cce34b19265d914a91a38f044bdc87bad4862aea 100644
--- a/sync/internal_api/sync_encryption_handler_impl.cc
+++ b/sync/internal_api/sync_encryption_handler_impl.cc
@@ -369,14 +369,14 @@ void SyncEncryptionHandlerImpl::EnableEncryptEverything() {
ModelTypeSet* encrypted_types =
&UnlockVaultMutable(trans.GetWrappedTrans())->encrypted_types;
if (encrypt_everything_) {
- DCHECK(encrypted_types->Equals(ModelTypeSet::All()));
+ DCHECK(encrypted_types->Equals(UserTypes()));
return;
}
DVLOG(1) << "Enabling encrypt everything.";
encrypt_everything_ = true;
// Change |encrypted_types_| directly to avoid sending more than one
// notification.
- *encrypted_types = ModelTypeSet::All();
+ *encrypted_types = UserTypes();
FOR_EACH_OBSERVER(
Observer, observers_,
OnEncryptedTypesChanged(*encrypted_types, encrypt_everything_));
@@ -450,7 +450,7 @@ void SyncEncryptionHandlerImpl::ReEncryptEverything(
for (ModelTypeSet::Iterator iter =
UnlockVault(trans->GetWrappedTrans()).encrypted_types.First();
iter.Good(); iter.Inc()) {
- if (iter.Get() == PASSWORDS || iter.Get() == NIGORI)
+ if (iter.Get() == PASSWORDS || IsControlType(iter.Get()))
continue; // These types handle encryption differently.
ReadNode type_root(trans);
@@ -635,13 +635,13 @@ bool SyncEncryptionHandlerImpl::UpdateEncryptedTypesFromNigori(
if (nigori.encrypt_everything()) {
if (!encrypt_everything_) {
encrypt_everything_ = true;
- *encrypted_types = ModelTypeSet::All();
+ *encrypted_types = UserTypes();
DVLOG(1) << "Enabling encrypt everything via nigori node update";
FOR_EACH_OBSERVER(
Observer, observers_,
OnEncryptedTypesChanged(*encrypted_types, encrypt_everything_));
}
- DCHECK(encrypted_types->Equals(ModelTypeSet::All()));
+ DCHECK(encrypted_types->Equals(UserTypes()));
return true;
}
@@ -656,12 +656,12 @@ bool SyncEncryptionHandlerImpl::UpdateEncryptedTypesFromNigori(
!Difference(nigori_encrypted_types, SensitiveTypes()).Empty()) {
if (!encrypt_everything_) {
encrypt_everything_ = true;
- *encrypted_types = ModelTypeSet::All();
+ *encrypted_types = UserTypes();
FOR_EACH_OBSERVER(
Observer, observers_,
OnEncryptedTypesChanged(*encrypted_types, encrypt_everything_));
}
- DCHECK(encrypted_types->Equals(ModelTypeSet::All()));
+ DCHECK(encrypted_types->Equals(UserTypes()));
return false;
}
@@ -737,6 +737,10 @@ void SyncEncryptionHandlerImpl::MergeEncryptedTypes(
ModelTypeSet new_encrypted_types,
syncable::BaseTransaction* const trans) {
DCHECK(thread_checker_.CalledOnValidThread());
+
+ // Only UserTypes may be encrypted.
+ DCHECK(UserTypes().HasAll(new_encrypted_types));
+
ModelTypeSet* encrypted_types = &UnlockVaultMutable(trans)->encrypted_types;
if (!encrypted_types->HasAll(new_encrypted_types)) {
*encrypted_types = new_encrypted_types;

Powered by Google App Engine
This is Rietveld 408576698