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

Unified Diff: chrome/browser/sync/profile_sync_service.cc

Issue 6465005: [Sync] Initial support for encrypting any datatype (no UI hookup yet). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase + small fix Created 9 years, 10 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
« no previous file with comments | « chrome/browser/sync/profile_sync_service.h ('k') | chrome/browser/sync/profile_sync_service_harness.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 2e44ff224d040e9bb1ea392ef5ec2320eeaf56fd..b04142d62ac3eb3044fa4e80a98f3073cdea03cd 100644
--- a/chrome/browser/sync/profile_sync_service.cc
+++ b/chrome/browser/sync/profile_sync_service.cc
@@ -433,11 +433,7 @@ void ProfileSyncService::CreateBackend() {
}
bool ProfileSyncService::IsEncryptedDatatypeEnabled() const {
- // Currently on passwords are an encrypted datatype, so
- // we check to see if it is enabled.
- syncable::ModelTypeSet types;
- GetPreferredDataTypes(&types);
- return types.count(syncable::PASSWORDS) != 0;
+ return encrypted_types_.size() > 0;
}
void ProfileSyncService::StartUp() {
@@ -751,6 +747,14 @@ void ProfileSyncService::OnPassphraseAccepted() {
wizard_.Step(SyncSetupWizard::DONE);
}
+void ProfileSyncService::OnEncryptionComplete(
+ const syncable::ModelTypeSet& encrypted_types) {
+ if (encrypted_types_ != encrypted_types) {
+ encrypted_types_ = encrypted_types;
+ NotifyObservers();
+ }
+}
+
void ProfileSyncService::ShowLoginDialog(gfx::NativeWindow parent_window) {
if (!cros_user_.empty()) {
// For ChromeOS, any login UI needs to be handled by the settings page.
@@ -1170,6 +1174,16 @@ void ProfileSyncService::SetPassphrase(const std::string& passphrase,
tried_setting_explicit_passphrase_ = true;
}
+void ProfileSyncService::EncryptDataTypes(
+ const syncable::ModelTypeSet& encrypted_types) {
+ backend_->EncryptDataTypes(encrypted_types);
+}
+
+void ProfileSyncService::GetEncryptedDataTypes(
+ syncable::ModelTypeSet* encrypted_types) const {
+ *encrypted_types = encrypted_types_;
+}
+
void ProfileSyncService::Observe(NotificationType type,
const NotificationSource& source,
const NotificationDetails& details) {
« no previous file with comments | « chrome/browser/sync/profile_sync_service.h ('k') | chrome/browser/sync/profile_sync_service_harness.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698