Chromium Code Reviews| Index: sync/internal_api/public/sync_encryption_handler.h |
| diff --git a/sync/internal_api/public/sync_encryption_handler.h b/sync/internal_api/public/sync_encryption_handler.h |
| index 52e2ca3edcf4ed36055f2106a0a2175060f1ffaf..ef07b4d064fa7747445f528569b2c203b2e75480 100644 |
| --- a/sync/internal_api/public/sync_encryption_handler.h |
| +++ b/sync/internal_api/public/sync_encryption_handler.h |
| @@ -29,9 +29,20 @@ enum PassphraseRequiredReason { |
| // decryption. |
| }; |
| +// The different states for the encryption passphrase. These control if and how |
| +// the user should be prompted for a decryption passphrase. |
| +enum PassphraseState { |
| + IMPLICIT_PASSPHRASE = 0, // GAIA-based passphrase (deprecated). |
| + KEYSTORE_PASSPHRASE = 1, // Keystore passphrase. |
| + FROZEN_IMPLICIT_PASSPHRASE = 2, // Frozen GAIA passphrase. |
| + CUSTOM_PASSPHRASE = 3, // User-provided passphrase. |
| +}; |
| + |
| // Sync's encryption handler. Handles tracking encrypted types, ensuring the |
| // cryptographer encrypts with the proper key and has the most recent keybag, |
| // and keeps the nigori node up to date. |
| +// This class is not thread safe. All methods must be invoked on the sync |
|
akalin
2012/08/22 20:10:39
thread safe -> thread-safe
also, since this is an
Nicolas Zea
2012/08/22 20:18:33
Done.
|
| +// thread. |
| class SyncEncryptionHandler { |
| public: |
| // All Observer methods are done synchronously from within a transaction and |
| @@ -93,6 +104,9 @@ class SyncEncryptionHandler { |
| // Used primarily for debugging. |
| virtual void OnCryptographerStateChanged(Cryptographer* cryptographer) = 0; |
| + // The passprhase state has changed. |
| + virtual void OnPassphraseStateChanged(PassphraseState state) = 0; |
| + |
| protected: |
| virtual ~Observer(); |
| }; |
| @@ -101,7 +115,6 @@ class SyncEncryptionHandler { |
| virtual ~SyncEncryptionHandler(); |
| // Add/Remove SyncEncryptionHandler::Observer's. |
|
akalin
2012/08/22 20:10:39
no apostrophe
Nicolas Zea
2012/08/22 20:18:33
Done.
|
| - // Must be called from sync thread. |
| virtual void AddObserver(Observer* observer) = 0; |
| virtual void RemoveObserver(Observer* observer) = 0; |
| @@ -138,9 +151,9 @@ class SyncEncryptionHandler { |
| // types are encrypted. |
| virtual bool EncryptEverythingEnabled() const = 0; |
| - // Whether the account requires a user-provided passphrase to decrypt |
| - // encrypted data. |
| - virtual bool IsUsingExplicitPassphrase() const = 0; |
| + // Returns the current state of the passphrase needed to decrypt the |
| + // bag encryption keys in the nigori node. |
|
akalin
2012/08/22 20:10:39
bag -> bag of (?)
Nicolas Zea
2012/08/22 20:18:33
Done.
|
| + virtual PassphraseState GetPassphraseState() const = 0; |
| // The set of types that are always encrypted. |
| static ModelTypeSet SensitiveTypes(); |