| 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) {
|
|
|