Index: chrome/browser/sync/profile_sync_service.cc |
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc |
index b3d6c949226f287a9032e9be27f8924b492f4862..289917726b4bd77763f2a9af6084a8f1cb29b53c 100644 |
--- a/chrome/browser/sync/profile_sync_service.cc |
+++ b/chrome/browser/sync/profile_sync_service.cc |
@@ -1117,6 +1117,15 @@ void ProfileSyncService::OnEncryptedTypesChanged( |
<< " (encrypt everything is set to " |
<< (encrypt_everything_ ? "true" : "false") << ")"; |
DCHECK(encrypted_types_.Has(syncer::PASSWORDS)); |
+ |
+ // If sessions are encrypted, full history sync is not possible, and |
+ // delete directives are unnecessary. |
+ if (GetPreferredDataTypes().Has(syncer::HISTORY_DELETE_DIRECTIVES) && |
+ encrypted_types_.Has(syncer::SESSIONS)) { |
+ DisableBrokenDatatype(syncer::HISTORY_DELETE_DIRECTIVES, |
+ FROM_HERE, |
+ "Delete directives not supported with encryption."); |
+ } |
} |
void ProfileSyncService::OnEncryptionComplete() { |