| Index: chrome/browser/sync/util/cryptographer.h
|
| diff --git a/chrome/browser/sync/util/cryptographer.h b/chrome/browser/sync/util/cryptographer.h
|
| index 992c443900b17b1236bf4813cadac76cd9511fa3..1ae62ef63dd1aead5427ff21c45358ca9e2577bb 100644
|
| --- a/chrome/browser/sync/util/cryptographer.h
|
| +++ b/chrome/browser/sync/util/cryptographer.h
|
| @@ -103,9 +103,12 @@ class Cryptographer {
|
| // key.
|
| bool CanDecryptUsingDefaultKey(const sync_pb::EncryptedData& encrypted) const;
|
|
|
| - // Encrypts |message| into |encrypted|. Returns true unless encryption fails.
|
| - // Note that encryption will fail if |message| isn't valid (eg. a required
|
| - // field isn't set).
|
| + // Encrypts |message| into |encrypted|. Does not overwrite |encrypted| if
|
| + // |message| already matches the decrypted data within |encrypted| and
|
| + // |encrypted| was encrypted with the current default key. This avoids
|
| + // unnecessarily modifying |encrypted| if the change had no practical effect.
|
| + // Returns true unless encryption fails or |message| isn't valid (e.g. a
|
| + // required field isn't set).
|
| bool Encrypt(const ::google::protobuf::MessageLite& message,
|
| sync_pb::EncryptedData* encrypted) const;
|
|
|
| @@ -190,6 +193,10 @@ class Cryptographer {
|
| FRIEND_TEST_ALL_PREFIXES(CryptographerTest, PackUnpack);
|
| typedef std::map<std::string, linked_ptr<const Nigori> > NigoriMap;
|
|
|
| + bool EncryptImpl(const std::string& serialized,
|
| + const NigoriMap::value_type* nigori,
|
| + sync_pb::EncryptedData* encrypted) const;
|
| +
|
| // Merges the given set of encrypted types with the existing set and emits a
|
| // notification if necessary.
|
| void MergeEncryptedTypes(const syncable::ModelTypeSet& encrypted_types);
|
|
|