diff options
author | maniscalco <maniscalco@chromium.org> | 2015-07-01 09:37:09 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-07-01 16:38:45 +0000 |
commit | 0f6dcdf866bd0ebba9325bfc81d7d657bdd51360 (patch) | |
tree | 88d121a11c879236bfb5d389ab26b02011d8bde9 /sync/internal_api/sync_encryption_handler_impl.h | |
parent | 4139b055b4141885662f3d973258d8acc88cdeee (diff) | |
download | chromium_src-0f6dcdf866bd0ebba9325bfc81d7d657bdd51360.zip chromium_src-0f6dcdf866bd0ebba9325bfc81d7d657bdd51360.tar.gz chromium_src-0f6dcdf866bd0ebba9325bfc81d7d657bdd51360.tar.bz2 |
[Sync] Add PassphraseTransitionClearDataOption to SyncEncryptionHandler
Update SyncEncryptionHandlerImpl to receive a
PassphraseTransitionClearDataOption and conditionally update the Nigori
node to indicate that server data should be cleared as part of the
transition to passphrase encryption. The actual task of updating the
Nigori node is left as a TODO for now and will be implemented in a
future CL.
The value of PassphraseTransitionClearDataOption is controlled by the
kSyncEnableClearDataOnPassphraseEncryption switch, which defaults to
off. There is no behavior change in this CL.
BUG=490836,505917
Review URL: https://codereview.chromium.org/1214853009
Cr-Commit-Position: refs/heads/master@{#337038}
Diffstat (limited to 'sync/internal_api/sync_encryption_handler_impl.h')
-rw-r--r-- | sync/internal_api/sync_encryption_handler_impl.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sync/internal_api/sync_encryption_handler_impl.h b/sync/internal_api/sync_encryption_handler_impl.h index 4e466f1..bb2a0e5 100644 --- a/sync/internal_api/sync_encryption_handler_impl.h +++ b/sync/internal_api/sync_encryption_handler_impl.h @@ -46,11 +46,15 @@ class SYNC_EXPORT_PRIVATE SyncEncryptionHandlerImpl : public SyncEncryptionHandler, public syncable::NigoriHandler { public: + // |clear_data_option| controls whether this object should update the Nigori + // node to indiciate that we are to clear server data as part of the + // transition to passphrase encryption. SyncEncryptionHandlerImpl( UserShare* user_share, Encryptor* encryptor, const std::string& restored_key_for_bootstrapping, - const std::string& restored_keystore_key_for_bootstrapping); + const std::string& restored_keystore_key_for_bootstrapping, + PassphraseTransitionClearDataOption clear_data_option); ~SyncEncryptionHandlerImpl() override; // SyncEncryptionHandler implementation. @@ -272,6 +276,10 @@ class SYNC_EXPORT_PRIVATE SyncEncryptionHandlerImpl // Notify observers when a custom passphrase is set by this device. void NotifyObserversOfLocalCustomPassphrase(WriteTransaction* trans); + // Update the Nigori node to indicate that we're transitioning to passphrsae + // encryption. + void UpdateNigoriForTransitionToPassphraseEncryption(WriteTransaction* trans); + base::ThreadChecker thread_checker_; base::ObserverList<SyncEncryptionHandler::Observer> observers_; @@ -314,6 +322,8 @@ class SYNC_EXPORT_PRIVATE SyncEncryptionHandlerImpl // before support for this field was added. base::Time custom_passphrase_time_; + const PassphraseTransitionClearDataOption clear_data_option_; + base::WeakPtrFactory<SyncEncryptionHandlerImpl> weak_ptr_factory_; DISALLOW_COPY_AND_ASSIGN(SyncEncryptionHandlerImpl); |