Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(346)

Unified Diff: chrome/browser/sync/glue/sync_backend_host.cc

Issue 8356026: [Sync] Cache encrypted types info in ProfileSyncService (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove diff Created 9 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/sync/glue/sync_backend_host.cc
diff --git a/chrome/browser/sync/glue/sync_backend_host.cc b/chrome/browser/sync/glue/sync_backend_host.cc
index 20b1afc1766036c8a9234a740f3c64dc853d7f11..cd8ba78e0476754fbe1384dfac8a7d7921ec1028 100644
--- a/chrome/browser/sync/glue/sync_backend_host.cc
+++ b/chrome/browser/sync/glue/sync_backend_host.cc
@@ -305,20 +305,6 @@ void SyncBackendHost::EnableEncryptEverything() {
&SyncBackendHost::Core::DoEnableEncryptEverything));
}
-bool SyncBackendHost::EncryptEverythingEnabled() const {
- if (initialization_state_ <= NOT_INITIALIZED) {
- NOTREACHED() << "Cannot check encryption status without first "
- << "initializing backend.";
- return false;
- }
- return core_->sync_manager()->EncryptEverythingEnabled();
-}
-
-syncable::ModelTypeSet SyncBackendHost::GetEncryptedDataTypes() const {
- DCHECK_GT(initialization_state_, NOT_INITIALIZED);
- return core_->sync_manager()->GetEncryptedDataTypes();
-}
-
void SyncBackendHost::ActivateDataType(
syncable::ModelType type, ModelSafeGroup group,
ChangeProcessor* change_processor) {
@@ -503,15 +489,27 @@ void SyncBackendHost::Core::OnClearServerDataSucceeded() {
&Core::HandleClearServerDataSucceededOnFrontendLoop));
}
-void SyncBackendHost::Core::OnEncryptionComplete(
- const syncable::ModelTypeSet& encrypted_types) {
+void SyncBackendHost::Core::OnEncryptedTypesChanged(
+ const syncable::ModelTypeSet& encrypted_types,
+ bool encrypt_everything) {
if (!sync_loop_)
return;
DCHECK_EQ(MessageLoop::current(), sync_loop_);
+ // NOTE: We're in a transaction.
host_->frontend_loop_->PostTask(
FROM_HERE,
- NewRunnableMethod(this, &Core::NotifyEncryptionComplete,
- encrypted_types));
+ base::Bind(&Core::NotifyEncryptedTypesChanged, this,
+ encrypted_types, encrypt_everything));
+}
+
+void SyncBackendHost::Core::OnEncryptionComplete() {
+ if (!sync_loop_)
+ return;
+ DCHECK_EQ(MessageLoop::current(), sync_loop_);
+ // NOTE: We're in a transaction.
+ host_->frontend_loop_->PostTask(
+ FROM_HERE,
+ base::Bind(&Core::NotifyEncryptionComplete, this));
}
void SyncBackendHost::Core::OnActionableError(
@@ -794,12 +792,21 @@ void SyncBackendHost::Core::NotifyUpdatedToken(const std::string& token) {
content::Details<const TokenAvailableDetails>(&details));
}
-void SyncBackendHost::Core::NotifyEncryptionComplete(
- const syncable::ModelTypeSet& encrypted_types) {
+void SyncBackendHost::Core::NotifyEncryptedTypesChanged(
+ const syncable::ModelTypeSet& encrypted_types,
+ bool encrypt_everything) {
+ if (!host_)
+ return;
+ DCHECK_EQ(MessageLoop::current(), host_->frontend_loop_);
+ host_->frontend_->OnEncryptedTypesChanged(
+ encrypted_types, encrypt_everything);
+}
+
+void SyncBackendHost::Core::NotifyEncryptionComplete() {
if (!host_)
return;
DCHECK_EQ(MessageLoop::current(), host_->frontend_loop_);
- host_->frontend_->OnEncryptionComplete(encrypted_types);
+ host_->frontend_->OnEncryptionComplete();
}
void SyncBackendHost::Core::HandleSyncCycleCompletedOnFrontendLoop(
@@ -920,6 +927,7 @@ void SyncBackendHost::HandleInitializationCompletedOnFrontendLoop(
break;
case DOWNLOADING_NIGORI:
initialization_state_ = REFRESHING_ENCRYPTION;
+ // Triggers OnEncryptedTypesChanged() if necessary.
Nicolas Zea 2011/10/24 19:18:17 and OnEncryptionComplete
akalin 2011/10/24 19:34:13 Done.
RefreshEncryption(
base::Bind(
&SyncBackendHost::Core::

Powered by Google App Engine
This is Rietveld 408576698