| Index: chrome/browser/extensions/extension_service_unittest.cc
|
| diff --git a/chrome/browser/extensions/extension_service_unittest.cc b/chrome/browser/extensions/extension_service_unittest.cc
|
| index 38c51b076245d223a46e01765284cdbe7572ca9c..cc15a06c6925528bfbca114272cdf9e5de876e7b 100644
|
| --- a/chrome/browser/extensions/extension_service_unittest.cc
|
| +++ b/chrome/browser/extensions/extension_service_unittest.cc
|
| @@ -449,7 +449,7 @@ class MockProviderVisitor
|
|
|
| ExtensionServiceTestBase::ExtensionServiceInitParams::
|
| ExtensionServiceInitParams()
|
| - : autoupdate_enabled(false), is_first_run(true) {
|
| + : autoupdate_enabled(false), is_first_run(true), profile_is_managed(false) {
|
| }
|
|
|
| // Our message loop may be used in tests which require it to be an IO loop.
|
| @@ -487,6 +487,10 @@ void ExtensionServiceTestBase::InitializeExtensionService(
|
| chrome::RegisterUserProfilePrefs(registry.get());
|
| profile_builder.SetPrefService(prefs.Pass());
|
| }
|
| +
|
| + if (params.profile_is_managed)
|
| + profile_builder.SetManagedUserId("asdf");
|
| +
|
| profile_builder.SetPath(params.profile_path);
|
| profile_ = profile_builder.Build();
|
|
|
| @@ -512,6 +516,8 @@ void ExtensionServiceTestBase::InitializeExtensionService(
|
| management_policy_ =
|
| ExtensionSystem::Get(profile_.get())->management_policy();
|
|
|
| + extensions_install_dir_ = params.extensions_install_dir;
|
| +
|
| // When we start up, we want to make sure there is no external provider,
|
| // since the ExtensionService on Windows will use the Registry as a default
|
| // provider and if there is something already registered there then it will
|
| @@ -529,22 +535,25 @@ void ExtensionServiceTestBase::InitializeExtensionService(
|
| void ExtensionServiceTestBase::InitializeInstalledExtensionService(
|
| const base::FilePath& prefs_file,
|
| const base::FilePath& source_install_dir) {
|
| - ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
|
| + EXPECT_TRUE(temp_dir_.CreateUniqueTempDir());
|
| base::FilePath path = temp_dir_.path();
|
| path = path.Append(FILE_PATH_LITERAL("TestingExtensionsPath"));
|
| - base::DeleteFile(path, true);
|
| - file_util::CreateDirectory(path);
|
| + EXPECT_TRUE(base::DeleteFile(path, true));
|
| + base::PlatformFileError error = base::PLATFORM_FILE_OK;
|
| + EXPECT_TRUE(file_util::CreateDirectoryAndGetError(path, &error)) << error;
|
| base::FilePath temp_prefs = path.Append(FILE_PATH_LITERAL("Preferences"));
|
| - base::CopyFile(prefs_file, temp_prefs);
|
| + EXPECT_TRUE(base::CopyFile(prefs_file, temp_prefs));
|
|
|
| - extensions_install_dir_ = path.Append(FILE_PATH_LITERAL("Extensions"));
|
| - base::DeleteFile(extensions_install_dir_, true);
|
| - base::CopyDirectory(source_install_dir, extensions_install_dir_, true);
|
| + base::FilePath extensions_install_dir =
|
| + path.Append(FILE_PATH_LITERAL("Extensions"));
|
| + EXPECT_TRUE(base::DeleteFile(extensions_install_dir, true));
|
| + EXPECT_TRUE(
|
| + base::CopyDirectory(source_install_dir, extensions_install_dir, true));
|
|
|
| ExtensionServiceInitParams params;
|
| params.profile_path = path;
|
| params.pref_file = temp_prefs;
|
| - params.extensions_install_dir = extensions_install_dir_;
|
| + params.extensions_install_dir = extensions_install_dir;
|
| InitializeExtensionService(params);
|
| }
|
|
|
| @@ -559,7 +568,7 @@ void ExtensionServiceTestBase::InitializeGoodInstalledExtensionService() {
|
| }
|
|
|
| void ExtensionServiceTestBase::InitializeEmptyExtensionService() {
|
| - InitializeExtensionServiceHelper(false, true);
|
| + InitializeExtensionService(CreateDefaultInitParams());
|
| }
|
|
|
| void ExtensionServiceTestBase::InitializeExtensionProcessManager() {
|
| @@ -569,30 +578,33 @@ void ExtensionServiceTestBase::InitializeExtensionProcessManager() {
|
| }
|
|
|
| void ExtensionServiceTestBase::InitializeExtensionServiceWithUpdater() {
|
| - InitializeExtensionServiceHelper(true, true);
|
| + ExtensionServiceInitParams params = CreateDefaultInitParams();
|
| + params.autoupdate_enabled = true;
|
| + InitializeExtensionService(params);
|
| service_->updater()->Start();
|
| }
|
|
|
| -void ExtensionServiceTestBase::InitializeExtensionServiceHelper(
|
| - bool autoupdate_enabled, bool is_first_run) {
|
| - ASSERT_TRUE(temp_dir_.CreateUniqueTempDir());
|
| +ExtensionServiceTestBase::ExtensionServiceInitParams
|
| +ExtensionServiceTestBase::CreateDefaultInitParams() {
|
| + ExtensionServiceInitParams params;
|
| + EXPECT_TRUE(temp_dir_.CreateUniqueTempDir());
|
| base::FilePath path = temp_dir_.path();
|
| path = path.Append(FILE_PATH_LITERAL("TestingExtensionsPath"));
|
| - base::DeleteFile(path, true);
|
| - file_util::CreateDirectory(path);
|
| + EXPECT_TRUE(base::DeleteFile(path, true));
|
| + base::PlatformFileError error = base::PLATFORM_FILE_OK;
|
| + EXPECT_TRUE(file_util::CreateDirectoryAndGetError(path, &error)) << error;
|
| base::FilePath prefs_filename =
|
| path.Append(FILE_PATH_LITERAL("TestPreferences"));
|
| - extensions_install_dir_ = path.Append(FILE_PATH_LITERAL("Extensions"));
|
| - base::DeleteFile(extensions_install_dir_, true);
|
| - file_util::CreateDirectory(extensions_install_dir_);
|
| + base::FilePath extensions_install_dir =
|
| + path.Append(FILE_PATH_LITERAL("Extensions"));
|
| + EXPECT_TRUE(base::DeleteFile(extensions_install_dir, true));
|
| + EXPECT_TRUE(file_util::CreateDirectoryAndGetError(extensions_install_dir,
|
| + &error)) << error;
|
|
|
| - ExtensionServiceInitParams params;
|
| params.profile_path = path;
|
| params.pref_file = prefs_filename;
|
| - params.extensions_install_dir = extensions_install_dir_;
|
| - params.autoupdate_enabled = autoupdate_enabled;
|
| - params.is_first_run = is_first_run;
|
| - InitializeExtensionService(params);
|
| + params.extensions_install_dir = extensions_install_dir;
|
| + return params;
|
| }
|
|
|
| // static
|
| @@ -6475,7 +6487,9 @@ TEST_F(ExtensionServiceTest, ExternalInstallUpdatesFromWebstoreOldProfile) {
|
|
|
| // This sets up the ExtensionPrefs used by our ExtensionService to be
|
| // post-first run.
|
| - InitializeExtensionServiceHelper(false, false);
|
| + ExtensionServiceInitParams params = CreateDefaultInitParams();
|
| + params.is_first_run = false;
|
| + InitializeExtensionService(params);
|
|
|
| base::FilePath crx_path = temp_dir_.path().AppendASCII("webstore.crx");
|
| PackCRX(data_dir_.AppendASCII("update_from_webstore"),
|
|
|