diff options
Diffstat (limited to 'chrome/browser/managed_mode')
6 files changed, 69 insertions, 63 deletions
diff --git a/chrome/browser/managed_mode/managed_mode_browsertest.cc b/chrome/browser/managed_mode/managed_mode_browsertest.cc index 67e54ed..86e3817 100644 --- a/chrome/browser/managed_mode/managed_mode_browsertest.cc +++ b/chrome/browser/managed_mode/managed_mode_browsertest.cc @@ -107,7 +107,6 @@ class ManagedModeBlockModeTest : public InProcessBrowserTest { Profile* profile = browser()->profile(); managed_user_service_ = ManagedUserServiceFactory::GetForProfile(profile); - managed_user_service_->InitForTesting(); ManagedUserSettingsService* managed_user_settings_service = ManagedUserSettingsServiceFactory::GetForProfile(profile); managed_user_settings_service->SetLocalSettingForTesting( @@ -124,6 +123,8 @@ class ManagedModeBlockModeTest : public InProcessBrowserTest { "MAP *.example.com " + host_port + "," + "MAP *.new-example.com " + host_port + "," + "MAP *.a.com " + host_port); + + command_line->AppendSwitch(switches::kNewProfileIsSupervised); } // Acts like a synchronous call to history's QueryHistory. Modified from diff --git a/chrome/browser/managed_mode/managed_mode_resource_throttle_browsertest.cc b/chrome/browser/managed_mode/managed_mode_resource_throttle_browsertest.cc index 9fdf8a6..9bfb460 100644 --- a/chrome/browser/managed_mode/managed_mode_resource_throttle_browsertest.cc +++ b/chrome/browser/managed_mode/managed_mode_resource_throttle_browsertest.cc @@ -4,6 +4,7 @@ #include "chrome/browser/managed_mode/managed_mode_resource_throttle.h" +#include "base/command_line.h" #include "base/prefs/pref_service.h" #include "base/values.h" #include "chrome/browser/managed_mode/managed_user_constants.h" @@ -13,6 +14,7 @@ #include "chrome/browser/managed_mode/managed_user_settings_service_factory.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" +#include "chrome/common/chrome_switches.h" #include "chrome/test/base/in_process_browser_test.h" #include "chrome/test/base/ui_test_utils.h" #include "content/public/browser/navigation_entry.h" @@ -33,6 +35,7 @@ class ManagedModeResourceThrottleTest : public InProcessBrowserTest { private: virtual void SetUpOnMainThread() OVERRIDE; + virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE; ManagedUserService* managed_user_service_; }; @@ -40,7 +43,11 @@ class ManagedModeResourceThrottleTest : public InProcessBrowserTest { void ManagedModeResourceThrottleTest::SetUpOnMainThread() { managed_user_service_ = ManagedUserServiceFactory::GetForProfile(browser()->profile()); - managed_user_service_->InitForTesting(); +} + +void ManagedModeResourceThrottleTest::SetUpCommandLine( + CommandLine* command_line) { + command_line->AppendSwitch(switches::kNewProfileIsSupervised); } // Tests that showing the blocking interstitial for a WebContents without a diff --git a/chrome/browser/managed_mode/managed_user_service.cc b/chrome/browser/managed_mode/managed_user_service.cc index 96bb3a1..7015c3f 100644 --- a/chrome/browser/managed_mode/managed_user_service.cc +++ b/chrome/browser/managed_mode/managed_user_service.cc @@ -293,11 +293,6 @@ void ManagedUserService::DidBlockNavigation( } } -void ManagedUserService::AddInitCallback( - const base::Closure& callback) { - init_callbacks_.push_back(callback); -} - std::string ManagedUserService::GetDebugPolicyProviderName() const { // Save the string space in official builds. #ifdef NDEBUG @@ -528,12 +523,6 @@ void ManagedUserService::GetManualExceptionsForHost(const std::string& host, } } -void ManagedUserService::InitForTesting() { - DCHECK(!profile_->IsManaged()); - profile_->GetPrefs()->SetString(prefs::kManagedUserId, "Test ID"); - Init(); -} - void ManagedUserService::InitSync(const std::string& refresh_token) { ProfileSyncService* service = ProfileSyncServiceFactory::GetForProfile(profile_); @@ -611,14 +600,6 @@ void ManagedUserService::Init() { UpdateSiteLists(); UpdateManualHosts(); UpdateManualURLs(); - - // Call the callbacks to notify that the ManagedUserService has been - // initialized. - for (std::vector<base::Closure>::iterator it = init_callbacks_.begin(); - it != init_callbacks_.end(); - ++it) { - it->Run(); - } } void ManagedUserService::RegisterAndInitSync( diff --git a/chrome/browser/managed_mode/managed_user_service.h b/chrome/browser/managed_mode/managed_user_service.h index b2d05f6..baf790c 100644 --- a/chrome/browser/managed_mode/managed_user_service.h +++ b/chrome/browser/managed_mode/managed_user_service.h @@ -116,9 +116,6 @@ class ManagedUserService : public BrowserContextKeyedService, // managed. void Init(); - // Marks the profile as managed and initializes it. - void InitForTesting(); - // Initializes this profile for syncing, using the provided |refresh_token| to // mint access tokens for Sync. void InitSync(const std::string& refresh_token); @@ -144,8 +141,6 @@ class ManagedUserService : public BrowserContextKeyedService, void AddNavigationBlockedCallback(const NavigationBlockedCallback& callback); void DidBlockNavigation(content::WebContents* web_contents); - void AddInitCallback(const base::Closure& callback); - // extensions::ManagementPolicy::Provider implementation: virtual std::string GetDebugPolicyProviderName() const OVERRIDE; virtual bool UserMayLoad(const extensions::Extension* extension, @@ -165,7 +160,7 @@ class ManagedUserService : public BrowserContextKeyedService, virtual void OnBrowserSetLastActive(Browser* browser) OVERRIDE; private: - friend class ManagedUserServiceExtensionTest; + friend class ManagedUserServiceExtensionTestBase; friend class ManagedUserServiceFactory; FRIEND_TEST_ALL_PREFIXES(ManagedUserServiceTest, ExtensionManagementPolicyProviderUnmanaged); @@ -259,8 +254,6 @@ class ManagedUserService : public BrowserContextKeyedService, bool waiting_for_sync_initialization_; bool is_profile_active_; - std::vector<base::Closure> init_callbacks_; - std::vector<NavigationBlockedCallback> navigation_blocked_callbacks_; // Sets a profile in elevated state for testing if set to true. diff --git a/chrome/browser/managed_mode/managed_user_service_browsertest.cc b/chrome/browser/managed_mode/managed_user_service_browsertest.cc index 9af82f6..571f413 100644 --- a/chrome/browser/managed_mode/managed_user_service_browsertest.cc +++ b/chrome/browser/managed_mode/managed_user_service_browsertest.cc @@ -2,6 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +#include "base/command_line.h" #include "base/prefs/pref_service.h" #include "base/strings/utf_string_conversions.h" #include "chrome/browser/browser_process.h" @@ -14,24 +15,26 @@ #include "chrome/browser/profiles/profile_info_cache.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/browser/ui/browser.h" +#include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" #include "chrome/test/base/in_process_browser_test.h" #include "content/public/test/test_utils.h" typedef InProcessBrowserTest ManagedUserServiceTest; +class ManagedUserServiceTestManaged : public InProcessBrowserTest { + public: + // content::BrowserTestBase: + virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { + command_line->AppendSwitch(switches::kNewProfileIsSupervised); + } +}; + IN_PROC_BROWSER_TEST_F(ManagedUserServiceTest, LocalPolicies) { Profile* profile = browser()->profile(); PrefService* prefs = profile->GetPrefs(); EXPECT_FALSE(prefs->GetBoolean(prefs::kForceSafeSearch)); EXPECT_TRUE(prefs->IsUserModifiablePreference(prefs::kForceSafeSearch)); - - ManagedUserService* managed_user_service = - ManagedUserServiceFactory::GetForProfile(profile); - managed_user_service->InitForTesting(); - - EXPECT_TRUE(prefs->GetBoolean(prefs::kForceSafeSearch)); - EXPECT_FALSE(prefs->IsUserModifiablePreference(prefs::kForceSafeSearch)); } IN_PROC_BROWSER_TEST_F(ManagedUserServiceTest, ProfileName) { @@ -45,11 +48,22 @@ IN_PROC_BROWSER_TEST_F(ManagedUserServiceTest, ProfileName) { size_t profile_index = cache.GetIndexOfProfileWithPath(profile->GetPath()); EXPECT_EQ(original_name, UTF16ToUTF8(cache.GetNameOfProfileAtIndex(profile_index))); +} + +IN_PROC_BROWSER_TEST_F(ManagedUserServiceTestManaged, LocalPolicies) { + Profile* profile = browser()->profile(); + PrefService* prefs = profile->GetPrefs(); + EXPECT_TRUE(prefs->GetBoolean(prefs::kForceSafeSearch)); + EXPECT_FALSE(prefs->IsUserModifiablePreference(prefs::kForceSafeSearch)); +} + +IN_PROC_BROWSER_TEST_F(ManagedUserServiceTestManaged, ProfileName) { + Profile* profile = browser()->profile(); + PrefService* prefs = profile->GetPrefs(); + std::string original_name = prefs->GetString(prefs::kProfileName); + ProfileManager* profile_manager = g_browser_process->profile_manager(); + const ProfileInfoCache& cache = profile_manager->GetProfileInfoCache(); - // Change the profile to a managed user. - ManagedUserService* managed_user_service = - ManagedUserServiceFactory::GetForProfile(profile); - managed_user_service->InitForTesting(); ManagedUserSettingsService* settings = ManagedUserSettingsServiceFactory::GetForProfile(profile); @@ -59,7 +73,7 @@ IN_PROC_BROWSER_TEST_F(ManagedUserServiceTest, ProfileName) { scoped_ptr<base::Value>(new base::StringValue(name))); EXPECT_FALSE(prefs->IsUserModifiablePreference(prefs::kProfileName)); EXPECT_EQ(name, prefs->GetString(prefs::kProfileName)); - profile_index = cache.GetIndexOfProfileWithPath(profile->GetPath()); + size_t profile_index = cache.GetIndexOfProfileWithPath(profile->GetPath()); EXPECT_EQ(name, UTF16ToUTF8(cache.GetNameOfProfileAtIndex(profile_index))); // Change the name once more. diff --git a/chrome/browser/managed_mode/managed_user_service_unittest.cc b/chrome/browser/managed_mode/managed_user_service_unittest.cc index 42a2a32..97183eb 100644 --- a/chrome/browser/managed_mode/managed_user_service_unittest.cc +++ b/chrome/browser/managed_mode/managed_user_service_unittest.cc @@ -20,7 +20,7 @@ #include "chrome/common/extensions/extension_builder.h" #include "chrome/common/pref_names.h" #include "chrome/test/base/testing_profile.h" -#include "content/public/test/test_browser_thread.h" +#include "content/public/test/test_browser_thread_bundle.h" #include "content/public/test/test_utils.h" #include "extensions/common/manifest_constants.h" #include "testing/gtest/include/gtest/gtest.h" @@ -66,16 +66,14 @@ class ManagedModeURLFilterObserver : public ManagedModeURLFilter::Observer { class ManagedUserServiceTest : public ::testing::Test { public: - ManagedUserServiceTest() : ui_thread_(content::BrowserThread::UI, - &message_loop_) { + ManagedUserServiceTest() { managed_user_service_ = ManagedUserServiceFactory::GetForProfile(&profile_); } virtual ~ManagedUserServiceTest() {} protected: - base::MessageLoop message_loop_; - content::TestBrowserThread ui_thread_; + content::TestBrowserThreadBundle thread_bundle_; TestingProfile profile_; ManagedUserService* managed_user_service_; }; @@ -152,18 +150,19 @@ TEST_F(ManagedUserServiceTest, ShutDownCustodianProfileDownloader) { downloader_service->DownloadProfile(base::Bind(&OnProfileDownloadedFail)); } -class ManagedUserServiceExtensionTest : public ExtensionServiceTestBase { +class ManagedUserServiceExtensionTestBase : public ExtensionServiceTestBase { public: - ManagedUserServiceExtensionTest() {} - virtual ~ManagedUserServiceExtensionTest() {} + explicit ManagedUserServiceExtensionTestBase(bool is_managed) + : is_managed_(is_managed) {} + virtual ~ManagedUserServiceExtensionTestBase() {} virtual void SetUp() OVERRIDE { ExtensionServiceTestBase::SetUp(); - InitializeEmptyExtensionService(); - } - - virtual void TearDown() OVERRIDE { - ExtensionServiceTestBase::TearDown(); + ExtensionServiceTestBase::ExtensionServiceInitParams params = + CreateDefaultInitParams(); + params.profile_is_managed = is_managed_; + InitializeExtensionService(params); + ManagedUserServiceFactory::GetForProfile(profile_.get())->Init(); } protected: @@ -193,10 +192,26 @@ class ManagedUserServiceExtensionTest : public ExtensionServiceTestBase { builder.SetManifest(manifest.Pass()).Build(); return extension; } + + bool is_managed_; +}; + +class ManagedUserServiceExtensionTestUnmanaged + : public ManagedUserServiceExtensionTestBase { + public: + ManagedUserServiceExtensionTestUnmanaged() + : ManagedUserServiceExtensionTestBase(false) {} }; -TEST_F(ManagedUserServiceExtensionTest, - ExtensionManagementPolicyProviderUnmanaged) { +class ManagedUserServiceExtensionTest + : public ManagedUserServiceExtensionTestBase { + public: + ManagedUserServiceExtensionTest() + : ManagedUserServiceExtensionTestBase(true) {} +}; + +TEST_F(ManagedUserServiceExtensionTestUnmanaged, + ExtensionManagementPolicyProvider) { ManagedUserService* managed_user_service = ManagedUserServiceFactory::GetForProfile(profile_.get()); EXPECT_FALSE(profile_->IsManaged()); @@ -212,14 +227,12 @@ TEST_F(ManagedUserServiceExtensionTest, EXPECT_EQ(string16(), error_2); } -TEST_F(ManagedUserServiceExtensionTest, - ExtensionManagementPolicyProviderManaged) { +TEST_F(ManagedUserServiceExtensionTest, ExtensionManagementPolicyProvider) { ManagedUserService* managed_user_service = ManagedUserServiceFactory::GetForProfile(profile_.get()); - managed_user_service->InitForTesting(); ManagedModeURLFilterObserver observer( managed_user_service->GetURLFilterForUIThread()); - EXPECT_TRUE(profile_->IsManaged()); + ASSERT_TRUE(profile_->IsManaged()); // Wait for the initial update to finish (otherwise we'll get leaks). observer.Wait(); @@ -247,11 +260,9 @@ TEST_F(ManagedUserServiceExtensionTest, #endif } - TEST_F(ManagedUserServiceExtensionTest, NoContentPacks) { ManagedUserService* managed_user_service = ManagedUserServiceFactory::GetForProfile(profile_.get()); - managed_user_service->Init(); ManagedModeURLFilter* url_filter = managed_user_service->GetURLFilterForUIThread(); @@ -266,7 +277,6 @@ TEST_F(ManagedUserServiceExtensionTest, NoContentPacks) { TEST_F(ManagedUserServiceExtensionTest, InstallContentPacks) { ManagedUserService* managed_user_service = ManagedUserServiceFactory::GetForProfile(profile_.get()); - managed_user_service->InitForTesting(); ManagedModeURLFilter* url_filter = managed_user_service->GetURLFilterForUIThread(); ManagedModeURLFilterObserver observer(url_filter); |