diff options
author | bartfab@google.com <bartfab@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-22 16:26:54 +0000 |
---|---|---|
committer | bartfab@google.com <bartfab@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-22 16:26:54 +0000 |
commit | 9a68d3a51fffe213ad2266acd93bb150fb12c06e (patch) | |
tree | f0c55990f13fc0fb05fdf6be5c19a9e84bb4429a /chrome/browser/extensions/test_extension_system.cc | |
parent | 617acac0976bc52ec20432ccb4da7c3f36d1d3ff (diff) | |
download | chromium_src-9a68d3a51fffe213ad2266acd93bb150fb12c06e.zip chromium_src-9a68d3a51fffe213ad2266acd93bb150fb12c06e.tar.gz chromium_src-9a68d3a51fffe213ad2266acd93bb150fb12c06e.tar.bz2 |
Re-land 195501 with fixed test
Make UserManager a non-Lazy singleton
This CL turns the UserManager from a LazyInstance singleton with an
unpredictable lifetime into a singleton that is explicity instantiated
and torn down at well-defined points in the browser's lifetime.
BUG=None
TBR=nkostylev@chromium.org
Review URL: https://codereview.chromium.org/13842022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195529 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions/test_extension_system.cc')
-rw-r--r-- | chrome/browser/extensions/test_extension_system.cc | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/chrome/browser/extensions/test_extension_system.cc b/chrome/browser/extensions/test_extension_system.cc index 9b18015..ba32742 100644 --- a/chrome/browser/extensions/test_extension_system.cc +++ b/chrome/browser/extensions/test_extension_system.cc @@ -28,7 +28,7 @@ #include "content/public/browser/browser_thread.h" #if defined(OS_CHROMEOS) -#include "chrome/browser/chromeos/settings/cros_settings.h" +#include "chrome/browser/chromeos/login/user_manager.h" #endif using content::BrowserThread; @@ -38,13 +38,6 @@ namespace extensions { TestExtensionSystem::TestExtensionSystem(Profile* profile) : profile_(profile), info_map_(new ExtensionInfoMap()) { -#if defined OS_CHROMEOS - // TestExtensionSystem may or may not be created within - // TestExtensionEnvironment, so only create a ScopedTestCrosSettings instance - // if none has been created. - if (!chromeos::CrosSettings::IsInitialized()) - test_cros_settings_.reset(new chromeos::ScopedTestCrosSettings); -#endif } TestExtensionSystem::~TestExtensionSystem() { @@ -99,7 +92,11 @@ ExtensionService* TestExtensionSystem::CreateExtensionService( management_policy_.reset(new ManagementPolicy()); management_policy_->RegisterProvider( standard_management_policy_provider_.get()); - extension_service_.reset(new ExtensionService(profile_, +#if defined(OS_CHROMEOS) + if (!test_user_manager_) + test_user_manager_.reset(new chromeos::ScopedTestUserManager); +#endif + extension_service_.reset(new ExtensionService(profile_, command_line, install_directory, extension_prefs_.get(), |