Chromium Code Reviews| Index: sync/test/fake_sync_encryption_handler.cc |
| diff --git a/sync/test/fake_sync_encryption_handler.cc b/sync/test/fake_sync_encryption_handler.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..12928b3fe62dab80973e5881de57103edf8e304b |
| --- /dev/null |
| +++ b/sync/test/fake_sync_encryption_handler.cc |
| @@ -0,0 +1,105 @@ |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "sync/test/fake_sync_encryption_handler.h" |
| + |
| +#include "sync/protocol/nigori_specifics.pb.h" |
| +#include "sync/syncable/nigori_util.h" |
| +#include "sync/util/cryptographer.h" |
| + |
| +namespace syncer { |
| + |
| +FakeSyncEncryptionHandler::FakeSyncEncryptionHandler() |
| + : encrypted_types_(SensitiveTypes()), |
| + encrypt_everything_(false), |
| + explicit_passphrase_(false), |
| + cryptographer_(NULL) { |
| +} |
| +FakeSyncEncryptionHandler::~FakeSyncEncryptionHandler() {} |
| + |
| + |
|
tim (not reviewing)
2012/08/14 02:32:20
nit - extra newline
Nicolas Zea
2012/08/14 23:24:51
Done.
|
| +void FakeSyncEncryptionHandler::ReloadNigori() { |
| + // Do nothing. |
| +} |
| + |
| +void FakeSyncEncryptionHandler::UpdateFromNigori( |
| + const sync_pb::NigoriSpecifics& nigori) { |
| + if (nigori.encrypt_everything()) |
| + EnableEncryptEverything(); |
| + if (nigori.using_explicit_passphrase()) |
| + explicit_passphrase_ = true; |
| + |
| + if (!cryptographer_) |
| + return; |
| + |
| + if (cryptographer_->CanDecrypt(nigori.encrypted())) |
| + cryptographer_->InstallKeys(nigori.encrypted()); |
| + else |
| + cryptographer_->SetPendingKeys(nigori.encrypted()); |
| + |
| + if (cryptographer_->has_pending_keys()) { |
| + DVLOG(1) << "OnPassPhraseRequired Sent"; |
| + sync_pb::EncryptedData pending_keys = cryptographer_->GetPendingKeys(); |
| + FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
| + OnPassphraseRequired(REASON_DECRYPTION, |
| + pending_keys)); |
| + } else if (!cryptographer_->is_ready()) { |
| + DVLOG(1) << "OnPassphraseRequired sent because cryptographer is not " |
| + << "ready"; |
| + FOR_EACH_OBSERVER(SyncEncryptionHandler::Observer, observers_, |
| + OnPassphraseRequired(REASON_ENCRYPTION, |
| + sync_pb::EncryptedData())); |
| + } |
| +} |
| + |
| +void FakeSyncEncryptionHandler::UpdateNigoriFromEncryptedTypes( |
| + sync_pb::NigoriSpecifics* nigori) const { |
| + syncable::UpdateNigoriFromEncryptedTypes(encrypted_types_, |
| + encrypt_everything_, |
| + nigori); |
| +} |
| + |
| +void FakeSyncEncryptionHandler::AddObserver(Observer* observer) { |
| + observers_.AddObserver(observer); |
| +} |
| + |
| +void FakeSyncEncryptionHandler::RemoveObserver(Observer* observer) { |
| + observers_.RemoveObserver(observer); |
| +} |
| + |
| +void FakeSyncEncryptionHandler::SetEncryptionPassphrase( |
| + const std::string& passphrase, |
| + bool is_explicit) { |
| + if (is_explicit) |
| + explicit_passphrase_ = true; |
| +} |
| + |
| +void FakeSyncEncryptionHandler::SetDecryptionPassphrase( |
| + const std::string& passphrase) { |
| + // Do nothing. |
| +} |
| + |
| +void FakeSyncEncryptionHandler::EnableEncryptEverything() { |
| + if (encrypt_everything_) |
| + return; |
| + encrypt_everything_ = true; |
| + encrypted_types_ = ModelTypeSet::All(); |
| + FOR_EACH_OBSERVER( |
| + Observer, observers_, |
| + OnEncryptedTypesChanged(encrypted_types_, encrypt_everything_)); |
| +} |
| + |
| +bool FakeSyncEncryptionHandler::EncryptEverythingEnabled() const { |
| + return encrypt_everything_; |
| +} |
| + |
| +ModelTypeSet FakeSyncEncryptionHandler::GetEncryptedTypes() const { |
| + return encrypted_types_; |
| +} |
| + |
| +bool FakeSyncEncryptionHandler::IsUsingExplicitPassphrase() const { |
| + return explicit_passphrase_; |
| +} |
| + |
| +} // namespace syncer |