| 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 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 43 #include "chrome/browser/geolocation/chrome_geolocation_permission_context.h" | 43 #include "chrome/browser/geolocation/chrome_geolocation_permission_context.h" |
| 44 #include "chrome/browser/history/history.h" | 44 #include "chrome/browser/history/history.h" |
| 45 #include "chrome/browser/history/shortcuts_backend.h" | 45 #include "chrome/browser/history/shortcuts_backend.h" |
| 46 #include "chrome/browser/history/top_sites.h" | 46 #include "chrome/browser/history/top_sites.h" |
| 47 #include "chrome/browser/instant/instant_controller.h" | 47 #include "chrome/browser/instant/instant_controller.h" |
| 48 #include "chrome/browser/metrics/metrics_service.h" | 48 #include "chrome/browser/metrics/metrics_service.h" |
| 49 #include "chrome/browser/net/chrome_url_request_context.h" | 49 #include "chrome/browser/net/chrome_url_request_context.h" |
| 50 #include "chrome/browser/net/gaia/token_service.h" | 50 #include "chrome/browser/net/gaia/token_service.h" |
| 51 #include "chrome/browser/net/net_pref_observer.h" | 51 #include "chrome/browser/net/net_pref_observer.h" |
| 52 #include "chrome/browser/net/predictor.h" | 52 #include "chrome/browser/net/predictor.h" |
| 53 #include "chrome/browser/net/pref_proxy_config_service.h" | 53 #include "chrome/browser/net/pref_proxy_config_tracker.h" |
| 54 #include "chrome/browser/net/proxy_service_factory.h" |
| 54 #include "chrome/browser/net/ssl_config_service_manager.h" | 55 #include "chrome/browser/net/ssl_config_service_manager.h" |
| 55 #include "chrome/browser/password_manager/password_store_default.h" | 56 #include "chrome/browser/password_manager/password_store_default.h" |
| 56 #include "chrome/browser/plugin_prefs.h" | 57 #include "chrome/browser/plugin_prefs.h" |
| 57 #include "chrome/browser/policy/configuration_policy_pref_store.h" | 58 #include "chrome/browser/policy/configuration_policy_pref_store.h" |
| 58 #include "chrome/browser/prefs/browser_prefs.h" | 59 #include "chrome/browser/prefs/browser_prefs.h" |
| 59 #include "chrome/browser/prefs/pref_value_store.h" | 60 #include "chrome/browser/prefs/pref_value_store.h" |
| 60 #include "chrome/browser/prefs/scoped_user_pref_update.h" | 61 #include "chrome/browser/prefs/scoped_user_pref_update.h" |
| 61 #include "chrome/browser/prerender/prerender_manager_factory.h" | 62 #include "chrome/browser/prerender/prerender_manager_factory.h" |
| 62 #include "chrome/browser/profiles/profile_dependency_manager.h" | 63 #include "chrome/browser/profiles/profile_dependency_manager.h" |
| 63 #include "chrome/browser/profiles/profile_info_cache.h" | 64 #include "chrome/browser/profiles/profile_info_cache.h" |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 126 #include "chrome/browser/password_manager/native_backend_gnome_x.h" | 127 #include "chrome/browser/password_manager/native_backend_gnome_x.h" |
| 127 #endif | 128 #endif |
| 128 #include "chrome/browser/password_manager/native_backend_kwallet_x.h" | 129 #include "chrome/browser/password_manager/native_backend_kwallet_x.h" |
| 129 #include "chrome/browser/password_manager/password_store_x.h" | 130 #include "chrome/browser/password_manager/password_store_x.h" |
| 130 #endif | 131 #endif |
| 131 | 132 |
| 132 #if defined(OS_CHROMEOS) | 133 #if defined(OS_CHROMEOS) |
| 133 #include "chrome/browser/chromeos/locale_change_guard.h" | 134 #include "chrome/browser/chromeos/locale_change_guard.h" |
| 134 #include "chrome/browser/chromeos/login/user_manager.h" | 135 #include "chrome/browser/chromeos/login/user_manager.h" |
| 135 #include "chrome/browser/chromeos/preferences.h" | 136 #include "chrome/browser/chromeos/preferences.h" |
| 137 #include "chrome/browser/chromeos/proxy_config_service_impl.h" |
| 136 #endif | 138 #endif |
| 137 | 139 |
| 138 using base::Time; | 140 using base::Time; |
| 139 using base::TimeDelta; | 141 using base::TimeDelta; |
| 140 | 142 |
| 141 namespace { | 143 namespace { |
| 142 | 144 |
| 143 // Delay, in milliseconds, before we explicitly create the SessionService. | 145 // Delay, in milliseconds, before we explicitly create the SessionService. |
| 144 static const int kCreateSessionServiceDelayMS = 500; | 146 static const int kCreateSessionServiceDelayMS = 500; |
| 145 | 147 |
| (...skipping 569 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 715 history_service_ = NULL; | 717 history_service_ = NULL; |
| 716 bookmark_bar_model_.reset(); | 718 bookmark_bar_model_.reset(); |
| 717 | 719 |
| 718 // FaviconService depends on HistoryServce so make sure we delete | 720 // FaviconService depends on HistoryServce so make sure we delete |
| 719 // HistoryService first. | 721 // HistoryService first. |
| 720 favicon_service_.reset(); | 722 favicon_service_.reset(); |
| 721 | 723 |
| 722 if (extension_message_service_) | 724 if (extension_message_service_) |
| 723 extension_message_service_->DestroyingProfile(); | 725 extension_message_service_->DestroyingProfile(); |
| 724 | 726 |
| 725 if (pref_proxy_config_tracker_) | 727 if (pref_proxy_config_tracker_.get()) |
| 726 pref_proxy_config_tracker_->DetachFromPrefService(); | 728 pref_proxy_config_tracker_->DetachFromPrefService(); |
| 727 | 729 |
| 728 if (protocol_handler_registry_) | 730 if (protocol_handler_registry_) |
| 729 protocol_handler_registry_->Finalize(); | 731 protocol_handler_registry_->Finalize(); |
| 730 | 732 |
| 731 if (host_content_settings_map_) | 733 if (host_content_settings_map_) |
| 732 host_content_settings_map_->ShutdownOnUIThread(); | 734 host_content_settings_map_->ShutdownOnUIThread(); |
| 733 | 735 |
| 734 // This causes the Preferences file to be written to disk. | 736 // This causes the Preferences file to be written to disk. |
| 735 MarkAsCleanShutdown(); | 737 MarkAsCleanShutdown(); |
| (...skipping 920 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1656 chromeos_enterprise_extension_observer_.reset( | 1658 chromeos_enterprise_extension_observer_.reset( |
| 1657 new chromeos::EnterpriseExtensionObserver(this)); | 1659 new chromeos::EnterpriseExtensionObserver(this)); |
| 1658 } | 1660 } |
| 1659 | 1661 |
| 1660 void ProfileImpl::InitChromeOSPreferences() { | 1662 void ProfileImpl::InitChromeOSPreferences() { |
| 1661 chromeos_preferences_.reset(new chromeos::Preferences()); | 1663 chromeos_preferences_.reset(new chromeos::Preferences()); |
| 1662 chromeos_preferences_->Init(GetPrefs()); | 1664 chromeos_preferences_->Init(GetPrefs()); |
| 1663 } | 1665 } |
| 1664 #endif // defined(OS_CHROMEOS) | 1666 #endif // defined(OS_CHROMEOS) |
| 1665 | 1667 |
| 1668 #if defined(OS_CHROMEOS) |
| 1669 chromeos::ProxyConfigServiceImpl* ProfileImpl::GetProxyConfigTracker() { |
| 1670 #else |
| 1666 PrefProxyConfigTracker* ProfileImpl::GetProxyConfigTracker() { | 1671 PrefProxyConfigTracker* ProfileImpl::GetProxyConfigTracker() { |
| 1667 if (!pref_proxy_config_tracker_) | 1672 #endif // defined(OS_CHROMEOS) |
| 1668 pref_proxy_config_tracker_ = new PrefProxyConfigTracker(GetPrefs()); | 1673 if (!pref_proxy_config_tracker_.get()) { |
| 1669 | 1674 pref_proxy_config_tracker_.reset( |
| 1670 return pref_proxy_config_tracker_; | 1675 ProxyServiceFactory::CreatePrefProxyConfigTracker(GetPrefs())); |
| 1676 } |
| 1677 return pref_proxy_config_tracker_.get(); |
| 1671 } | 1678 } |
| 1672 | 1679 |
| 1673 chrome_browser_net::Predictor* ProfileImpl::GetNetworkPredictor() { | 1680 chrome_browser_net::Predictor* ProfileImpl::GetNetworkPredictor() { |
| 1674 return predictor_; | 1681 return predictor_; |
| 1675 } | 1682 } |
| 1676 | 1683 |
| 1677 void ProfileImpl::ClearNetworkingHistorySince(base::Time time) { | 1684 void ProfileImpl::ClearNetworkingHistorySince(base::Time time) { |
| 1678 io_data_.ClearNetworkingHistorySince(time); | 1685 io_data_.ClearNetworkingHistorySince(time); |
| 1679 } | 1686 } |
| 1680 | 1687 |
| 1681 SpellCheckProfile* ProfileImpl::GetSpellCheckProfile() { | 1688 SpellCheckProfile* ProfileImpl::GetSpellCheckProfile() { |
| 1682 if (!spellcheck_profile_.get()) | 1689 if (!spellcheck_profile_.get()) |
| 1683 spellcheck_profile_.reset(new SpellCheckProfile()); | 1690 spellcheck_profile_.reset(new SpellCheckProfile()); |
| 1684 return spellcheck_profile_.get(); | 1691 return spellcheck_profile_.get(); |
| 1685 } | 1692 } |
| OLD | NEW |