Chromium Code Reviews| Index: chrome/browser/chromeos/settings/device_settings_service.cc |
| diff --git a/chrome/browser/chromeos/settings/device_settings_service.cc b/chrome/browser/chromeos/settings/device_settings_service.cc |
| index 970c1c6a4bfed19de238d76a847384ed63a482f2..93761c16ae149aa6a10418b59c1cf38b46190919 100644 |
| --- a/chrome/browser/chromeos/settings/device_settings_service.cc |
| +++ b/chrome/browser/chromeos/settings/device_settings_service.cc |
| @@ -6,7 +6,6 @@ |
| #include "base/bind.h" |
| #include "base/file_util.h" |
| -#include "base/lazy_instance.h" |
| #include "base/logging.h" |
| #include "base/message_loop.h" |
| #include "base/stl_util.h" |
| @@ -37,9 +36,6 @@ int kMaxLoadRetries = (1000 * 60 * 10) / kLoadRetryDelayMs; |
| namespace chromeos { |
| -static base::LazyInstance<DeviceSettingsService> g_device_settings_service = |
| - LAZY_INSTANCE_INITIALIZER; |
| - |
| OwnerKey::OwnerKey(scoped_ptr<std::vector<uint8> > public_key, |
| scoped_ptr<crypto::RSAPrivateKey> private_key) |
| : public_key_(public_key.Pass()), |
| @@ -49,22 +45,28 @@ OwnerKey::~OwnerKey() {} |
| DeviceSettingsService::Observer::~Observer() {} |
| -DeviceSettingsService::DeviceSettingsService() |
| - : session_manager_client_(NULL), |
| - ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)), |
| - store_status_(STORE_SUCCESS), |
| - load_retries_left_(kMaxLoadRetries) {} |
| +static DeviceSettingsService* g_device_settings_service = NULL; |
|
Mattias Nissler (ping if slow)
2013/04/16 16:09:51
nit: spacing
stevenjb
2013/04/16 16:49:43
Done.
|
| -DeviceSettingsService::~DeviceSettingsService() { |
| - DCHECK(pending_operations_.empty()); |
| +// static |
| +void DeviceSettingsService::Initialize() { |
| + CHECK(!g_device_settings_service); |
| + g_device_settings_service = new DeviceSettingsService(); |
| +} |
| + |
| +// static |
| +void DeviceSettingsService::Shutdown() { |
| + CHECK(g_device_settings_service); |
| + delete g_device_settings_service; |
| + g_device_settings_service = NULL; |
| } |
| // static |
| DeviceSettingsService* DeviceSettingsService::Get() { |
| - return g_device_settings_service.Pointer(); |
| + CHECK(g_device_settings_service); |
| + return g_device_settings_service; |
| } |
| -void DeviceSettingsService::Initialize( |
| +void DeviceSettingsService::InitializeSessionManager( |
| SessionManagerClient* session_manager_client, |
| scoped_refptr<OwnerKeyUtil> owner_key_util) { |
| DCHECK(session_manager_client); |
| @@ -80,7 +82,7 @@ void DeviceSettingsService::Initialize( |
| StartNextOperation(); |
| } |
| -void DeviceSettingsService::Shutdown() { |
| +void DeviceSettingsService::ShutdownSessionManager() { |
| STLDeleteContainerPointers(pending_operations_.begin(), |
| pending_operations_.end()); |
| pending_operations_.clear(); |
| @@ -191,6 +193,17 @@ void DeviceSettingsService::PropertyChangeComplete(bool success) { |
| EnsureReload(false); |
| } |
| +DeviceSettingsService::DeviceSettingsService() |
| + : session_manager_client_(NULL), |
| + ALLOW_THIS_IN_INITIALIZER_LIST(weak_factory_(this)), |
| + store_status_(STORE_SUCCESS), |
| + load_retries_left_(kMaxLoadRetries) { |
| +} |
| + |
| +DeviceSettingsService::~DeviceSettingsService() { |
| + DCHECK(pending_operations_.empty()); |
| +} |
| + |
| void DeviceSettingsService::Enqueue(SessionManagerOperation* operation) { |
| pending_operations_.push_back(operation); |
| if (pending_operations_.front() == operation) |