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

Unified Diff: sync/internal_api/sync_manager_impl.cc

Issue 452283003: sync: Finish non-blocking type encryption support (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 4 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: sync/internal_api/sync_manager_impl.cc
diff --git a/sync/internal_api/sync_manager_impl.cc b/sync/internal_api/sync_manager_impl.cc
index 30bbafd2b4f5c72ac351eb3f595e6fdf1ea5330e..8d2893923d3e7668dfd5e944fbfa1a10a510d019 100644
--- a/sync/internal_api/sync_manager_impl.cc
+++ b/sync/internal_api/sync_manager_impl.cc
@@ -387,6 +387,7 @@ void SyncManagerImpl::Init(InitArgs* args) {
model_type_registry_.reset(
new ModelTypeRegistry(args->workers, directory(), this));
+ sync_encryption_handler_->AddObserver(model_type_registry_.get());
// Bind the SyncContext WeakPtr to this thread. This helps us crash earlier
// if the pointer is misused in debug mode.
@@ -607,6 +608,10 @@ void SyncManagerImpl::ShutdownOnSyncThread(ShutdownReason reason) {
scheduler_.reset();
session_context_.reset();
+
+ if (model_type_registry_) {
+ sync_encryption_handler_->RemoveObserver(model_type_registry_.get());
+ }
model_type_registry_.reset();
if (sync_encryption_handler_) {

Powered by Google App Engine
This is Rietveld 408576698