Index: chrome/browser/sync/glue/sync_backend_host.h |
diff --git a/chrome/browser/sync/glue/sync_backend_host.h b/chrome/browser/sync/glue/sync_backend_host.h |
index 4b3d1640f8c54fb466b5528fc1b1903242970984..317cbccd4599edce4a5e1a34b55b140649bd930a 100644 |
--- a/chrome/browser/sync/glue/sync_backend_host.h |
+++ b/chrome/browser/sync/glue/sync_backend_host.h |
@@ -88,6 +88,9 @@ class SyncFrontend { |
// encrypted using the accepted passphrase. |
virtual void OnPassphraseAccepted() = 0; |
+ virtual void OnEncryptionComplete( |
+ const syncable::ModelTypeSet& encrypted_types) = 0; |
+ |
protected: |
// Don't delete through SyncFrontend interface. |
virtual ~SyncFrontend() { |
@@ -160,6 +163,13 @@ class SyncBackendHost : public browser_sync::ModelSafeWorkerRegistrar { |
const syncable::ModelTypeSet& types, |
CancelableTask* ready_task); |
+ // Encrypts the specified datatypes and marks them as needing encryption on |
+ // other machines. This affects all machines synced to this account and all |
+ // data belonging to the specified types. |
+ // Note: actual work is done on core_thread_'s message loop. |
+ virtual void EncryptDataTypes( |
+ const syncable::ModelTypeSet& encrypted_types); |
+ |
syncable::AutofillMigrationState |
GetAutofillMigrationState(); |
@@ -276,6 +286,8 @@ class SyncBackendHost : public browser_sync::ModelSafeWorkerRegistrar { |
virtual void OnUpdatedToken(const std::string& token); |
virtual void OnClearServerDataFailed(); |
virtual void OnClearServerDataSucceeded(); |
+ virtual void OnEncryptionComplete( |
+ const syncable::ModelTypeSet& encrypted_types); |
// JsBackend implementation. |
virtual void SetParentJsEventRouter(JsEventRouter* router); |
@@ -343,6 +355,10 @@ class SyncBackendHost : public browser_sync::ModelSafeWorkerRegistrar { |
// on behalf of SyncBackendHost::SupplyPassphrase. |
void DoSetPassphrase(const std::string& passphrase, bool is_explicit); |
+ // Called on SyncBackendHost's |core_thread_| to set the datatypes we need |
+ // to encrypt as well as encrypt all local data of that type. |
+ void DoEncryptDataTypes(const syncable::ModelTypeSet& encrypted_types); |
+ |
// The shutdown order is a bit complicated: |
// 1) From |core_thread_|, invoke the syncapi Shutdown call to do a final |
// SaveChanges, close sqlite handles, and halt the syncer thread (which |
@@ -380,7 +396,6 @@ class SyncBackendHost : public browser_sync::ModelSafeWorkerRegistrar { |
void DoInitializeForTest(const std::wstring& test_user, |
sync_api::HttpPostProviderFactory* factory, |
bool delete_sync_data_folder) { |
- |
// Construct dummy credentials for test. |
sync_api::SyncCredentials credentials; |
credentials.email = WideToUTF8(test_user); |
@@ -439,6 +454,11 @@ class SyncBackendHost : public browser_sync::ModelSafeWorkerRegistrar { |
// Invoked when an updated token is available from the sync server. |
void NotifyUpdatedToken(const std::string& token); |
+ // Invoked when sync finishes encrypting new datatypes or has become aware |
+ // of new datatypes requiring encryption. |
+ void NotifyEncryptionComplete(const syncable::ModelTypeSet& |
+ encrypted_types); |
+ |
// Called from Core::OnSyncCycleCompleted to handle updating frontend |
// thread components. |
void HandleSyncCycleCompletedOnFrontendLoop( |
@@ -507,7 +527,6 @@ class SyncBackendHost : public browser_sync::ModelSafeWorkerRegistrar { |
scoped_refptr<Core> core_; |
private: |
- |
UIModelWorker* ui_worker(); |
void ConfigureAutofillMigration(); |