Chromium Code Reviews| 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 78fad9ec0e7f65f84334d8e7cd8eb2e559f09a84..ea5d0a6eef20d107e28cb3db5aee613ef1433a73 100644 |
| --- a/chrome/browser/extensions/extension_service_unittest.cc |
| +++ b/chrome/browser/extensions/extension_service_unittest.cc |
| @@ -478,6 +478,18 @@ ExtensionServiceTestBase::~ExtensionServiceTestBase() { |
| void ExtensionServiceTestBase::InitializeExtensionService( |
| const ExtensionServiceTestBase::ExtensionServiceInitParams& params) { |
| + InitializeExtensionServiceForProfile(params, &profile_, &service_); |
| + management_policy_ = |
| + ExtensionSystem::Get(profile_.get())->management_policy(); |
| + extensions_install_dir_ = params.extensions_install_dir; |
| + expected_extensions_count_ = 0; |
| +} |
| + |
| +// static |
| +void ExtensionServiceTestBase::InitializeExtensionServiceForProfile( |
| + const ExtensionServiceInitParams& params, |
| + scoped_ptr<TestingProfile>* profile_ptr, |
|
stevenjb
2013/11/20 19:41:15
This is pretty confusing. Use of scoped_ptr<>& and
benwells
2013/11/21 00:47:47
Yep, seems like you could encapsulate the bits you
tapted
2013/11/21 03:29:56
Done.
|
| + ExtensionService** service_ptr) { |
| TestingProfile::Builder profile_builder; |
| // Create a PrefService that only contains user defined preference values. |
| PrefServiceMockFactory factory; |
| @@ -498,10 +510,11 @@ void ExtensionServiceTestBase::InitializeExtensionService( |
| profile_builder.SetManagedUserId("asdf"); |
| profile_builder.SetPath(params.profile_path); |
| - profile_ = profile_builder.Build(); |
| + scoped_ptr<TestingProfile>& profile = *profile_ptr; |
| + profile = profile_builder.Build(); |
| TestExtensionSystem* system = static_cast<TestExtensionSystem*>( |
| - ExtensionSystem::Get(profile_.get())); |
| + ExtensionSystem::Get(profile.get())); |
| if (!params.is_first_run) { |
| ExtensionPrefs* prefs = system->CreateExtensionPrefs( |
| CommandLine::ForCurrentProcess(), |
| @@ -509,34 +522,28 @@ void ExtensionServiceTestBase::InitializeExtensionService( |
| prefs->SetAlertSystemFirstRun(); |
| } |
| - service_ = system->CreateExtensionService( |
| + ExtensionService*& service = *service_ptr; |
| + service = system->CreateExtensionService( |
|
benwells
2013/11/21 00:47:47
huh? Why so many *'s and &'s??
more importantly, w
tapted
2013/11/21 03:29:56
All fixed :) - at this stage I was still aiming on
|
| CommandLine::ForCurrentProcess(), |
| params.extensions_install_dir, |
| params.autoupdate_enabled); |
| - service_->SetFileTaskRunnerForTesting( |
| + service->SetFileTaskRunnerForTesting( |
| base::MessageLoopProxy::current().get()); |
| - service_->set_extensions_enabled(true); |
| - service_->set_show_extensions_prompts(false); |
| - service_->set_install_updates_when_idle_for_test(false); |
| - |
| - management_policy_ = |
| - ExtensionSystem::Get(profile_.get())->management_policy(); |
| - |
| - extensions_install_dir_ = params.extensions_install_dir; |
| + service->set_extensions_enabled(true); |
| + service->set_show_extensions_prompts(false); |
| + service->set_install_updates_when_idle_for_test(false); |
| // 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 |
| // interfere with the tests. Those tests that need an external provider |
| // will register one specifically. |
| - service_->ClearProvidersForTesting(); |
| + service->ClearProvidersForTesting(); |
| #if defined(OS_CHROMEOS) |
| - extensions::InstallLimiter::Get(profile_.get())->DisableForTest(); |
| + extensions::InstallLimiter::Get(profile.get())->DisableForTest(); |
| #endif |
| - |
| - expected_extensions_count_ = 0; |
| } |
| void ExtensionServiceTestBase::InitializeInstalledExtensionService( |
| @@ -612,9 +619,16 @@ void ExtensionServiceTestBase::TearDown() { |
| ExtensionServiceTestBase::ExtensionServiceInitParams |
| ExtensionServiceTestBase::CreateDefaultInitParams() { |
| + return CreateDefaultInitParamsInTempDir(&temp_dir_); |
| +} |
| + |
| +// static |
| +ExtensionServiceTestBase::ExtensionServiceInitParams |
| +ExtensionServiceTestBase::CreateDefaultInitParamsInTempDir( |
| + base::ScopedTempDir* temp_dir_) { |
| ExtensionServiceInitParams params; |
| - EXPECT_TRUE(temp_dir_.CreateUniqueTempDir()); |
| - base::FilePath path = temp_dir_.path(); |
| + EXPECT_TRUE(temp_dir_->CreateUniqueTempDir()); |
| + base::FilePath path = temp_dir_->path(); |
| path = path.Append(FILE_PATH_LITERAL("TestingExtensionsPath")); |
| EXPECT_TRUE(base::DeleteFile(path, true)); |
| base::PlatformFileError error = base::PLATFORM_FILE_OK; |