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

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

Issue 2479593006: Move enable extensions define to a build flag. (Closed)
Patch Set: Merge Created 4 years, 1 month 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
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <map> 10 #include <map>
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 #include "content/public/browser/browser_thread.h" 110 #include "content/public/browser/browser_thread.h"
111 #include "content/public/browser/child_process_security_policy.h" 111 #include "content/public/browser/child_process_security_policy.h"
112 #include "content/public/browser/notification_details.h" 112 #include "content/public/browser/notification_details.h"
113 #include "content/public/browser/plugin_service.h" 113 #include "content/public/browser/plugin_service.h"
114 #include "content/public/browser/render_process_host.h" 114 #include "content/public/browser/render_process_host.h"
115 #include "content/public/browser/resource_dispatcher_host.h" 115 #include "content/public/browser/resource_dispatcher_host.h"
116 #include "content/public/browser/service_worker_context.h" 116 #include "content/public/browser/service_worker_context.h"
117 #include "content/public/browser/storage_partition.h" 117 #include "content/public/browser/storage_partition.h"
118 #include "content/public/common/content_switches.h" 118 #include "content/public/common/content_switches.h"
119 #include "extensions/common/constants.h" 119 #include "extensions/common/constants.h"
120 #include "extensions/features/features.h"
120 #include "net/socket/client_socket_pool_manager.h" 121 #include "net/socket/client_socket_pool_manager.h"
121 #include "net/url_request/url_request_context_getter.h" 122 #include "net/url_request/url_request_context_getter.h"
122 #include "printing/features/features.h" 123 #include "printing/features/features.h"
123 #include "ui/base/idle/idle.h" 124 #include "ui/base/idle/idle.h"
124 #include "ui/base/l10n/l10n_util.h" 125 #include "ui/base/l10n/l10n_util.h"
125 #include "ui/message_center/message_center.h" 126 #include "ui/message_center/message_center.h"
126 127
127 #if defined(OS_WIN) 128 #if defined(OS_WIN)
128 #include "base/win/windows_version.h" 129 #include "base/win/windows_version.h"
129 #include "ui/views/focus/view_storage.h" 130 #include "ui/views/focus/view_storage.h"
130 #elif defined(OS_MACOSX) 131 #elif defined(OS_MACOSX)
131 #include "chrome/browser/chrome_browser_main_mac.h" 132 #include "chrome/browser/chrome_browser_main_mac.h"
132 #endif 133 #endif
133 134
134 #if !defined(OS_ANDROID) 135 #if !defined(OS_ANDROID)
135 #include "chrome/browser/lifetime/keep_alive_registry.h" 136 #include "chrome/browser/lifetime/keep_alive_registry.h"
136 #include "chrome/browser/services/gcm/gcm_product_util.h" 137 #include "chrome/browser/services/gcm/gcm_product_util.h"
137 #include "chrome/browser/ui/user_manager.h" 138 #include "chrome/browser/ui/user_manager.h"
138 #include "components/gcm_driver/gcm_client_factory.h" 139 #include "components/gcm_driver/gcm_client_factory.h"
139 #include "components/gcm_driver/gcm_desktop_utils.h" 140 #include "components/gcm_driver/gcm_desktop_utils.h"
140 #endif 141 #endif
141 142
142 #if BUILDFLAG(ENABLE_BACKGROUND) 143 #if BUILDFLAG(ENABLE_BACKGROUND)
143 #include "chrome/browser/background/background_mode_manager.h" 144 #include "chrome/browser/background/background_mode_manager.h"
144 #endif 145 #endif
145 146
146 #if defined(ENABLE_EXTENSIONS) 147 #if BUILDFLAG(ENABLE_EXTENSIONS)
147 #include "chrome/browser/extensions/chrome_extensions_browser_client.h" 148 #include "chrome/browser/extensions/chrome_extensions_browser_client.h"
148 #include "chrome/browser/extensions/event_router_forwarder.h" 149 #include "chrome/browser/extensions/event_router_forwarder.h"
149 #include "chrome/browser/media_galleries/media_file_system_registry.h" 150 #include "chrome/browser/media_galleries/media_file_system_registry.h"
150 #include "chrome/browser/ui/apps/chrome_app_window_client.h" 151 #include "chrome/browser/ui/apps/chrome_app_window_client.h"
151 #include "components/storage_monitor/storage_monitor.h" 152 #include "components/storage_monitor/storage_monitor.h"
152 #include "extensions/common/extension_l10n_util.h" 153 #include "extensions/common/extension_l10n_util.h"
153 #endif 154 #endif
154 155
155 #if !defined(DISABLE_NACL) 156 #if !defined(DISABLE_NACL)
156 #include "chrome/browser/component_updater/pnacl_component_installer.h" 157 #include "chrome/browser/component_updater/pnacl_component_installer.h"
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
229 230
230 ChildProcessSecurityPolicy::GetInstance()->RegisterWebSafeScheme( 231 ChildProcessSecurityPolicy::GetInstance()->RegisterWebSafeScheme(
231 chrome::kChromeSearchScheme); 232 chrome::kChromeSearchScheme);
232 233
233 #if defined(OS_MACOSX) 234 #if defined(OS_MACOSX)
234 ui::InitIdleMonitor(); 235 ui::InitIdleMonitor();
235 #endif 236 #endif
236 237
237 device_client_.reset(new ChromeDeviceClient); 238 device_client_.reset(new ChromeDeviceClient);
238 239
239 #if defined(ENABLE_EXTENSIONS) 240 #if BUILDFLAG(ENABLE_EXTENSIONS)
240 // Athena sets its own instance during Athena's init process. 241 // Athena sets its own instance during Athena's init process.
241 extensions::AppWindowClient::Set(ChromeAppWindowClient::GetInstance()); 242 extensions::AppWindowClient::Set(ChromeAppWindowClient::GetInstance());
242 243
243 extension_event_router_forwarder_ = new extensions::EventRouterForwarder; 244 extension_event_router_forwarder_ = new extensions::EventRouterForwarder;
244 245
245 extensions::ExtensionsClient::Set( 246 extensions::ExtensionsClient::Set(
246 extensions::ChromeExtensionsClient::GetInstance()); 247 extensions::ChromeExtensionsClient::GetInstance());
247 248
248 extensions_browser_client_.reset( 249 extensions_browser_client_.reset(
249 new extensions::ChromeExtensionsBrowserClient); 250 new extensions::ChromeExtensionsBrowserClient);
250 extensions::ExtensionsBrowserClient::Set(extensions_browser_client_.get()); 251 extensions::ExtensionsBrowserClient::Set(extensions_browser_client_.get());
251 #endif 252 #endif
252 253
253 message_center::MessageCenter::Initialize(); 254 message_center::MessageCenter::Initialize();
254 255
255 update_client::UpdateQueryParams::SetDelegate( 256 update_client::UpdateQueryParams::SetDelegate(
256 ChromeUpdateQueryParamsDelegate::GetInstance()); 257 ChromeUpdateQueryParamsDelegate::GetInstance());
257 258
258 #if !defined(OS_ANDROID) 259 #if !defined(OS_ANDROID)
259 KeepAliveRegistry::GetInstance()->AddObserver(this); 260 KeepAliveRegistry::GetInstance()->AddObserver(this);
260 #endif // !defined(OS_ANDROID) 261 #endif // !defined(OS_ANDROID)
261 } 262 }
262 263
263 BrowserProcessImpl::~BrowserProcessImpl() { 264 BrowserProcessImpl::~BrowserProcessImpl() {
264 #if defined(ENABLE_EXTENSIONS) 265 #if BUILDFLAG(ENABLE_EXTENSIONS)
265 extensions::ExtensionsBrowserClient::Set(nullptr); 266 extensions::ExtensionsBrowserClient::Set(nullptr);
266 #endif 267 #endif
267 268
268 #if !defined(OS_ANDROID) 269 #if !defined(OS_ANDROID)
269 KeepAliveRegistry::GetInstance()->RemoveObserver(this); 270 KeepAliveRegistry::GetInstance()->RemoveObserver(this);
270 #endif // !defined(OS_ANDROID) 271 #endif // !defined(OS_ANDROID)
271 272
272 tracked_objects::ThreadData::EnsureCleanupWasCalled(4); 273 tracked_objects::ThreadData::EnsureCleanupWasCalled(4);
273 274
274 g_browser_process = NULL; 275 g_browser_process = NULL;
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 TRACE_EVENT0("shutdown", 318 TRACE_EVENT0("shutdown",
318 "BrowserProcessImpl::StartTearDown:ProfileManager"); 319 "BrowserProcessImpl::StartTearDown:ProfileManager");
319 // The desktop User Manager needs to be closed before the guest profile 320 // The desktop User Manager needs to be closed before the guest profile
320 // can be destroyed. 321 // can be destroyed.
321 UserManager::Hide(); 322 UserManager::Hide();
322 profile_manager_.reset(); 323 profile_manager_.reset();
323 } 324 }
324 325
325 child_process_watcher_.reset(); 326 child_process_watcher_.reset();
326 327
327 #if defined(ENABLE_EXTENSIONS) 328 #if BUILDFLAG(ENABLE_EXTENSIONS)
328 media_file_system_registry_.reset(); 329 media_file_system_registry_.reset();
329 // Remove the global instance of the Storage Monitor now. Otherwise the 330 // Remove the global instance of the Storage Monitor now. Otherwise the
330 // FILE thread would be gone when we try to release it in the dtor and 331 // FILE thread would be gone when we try to release it in the dtor and
331 // Valgrind would report a leak on almost every single browser_test. 332 // Valgrind would report a leak on almost every single browser_test.
332 // TODO(gbillock): Make this unnecessary. 333 // TODO(gbillock): Make this unnecessary.
333 storage_monitor::StorageMonitor::Destroy(); 334 storage_monitor::StorageMonitor::Destroy();
334 #endif 335 #endif
335 336
336 message_center::MessageCenter::Shutdown(); 337 message_center::MessageCenter::Shutdown();
337 338
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
565 DCHECK(CalledOnValidThread()); 566 DCHECK(CalledOnValidThread());
566 return GetMetricsServicesManager()->GetVariationsService(); 567 return GetMetricsServicesManager()->GetVariationsService();
567 } 568 }
568 569
569 BrowserProcessPlatformPart* BrowserProcessImpl::platform_part() { 570 BrowserProcessPlatformPart* BrowserProcessImpl::platform_part() {
570 return platform_part_.get(); 571 return platform_part_.get();
571 } 572 }
572 573
573 extensions::EventRouterForwarder* 574 extensions::EventRouterForwarder*
574 BrowserProcessImpl::extension_event_router_forwarder() { 575 BrowserProcessImpl::extension_event_router_forwarder() {
575 #if defined(ENABLE_EXTENSIONS) 576 #if BUILDFLAG(ENABLE_EXTENSIONS)
576 return extension_event_router_forwarder_.get(); 577 return extension_event_router_forwarder_.get();
577 #else 578 #else
578 return NULL; 579 return NULL;
579 #endif 580 #endif
580 } 581 }
581 582
582 NotificationUIManager* BrowserProcessImpl::notification_ui_manager() { 583 NotificationUIManager* BrowserProcessImpl::notification_ui_manager() {
583 DCHECK(CalledOnValidThread()); 584 DCHECK(CalledOnValidThread());
584 // TODO(miguelg) return NULL for MAC as well once native notifications 585 // TODO(miguelg) return NULL for MAC as well once native notifications
585 // are enabled by default. 586 // are enabled by default.
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
710 return intranet_redirect_detector_.get(); 711 return intranet_redirect_detector_.get();
711 } 712 }
712 713
713 const std::string& BrowserProcessImpl::GetApplicationLocale() { 714 const std::string& BrowserProcessImpl::GetApplicationLocale() {
714 DCHECK(!locale_.empty()); 715 DCHECK(!locale_.empty());
715 return locale_; 716 return locale_;
716 } 717 }
717 718
718 void BrowserProcessImpl::SetApplicationLocale(const std::string& locale) { 719 void BrowserProcessImpl::SetApplicationLocale(const std::string& locale) {
719 locale_ = locale; 720 locale_ = locale;
720 #if defined(ENABLE_EXTENSIONS) 721 #if BUILDFLAG(ENABLE_EXTENSIONS)
721 extension_l10n_util::SetProcessLocale(locale); 722 extension_l10n_util::SetProcessLocale(locale);
722 #endif 723 #endif
723 ChromeContentBrowserClient::SetApplicationLocale(locale); 724 ChromeContentBrowserClient::SetApplicationLocale(locale);
724 translate::TranslateDownloadManager::GetInstance()->set_application_locale( 725 translate::TranslateDownloadManager::GetInstance()->set_application_locale(
725 locale); 726 locale);
726 } 727 }
727 728
728 DownloadStatusUpdater* BrowserProcessImpl::download_status_updater() { 729 DownloadStatusUpdater* BrowserProcessImpl::download_status_updater() {
729 return download_status_updater_.get(); 730 return download_status_updater_.get();
730 } 731 }
731 732
732 MediaFileSystemRegistry* BrowserProcessImpl::media_file_system_registry() { 733 MediaFileSystemRegistry* BrowserProcessImpl::media_file_system_registry() {
733 #if defined(ENABLE_EXTENSIONS) 734 #if BUILDFLAG(ENABLE_EXTENSIONS)
734 if (!media_file_system_registry_) 735 if (!media_file_system_registry_)
735 media_file_system_registry_.reset(new MediaFileSystemRegistry()); 736 media_file_system_registry_.reset(new MediaFileSystemRegistry());
736 return media_file_system_registry_.get(); 737 return media_file_system_registry_.get();
737 #else 738 #else
738 return NULL; 739 return NULL;
739 #endif 740 #endif
740 } 741 }
741 742
742 bool BrowserProcessImpl::created_local_state() const { 743 bool BrowserProcessImpl::created_local_state() const {
743 return created_local_state_; 744 return created_local_state_;
(...skipping 285 matching lines...) Expand 10 before | Expand all | Expand 10 after
1029 1030
1030 int max_per_proxy = local_state_->GetInteger(prefs::kMaxConnectionsPerProxy); 1031 int max_per_proxy = local_state_->GetInteger(prefs::kMaxConnectionsPerProxy);
1031 net::ClientSocketPoolManager::set_max_sockets_per_proxy_server( 1032 net::ClientSocketPoolManager::set_max_sockets_per_proxy_server(
1032 net::HttpNetworkSession::NORMAL_SOCKET_POOL, 1033 net::HttpNetworkSession::NORMAL_SOCKET_POOL,
1033 std::max(std::min(max_per_proxy, 99), 1034 std::max(std::min(max_per_proxy, 99),
1034 net::ClientSocketPoolManager::max_sockets_per_group( 1035 net::ClientSocketPoolManager::max_sockets_per_group(
1035 net::HttpNetworkSession::NORMAL_SOCKET_POOL))); 1036 net::HttpNetworkSession::NORMAL_SOCKET_POOL)));
1036 } 1037 }
1037 1038
1038 void BrowserProcessImpl::PreCreateThreads() { 1039 void BrowserProcessImpl::PreCreateThreads() {
1039 #if defined(ENABLE_EXTENSIONS) 1040 #if BUILDFLAG(ENABLE_EXTENSIONS)
1040 // Register the chrome-extension scheme to reflect the extension process 1041 // Register the chrome-extension scheme to reflect the extension process
1041 // model. Controlled by a field trial, so we can't do this earlier. 1042 // model. Controlled by a field trial, so we can't do this earlier.
1042 base::FieldTrialList::FindFullName("SiteIsolationExtensions"); 1043 base::FieldTrialList::FindFullName("SiteIsolationExtensions");
1043 if (extensions::IsIsolateExtensionsEnabled()) { 1044 if (extensions::IsIsolateExtensionsEnabled()) {
1044 // chrome-extension:// URLs are safe to request anywhere, but may only 1045 // chrome-extension:// URLs are safe to request anywhere, but may only
1045 // commit (including in iframes) in extension processes. 1046 // commit (including in iframes) in extension processes.
1046 ChildProcessSecurityPolicy::GetInstance()->RegisterWebSafeIsolatedScheme( 1047 ChildProcessSecurityPolicy::GetInstance()->RegisterWebSafeIsolatedScheme(
1047 extensions::kExtensionScheme, true); 1048 extensions::kExtensionScheme, true);
1048 // TODO(nick): Kill off kExtensionResourceScheme. 1049 // TODO(nick): Kill off kExtensionResourceScheme.
1049 ChildProcessSecurityPolicy::GetInstance()->RegisterWebSafeIsolatedScheme( 1050 ChildProcessSecurityPolicy::GetInstance()->RegisterWebSafeIsolatedScheme(
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
1399 } 1400 }
1400 1401
1401 void BrowserProcessImpl::OnAutoupdateTimer() { 1402 void BrowserProcessImpl::OnAutoupdateTimer() {
1402 if (CanAutorestartForUpdate()) { 1403 if (CanAutorestartForUpdate()) {
1403 DLOG(WARNING) << "Detected update. Restarting browser."; 1404 DLOG(WARNING) << "Detected update. Restarting browser.";
1404 RestartBackgroundInstance(); 1405 RestartBackgroundInstance();
1405 } 1406 }
1406 } 1407 }
1407 1408
1408 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) 1409 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
OLDNEW
« no previous file with comments | « chrome/browser/browser_process_impl.h ('k') | chrome/browser/browsing_data/browsing_data_counter_factory.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698