From 9a68d3a51fffe213ad2266acd93bb150fb12c06e Mon Sep 17 00:00:00 2001 From: "bartfab@google.com" Date: Mon, 22 Apr 2013 16:26:54 +0000 Subject: 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 --- chrome/browser/extensions/test_extension_system.cc | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'chrome/browser/extensions/test_extension_system.cc') 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(), -- cgit v1.1