| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/test/base/testing_profile.h" | 5 #include "chrome/test/base/testing_profile.h" |
| 6 | 6 |
| 7 #include "build/build_config.h" | 7 #include "build/build_config.h" |
| 8 | 8 |
| 9 #include "base/base_paths.h" | 9 #include "base/base_paths.h" |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 287 bool success = PathService::Get(base::DIR_TEMP, &system_tmp_dir); | 287 bool success = PathService::Get(base::DIR_TEMP, &system_tmp_dir); |
| 288 | 288 |
| 289 // We're severly screwed if we can't get the system temporary | 289 // We're severly screwed if we can't get the system temporary |
| 290 // directory. Die now to avoid writing to the filesystem root | 290 // directory. Die now to avoid writing to the filesystem root |
| 291 // or other bad places. | 291 // or other bad places. |
| 292 CHECK(success); | 292 CHECK(success); |
| 293 | 293 |
| 294 base::FilePath fallback_dir( | 294 base::FilePath fallback_dir( |
| 295 system_tmp_dir.AppendASCII("TestingProfilePath")); | 295 system_tmp_dir.AppendASCII("TestingProfilePath")); |
| 296 base::DeleteFile(fallback_dir, true); | 296 base::DeleteFile(fallback_dir, true); |
| 297 file_util::CreateDirectory(fallback_dir); | 297 base::CreateDirectory(fallback_dir); |
| 298 if (!temp_dir_.Set(fallback_dir)) { | 298 if (!temp_dir_.Set(fallback_dir)) { |
| 299 // That shouldn't happen, but if it does, try to recover. | 299 // That shouldn't happen, but if it does, try to recover. |
| 300 LOG(ERROR) << "Failed to use a fallback temporary directory."; | 300 LOG(ERROR) << "Failed to use a fallback temporary directory."; |
| 301 | 301 |
| 302 // We're screwed if this fails, see CHECK above. | 302 // We're screwed if this fails, see CHECK above. |
| 303 CHECK(temp_dir_.Set(system_tmp_dir)); | 303 CHECK(temp_dir_.Set(system_tmp_dir)); |
| 304 } | 304 } |
| 305 } | 305 } |
| 306 } | 306 } |
| 307 | 307 |
| 308 void TestingProfile::Init() { | 308 void TestingProfile::Init() { |
| 309 // If threads have been initialized, we should be on the UI thread. | 309 // If threads have been initialized, we should be on the UI thread. |
| 310 DCHECK(!content::BrowserThread::IsThreadInitialized( | 310 DCHECK(!content::BrowserThread::IsThreadInitialized( |
| 311 content::BrowserThread::UI) || | 311 content::BrowserThread::UI) || |
| 312 content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); | 312 content::BrowserThread::CurrentlyOn(content::BrowserThread::UI)); |
| 313 | 313 |
| 314 // Normally this would happen during browser startup, but for tests | 314 // Normally this would happen during browser startup, but for tests |
| 315 // we need to trigger creation of Profile-related services. | 315 // we need to trigger creation of Profile-related services. |
| 316 ChromeBrowserMainExtraPartsProfiles:: | 316 ChromeBrowserMainExtraPartsProfiles:: |
| 317 EnsureBrowserContextKeyedServiceFactoriesBuilt(); | 317 EnsureBrowserContextKeyedServiceFactoriesBuilt(); |
| 318 | 318 |
| 319 if (prefs_.get()) | 319 if (prefs_.get()) |
| 320 user_prefs::UserPrefs::Set(this, prefs_.get()); | 320 user_prefs::UserPrefs::Set(this, prefs_.get()); |
| 321 else | 321 else |
| 322 CreateTestingPrefService(); | 322 CreateTestingPrefService(); |
| 323 | 323 |
| 324 if (!base::PathExists(profile_path_)) | 324 if (!base::PathExists(profile_path_)) |
| 325 file_util::CreateDirectory(profile_path_); | 325 base::CreateDirectory(profile_path_); |
| 326 | 326 |
| 327 // TODO(joaodasilva): remove this once this PKS isn't created in ProfileImpl | 327 // TODO(joaodasilva): remove this once this PKS isn't created in ProfileImpl |
| 328 // anymore, after converting the PrefService to a PKS. Until then it must | 328 // anymore, after converting the PrefService to a PKS. Until then it must |
| 329 // be associated with a TestingProfile too. | 329 // be associated with a TestingProfile too. |
| 330 if (!IsOffTheRecord()) | 330 if (!IsOffTheRecord()) |
| 331 CreateProfilePolicyConnector(); | 331 CreateProfilePolicyConnector(); |
| 332 | 332 |
| 333 extensions::ExtensionSystemFactory::GetInstance()->SetTestingFactory( | 333 extensions::ExtensionSystemFactory::GetInstance()->SetTestingFactory( |
| 334 this, extensions::TestExtensionSystem::Build); | 334 this, extensions::TestExtensionSystem::Build); |
| 335 | 335 |
| (...skipping 574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 910 return scoped_ptr<TestingProfile>(new TestingProfile( | 910 return scoped_ptr<TestingProfile>(new TestingProfile( |
| 911 path_, | 911 path_, |
| 912 delegate_, | 912 delegate_, |
| 913 extension_policy_, | 913 extension_policy_, |
| 914 pref_service_.Pass(), | 914 pref_service_.Pass(), |
| 915 incognito_, | 915 incognito_, |
| 916 managed_user_id_, | 916 managed_user_id_, |
| 917 policy_service_.Pass(), | 917 policy_service_.Pass(), |
| 918 testing_factories_)); | 918 testing_factories_)); |
| 919 } | 919 } |
| OLD | NEW |