summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/browser_commands_unittest.cc4
-rw-r--r--chrome/browser/chromeos/attestation/attestation_policy_observer_unittest.cc3
-rw-r--r--chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings_unittest.cc3
-rw-r--r--chrome/browser/chromeos/login/login_utils_browsertest.cc3
-rw-r--r--chrome/browser/chromeos/login/merge_session_load_page_unittest.cc4
-rw-r--r--chrome/browser/chromeos/login/user_manager.cc14
-rw-r--r--chrome/browser/chromeos/login/user_manager.h12
-rw-r--r--chrome/browser/chromeos/login/user_manager_unittest.cc1
-rw-r--r--chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos_unittest.cc4
-rw-r--r--chrome/browser/chromeos/proxy_config_service_impl_unittest.cc4
-rw-r--r--chrome/browser/chromeos/settings/cros_settings.cc20
-rw-r--r--chrome/browser/chromeos/settings/cros_settings.h9
-rw-r--r--chrome/browser/chromeos/settings/device_settings_service.cc10
-rw-r--r--chrome/browser/chromeos/settings/device_settings_service.h12
-rw-r--r--chrome/browser/extensions/activity_log_unittest.cc8
-rw-r--r--chrome/browser/extensions/api/declarative_content/content_action_unittest.cc10
-rw-r--r--chrome/browser/extensions/api/declarative_content/content_rules_registry_unittest.cc8
-rw-r--r--chrome/browser/extensions/extension_action_icon_factory_unittest.cc8
-rw-r--r--chrome/browser/extensions/extension_service_unittest.cc8
-rw-r--r--chrome/browser/extensions/extension_service_unittest.h8
-rw-r--r--chrome/browser/extensions/extension_ui_unittest.cc8
-rw-r--r--chrome/browser/extensions/page_action_controller_unittest.cc8
-rw-r--r--chrome/browser/extensions/script_badge_controller_unittest.cc8
-rw-r--r--chrome/browser/extensions/script_bubble_controller_unittest.cc8
-rw-r--r--chrome/browser/extensions/test_extension_environment.h8
-rw-r--r--chrome/browser/extensions/test_extension_system.cc10
-rw-r--r--chrome/browser/extensions/test_extension_system.h17
-rw-r--r--chrome/browser/extensions/updater/extension_updater_unittest.cc8
-rw-r--r--chrome/browser/media_galleries/media_file_system_registry_unittest.cc8
-rw-r--r--chrome/browser/media_galleries/media_galleries_preferences_unittest.cc8
-rw-r--r--chrome/browser/metrics/variations/variations_service_unittest.cc3
-rw-r--r--chrome/browser/profiles/profile_manager_unittest.cc8
-rw-r--r--chrome/browser/sync_file_system/drive_file_sync_service_mock_unittest.cc8
-rw-r--r--chrome/browser/themes/theme_syncable_service_unittest.cc8
-rw-r--r--chrome/browser/ui/ash/event_rewriter_unittest.cc4
-rw-r--r--chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser_unittest.cc8
-rw-r--r--chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc8
37 files changed, 98 insertions, 193 deletions
diff --git a/chrome/browser/browser_commands_unittest.cc b/chrome/browser/browser_commands_unittest.cc
index 9d5cc10..8ee05a6 100644
--- a/chrome/browser/browser_commands_unittest.cc
+++ b/chrome/browser/browser_commands_unittest.cc
@@ -17,6 +17,10 @@
#include "content/public/browser/navigation_entry.h"
#include "content/public/browser/web_contents.h"
+#if defined(OS_CHROMEOS)
+#include "chrome/browser/chromeos/login/mock_user_manager.h"
+#endif
+
typedef BrowserWithTestWindowTest BrowserCommandsTest;
using content::OpenURLParams;
diff --git a/chrome/browser/chromeos/attestation/attestation_policy_observer_unittest.cc b/chrome/browser/chromeos/attestation/attestation_policy_observer_unittest.cc
index c1ce65b..3ba9c9a 100644
--- a/chrome/browser/chromeos/attestation/attestation_policy_observer_unittest.cc
+++ b/chrome/browser/chromeos/attestation/attestation_policy_observer_unittest.cc
@@ -6,7 +6,6 @@
#include "base/message_loop.h"
#include "base/run_loop.h"
#include "chrome/browser/chromeos/attestation/attestation_policy_observer.h"
-#include "chrome/browser/chromeos/login/user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/cros_settings_names.h"
#include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h"
@@ -80,7 +79,7 @@ class AttestationPolicyObserverTest : public ::testing::Test {
MessageLoop message_loop_;
content::TestBrowserThread ui_thread_;
- ScopedTestUserManager test_user_manager_;
+ ScopedTestCrosSettings test_cros_settings_;
CrosSettingsProvider* device_settings_provider_;
StubCrosSettingsProvider stub_settings_provider_;
StrictMock<MockCryptohomeClient> cryptohome_client_;
diff --git a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings_unittest.cc b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings_unittest.cc
index 7fad377..272170e 100644
--- a/chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings_unittest.cc
+++ b/chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings_unittest.cc
@@ -8,7 +8,6 @@
#include "base/bind_helpers.h"
#include "base/message_loop.h"
#include "base/values.h"
-#include "chrome/browser/chromeos/login/user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/cros_settings_names.h"
#include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h"
@@ -74,7 +73,7 @@ class KioskModeSettingsTest : public testing::Test {
content::TestBrowserThread ui_thread_;
content::TestBrowserThread file_thread_;
- ScopedTestUserManager test_user_manager_;
+ ScopedTestCrosSettings test_cros_settings_;
CrosSettingsProvider* device_settings_provider_;
StubCrosSettingsProvider stub_settings_provider_;
diff --git a/chrome/browser/chromeos/login/login_utils_browsertest.cc b/chrome/browser/chromeos/login/login_utils_browsertest.cc
index 51641af..a117b9c 100644
--- a/chrome/browser/chromeos/login/login_utils_browsertest.cc
+++ b/chrome/browser/chromeos/login/login_utils_browsertest.cc
@@ -26,6 +26,7 @@
#include "chrome/browser/chromeos/net/connectivity_state_helper.h"
#include "chrome/browser/chromeos/net/mock_connectivity_state_helper.h"
#include "chrome/browser/chromeos/policy/enterprise_install_attributes.h"
+#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_service.h"
#include "chrome/browser/chromeos/settings/device_settings_test_helper.h"
#include "chrome/browser/chromeos/settings/mock_owner_key_util.h"
@@ -294,6 +295,7 @@ class LoginUtilsTest : public testing::Test,
cryptohome_client_ = mock_dbus_thread_manager_.mock_cryptohome_client();
EXPECT_CALL(*cryptohome_client_, IsMounted(_));
+ test_cros_settings_.reset(new ScopedTestCrosSettings);
test_user_manager_.reset(new ScopedTestUserManager);
browser_process_->SetProfileManager(
@@ -544,6 +546,7 @@ class LoginUtilsTest : public testing::Test,
MockCryptohomeClient* cryptohome_client_;
// Initialized after |mock_dbus_thread_manager_| and |cryptohome_| are set up.
+ scoped_ptr<ScopedTestCrosSettings> test_cros_settings_;
scoped_ptr<ScopedTestUserManager> test_user_manager_;
Profile* prepared_profile_;
diff --git a/chrome/browser/chromeos/login/merge_session_load_page_unittest.cc b/chrome/browser/chromeos/login/merge_session_load_page_unittest.cc
index c4dfb93..12abc1f 100644
--- a/chrome/browser/chromeos/login/merge_session_load_page_unittest.cc
+++ b/chrome/browser/chromeos/login/merge_session_load_page_unittest.cc
@@ -75,8 +75,8 @@ class MergeSessionLoadPageTest : public ChromeRenderViewHostTestHarness {
content::TestBrowserThread file_user_blocking_thread_;
content::TestBrowserThread io_thread_;
- ScopedStubCrosEnabler stub_cros_enabler_;
- ScopedTestUserManager test_user_manager_;
+ chromeos::ScopedStubCrosEnabler stub_cros_enabler_;
+ chromeos::ScopedTestUserManager test_user_manager_;
DISALLOW_COPY_AND_ASSIGN(MergeSessionLoadPageTest);
};
diff --git a/chrome/browser/chromeos/login/user_manager.cc b/chrome/browser/chromeos/login/user_manager.cc
index ae4dd33..b9f82e7 100644
--- a/chrome/browser/chromeos/login/user_manager.cc
+++ b/chrome/browser/chromeos/login/user_manager.cc
@@ -64,13 +64,19 @@ ScopedUserManagerEnabler::~ScopedUserManagerEnabler() {
UserManager::SetForTesting(previous_user_manager_);
}
-ScopedTestUserManager::ScopedTestUserManager() {
- UserManager::Initialize();
+ScopedTestUserManager::ScopedTestUserManager()
+ : initialized_user_manager_(false) {
+ if (!UserManager::IsInitialized()) {
+ UserManager::Initialize();
+ initialized_user_manager_ = true;
+ }
}
ScopedTestUserManager::~ScopedTestUserManager() {
- UserManager::Get()->Shutdown();
- UserManager::Destroy();
+ if (initialized_user_manager_) {
+ UserManager::Get()->Shutdown();
+ UserManager::Destroy();
+ }
}
} // namespace chromeos
diff --git a/chrome/browser/chromeos/login/user_manager.h b/chrome/browser/chromeos/login/user_manager.h
index 68bf2d5..6caecc5 100644
--- a/chrome/browser/chromeos/login/user_manager.h
+++ b/chrome/browser/chromeos/login/user_manager.h
@@ -7,16 +7,17 @@
#include <string>
+#include "base/memory/singleton.h"
#include "chrome/browser/chromeos/login/user.h"
#include "chrome/browser/chromeos/login/user_flow.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
-#include "chrome/browser/chromeos/settings/device_settings_service.h"
class PrefRegistrySimple;
namespace chromeos {
class RemoveUserDelegate;
+class ScopedCrosSettings;
class UserImageManager;
// Base class for UserManagerImpl - provides a mechanism for discovering users
@@ -314,17 +315,18 @@ class ScopedUserManagerEnabler {
DISALLOW_COPY_AND_ASSIGN(ScopedUserManagerEnabler);
};
-// Helper class for tests. Initializes the UserManager singleton on construction
-// and tears it down again on destruction, along with the DeviceSettingsService
-// and CrosSettings singletons it depends on.
+// Helper class for unit tests. Ensures that the UserManager singleton and the
+// CrosSettings and DeviceSettingsService singletons it depends on are
+// initialized. Any singletons initialized on construction are torn down again
+// on destruction. Singletons that were initialized already are not modified.
class ScopedTestUserManager {
public:
ScopedTestUserManager();
~ScopedTestUserManager();
private:
- ScopedTestDeviceSettingsService test_device_settings_service_;
ScopedTestCrosSettings test_cros_settings_;
+ bool initialized_user_manager_;
DISALLOW_COPY_AND_ASSIGN(ScopedTestUserManager);
};
diff --git a/chrome/browser/chromeos/login/user_manager_unittest.cc b/chrome/browser/chromeos/login/user_manager_unittest.cc
index bf195e1..0afeae3 100644
--- a/chrome/browser/chromeos/login/user_manager_unittest.cc
+++ b/chrome/browser/chromeos/login/user_manager_unittest.cc
@@ -140,7 +140,6 @@ class UserManagerTest : public testing::Test {
scoped_ptr<TestingPrefServiceSimple> local_state_;
ScopedStubCrosEnabler stub_cros_enabler_;
- ScopedTestDeviceSettingsService test_device_settings_service_;
ScopedTestCrosSettings test_cros_settings_;
scoped_ptr<ScopedUserManagerEnabler> user_manager_enabler_;
diff --git a/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos_unittest.cc b/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos_unittest.cc
index 60f9171..240030a 100644
--- a/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos_unittest.cc
+++ b/chrome/browser/chromeos/policy/device_cloud_policy_manager_chromeos_unittest.cc
@@ -11,10 +11,10 @@
#include "base/prefs/testing_pref_service.h"
#include "base/run_loop.h"
#include "chrome/browser/chromeos/cros/cryptohome_library.h"
-#include "chrome/browser/chromeos/login/user_manager.h"
#include "chrome/browser/chromeos/policy/device_cloud_policy_store_chromeos.h"
#include "chrome/browser/chromeos/policy/enterprise_install_attributes.h"
#include "chrome/browser/chromeos/policy/proto/chrome_device_policy.pb.h"
+#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/device_settings_test_helper.h"
#include "chrome/browser/policy/cloud/cloud_policy_client.h"
#include "chrome/browser/policy/cloud/mock_device_management_service.h"
@@ -75,7 +75,7 @@ class DeviceCloudPolicyManagerChromeOSTest
TestingPrefServiceSimple local_state_;
MockDeviceManagementService device_management_service_;
- chromeos::ScopedTestUserManager test_user_manager_;
+ chromeos::ScopedTestCrosSettings test_cros_settings_;
DeviceCloudPolicyStoreChromeOS* store_;
DeviceCloudPolicyManagerChromeOS manager_;
diff --git a/chrome/browser/chromeos/proxy_config_service_impl_unittest.cc b/chrome/browser/chromeos/proxy_config_service_impl_unittest.cc
index 223a5d4..d474c3f 100644
--- a/chrome/browser/chromeos/proxy_config_service_impl_unittest.cc
+++ b/chrome/browser/chromeos/proxy_config_service_impl_unittest.cc
@@ -15,7 +15,7 @@
#include "base/string_util.h"
#include "base/stringprintf.h"
#include "chrome/browser/chromeos/cros/cros_library.h"
-#include "chrome/browser/chromeos/login/user_manager.h"
+#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/common/pref_names.h"
#include "chromeos/dbus/dbus_thread_manager.h"
#include "content/public/test/test_browser_thread.h"
@@ -330,9 +330,9 @@ class ProxyConfigServiceImplTestBase : public TESTBASE {
// Default stub state has ethernet as the active connected network and
// PROFILE_SHARED as profile type, which this unittest expects.
ScopedStubCrosEnabler stub_cros_enabler_;
+ ScopedTestCrosSettings test_cros_settings_;
content::TestBrowserThread ui_thread_;
content::TestBrowserThread io_thread_;
- ScopedTestUserManager test_user_manager_;
};
class ProxyConfigServiceImplTest
diff --git a/chrome/browser/chromeos/settings/cros_settings.cc b/chrome/browser/chromeos/settings/cros_settings.cc
index 211b5d5..08a6866 100644
--- a/chrome/browser/chromeos/settings/cros_settings.cc
+++ b/chrome/browser/chromeos/settings/cros_settings.cc
@@ -39,7 +39,7 @@ bool CrosSettings::IsInitialized() {
// static
void CrosSettings::Shutdown() {
- DCHECK(g_cros_settings);
+ CHECK(g_cros_settings);
delete g_cros_settings;
g_cros_settings = NULL;
}
@@ -328,12 +328,24 @@ void CrosSettings::FireObservers(const std::string& path) {
}
}
-ScopedTestCrosSettings::ScopedTestCrosSettings() {
- CrosSettings::Initialize();
+ScopedTestCrosSettings::ScopedTestCrosSettings()
+ : initialized_device_settings_service_(false),
+ initialized_cros_settings_(false) {
+ if (!DeviceSettingsService::IsInitialized()) {
+ DeviceSettingsService::Initialize();
+ initialized_device_settings_service_ = true;
+ }
+ if (!CrosSettings::IsInitialized()) {
+ CrosSettings::Initialize();
+ initialized_cros_settings_ = true;
+ }
}
ScopedTestCrosSettings::~ScopedTestCrosSettings() {
- CrosSettings::Shutdown();
+ if (initialized_cros_settings_)
+ CrosSettings::Shutdown();
+ if (initialized_device_settings_service_)
+ DeviceSettingsService::Shutdown();
}
} // namespace chromeos
diff --git a/chrome/browser/chromeos/settings/cros_settings.h b/chrome/browser/chromeos/settings/cros_settings.h
index 35c7112..ff1be8d 100644
--- a/chrome/browser/chromeos/settings/cros_settings.h
+++ b/chrome/browser/chromeos/settings/cros_settings.h
@@ -116,14 +116,19 @@ class CrosSettings : public base::NonThreadSafe {
DISALLOW_COPY_AND_ASSIGN(CrosSettings);
};
-// Helper class for tests. Initializes the CrosSettings singleton on
-// construction and tears it down again on destruction.
+// Helper class for unit tests. Ensures that the CrosSettings singleton and the
+// DeviceSettingsService singleton it depends on are initialized. Any singletons
+// initialized on construction are torn down again on destruction. Singletons
+// that were initialized already are not modified.
class ScopedTestCrosSettings {
public:
ScopedTestCrosSettings();
~ScopedTestCrosSettings();
private:
+ bool initialized_device_settings_service_;
+ bool initialized_cros_settings_;
+
DISALLOW_COPY_AND_ASSIGN(ScopedTestCrosSettings);
};
diff --git a/chrome/browser/chromeos/settings/device_settings_service.cc b/chrome/browser/chromeos/settings/device_settings_service.cc
index dbe605f..18bc461 100644
--- a/chrome/browser/chromeos/settings/device_settings_service.cc
+++ b/chrome/browser/chromeos/settings/device_settings_service.cc
@@ -60,7 +60,7 @@ bool DeviceSettingsService::IsInitialized() {
// static
void DeviceSettingsService::Shutdown() {
- DCHECK(g_device_settings_service);
+ CHECK(g_device_settings_service);
delete g_device_settings_service;
g_device_settings_service = NULL;
}
@@ -316,12 +316,4 @@ void DeviceSettingsService::HandleCompletedOperation(
StartNextOperation();
}
-ScopedTestDeviceSettingsService::ScopedTestDeviceSettingsService() {
- DeviceSettingsService::Initialize();
-}
-
-ScopedTestDeviceSettingsService::~ScopedTestDeviceSettingsService() {
- DeviceSettingsService::Shutdown();
-}
-
} // namespace chromeos
diff --git a/chrome/browser/chromeos/settings/device_settings_service.h b/chrome/browser/chromeos/settings/device_settings_service.h
index 402a891..0c66d37 100644
--- a/chrome/browser/chromeos/settings/device_settings_service.h
+++ b/chrome/browser/chromeos/settings/device_settings_service.h
@@ -11,7 +11,6 @@
#include "base/basictypes.h"
#include "base/callback.h"
-#include "base/compiler_specific.h"
#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/observer_list.h"
@@ -236,17 +235,6 @@ class DeviceSettingsService : public SessionManagerClient::Observer {
DISALLOW_COPY_AND_ASSIGN(DeviceSettingsService);
};
-// Helper class for tests. Initializes the DeviceSettingsService singleton on
-// construction and tears it down again on destruction.
-class ScopedTestDeviceSettingsService {
- public:
- ScopedTestDeviceSettingsService();
- ~ScopedTestDeviceSettingsService();
-
- private:
- DISALLOW_COPY_AND_ASSIGN(ScopedTestDeviceSettingsService);
-};
-
} // namespace chromeos
#endif // CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_SERVICE_H_
diff --git a/chrome/browser/extensions/activity_log_unittest.cc b/chrome/browser/extensions/activity_log_unittest.cc
index 1ae2500..a5ecc95 100644
--- a/chrome/browser/extensions/activity_log_unittest.cc
+++ b/chrome/browser/extensions/activity_log_unittest.cc
@@ -18,10 +18,6 @@
#include "sql/statement.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
namespace extensions {
class ActivityLogTest : public ChromeRenderViewHostTestHarness {
@@ -79,10 +75,6 @@ class ActivityLogTest : public ChromeRenderViewHostTestHarness {
content::TestBrowserThread ui_thread_;
content::TestBrowserThread db_thread_;
content::TestBrowserThread file_thread_;
-
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
};
TEST_F(ActivityLogTest, Enabled) {
diff --git a/chrome/browser/extensions/api/declarative_content/content_action_unittest.cc b/chrome/browser/extensions/api/declarative_content/content_action_unittest.cc
index 4e81379..95d4517 100644
--- a/chrome/browser/extensions/api/declarative_content/content_action_unittest.cc
+++ b/chrome/browser/extensions/api/declarative_content/content_action_unittest.cc
@@ -14,10 +14,6 @@
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
namespace extensions {
namespace {
@@ -25,9 +21,6 @@ using base::test::ParseJson;
using testing::HasSubstr;
TEST(DeclarativeContentActionTest, InvalidCreation) {
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager user_manager;
-#endif
TestExtensionEnvironment env;
std::string error;
bool bad_message = false;
@@ -59,9 +52,6 @@ TEST(DeclarativeContentActionTest, InvalidCreation) {
}
TEST(DeclarativeContentActionTest, ShowPageAction) {
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager user_manager;
-#endif
TestExtensionEnvironment env;
std::string error;
diff --git a/chrome/browser/extensions/api/declarative_content/content_rules_registry_unittest.cc b/chrome/browser/extensions/api/declarative_content/content_rules_registry_unittest.cc
index 78b22948..350b423 100644
--- a/chrome/browser/extensions/api/declarative_content/content_rules_registry_unittest.cc
+++ b/chrome/browser/extensions/api/declarative_content/content_rules_registry_unittest.cc
@@ -16,10 +16,6 @@
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
namespace extensions {
using base::test::ParseJson;
@@ -34,10 +30,6 @@ class DeclarativeContentRulesRegistryTest : public testing::Test {
const ContentRulesRegistry& registry) {
return registry.active_rules_;
}
-
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
};
namespace {
diff --git a/chrome/browser/extensions/extension_action_icon_factory_unittest.cc b/chrome/browser/extensions/extension_action_icon_factory_unittest.cc
index 416029f..f1fc7a0 100644
--- a/chrome/browser/extensions/extension_action_icon_factory_unittest.cc
+++ b/chrome/browser/extensions/extension_action_icon_factory_unittest.cc
@@ -25,10 +25,6 @@
#include "ui/gfx/skia_util.h"
#include "webkit/glue/image_decoder.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
using content::BrowserThread;
namespace extensions {
@@ -172,10 +168,6 @@ class ExtensionActionIconFactoryTest
scoped_ptr<TestingProfile> profile_;
ExtensionService* extension_service_;
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
-
DISALLOW_COPY_AND_ASSIGN(ExtensionActionIconFactoryTest);
};
diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
index c3e60a9..4bb9f97 100644
--- a/chrome/browser/extensions/extension_service_unittest.cc
+++ b/chrome/browser/extensions/extension_service_unittest.cc
@@ -111,7 +111,6 @@
#if defined(OS_CHROMEOS)
#include "chrome/browser/chromeos/extensions/install_limiter.h"
-#include "chrome/browser/chromeos/login/user_manager.h"
#endif
using content::BrowserContext;
@@ -4619,10 +4618,6 @@ TEST(ExtensionServiceTestSimple, Enabledness) {
MessageLoop loop;
content::TestBrowserThread ui_thread(BrowserThread::UI, &loop);
content::TestBrowserThread file_thread(BrowserThread::FILE, &loop);
-#if defined OS_CHROMEOS
- scoped_ptr<chromeos::ScopedTestUserManager> user_manager(
- new chromeos::ScopedTestUserManager);
-#endif
scoped_ptr<CommandLine> command_line;
base::FilePath install_dir = profile->GetPath()
.AppendASCII(ExtensionService::kInstallDirectoryName);
@@ -4644,9 +4639,6 @@ TEST(ExtensionServiceTestSimple, Enabledness) {
service->Init();
loop.RunUntilIdle();
EXPECT_TRUE(recorder.ready());
-#if defined OS_CHROMEOS
- user_manager.reset();
-#endif
// If either the command line or pref is set, we are disabled.
recorder.set_ready(false);
diff --git a/chrome/browser/extensions/extension_service_unittest.h b/chrome/browser/extensions/extension_service_unittest.h
index 86aa75b..dfdd049 100644
--- a/chrome/browser/extensions/extension_service_unittest.h
+++ b/chrome/browser/extensions/extension_service_unittest.h
@@ -17,10 +17,6 @@
#include "content/public/test/test_browser_thread.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
class TestingProfile;
namespace extensions {
@@ -76,10 +72,6 @@ class ExtensionServiceTestBase : public extensions::ExtensionTest {
content::TestBrowserThread file_thread_;
content::TestBrowserThread file_user_blocking_thread_;
content::TestBrowserThread io_thread_;
-
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
};
#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SERVICE_UNITTEST_H_
diff --git a/chrome/browser/extensions/extension_ui_unittest.cc b/chrome/browser/extensions/extension_ui_unittest.cc
index 8777981..b91cc7f 100644
--- a/chrome/browser/extensions/extension_ui_unittest.cc
+++ b/chrome/browser/extensions/extension_ui_unittest.cc
@@ -20,10 +20,6 @@
#include "extensions/common/constants.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
using extensions::Extension;
using extensions::Manifest;
@@ -130,10 +126,6 @@ class ExtensionUITest : public extensions::ExtensionTest {
ExtensionService* extension_service_;
extensions::ManagementPolicy* management_policy_;
scoped_ptr<ExtensionSettingsHandler> handler_;
-
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
};
TEST_F(ExtensionUITest, GenerateExtensionsJSONData) {
diff --git a/chrome/browser/extensions/page_action_controller_unittest.cc b/chrome/browser/extensions/page_action_controller_unittest.cc
index 505777e..60a267b 100644
--- a/chrome/browser/extensions/page_action_controller_unittest.cc
+++ b/chrome/browser/extensions/page_action_controller_unittest.cc
@@ -22,10 +22,6 @@
#include "content/public/browser/browser_thread.h"
#include "content/public/test/test_browser_thread.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
using content::BrowserThread;
namespace extensions {
@@ -60,10 +56,6 @@ class PageActionControllerTest : public ChromeRenderViewHostTestHarness {
private:
content::TestBrowserThread ui_thread_;
content::TestBrowserThread file_thread_;
-
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
};
TEST_F(PageActionControllerTest, NavigationClearsState) {
diff --git a/chrome/browser/extensions/script_badge_controller_unittest.cc b/chrome/browser/extensions/script_badge_controller_unittest.cc
index 1e7f506..cb773f8 100644
--- a/chrome/browser/extensions/script_badge_controller_unittest.cc
+++ b/chrome/browser/extensions/script_badge_controller_unittest.cc
@@ -31,10 +31,6 @@
#include "content/public/test/test_browser_thread.h"
#include "testing/gmock/include/gmock/gmock.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
using content::BrowserThread;
namespace extensions {
@@ -99,10 +95,6 @@ class ScriptBadgeControllerTest : public ChromeRenderViewHostTestHarness {
content::TestBrowserThread ui_thread_;
content::TestBrowserThread file_thread_;
Feature::ScopedCurrentChannel current_channel_;
-
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
};
struct CountingNotificationObserver : public content::NotificationObserver {
diff --git a/chrome/browser/extensions/script_bubble_controller_unittest.cc b/chrome/browser/extensions/script_bubble_controller_unittest.cc
index 6a4dc04..4843209 100644
--- a/chrome/browser/extensions/script_bubble_controller_unittest.cc
+++ b/chrome/browser/extensions/script_bubble_controller_unittest.cc
@@ -27,10 +27,6 @@
#include "content/public/browser/navigation_entry.h"
#include "content/public/test/test_browser_thread.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
using content::BrowserThread;
namespace extensions {
@@ -74,10 +70,6 @@ class ScriptBubbleControllerTest : public ChromeRenderViewHostTestHarness {
content::TestBrowserThread file_thread_;
FeatureSwitch::ScopedOverride enable_script_bubble_;
ScopedTestingPermissionsInfo permissions_info_;
-
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
};
TEST_F(ScriptBubbleControllerTest, Basics) {
diff --git a/chrome/browser/extensions/test_extension_environment.h b/chrome/browser/extensions/test_extension_environment.h
index 652ce10..923cb47 100644
--- a/chrome/browser/extensions/test_extension_environment.h
+++ b/chrome/browser/extensions/test_extension_environment.h
@@ -9,6 +9,10 @@
#include "base/message_loop.h"
#include "content/public/test/test_browser_thread.h"
+#if defined(OS_CHROMEOS)
+#include "chrome/browser/chromeos/login/user_manager.h"
+#endif
+
#if defined(OS_WIN)
#include "ui/base/win/scoped_ole_initializer.h"
#endif
@@ -60,6 +64,10 @@ class TestExtensionEnvironment {
// likely to be indicated by memory leaks in which the object was
// expected to be freed by a DeleteSoon() call.
+#if defined(OS_CHROMEOS)
+ chromeos::ScopedTestUserManager test_user_manager_;
+#endif
+
#if defined(OS_WIN)
ui::ScopedOleInitializer ole_initializer_;
#endif
diff --git a/chrome/browser/extensions/test_extension_system.cc b/chrome/browser/extensions/test_extension_system.cc
index 568078b..ba32742 100644
--- a/chrome/browser/extensions/test_extension_system.cc
+++ b/chrome/browser/extensions/test_extension_system.cc
@@ -27,6 +27,10 @@
#include "chrome/common/chrome_switches.h"
#include "content/public/browser/browser_thread.h"
+#if defined(OS_CHROMEOS)
+#include "chrome/browser/chromeos/login/user_manager.h"
+#endif
+
using content::BrowserThread;
namespace extensions {
@@ -88,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(),
diff --git a/chrome/browser/extensions/test_extension_system.h b/chrome/browser/extensions/test_extension_system.h
index 578ae29..31c2996 100644
--- a/chrome/browser/extensions/test_extension_system.h
+++ b/chrome/browser/extensions/test_extension_system.h
@@ -7,6 +7,10 @@
#include "chrome/browser/extensions/extension_system.h"
+#if defined(OS_CHROMEOS)
+#include "chrome/browser/chromeos/settings/cros_settings.h"
+#endif
+
class CommandLine;
namespace base {
@@ -15,6 +19,12 @@ class FilePath;
class Time;
}
+#if defined(OS_CHROMEOS)
+namespace chromeos {
+class ScopedTestUserManager;
+}
+#endif
+
namespace extensions {
// Test ExtensionSystem, for use with TestingProfile.
@@ -74,6 +84,13 @@ class TestExtensionSystem : public ExtensionSystem {
Profile* profile_;
private:
+#if defined(OS_CHROMEOS)
+ // Required to instantiate TestExtensionSystem itself.
+ chromeos::ScopedTestCrosSettings test_cros_settings_;
+ // Required to instantiate an ExtensionService.
+ scoped_ptr<chromeos::ScopedTestUserManager> test_user_manager_;
+#endif
+
// The Extension Preferences. Only created if CreateExtensionService is
// invoked.
scoped_ptr<ExtensionPrefs> extension_prefs_;
diff --git a/chrome/browser/extensions/updater/extension_updater_unittest.cc b/chrome/browser/extensions/updater/extension_updater_unittest.cc
index 4e980b2..3481c0c 100644
--- a/chrome/browser/extensions/updater/extension_updater_unittest.cc
+++ b/chrome/browser/extensions/updater/extension_updater_unittest.cc
@@ -64,10 +64,6 @@
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
using base::Time;
using base::TimeDelta;
using content::BrowserThread;
@@ -1480,10 +1476,6 @@ class ExtensionUpdaterTest : public testing::Test {
content::TestBrowserThread ui_thread_;
content::TestBrowserThread file_thread_;
content::TestBrowserThread io_thread_;
-
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
};
// Because we test some private methods of ExtensionUpdater, it's easier for the
diff --git a/chrome/browser/media_galleries/media_file_system_registry_unittest.cc b/chrome/browser/media_galleries/media_file_system_registry_unittest.cc
index f1bd299..91b691f 100644
--- a/chrome/browser/media_galleries/media_file_system_registry_unittest.cc
+++ b/chrome/browser/media_galleries/media_file_system_registry_unittest.cc
@@ -50,10 +50,6 @@
#include "sync/api/string_ordinal.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
#if defined(OS_WIN)
#include "chrome/browser/storage_monitor/test_portable_device_watcher_win.h"
#include "chrome/browser/storage_monitor/test_storage_monitor_win.h"
@@ -380,10 +376,6 @@ class MediaFileSystemRegistryTest : public ChromeRenderViewHostTestHarness {
content::TestBrowserThread file_thread_;
extensions::ScopedTestingPermissionsInfo permissions_info_;
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
-
// TODO(gbillock): Eliminate windows-specific code from this test.
#if defined(OS_WIN)
scoped_ptr<test::TestStorageMonitorWin> monitor_;
diff --git a/chrome/browser/media_galleries/media_galleries_preferences_unittest.cc b/chrome/browser/media_galleries/media_galleries_preferences_unittest.cc
index 9d6576c..a505ac7 100644
--- a/chrome/browser/media_galleries/media_galleries_preferences_unittest.cc
+++ b/chrome/browser/media_galleries/media_galleries_preferences_unittest.cc
@@ -28,10 +28,6 @@
#include "sync/api/string_ordinal.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
namespace chrome {
namespace {
@@ -219,10 +215,6 @@ class MediaGalleriesPreferencesTest : public extensions::ExtensionTest {
content::TestBrowserThread ui_thread_;
content::TestBrowserThread file_thread_;
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
-
test::TestStorageMonitor monitor_;
scoped_ptr<TestingProfile> profile_;
scoped_ptr<MediaGalleriesPreferences> gallery_prefs_;
diff --git a/chrome/browser/metrics/variations/variations_service_unittest.cc b/chrome/browser/metrics/variations/variations_service_unittest.cc
index 7ebcb71..df7faeb 100644
--- a/chrome/browser/metrics/variations/variations_service_unittest.cc
+++ b/chrome/browser/metrics/variations/variations_service_unittest.cc
@@ -20,7 +20,6 @@
#include "testing/gtest/include/gtest/gtest.h"
#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h"
#endif
@@ -111,7 +110,7 @@ class VariationsServiceTest : public testing::Test {
private:
#if defined(OS_CHROMEOS)
// Not used directly. Initializes CrosSettings for testing.
- chromeos::ScopedTestUserManager test_user_manager_;
+ chromeos::ScopedTestCrosSettings scoped_test_cros_settings;
#endif
DISALLOW_COPY_AND_ASSIGN(VariationsServiceTest);
diff --git a/chrome/browser/profiles/profile_manager_unittest.cc b/chrome/browser/profiles/profile_manager_unittest.cc
index 0b3bccb..3fda3f9 100644
--- a/chrome/browser/profiles/profile_manager_unittest.cc
+++ b/chrome/browser/profiles/profile_manager_unittest.cc
@@ -14,6 +14,7 @@
#include "build/build_config.h"
#include "chrome/browser/bookmarks/bookmark_model_factory.h"
#include "chrome/browser/browser_process.h"
+#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/extensions/event_router_forwarder.h"
#include "chrome/browser/history/history_service.h"
#include "chrome/browser/history/history_service_factory.h"
@@ -41,6 +42,7 @@
#include "chrome/browser/chromeos/cros/cros_library.h"
#include "chrome/browser/chromeos/login/mock_user_manager.h"
#include "chrome/browser/chromeos/login/user_manager.h"
+#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chromeos/chromeos_switches.h"
#endif
@@ -125,7 +127,7 @@ class ProfileManagerTest : public testing::Test {
// before io_thread_ which requires CrosLibrary to be initialized to construct
// its data member pref_proxy_config_tracker_ on ChromeOS.
chromeos::ScopedStubCrosEnabler stub_cros_enabler_;
- chromeos::ScopedTestUserManager test_user_manager_;
+ chromeos::ScopedTestCrosSettings test_cros_settings_;
#endif
// The path to temporary directory used to contain the test operations.
@@ -140,6 +142,10 @@ class ProfileManagerTest : public testing::Test {
content::TestBrowserThread file_thread_;
// IOThread is necessary for the creation of some services below.
IOThread io_thread_;
+
+#if defined(OS_CHROMEOS)
+ chromeos::ScopedTestUserManager test_user_manager_;
+#endif
};
TEST_F(ProfileManagerTest, GetProfile) {
diff --git a/chrome/browser/sync_file_system/drive_file_sync_service_mock_unittest.cc b/chrome/browser/sync_file_system/drive_file_sync_service_mock_unittest.cc
index 2416383..e7183f6 100644
--- a/chrome/browser/sync_file_system/drive_file_sync_service_mock_unittest.cc
+++ b/chrome/browser/sync_file_system/drive_file_sync_service_mock_unittest.cc
@@ -34,10 +34,6 @@
#include "webkit/fileapi/syncable/sync_file_metadata.h"
#include "webkit/fileapi/syncable/syncable_file_system_util.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
#define FPL(x) FILE_PATH_LITERAL(x)
using ::testing::AnyNumber;
@@ -637,10 +633,6 @@ class DriveFileSyncServiceMockTest : public testing::Test {
base::ScopedTempDir base_dir_;
scoped_ptr<TestingProfile> profile_;
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
-
scoped_ptr<DriveFileSyncService> sync_service_;
// Not owned.
diff --git a/chrome/browser/themes/theme_syncable_service_unittest.cc b/chrome/browser/themes/theme_syncable_service_unittest.cc
index 4b1cac0..8fa7d25 100644
--- a/chrome/browser/themes/theme_syncable_service_unittest.cc
+++ b/chrome/browser/themes/theme_syncable_service_unittest.cc
@@ -27,10 +27,6 @@
#include "sync/protocol/theme_specifics.pb.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
using std::string;
namespace {
@@ -235,10 +231,6 @@ class ThemeSyncableServiceTest : public testing::Test {
content::TestBrowserThread ui_thread_;
content::TestBrowserThread file_thread_;
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
-
scoped_ptr<TestingProfile> profile_;
FakeThemeService* fake_theme_service_;
scoped_refptr<extensions::Extension> theme_extension_;
diff --git a/chrome/browser/ui/ash/event_rewriter_unittest.cc b/chrome/browser/ui/ash/event_rewriter_unittest.cc
index b7d5919..9b1b7aa 100644
--- a/chrome/browser/ui/ash/event_rewriter_unittest.cc
+++ b/chrome/browser/ui/ash/event_rewriter_unittest.cc
@@ -19,10 +19,6 @@
#include <X11/XF86keysym.h>
#include <X11/Xlib.h>
-// X11/Xlib.h does |#define Status int|, breaking compilation as several classes
-// define enum types called |Status|.
-#undef Status
-
#include "chrome/browser/chromeos/input_method/input_method_configuration.h"
#include "chrome/browser/chromeos/input_method/mock_input_method_manager.h"
#include "chrome/browser/chromeos/login/mock_user_manager.h"
diff --git a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser_unittest.cc b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser_unittest.cc
index 7261f2e..1dcae7e 100644
--- a/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser_unittest.cc
+++ b/chrome/browser/ui/ash/launcher/chrome_launcher_controller_per_browser_unittest.cc
@@ -26,10 +26,6 @@
#include "content/public/test/test_browser_thread.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
using extensions::Extension;
using extensions::Manifest;
@@ -114,10 +110,6 @@ class ChromeLauncherControllerPerBrowserTest : public testing::Test {
content::TestBrowserThread ui_thread_;
content::TestBrowserThread file_thread_;
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
-
scoped_refptr<Extension> extension1_;
scoped_refptr<Extension> extension2_;
scoped_refptr<Extension> extension3_;
diff --git a/chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc b/chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc
index 34dc8b5..0757f69 100644
--- a/chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc
+++ b/chrome/browser/ui/sync/profile_signin_confirmation_helper_unittest.cc
@@ -39,10 +39,6 @@
#include "testing/gmock/include/gmock/gmock.h"
#include "testing/gtest/include/gtest/gtest.h"
-#if defined(OS_CHROMEOS)
-#include "chrome/browser/chromeos/login/user_manager.h"
-#endif
-
namespace {
template<typename T>
@@ -160,10 +156,6 @@ class ProfileSigninConfirmationHelperTest : public testing::Test {
scoped_ptr<TestingProfile> profile_;
TestingPrefStoreWithCustomReadError* user_prefs_;
BookmarkModel* model_;
-
-#if defined OS_CHROMEOS
- chromeos::ScopedTestUserManager test_user_manager_;
-#endif
};
TEST_F(ProfileSigninConfirmationHelperTest, DoNotPromptForNewProfile) {