Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(120)

Side by Side Diff: chrome/browser/browser_process_impl.cc

Issue 387003008: ifdef extensions code in BrowserProcess, IOThread, and ChromeNetworkDelegate. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 18 matching lines...) Expand all
29 #include "chrome/browser/chrome_content_browser_client.h" 29 #include "chrome/browser/chrome_content_browser_client.h"
30 #include "chrome/browser/chrome_notification_types.h" 30 #include "chrome/browser/chrome_notification_types.h"
31 #include "chrome/browser/component_updater/component_updater_configurator.h" 31 #include "chrome/browser/component_updater/component_updater_configurator.h"
32 #include "chrome/browser/component_updater/component_updater_service.h" 32 #include "chrome/browser/component_updater/component_updater_service.h"
33 #include "chrome/browser/component_updater/pnacl/pnacl_component_installer.h" 33 #include "chrome/browser/component_updater/pnacl/pnacl_component_installer.h"
34 #include "chrome/browser/defaults.h" 34 #include "chrome/browser/defaults.h"
35 #include "chrome/browser/devtools/remote_debugging_server.h" 35 #include "chrome/browser/devtools/remote_debugging_server.h"
36 #include "chrome/browser/download/download_request_limiter.h" 36 #include "chrome/browser/download/download_request_limiter.h"
37 #include "chrome/browser/download/download_status_updater.h" 37 #include "chrome/browser/download/download_status_updater.h"
38 #include "chrome/browser/extensions/chrome_extensions_browser_client.h" 38 #include "chrome/browser/extensions/chrome_extensions_browser_client.h"
39 #include "chrome/browser/extensions/event_router_forwarder.h"
40 #include "chrome/browser/extensions/extension_renderer_state.h"
41 #include "chrome/browser/first_run/upgrade_util.h" 39 #include "chrome/browser/first_run/upgrade_util.h"
42 #include "chrome/browser/gpu/gl_string_manager.h" 40 #include "chrome/browser/gpu/gl_string_manager.h"
43 #include "chrome/browser/gpu/gpu_mode_manager.h" 41 #include "chrome/browser/gpu/gpu_mode_manager.h"
44 #include "chrome/browser/icon_manager.h" 42 #include "chrome/browser/icon_manager.h"
45 #include "chrome/browser/idle.h" 43 #include "chrome/browser/idle.h"
46 #include "chrome/browser/intranet_redirect_detector.h" 44 #include "chrome/browser/intranet_redirect_detector.h"
47 #include "chrome/browser/io_thread.h" 45 #include "chrome/browser/io_thread.h"
48 #include "chrome/browser/lifetime/application_lifetime.h" 46 #include "chrome/browser/lifetime/application_lifetime.h"
49 #include "chrome/browser/metrics/metrics_services_manager.h" 47 #include "chrome/browser/metrics/metrics_services_manager.h"
50 #include "chrome/browser/metrics/thread_watcher.h" 48 #include "chrome/browser/metrics/thread_watcher.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 #include "chrome/browser/chrome_browser_main_mac.h" 104 #include "chrome/browser/chrome_browser_main_mac.h"
107 #endif 105 #endif
108 106
109 #if defined(OS_ANDROID) 107 #if defined(OS_ANDROID)
110 #include "components/gcm_driver/gcm_driver_android.h" 108 #include "components/gcm_driver/gcm_driver_android.h"
111 #else 109 #else
112 #include "chrome/browser/services/gcm/gcm_desktop_utils.h" 110 #include "chrome/browser/services/gcm/gcm_desktop_utils.h"
113 #include "components/gcm_driver/gcm_client_factory.h" 111 #include "components/gcm_driver/gcm_client_factory.h"
114 #endif 112 #endif
115 113
116 #if !defined(OS_ANDROID) && !defined(OS_IOS)
117 #include "chrome/browser/media_galleries/media_file_system_registry.h"
118 #include "components/storage_monitor/storage_monitor.h"
119 #endif
120
121 #if defined(USE_AURA) 114 #if defined(USE_AURA)
122 #include "ui/aura/env.h" 115 #include "ui/aura/env.h"
123 #endif 116 #endif
124 117
125 #if defined(ENABLE_CONFIGURATION_POLICY) 118 #if defined(ENABLE_CONFIGURATION_POLICY)
126 #include "components/policy/core/browser/browser_policy_connector.h" 119 #include "components/policy/core/browser/browser_policy_connector.h"
127 #else 120 #else
128 #include "components/policy/core/common/policy_service_stub.h" 121 #include "components/policy/core/common/policy_service_stub.h"
129 #endif // defined(ENABLE_CONFIGURATION_POLICY) 122 #endif // defined(ENABLE_CONFIGURATION_POLICY)
130 123
124 #if defined(ENABLE_EXTENSIONS)
125 #include "chrome/browser/extensions/event_router_forwarder.h"
126 #include "chrome/browser/extensions/extension_renderer_state.h"
127 #include "chrome/browser/media_galleries/media_file_system_registry.h"
128 #include "components/storage_monitor/storage_monitor.h"
129 #endif
130
131 #if defined(ENABLE_PLUGIN_INSTALLATION) 131 #if defined(ENABLE_PLUGIN_INSTALLATION)
132 #include "chrome/browser/plugins/plugins_resource_service.h" 132 #include "chrome/browser/plugins/plugins_resource_service.h"
133 #endif 133 #endif
134 134
135 #if defined(ENABLE_WEBRTC) 135 #if defined(ENABLE_WEBRTC)
136 #include "chrome/browser/media/webrtc_log_uploader.h" 136 #include "chrome/browser/media/webrtc_log_uploader.h"
137 #endif 137 #endif
138 138
139 #if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) 139 #if (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
140 // How often to check if the persistent instance of Chrome needs to restart 140 // How often to check if the persistent instance of Chrome needs to restart
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 extensions::kExtensionResourceScheme); 185 extensions::kExtensionResourceScheme);
186 ChildProcessSecurityPolicy::GetInstance()->RegisterWebSafeScheme( 186 ChildProcessSecurityPolicy::GetInstance()->RegisterWebSafeScheme(
187 chrome::kChromeSearchScheme); 187 chrome::kChromeSearchScheme);
188 188
189 #if defined(OS_MACOSX) 189 #if defined(OS_MACOSX)
190 InitIdleMonitor(); 190 InitIdleMonitor();
191 #endif 191 #endif
192 192
193 #if defined(ENABLE_EXTENSIONS) 193 #if defined(ENABLE_EXTENSIONS)
194 apps::AppsClient::Set(ChromeAppsClient::GetInstance()); 194 apps::AppsClient::Set(ChromeAppsClient::GetInstance());
195
196 extension_event_router_forwarder_ = new extensions::EventRouterForwarder;
197 ExtensionRendererState::GetInstance()->Init();
Ryan Sleevi 2014/07/16 20:23:43 What are the implications now with respect to star
Lei Zhang 2014/07/18 01:34:24 I believe this to be ok, but I can loop in someone
195 #endif 198 #endif
196 199
197 extensions::ExtensionsClient::Set( 200 extensions::ExtensionsClient::Set(
198 extensions::ChromeExtensionsClient::GetInstance()); 201 extensions::ChromeExtensionsClient::GetInstance());
199 202
200 extensions_browser_client_.reset( 203 extensions_browser_client_.reset(
201 new extensions::ChromeExtensionsBrowserClient); 204 new extensions::ChromeExtensionsBrowserClient);
202 extensions::ExtensionsBrowserClient::Set(extensions_browser_client_.get()); 205 extensions::ExtensionsBrowserClient::Set(extensions_browser_client_.get());
203 206
204 extension_event_router_forwarder_ = new extensions::EventRouterForwarder;
205 ExtensionRendererState::GetInstance()->Init();
206
207 message_center::MessageCenter::Initialize(); 207 message_center::MessageCenter::Initialize();
208 208
209 omaha_query_params::OmahaQueryParams::SetDelegate( 209 omaha_query_params::OmahaQueryParams::SetDelegate(
210 ChromeOmahaQueryParamsDelegate::GetInstance()); 210 ChromeOmahaQueryParamsDelegate::GetInstance());
211 } 211 }
212 212
213 BrowserProcessImpl::~BrowserProcessImpl() { 213 BrowserProcessImpl::~BrowserProcessImpl() {
214 tracked_objects::ThreadData::EnsureCleanupWasCalled(4); 214 tracked_objects::ThreadData::EnsureCleanupWasCalled(4);
215 215
216 g_browser_process = NULL; 216 g_browser_process = NULL;
(...skipping 28 matching lines...) Expand all
245 if (switches::IsNewProfileManagement()) 245 if (switches::IsNewProfileManagement())
246 chrome::HideUserManager(); 246 chrome::HideUserManager();
247 profile_manager_.reset(); 247 profile_manager_.reset();
248 } 248 }
249 249
250 #if !defined(OS_ANDROID) 250 #if !defined(OS_ANDROID)
251 // Debugger must be cleaned up before IO thread and NotificationService. 251 // Debugger must be cleaned up before IO thread and NotificationService.
252 remote_debugging_server_.reset(); 252 remote_debugging_server_.reset();
253 #endif 253 #endif
254 254
255 #if defined(ENABLE_EXTENSIONS)
255 ExtensionRendererState::GetInstance()->Shutdown(); 256 ExtensionRendererState::GetInstance()->Shutdown();
256 257
257 #if !defined(OS_ANDROID) && !defined(OS_IOS)
258 media_file_system_registry_.reset(); 258 media_file_system_registry_.reset();
259 // Remove the global instance of the Storage Monitor now. Otherwise the 259 // Remove the global instance of the Storage Monitor now. Otherwise the
260 // FILE thread would be gone when we try to release it in the dtor and 260 // FILE thread would be gone when we try to release it in the dtor and
261 // Valgrind would report a leak on almost every single browser_test. 261 // Valgrind would report a leak on almost every single browser_test.
262 // TODO(gbillock): Make this unnecessary. 262 // TODO(gbillock): Make this unnecessary.
263 storage_monitor::StorageMonitor::Destroy(); 263 storage_monitor::StorageMonitor::Destroy();
264 #endif 264 #endif
265 265
266 message_center::MessageCenter::Shutdown(); 266 message_center::MessageCenter::Shutdown();
267 267
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
553 DCHECK(CalledOnValidThread()); 553 DCHECK(CalledOnValidThread());
554 return GetMetricsServicesManager()->GetVariationsService(); 554 return GetMetricsServicesManager()->GetVariationsService();
555 } 555 }
556 556
557 BrowserProcessPlatformPart* BrowserProcessImpl::platform_part() { 557 BrowserProcessPlatformPart* BrowserProcessImpl::platform_part() {
558 return platform_part_.get(); 558 return platform_part_.get();
559 } 559 }
560 560
561 extensions::EventRouterForwarder* 561 extensions::EventRouterForwarder*
562 BrowserProcessImpl::extension_event_router_forwarder() { 562 BrowserProcessImpl::extension_event_router_forwarder() {
563 #if defined(ENABLE_EXTENSIONS)
563 return extension_event_router_forwarder_.get(); 564 return extension_event_router_forwarder_.get();
565 #else
566 return NULL;
567 #endif
564 } 568 }
565 569
566 NotificationUIManager* BrowserProcessImpl::notification_ui_manager() { 570 NotificationUIManager* BrowserProcessImpl::notification_ui_manager() {
567 DCHECK(CalledOnValidThread()); 571 DCHECK(CalledOnValidThread());
568 if (!created_notification_ui_manager_) 572 if (!created_notification_ui_manager_)
569 CreateNotificationUIManager(); 573 CreateNotificationUIManager();
570 return notification_ui_manager_.get(); 574 return notification_ui_manager_.get();
571 } 575 }
572 576
573 message_center::MessageCenter* BrowserProcessImpl::message_center() { 577 message_center::MessageCenter* BrowserProcessImpl::message_center() {
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
946 950
947 int max_per_proxy = local_state_->GetInteger(prefs::kMaxConnectionsPerProxy); 951 int max_per_proxy = local_state_->GetInteger(prefs::kMaxConnectionsPerProxy);
948 net::ClientSocketPoolManager::set_max_sockets_per_proxy_server( 952 net::ClientSocketPoolManager::set_max_sockets_per_proxy_server(
949 net::HttpNetworkSession::NORMAL_SOCKET_POOL, 953 net::HttpNetworkSession::NORMAL_SOCKET_POOL,
950 std::max(std::min(max_per_proxy, 99), 954 std::max(std::min(max_per_proxy, 99),
951 net::ClientSocketPoolManager::max_sockets_per_group( 955 net::ClientSocketPoolManager::max_sockets_per_group(
952 net::HttpNetworkSession::NORMAL_SOCKET_POOL))); 956 net::HttpNetworkSession::NORMAL_SOCKET_POOL)));
953 } 957 }
954 958
955 void BrowserProcessImpl::PreCreateThreads() { 959 void BrowserProcessImpl::PreCreateThreads() {
956 io_thread_.reset(new IOThread(local_state(), policy_service(), net_log_.get(), 960 io_thread_.reset(
957 extension_event_router_forwarder_.get())); 961 new IOThread(local_state(), policy_service(), net_log_.get(),
962 #if defined(ENABLE_EXTENSIONS)
963 extension_event_router_forwarder_.get()
964 #else
965 NULL
966 #endif
Ryan Sleevi 2014/07/16 20:23:43 Prefer to stuff this in a member variable (wrapped
Lei Zhang 2014/07/18 01:34:24 Done.
967 )); // NOLINT
958 } 968 }
959 969
960 void BrowserProcessImpl::PreMainMessageLoopRun() { 970 void BrowserProcessImpl::PreMainMessageLoopRun() {
961 #if defined(ENABLE_CONFIGURATION_POLICY) 971 #if defined(ENABLE_CONFIGURATION_POLICY)
962 // browser_policy_connector() is created very early because local_state() 972 // browser_policy_connector() is created very early because local_state()
963 // needs policy to be initialized with the managed preference values. 973 // needs policy to be initialized with the managed preference values.
964 // However, policy fetches from the network and loading of disk caches 974 // However, policy fetches from the network and loading of disk caches
965 // requires that threads are running; this Init() call lets the connector 975 // requires that threads are running; this Init() call lets the connector
966 // resume its initialization now that the loops are spinning and the 976 // resume its initialization now that the loops are spinning and the
967 // system request context is available for the fetchers. 977 // system request context is available for the fetchers.
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
1171 } 1181 }
1172 1182
1173 void BrowserProcessImpl::OnAutoupdateTimer() { 1183 void BrowserProcessImpl::OnAutoupdateTimer() {
1174 if (CanAutorestartForUpdate()) { 1184 if (CanAutorestartForUpdate()) {
1175 DLOG(WARNING) << "Detected update. Restarting browser."; 1185 DLOG(WARNING) << "Detected update. Restarting browser.";
1176 RestartBackgroundInstance(); 1186 RestartBackgroundInstance();
1177 } 1187 }
1178 } 1188 }
1179 1189
1180 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) 1190 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698