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

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

Issue 7827033: Introduce net::HttpServerPropertiesManager to manage server-specific properties. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years, 3 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) 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/browser_process_impl.h" 5 #include "chrome/browser/browser_process_impl.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 20 matching lines...) Expand all
31 #include "chrome/browser/first_run/upgrade_util.h" 31 #include "chrome/browser/first_run/upgrade_util.h"
32 #include "chrome/browser/google/google_url_tracker.h" 32 #include "chrome/browser/google/google_url_tracker.h"
33 #include "chrome/browser/icon_manager.h" 33 #include "chrome/browser/icon_manager.h"
34 #include "chrome/browser/intranet_redirect_detector.h" 34 #include "chrome/browser/intranet_redirect_detector.h"
35 #include "chrome/browser/io_thread.h" 35 #include "chrome/browser/io_thread.h"
36 #include "chrome/browser/metrics/metrics_service.h" 36 #include "chrome/browser/metrics/metrics_service.h"
37 #include "chrome/browser/metrics/thread_watcher.h" 37 #include "chrome/browser/metrics/thread_watcher.h"
38 #include "chrome/browser/net/chrome_net_log.h" 38 #include "chrome/browser/net/chrome_net_log.h"
39 #include "chrome/browser/net/predictor_api.h" 39 #include "chrome/browser/net/predictor_api.h"
40 #include "chrome/browser/net/sdch_dictionary_fetcher.h" 40 #include "chrome/browser/net/sdch_dictionary_fetcher.h"
41 #include "chrome/browser/net/spdy_config_service_manager.h"
41 #include "chrome/browser/notifications/notification_ui_manager.h" 42 #include "chrome/browser/notifications/notification_ui_manager.h"
42 #include "chrome/browser/policy/browser_policy_connector.h" 43 #include "chrome/browser/policy/browser_policy_connector.h"
43 #include "chrome/browser/prefs/browser_prefs.h" 44 #include "chrome/browser/prefs/browser_prefs.h"
44 #include "chrome/browser/prefs/pref_service.h" 45 #include "chrome/browser/prefs/pref_service.h"
45 #include "chrome/browser/prerender/prerender_tracker.h" 46 #include "chrome/browser/prerender/prerender_tracker.h"
46 #include "chrome/browser/printing/background_printing_manager.h" 47 #include "chrome/browser/printing/background_printing_manager.h"
47 #include "chrome/browser/printing/print_job_manager.h" 48 #include "chrome/browser/printing/print_job_manager.h"
48 #include "chrome/browser/printing/print_preview_tab_controller.h" 49 #include "chrome/browser/printing/print_preview_tab_controller.h"
49 #include "chrome/browser/profiles/profile_manager.h" 50 #include "chrome/browser/profiles/profile_manager.h"
50 #include "chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate. h" 51 #include "chrome/browser/renderer_host/chrome_resource_dispatcher_host_delegate. h"
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
121 created_file_thread_(false), 122 created_file_thread_(false),
122 created_db_thread_(false), 123 created_db_thread_(false),
123 created_process_launcher_thread_(false), 124 created_process_launcher_thread_(false),
124 created_cache_thread_(false), 125 created_cache_thread_(false),
125 created_watchdog_thread_(false), 126 created_watchdog_thread_(false),
126 #if defined(OS_CHROMEOS) 127 #if defined(OS_CHROMEOS)
127 created_web_socket_proxy_thread_(false), 128 created_web_socket_proxy_thread_(false),
128 #endif 129 #endif
129 created_profile_manager_(false), 130 created_profile_manager_(false),
130 created_local_state_(false), 131 created_local_state_(false),
132 created_spdy_config_service_manager_(false),
131 created_icon_manager_(false), 133 created_icon_manager_(false),
132 created_devtools_manager_(false), 134 created_devtools_manager_(false),
133 created_sidebar_manager_(false), 135 created_sidebar_manager_(false),
134 created_browser_policy_connector_(false), 136 created_browser_policy_connector_(false),
135 created_notification_ui_manager_(false), 137 created_notification_ui_manager_(false),
136 created_safe_browsing_service_(false), 138 created_safe_browsing_service_(false),
137 module_ref_count_(0), 139 module_ref_count_(0),
138 did_start_(false), 140 did_start_(false),
139 checked_for_new_frames_(false), 141 checked_for_new_frames_(false),
140 using_new_frames_(false) { 142 using_new_frames_(false) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 notification_ui_manager_.reset(); 199 notification_ui_manager_.reset();
198 200
199 // FIXME - We shouldn't need this, it's because of DefaultRequestContext! :( 201 // FIXME - We shouldn't need this, it's because of DefaultRequestContext! :(
200 // We need to kill off all URLFetchers using profile related 202 // We need to kill off all URLFetchers using profile related
201 // URLRequestContexts. Normally that'd be covered by deleting the Profiles, 203 // URLRequestContexts. Normally that'd be covered by deleting the Profiles,
202 // but we have some URLFetchers using the DefaultRequestContext, so they need 204 // but we have some URLFetchers using the DefaultRequestContext, so they need
203 // to be cancelled too. Remove this when DefaultRequestContext goes away. 205 // to be cancelled too. Remove this when DefaultRequestContext goes away.
204 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE, 206 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
205 NewRunnableFunction(&URLFetcher::CancelAll)); 207 NewRunnableFunction(&URLFetcher::CancelAll));
206 208
209 if (spdy_config_service_manager_.get()) {
210 spdy_config_service_manager_->Cleanup();
211 }
212
207 // Need to clear profiles (download managers) before the io_thread_. 213 // Need to clear profiles (download managers) before the io_thread_.
208 profile_manager_.reset(); 214 profile_manager_.reset();
209 215
210 // Debugger must be cleaned up before IO thread and NotificationService. 216 // Debugger must be cleaned up before IO thread and NotificationService.
211 remote_debugging_server_.reset(); 217 remote_debugging_server_.reset();
212 218
213 if (devtools_legacy_handler_.get()) { 219 if (devtools_legacy_handler_.get()) {
214 devtools_legacy_handler_->Stop(); 220 devtools_legacy_handler_->Stop();
215 devtools_legacy_handler_ = NULL; 221 devtools_legacy_handler_ = NULL;
216 } 222 }
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
425 return profile_manager_.get(); 431 return profile_manager_.get();
426 } 432 }
427 433
428 PrefService* BrowserProcessImpl::local_state() { 434 PrefService* BrowserProcessImpl::local_state() {
429 DCHECK(CalledOnValidThread()); 435 DCHECK(CalledOnValidThread());
430 if (!created_local_state_) 436 if (!created_local_state_)
431 CreateLocalState(); 437 CreateLocalState();
432 return local_state_.get(); 438 return local_state_.get();
433 } 439 }
434 440
441 SpdyConfigServiceManager* BrowserProcessImpl::spdy_config_service_manager() {
442 DCHECK(CalledOnValidThread());
443 if (!created_spdy_config_service_manager_)
444 CreateSpdyConfigServiceManager();
445 return spdy_config_service_manager_.get();
446 }
447
435 DevToolsManager* BrowserProcessImpl::devtools_manager() { 448 DevToolsManager* BrowserProcessImpl::devtools_manager() {
436 DCHECK(CalledOnValidThread()); 449 DCHECK(CalledOnValidThread());
437 if (!created_devtools_manager_) 450 if (!created_devtools_manager_)
438 CreateDevToolsManager(); 451 CreateDevToolsManager();
439 return devtools_manager_.get(); 452 return devtools_manager_.get();
440 } 453 }
441 454
442 SidebarManager* BrowserProcessImpl::sidebar_manager() { 455 SidebarManager* BrowserProcessImpl::sidebar_manager() {
443 DCHECK(CalledOnValidThread()); 456 DCHECK(CalledOnValidThread());
444 if (!created_sidebar_manager_) 457 if (!created_sidebar_manager_)
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 // Also find plugins in a user-specific plugins dir, 769 // Also find plugins in a user-specific plugins dir,
757 // e.g. ~/.config/chromium/Plugins. 770 // e.g. ~/.config/chromium/Plugins.
758 FilePath user_data_dir; 771 FilePath user_data_dir;
759 if (PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)) { 772 if (PathService::Get(chrome::DIR_USER_DATA, &user_data_dir)) {
760 webkit::npapi::PluginList::Singleton()->AddExtraPluginDir( 773 webkit::npapi::PluginList::Singleton()->AddExtraPluginDir(
761 user_data_dir.Append("Plugins")); 774 user_data_dir.Append("Plugins"));
762 } 775 }
763 #endif 776 #endif
764 777
765 scoped_ptr<IOThread> thread(new IOThread( 778 scoped_ptr<IOThread> thread(new IOThread(
766 local_state(), net_log_.get(), extension_event_router_forwarder_.get())); 779 local_state(), spdy_config_service_manager(),
780 net_log_.get(), extension_event_router_forwarder_.get()));
767 base::Thread::Options options; 781 base::Thread::Options options;
768 options.message_loop_type = MessageLoop::TYPE_IO; 782 options.message_loop_type = MessageLoop::TYPE_IO;
769 if (!thread->StartWithOptions(options)) 783 if (!thread->StartWithOptions(options))
770 return; 784 return;
771 io_thread_.swap(thread); 785 io_thread_.swap(thread);
772 } 786 }
773 787
774 void BrowserProcessImpl::CreateFileThread() { 788 void BrowserProcessImpl::CreateFileThread() {
775 DCHECK(!created_file_thread_ && file_thread_.get() == NULL); 789 DCHECK(!created_file_thread_ && file_thread_.get() == NULL);
776 created_file_thread_ = true; 790 created_file_thread_ = true;
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
905 std::max(std::min(max_per_proxy, 99), 919 std::max(std::min(max_per_proxy, 99),
906 net::ClientSocketPoolManager::max_sockets_per_group())); 920 net::ClientSocketPoolManager::max_sockets_per_group()));
907 921
908 // This is observed by ChildProcessSecurityPolicy, which lives in content/ 922 // This is observed by ChildProcessSecurityPolicy, which lives in content/
909 // though, so it can't register itself. 923 // though, so it can't register itself.
910 local_state_->RegisterListPref(prefs::kDisabledSchemes); 924 local_state_->RegisterListPref(prefs::kDisabledSchemes);
911 pref_change_registrar_.Add(prefs::kDisabledSchemes, this); 925 pref_change_registrar_.Add(prefs::kDisabledSchemes, this);
912 ApplyDisabledSchemesPolicy(); 926 ApplyDisabledSchemesPolicy();
913 } 927 }
914 928
929 void BrowserProcessImpl::CreateSpdyConfigServiceManager() {
930 DCHECK(!created_spdy_config_service_manager_ &&
931 spdy_config_service_manager_.get() == NULL);
932 created_spdy_config_service_manager_ = true;
933 spdy_config_service_manager_ = new SpdyConfigServiceManager();
934 }
935
915 void BrowserProcessImpl::CreateIconManager() { 936 void BrowserProcessImpl::CreateIconManager() {
916 DCHECK(!created_icon_manager_ && icon_manager_.get() == NULL); 937 DCHECK(!created_icon_manager_ && icon_manager_.get() == NULL);
917 created_icon_manager_ = true; 938 created_icon_manager_ = true;
918 icon_manager_.reset(new IconManager); 939 icon_manager_.reset(new IconManager);
919 } 940 }
920 941
921 void BrowserProcessImpl::CreateDevToolsManager() { 942 void BrowserProcessImpl::CreateDevToolsManager() {
922 DCHECK(devtools_manager_.get() == NULL); 943 DCHECK(devtools_manager_.get() == NULL);
923 created_devtools_manager_ = true; 944 created_devtools_manager_ = true;
924 devtools_manager_.reset(new DevToolsManager()); 945 devtools_manager_.reset(new DevToolsManager());
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
1096 } 1117 }
1097 1118
1098 void BrowserProcessImpl::OnAutoupdateTimer() { 1119 void BrowserProcessImpl::OnAutoupdateTimer() {
1099 if (CanAutorestartForUpdate()) { 1120 if (CanAutorestartForUpdate()) {
1100 DLOG(WARNING) << "Detected update. Restarting browser."; 1121 DLOG(WARNING) << "Detected update. Restarting browser.";
1101 RestartPersistentInstance(); 1122 RestartPersistentInstance();
1102 } 1123 }
1103 } 1124 }
1104 1125
1105 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS) 1126 #endif // (defined(OS_WIN) || defined(OS_LINUX)) && !defined(OS_CHROMEOS)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698