| 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 bb255856cd163115108dca826f726b8b5ef0d03b..1d9b7da648c626a08cb415c5ac8e6148e0ebbd1a 100644
|
| --- a/chrome/browser/sync/profile_sync_service.cc
|
| +++ b/chrome/browser/sync/profile_sync_service.cc
|
| @@ -432,11 +432,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() {
|
| @@ -748,6 +744,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) {
|
| // TODO(johnnyg): File a bug to make sure this doesn't happen.
|
| if (!cros_user_.empty()) {
|
| @@ -1165,6 +1169,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) {
|
|
|