Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/sync/profile_sync_service.h" | 5 #include "chrome/browser/sync/profile_sync_service.h" |
| 6 | 6 |
| 7 #include <cstddef> | 7 #include <cstddef> |
| 8 #include <map> | 8 #include <map> |
| 9 #include <set> | 9 #include <set> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 149 if (channel == chrome::VersionInfo::CHANNEL_STABLE || | 149 if (channel == chrome::VersionInfo::CHANNEL_STABLE || |
| 150 channel == chrome::VersionInfo::CHANNEL_BETA) { | 150 channel == chrome::VersionInfo::CHANNEL_BETA) { |
| 151 sync_service_url_ = GURL(kSyncServerUrl); | 151 sync_service_url_ = GURL(kSyncServerUrl); |
| 152 } | 152 } |
| 153 #endif | 153 #endif |
| 154 } | 154 } |
| 155 | 155 |
| 156 ProfileSyncService::~ProfileSyncService() { | 156 ProfileSyncService::~ProfileSyncService() { |
| 157 sync_prefs_.RemoveSyncPrefObserver(this); | 157 sync_prefs_.RemoveSyncPrefObserver(this); |
| 158 Shutdown(); | 158 Shutdown(); |
| 159 #if defined(NDEBUG) | |
| 160 // Make sure there are no dangling references to the DataTypeControllers. | |
| 161 for (browser_sync::DataTypeController::TypeMap::const_iterator iter = | |
| 162 data_type_controllers_.begin(); iter != data_type_controllers_.end(); | |
| 163 ++iter) { | |
| 164 DCHECK(iter->second->HasOneRef()) | |
|
Nicolas Zea
2012/05/16 22:40:58
This does not hold true for non-UI thread datatype
| |
| 165 << "DataTypeController will outlive ProfileSyncService: " | |
| 166 << iter->second->name(); | |
| 167 } | |
| 168 #endif | |
| 159 } | 169 } |
| 160 | 170 |
| 161 bool ProfileSyncService::AreCredentialsAvailable() { | 171 bool ProfileSyncService::AreCredentialsAvailable() { |
| 162 if (IsManaged()) { | 172 if (IsManaged()) { |
| 163 return false; | 173 return false; |
| 164 } | 174 } |
| 165 | 175 |
| 166 // If we have start suppressed, then basically just act like we have no | 176 // If we have start suppressed, then basically just act like we have no |
| 167 // credentials (login is required to fix this, since we need the user's | 177 // credentials (login is required to fix this, since we need the user's |
| 168 // passphrase to encrypt/decrypt anyway). | 178 // passphrase to encrypt/decrypt anyway). |
| (...skipping 1498 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1667 // See http://stackoverflow.com/questions/6224121/is-new-this-myclass-undefine d-behaviour-after-directly-calling-the-destru. | 1677 // See http://stackoverflow.com/questions/6224121/is-new-this-myclass-undefine d-behaviour-after-directly-calling-the-destru. |
| 1668 ProfileSyncService* old_this = this; | 1678 ProfileSyncService* old_this = this; |
| 1669 this->~ProfileSyncService(); | 1679 this->~ProfileSyncService(); |
| 1670 new(old_this) ProfileSyncService( | 1680 new(old_this) ProfileSyncService( |
| 1671 new ProfileSyncComponentsFactoryImpl(profile, | 1681 new ProfileSyncComponentsFactoryImpl(profile, |
| 1672 CommandLine::ForCurrentProcess()), | 1682 CommandLine::ForCurrentProcess()), |
| 1673 profile, | 1683 profile, |
| 1674 signin, | 1684 signin, |
| 1675 behavior); | 1685 behavior); |
| 1676 } | 1686 } |
| OLD | NEW |