| 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/browser/profiles/profile_impl.h" | 5 #include "chrome/browser/profiles/profile_impl.h" |
| 6 | 6 |
| 7 #include <stddef.h> | 7 #include <stddef.h> |
| 8 | 8 |
| 9 #include <memory> | 9 #include <memory> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 #include "chrome/browser/push_messaging/push_messaging_service_factory.h" | 69 #include "chrome/browser/push_messaging/push_messaging_service_factory.h" |
| 70 #include "chrome/browser/push_messaging/push_messaging_service_impl.h" | 70 #include "chrome/browser/push_messaging/push_messaging_service_impl.h" |
| 71 #include "chrome/browser/safe_browsing/safe_browsing_service.h" | 71 #include "chrome/browser/safe_browsing/safe_browsing_service.h" |
| 72 #include "chrome/browser/sessions/session_service_factory.h" | 72 #include "chrome/browser/sessions/session_service_factory.h" |
| 73 #include "chrome/browser/signin/signin_manager_factory.h" | 73 #include "chrome/browser/signin/signin_manager_factory.h" |
| 74 #include "chrome/browser/signin/signin_ui_util.h" | 74 #include "chrome/browser/signin/signin_ui_util.h" |
| 75 #include "chrome/browser/ssl/chrome_ssl_host_state_delegate.h" | 75 #include "chrome/browser/ssl/chrome_ssl_host_state_delegate.h" |
| 76 #include "chrome/browser/ssl/chrome_ssl_host_state_delegate_factory.h" | 76 #include "chrome/browser/ssl/chrome_ssl_host_state_delegate_factory.h" |
| 77 #include "chrome/browser/ui/startup/startup_browser_creator.h" | 77 #include "chrome/browser/ui/startup/startup_browser_creator.h" |
| 78 #include "chrome/common/chrome_constants.h" | 78 #include "chrome/common/chrome_constants.h" |
| 79 #include "chrome/common/chrome_features.h" |
| 79 #include "chrome/common/chrome_paths.h" | 80 #include "chrome/common/chrome_paths.h" |
| 80 #include "chrome/common/chrome_paths_internal.h" | 81 #include "chrome/common/chrome_paths_internal.h" |
| 81 #include "chrome/common/chrome_switches.h" | 82 #include "chrome/common/chrome_switches.h" |
| 82 #include "chrome/common/features.h" | 83 #include "chrome/common/features.h" |
| 83 #include "chrome/common/pref_names.h" | 84 #include "chrome/common/pref_names.h" |
| 84 #include "chrome/common/url_constants.h" | 85 #include "chrome/common/url_constants.h" |
| 85 #include "chrome/grit/chromium_strings.h" | 86 #include "chrome/grit/chromium_strings.h" |
| 86 #include "components/bookmarks/browser/bookmark_model.h" | 87 #include "components/bookmarks/browser/bookmark_model.h" |
| 87 #include "components/content_settings/core/browser/cookie_settings.h" | 88 #include "components/content_settings/core/browser/cookie_settings.h" |
| 88 #include "components/content_settings/core/browser/host_content_settings_map.h" | 89 #include "components/content_settings/core/browser/host_content_settings_map.h" |
| (...skipping 20 matching lines...) Expand all Loading... |
| 109 #include "content/public/browser/notification_service.h" | 110 #include "content/public/browser/notification_service.h" |
| 110 #include "content/public/browser/render_process_host.h" | 111 #include "content/public/browser/render_process_host.h" |
| 111 #include "content/public/browser/storage_partition.h" | 112 #include "content/public/browser/storage_partition.h" |
| 112 #include "content/public/browser/url_data_source.h" | 113 #include "content/public/browser/url_data_source.h" |
| 113 #include "content/public/browser/user_metrics.h" | 114 #include "content/public/browser/user_metrics.h" |
| 114 #include "content/public/common/content_constants.h" | 115 #include "content/public/common/content_constants.h" |
| 115 #include "content/public/common/page_zoom.h" | 116 #include "content/public/common/page_zoom.h" |
| 116 #include "extensions/features/features.h" | 117 #include "extensions/features/features.h" |
| 117 #include "ppapi/features/features.h" | 118 #include "ppapi/features/features.h" |
| 118 #include "printing/features/features.h" | 119 #include "printing/features/features.h" |
| 120 #include "services/preferences/public/cpp/pref_store_manager_impl.h" |
| 121 #include "services/preferences/public/interfaces/preferences.mojom.h" |
| 119 #include "services/preferences/public/interfaces/tracked_preference_validation_d
elegate.mojom.h" | 122 #include "services/preferences/public/interfaces/tracked_preference_validation_d
elegate.mojom.h" |
| 120 #include "ui/base/l10n/l10n_util.h" | 123 #include "ui/base/l10n/l10n_util.h" |
| 121 | 124 |
| 122 #if defined(OS_CHROMEOS) | 125 #if defined(OS_CHROMEOS) |
| 123 #include "chrome/browser/chromeos/locale_change_guard.h" | 126 #include "chrome/browser/chromeos/locale_change_guard.h" |
| 124 #include "chrome/browser/chromeos/preferences.h" | 127 #include "chrome/browser/chromeos/preferences.h" |
| 125 #include "chrome/browser/chromeos/profiles/profile_helper.h" | 128 #include "chrome/browser/chromeos/profiles/profile_helper.h" |
| 126 #include "chrome/browser/chromeos/settings/device_settings_service.h" | 129 #include "chrome/browser/chromeos/settings/device_settings_service.h" |
| 127 #include "components/user_manager/user_manager.h" | 130 #include "components/user_manager/user_manager.h" |
| 128 #endif | 131 #endif |
| (...skipping 352 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 481 scoped_refptr<safe_browsing::SafeBrowsingService> safe_browsing_service( | 484 scoped_refptr<safe_browsing::SafeBrowsingService> safe_browsing_service( |
| 482 g_browser_process->safe_browsing_service()); | 485 g_browser_process->safe_browsing_service()); |
| 483 if (safe_browsing_service.get()) { | 486 if (safe_browsing_service.get()) { |
| 484 pref_validation_delegate_ = | 487 pref_validation_delegate_ = |
| 485 safe_browsing_service->CreatePreferenceValidationDelegate(this); | 488 safe_browsing_service->CreatePreferenceValidationDelegate(this); |
| 486 } | 489 } |
| 487 | 490 |
| 488 content::BrowserContext::Initialize(this, path_); | 491 content::BrowserContext::Initialize(this, path_); |
| 489 | 492 |
| 490 { | 493 { |
| 494 service_manager::Connector* connector = nullptr; |
| 495 if (base::FeatureList::IsEnabled(features::kPrefService)) { |
| 496 connector = content::BrowserContext::GetConnectorFor(this); |
| 497 } |
| 491 prefs_ = chrome_prefs::CreateProfilePrefs( | 498 prefs_ = chrome_prefs::CreateProfilePrefs( |
| 492 path_, sequenced_task_runner, pref_validation_delegate_.get(), | 499 path_, sequenced_task_runner, pref_validation_delegate_.get(), |
| 493 profile_policy_connector_->policy_service(), supervised_user_settings, | 500 profile_policy_connector_->policy_service(), supervised_user_settings, |
| 494 CreateExtensionPrefStore(this, false), pref_registry_, async_prefs); | 501 CreateExtensionPrefStore(this, false), pref_registry_, async_prefs, |
| 502 connector); |
| 495 // Register on BrowserContext. | 503 // Register on BrowserContext. |
| 496 user_prefs::UserPrefs::Set(this, prefs_.get()); | 504 user_prefs::UserPrefs::Set(this, prefs_.get()); |
| 497 } | 505 } |
| 498 | 506 |
| 499 if (async_prefs) { | 507 if (async_prefs) { |
| 500 // Wait for the notification that prefs has been loaded | 508 // Wait for the notification that prefs has been loaded |
| 501 // (successfully or not). Note that we can use base::Unretained | 509 // (successfully or not). Note that we can use base::Unretained |
| 502 // because the PrefService is owned by this class and lives on | 510 // because the PrefService is owned by this class and lives on |
| 503 // the same thread. | 511 // the same thread. |
| 504 prefs_->AddPrefInitObserver(base::Bind( | 512 prefs_->AddPrefInitObserver(base::Bind( |
| (...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1036 } | 1044 } |
| 1037 | 1045 |
| 1038 net::URLRequestContextGetter* | 1046 net::URLRequestContextGetter* |
| 1039 ProfileImpl::CreateMediaRequestContextForStoragePartition( | 1047 ProfileImpl::CreateMediaRequestContextForStoragePartition( |
| 1040 const base::FilePath& partition_path, | 1048 const base::FilePath& partition_path, |
| 1041 bool in_memory) { | 1049 bool in_memory) { |
| 1042 return io_data_ | 1050 return io_data_ |
| 1043 .GetIsolatedMediaRequestContextGetter(partition_path, in_memory).get(); | 1051 .GetIsolatedMediaRequestContextGetter(partition_path, in_memory).get(); |
| 1044 } | 1052 } |
| 1045 | 1053 |
| 1054 void ProfileImpl::RegisterInProcessServices(StaticServiceMap* services) { |
| 1055 if (base::FeatureList::IsEnabled(features::kPrefService)) { |
| 1056 content::ServiceInfo info; |
| 1057 info.factory = |
| 1058 base::Bind([]() -> std::unique_ptr<service_manager::Service> { |
| 1059 return base::MakeUnique<prefs::PrefStoreManagerImpl>( |
| 1060 prefs::PrefStoreManagerImpl::PrefStoreTypes()); |
| 1061 }); |
| 1062 services->insert(std::make_pair(prefs::mojom::kPrefStoreServiceName, info)); |
| 1063 } |
| 1064 } |
| 1065 |
| 1046 bool ProfileImpl::IsSameProfile(Profile* profile) { | 1066 bool ProfileImpl::IsSameProfile(Profile* profile) { |
| 1047 if (profile == static_cast<Profile*>(this)) | 1067 if (profile == static_cast<Profile*>(this)) |
| 1048 return true; | 1068 return true; |
| 1049 Profile* otr_profile = off_the_record_profile_.get(); | 1069 Profile* otr_profile = off_the_record_profile_.get(); |
| 1050 return otr_profile && profile == otr_profile; | 1070 return otr_profile && profile == otr_profile; |
| 1051 } | 1071 } |
| 1052 | 1072 |
| 1053 Time ProfileImpl::GetStartTime() const { | 1073 Time ProfileImpl::GetStartTime() const { |
| 1054 return start_time_; | 1074 return start_time_; |
| 1055 } | 1075 } |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1292 ProfileImpl::CreateDomainReliabilityMonitor(PrefService* local_state) { | 1312 ProfileImpl::CreateDomainReliabilityMonitor(PrefService* local_state) { |
| 1293 domain_reliability::DomainReliabilityService* service = | 1313 domain_reliability::DomainReliabilityService* service = |
| 1294 domain_reliability::DomainReliabilityServiceFactory::GetInstance()-> | 1314 domain_reliability::DomainReliabilityServiceFactory::GetInstance()-> |
| 1295 GetForBrowserContext(this); | 1315 GetForBrowserContext(this); |
| 1296 if (!service) | 1316 if (!service) |
| 1297 return std::unique_ptr<domain_reliability::DomainReliabilityMonitor>(); | 1317 return std::unique_ptr<domain_reliability::DomainReliabilityMonitor>(); |
| 1298 | 1318 |
| 1299 return service->CreateMonitor( | 1319 return service->CreateMonitor( |
| 1300 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)); | 1320 BrowserThread::GetTaskRunnerForThread(BrowserThread::IO)); |
| 1301 } | 1321 } |
| OLD | NEW |