summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions
diff options
context:
space:
mode:
authorkalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-23 17:21:42 +0000
committerkalman@chromium.org <kalman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-23 17:21:42 +0000
commit363f5272cc19dc56e7711d1ef0c3a0c0d52072ca (patch)
treea4361820bcd5d36e014fd595eb1c2de0d3825aac /chrome/browser/extensions
parent693ed9d8099c907890474e0ce5728ce1aa0906b1 (diff)
downloadchromium_src-363f5272cc19dc56e7711d1ef0c3a0c0d52072ca.zip
chromium_src-363f5272cc19dc56e7711d1ef0c3a0c0d52072ca.tar.gz
chromium_src-363f5272cc19dc56e7711d1ef0c3a0c0d52072ca.tar.bz2
Revert 195811 "Explicitly construct/destruct UserManager and dep..."
> Explicitly construct/destruct UserManager and dependencies in tests > > The ScopedTestUserManager initializes and subsequently tears down the > UserManager singleton only if it has not been initialized already. This > allows ScopedTestUserManagers to be nested but also means that it is > never clear which ScopedTestUserManager actually did end up initializing > the singleton. The same goes for ScopedTestCrosSettings. > > This CL makes the initialization and teardown explicit. The helper classes > now explicitly manage the initialization and teardown of their respective > singletons and cannot be nested anymore. > > BUG=None > > For tests that need to instantiate a UserManager: > TBR=sky,rkc,aa,thestig,asvitkine,davemoore,kinuko,pkotwicz,davemoore,akalin > > Review URL: https://codereview.chromium.org/14192040 TBR=bartfab@google.com Review URL: https://codereview.chromium.org/14436007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@195821 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/extensions')
-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
14 files changed, 34 insertions, 91 deletions
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