| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/browser/profiles/profile_impl.h" | 5 #include "chrome/browser/profiles/profile_impl.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/compiler_specific.h" | 8 #include "base/compiler_specific.h" |
| 9 #include "base/environment.h" | 9 #include "base/environment.h" |
| 10 #include "base/file_path.h" | 10 #include "base/file_path.h" |
| (...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 296 start_time_(Time::Now()), | 296 start_time_(Time::Now()), |
| 297 spellcheck_host_(NULL), | 297 spellcheck_host_(NULL), |
| 298 spellcheck_host_ready_(false), | 298 spellcheck_host_ready_(false), |
| 299 #if defined(OS_WIN) | 299 #if defined(OS_WIN) |
| 300 checked_instant_promo_(false), | 300 checked_instant_promo_(false), |
| 301 #endif | 301 #endif |
| 302 delegate_(delegate) { | 302 delegate_(delegate) { |
| 303 DCHECK(!path.empty()) << "Using an empty path will attempt to write " << | 303 DCHECK(!path.empty()) << "Using an empty path will attempt to write " << |
| 304 "profile files to the root directory!"; | 304 "profile files to the root directory!"; |
| 305 | 305 |
| 306 #ifndef NDEBUG | |
| 307 ProfileDependencyManager::GetInstance()->ProfileNowExists(this); | |
| 308 #endif | |
| 309 | |
| 310 create_session_service_timer_.Start( | 306 create_session_service_timer_.Start( |
| 311 TimeDelta::FromMilliseconds(kCreateSessionServiceDelayMS), this, | 307 TimeDelta::FromMilliseconds(kCreateSessionServiceDelayMS), this, |
| 312 &ProfileImpl::EnsureSessionServiceCreated); | 308 &ProfileImpl::EnsureSessionServiceCreated); |
| 313 | 309 |
| 314 if (delegate_) { | 310 if (delegate_) { |
| 315 prefs_.reset(PrefService::CreatePrefService( | 311 prefs_.reset(PrefService::CreatePrefService( |
| 316 GetPrefFilePath(), | 312 GetPrefFilePath(), |
| 317 new ExtensionPrefStore(GetExtensionPrefValueMap(), false), | 313 new ExtensionPrefStore(GetExtensionPrefValueMap(), false), |
| 318 true)); | 314 true)); |
| 319 // Wait for the notifcation that prefs has been loaded (successfully or | 315 // Wait for the notifcation that prefs has been loaded (successfully or |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 372 // Initialize the BackgroundModeManager - this has to be done here before | 368 // Initialize the BackgroundModeManager - this has to be done here before |
| 373 // InitExtensions() is called because it relies on receiving notifications | 369 // InitExtensions() is called because it relies on receiving notifications |
| 374 // when extensions are loaded. BackgroundModeManager is not needed under | 370 // when extensions are loaded. BackgroundModeManager is not needed under |
| 375 // ChromeOS because Chrome is always running (no need for special keep-alive | 371 // ChromeOS because Chrome is always running (no need for special keep-alive |
| 376 // or launch-on-startup support). | 372 // or launch-on-startup support). |
| 377 #if !defined(OS_CHROMEOS) | 373 #if !defined(OS_CHROMEOS) |
| 378 if (g_browser_process->background_mode_manager()) | 374 if (g_browser_process->background_mode_manager()) |
| 379 g_browser_process->background_mode_manager()->RegisterProfile(this); | 375 g_browser_process->background_mode_manager()->RegisterProfile(this); |
| 380 #endif | 376 #endif |
| 381 | 377 |
| 382 BackgroundContentsServiceFactory::GetForProfile(this); | |
| 383 | |
| 384 extension_info_map_ = new ExtensionInfoMap(); | 378 extension_info_map_ = new ExtensionInfoMap(); |
| 385 | 379 |
| 386 InitRegisteredProtocolHandlers(); | 380 InitRegisteredProtocolHandlers(); |
| 387 | 381 |
| 388 clear_local_state_on_exit_ = prefs->GetBoolean(prefs::kClearSiteDataOnExit); | 382 clear_local_state_on_exit_ = prefs->GetBoolean(prefs::kClearSiteDataOnExit); |
| 389 if (clear_local_state_on_exit_) { | 383 if (clear_local_state_on_exit_) { |
| 390 UserMetrics::RecordAction( | 384 UserMetrics::RecordAction( |
| 391 UserMetricsAction("ClearSiteDataOnExitEnabled")); | 385 UserMetricsAction("ClearSiteDataOnExitEnabled")); |
| 392 } else { | 386 } else { |
| 393 UserMetrics::RecordAction( | 387 UserMetrics::RecordAction( |
| (...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 863 // Make sure we save to disk that the session has opened. | 857 // Make sure we save to disk that the session has opened. |
| 864 prefs_->ScheduleSavePersistentPrefs(); | 858 prefs_->ScheduleSavePersistentPrefs(); |
| 865 | 859 |
| 866 // Ensure that preferences set by extensions are restored in the profile | 860 // Ensure that preferences set by extensions are restored in the profile |
| 867 // as early as possible. The constructor takes care of that. | 861 // as early as possible. The constructor takes care of that. |
| 868 extension_prefs_.reset(new ExtensionPrefs( | 862 extension_prefs_.reset(new ExtensionPrefs( |
| 869 prefs_.get(), | 863 prefs_.get(), |
| 870 GetPath().AppendASCII(ExtensionService::kInstallDirectoryName), | 864 GetPath().AppendASCII(ExtensionService::kInstallDirectoryName), |
| 871 GetExtensionPrefValueMap())); | 865 GetExtensionPrefValueMap())); |
| 872 | 866 |
| 867 ProfileDependencyManager::GetInstance()->CreateProfileServices(this, false); |
| 868 |
| 873 DCHECK(!net_pref_observer_.get()); | 869 DCHECK(!net_pref_observer_.get()); |
| 874 net_pref_observer_.reset( | 870 net_pref_observer_.reset( |
| 875 new NetPrefObserver(prefs_.get(), GetPrerenderManager())); | 871 new NetPrefObserver(prefs_.get(), GetPrerenderManager())); |
| 876 | 872 |
| 877 DoFinalInit(); | 873 DoFinalInit(); |
| 878 } | 874 } |
| 879 | 875 |
| 880 PrefService* ProfileImpl::GetPrefs() { | 876 PrefService* ProfileImpl::GetPrefs() { |
| 881 DCHECK(prefs_.get()); // Should explicitly be initialized. | 877 DCHECK(prefs_.get()); // Should explicitly be initialized. |
| 882 return prefs_.get(); | 878 return prefs_.get(); |
| (...skipping 834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1717 if (!prerender::PrerenderManager::IsPrerenderingPossible()) | 1713 if (!prerender::PrerenderManager::IsPrerenderingPossible()) |
| 1718 return NULL; | 1714 return NULL; |
| 1719 if (!prerender_manager_.get()) { | 1715 if (!prerender_manager_.get()) { |
| 1720 CHECK(g_browser_process->prerender_tracker()); | 1716 CHECK(g_browser_process->prerender_tracker()); |
| 1721 prerender_manager_.reset( | 1717 prerender_manager_.reset( |
| 1722 new prerender::PrerenderManager( | 1718 new prerender::PrerenderManager( |
| 1723 this, g_browser_process->prerender_tracker())); | 1719 this, g_browser_process->prerender_tracker())); |
| 1724 } | 1720 } |
| 1725 return prerender_manager_.get(); | 1721 return prerender_manager_.get(); |
| 1726 } | 1722 } |
| OLD | NEW |