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/browser_process_impl.h" | 5 #include "chrome/browser/browser_process_impl.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <map> | 8 #include <map> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 : created_watchdog_thread_(false), | 176 : created_watchdog_thread_(false), |
177 created_browser_policy_connector_(false), | 177 created_browser_policy_connector_(false), |
178 created_profile_manager_(false), | 178 created_profile_manager_(false), |
179 created_local_state_(false), | 179 created_local_state_(false), |
180 created_icon_manager_(false), | 180 created_icon_manager_(false), |
181 created_notification_ui_manager_(false), | 181 created_notification_ui_manager_(false), |
182 created_safe_browsing_service_(false), | 182 created_safe_browsing_service_(false), |
183 module_ref_count_(0), | 183 module_ref_count_(0), |
184 did_start_(false), | 184 did_start_(false), |
185 download_status_updater_(new DownloadStatusUpdater), | 185 download_status_updater_(new DownloadStatusUpdater), |
186 local_state_task_runner_(local_state_task_runner) { | 186 local_state_task_runner_(local_state_task_runner), |
| 187 cached_default_web_client_state_(ShellIntegration::UNKNOWN_DEFAULT) { |
187 g_browser_process = this; | 188 g_browser_process = this; |
188 platform_part_.reset(new BrowserProcessPlatformPart()); | 189 platform_part_.reset(new BrowserProcessPlatformPart()); |
189 | 190 |
190 #if defined(ENABLE_PRINTING) | 191 #if defined(ENABLE_PRINTING) |
191 // Must be created after the NotificationService. | 192 // Must be created after the NotificationService. |
192 print_job_manager_.reset(new printing::PrintJobManager); | 193 print_job_manager_.reset(new printing::PrintJobManager); |
193 #endif | 194 #endif |
194 | 195 |
195 net_log_.reset(new ChromeNetLog); | 196 net_log_.reset(new ChromeNetLog); |
196 | 197 |
(...skipping 578 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
775 DCHECK(CalledOnValidThread()); | 776 DCHECK(CalledOnValidThread()); |
776 #if defined(OS_CHROMEOS) | 777 #if defined(OS_CHROMEOS) |
777 if (!oom_priority_manager_.get()) | 778 if (!oom_priority_manager_.get()) |
778 oom_priority_manager_.reset(new memory::OomPriorityManager()); | 779 oom_priority_manager_.reset(new memory::OomPriorityManager()); |
779 return oom_priority_manager_.get(); | 780 return oom_priority_manager_.get(); |
780 #else | 781 #else |
781 return nullptr; | 782 return nullptr; |
782 #endif | 783 #endif |
783 } | 784 } |
784 | 785 |
| 786 ShellIntegration::DefaultWebClientState |
| 787 BrowserProcessImpl::CachedDefaultWebClientState() { |
| 788 return cached_default_web_client_state_; |
| 789 } |
| 790 |
785 // static | 791 // static |
786 void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) { | 792 void BrowserProcessImpl::RegisterPrefs(PrefRegistrySimple* registry) { |
787 registry->RegisterBooleanPref(prefs::kDefaultBrowserSettingEnabled, | 793 registry->RegisterBooleanPref(prefs::kDefaultBrowserSettingEnabled, |
788 false); | 794 false); |
789 // This policy needs to be defined before the net subsystem is initialized, | 795 // This policy needs to be defined before the net subsystem is initialized, |
790 // so we do it here. | 796 // so we do it here. |
791 registry->RegisterIntegerPref(prefs::kMaxConnectionsPerProxy, | 797 registry->RegisterIntegerPref(prefs::kMaxConnectionsPerProxy, |
792 net::kDefaultMaxSocketsPerProxyServer); | 798 net::kDefaultMaxSocketsPerProxyServer); |
793 | 799 |
794 registry->RegisterBooleanPref(prefs::kAllowCrossOriginAuthPrompt, false); | 800 registry->RegisterBooleanPref(prefs::kAllowCrossOriginAuthPrompt, false); |
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1074 promo_resource_service_.reset(new PromoResourceService); | 1080 promo_resource_service_.reset(new PromoResourceService); |
1075 promo_resource_service_->StartAfterDelay(); | 1081 promo_resource_service_->StartAfterDelay(); |
1076 } | 1082 } |
1077 | 1083 |
1078 #if !defined(OS_ANDROID) && !defined(OS_IOS) | 1084 #if !defined(OS_ANDROID) && !defined(OS_IOS) |
1079 storage_monitor::StorageMonitor::Create(); | 1085 storage_monitor::StorageMonitor::Create(); |
1080 #endif | 1086 #endif |
1081 | 1087 |
1082 child_process_watcher_.reset(new ChromeChildProcessWatcher()); | 1088 child_process_watcher_.reset(new ChromeChildProcessWatcher()); |
1083 | 1089 |
| 1090 CacheDefaultWebClientState(); |
| 1091 |
1084 platform_part_->PreMainMessageLoopRun(); | 1092 platform_part_->PreMainMessageLoopRun(); |
1085 } | 1093 } |
1086 | 1094 |
1087 void BrowserProcessImpl::CreateIconManager() { | 1095 void BrowserProcessImpl::CreateIconManager() { |
1088 DCHECK(!created_icon_manager_ && icon_manager_.get() == NULL); | 1096 DCHECK(!created_icon_manager_ && icon_manager_.get() == NULL); |
1089 created_icon_manager_ = true; | 1097 created_icon_manager_ = true; |
1090 icon_manager_.reset(new IconManager); | 1098 icon_manager_.reset(new IconManager); |
1091 } | 1099 } |
1092 | 1100 |
1093 void BrowserProcessImpl::CreateIntranetRedirectDetector() { | 1101 void BrowserProcessImpl::CreateIntranetRedirectDetector() { |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1185 void BrowserProcessImpl::ApplyMetricsReportingPolicy() { | 1193 void BrowserProcessImpl::ApplyMetricsReportingPolicy() { |
1186 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) | 1194 #if !defined(OS_CHROMEOS) && !defined(OS_ANDROID) && !defined(OS_IOS) |
1187 CHECK(BrowserThread::PostTask( | 1195 CHECK(BrowserThread::PostTask( |
1188 BrowserThread::FILE, FROM_HERE, | 1196 BrowserThread::FILE, FROM_HERE, |
1189 base::Bind( | 1197 base::Bind( |
1190 base::IgnoreResult(&GoogleUpdateSettings::SetCollectStatsConsent), | 1198 base::IgnoreResult(&GoogleUpdateSettings::SetCollectStatsConsent), |
1191 local_state()->GetBoolean(prefs::kMetricsReportingEnabled)))); | 1199 local_state()->GetBoolean(prefs::kMetricsReportingEnabled)))); |
1192 #endif | 1200 #endif |
1193 } | 1201 } |
1194 | 1202 |
| 1203 void BrowserProcessImpl::CacheDefaultWebClientState() { |
| 1204 #if defined(OS_CHROMEOS) |
| 1205 cached_default_web_client_state_ = ShellIntegration::IS_DEFAULT; |
| 1206 #elif !defined(OS_ANDROID) && !defined(OS_IOS) |
| 1207 cached_default_web_client_state_ = ShellIntegration::GetDefaultBrowser(); |
| 1208 #endif |
| 1209 } |
| 1210 |
1195 // Mac is currently not supported. | 1211 // Mac is currently not supported. |
1196 #if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) | 1212 #if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) |
1197 | 1213 |
1198 bool BrowserProcessImpl::CanAutorestartForUpdate() const { | 1214 bool BrowserProcessImpl::CanAutorestartForUpdate() const { |
1199 // Check if browser is in the background and if it needs to be restarted to | 1215 // Check if browser is in the background and if it needs to be restarted to |
1200 // apply a pending update. | 1216 // apply a pending update. |
1201 return chrome::GetTotalBrowserCount() == 0 && chrome::WillKeepAlive() && | 1217 return chrome::GetTotalBrowserCount() == 0 && chrome::WillKeepAlive() && |
1202 upgrade_util::IsUpdatePendingRestart(); | 1218 upgrade_util::IsUpdatePendingRestart(); |
1203 } | 1219 } |
1204 | 1220 |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1244 } | 1260 } |
1245 | 1261 |
1246 void BrowserProcessImpl::OnAutoupdateTimer() { | 1262 void BrowserProcessImpl::OnAutoupdateTimer() { |
1247 if (CanAutorestartForUpdate()) { | 1263 if (CanAutorestartForUpdate()) { |
1248 DLOG(WARNING) << "Detected update. Restarting browser."; | 1264 DLOG(WARNING) << "Detected update. Restarting browser."; |
1249 RestartBackgroundInstance(); | 1265 RestartBackgroundInstance(); |
1250 } | 1266 } |
1251 } | 1267 } |
1252 | 1268 |
1253 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) | 1269 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) |
OLD | NEW |