Index: chrome/browser/sync/profile_sync_service.cc |
diff --git a/chrome/browser/sync/profile_sync_service.cc b/chrome/browser/sync/profile_sync_service.cc |
index 3e605140a87bf8b45e55ca13652eeb48fcf87be0..6cd304bcf4a839429c19ee126dda7928d9f9953b 100644 |
--- a/chrome/browser/sync/profile_sync_service.cc |
+++ b/chrome/browser/sync/profile_sync_service.cc |
@@ -156,6 +156,16 @@ ProfileSyncService::ProfileSyncService(ProfileSyncComponentsFactory* factory, |
ProfileSyncService::~ProfileSyncService() { |
sync_prefs_.RemoveSyncPrefObserver(this); |
Shutdown(); |
+#if defined(NDEBUG) |
+ // Make sure there are no dangling references to the DataTypeControllers. |
+ for (browser_sync::DataTypeController::TypeMap::const_iterator iter = |
+ data_type_controllers_.begin(); iter != data_type_controllers_.end(); |
+ ++iter) { |
+ DCHECK(iter->second->HasOneRef()) |
Nicolas Zea
2012/05/16 22:40:58
This does not hold true for non-UI thread datatype
|
+ << "DataTypeController will outlive ProfileSyncService: " |
+ << iter->second->name(); |
+ } |
+#endif |
} |
bool ProfileSyncService::AreCredentialsAvailable() { |