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

Side by Side Diff: chrome/browser/profiles/profile_impl.cc

Issue 10828263: Moving FaviconService to a ProfileKeyedService. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 8 years, 4 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/profiles/profile_impl.h" 5 #include "chrome/browser/profiles/profile_impl.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/environment.h" 10 #include "base/environment.h"
(...skipping 21 matching lines...) Expand all
32 #include "chrome/browser/download/download_service_factory.h" 32 #include "chrome/browser/download/download_service_factory.h"
33 #include "chrome/browser/extensions/event_router.h" 33 #include "chrome/browser/extensions/event_router.h"
34 #include "chrome/browser/extensions/extension_pref_store.h" 34 #include "chrome/browser/extensions/extension_pref_store.h"
35 #include "chrome/browser/extensions/extension_pref_value_map.h" 35 #include "chrome/browser/extensions/extension_pref_value_map.h"
36 #include "chrome/browser/extensions/extension_pref_value_map_factory.h" 36 #include "chrome/browser/extensions/extension_pref_value_map_factory.h"
37 #include "chrome/browser/extensions/extension_process_manager.h" 37 #include "chrome/browser/extensions/extension_process_manager.h"
38 #include "chrome/browser/extensions/extension_service.h" 38 #include "chrome/browser/extensions/extension_service.h"
39 #include "chrome/browser/extensions/extension_special_storage_policy.h" 39 #include "chrome/browser/extensions/extension_special_storage_policy.h"
40 #include "chrome/browser/extensions/extension_system.h" 40 #include "chrome/browser/extensions/extension_system.h"
41 #include "chrome/browser/extensions/user_script_master.h" 41 #include "chrome/browser/extensions/user_script_master.h"
42 #include "chrome/browser/favicon/favicon_service.h"
43 #include "chrome/browser/geolocation/chrome_geolocation_permission_context.h" 42 #include "chrome/browser/geolocation/chrome_geolocation_permission_context.h"
44 #include "chrome/browser/history/shortcuts_backend.h" 43 #include "chrome/browser/history/shortcuts_backend.h"
45 #include "chrome/browser/history/top_sites.h" 44 #include "chrome/browser/history/top_sites.h"
46 #include "chrome/browser/metrics/metrics_service.h" 45 #include "chrome/browser/metrics/metrics_service.h"
47 #include "chrome/browser/net/chrome_url_request_context.h" 46 #include "chrome/browser/net/chrome_url_request_context.h"
48 #include "chrome/browser/net/net_pref_observer.h" 47 #include "chrome/browser/net/net_pref_observer.h"
49 #include "chrome/browser/net/predictor.h" 48 #include "chrome/browser/net/predictor.h"
50 #include "chrome/browser/net/proxy_service_factory.h" 49 #include "chrome/browser/net/proxy_service_factory.h"
51 #include "chrome/browser/net/ssl_config_service_manager.h" 50 #include "chrome/browser/net/ssl_config_service_manager.h"
52 #include "chrome/browser/net/url_fixer_upper.h" 51 #include "chrome/browser/net/url_fixer_upper.h"
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 } 251 }
253 252
254 ProfileImpl::ProfileImpl(const FilePath& path, 253 ProfileImpl::ProfileImpl(const FilePath& path,
255 Delegate* delegate, 254 Delegate* delegate,
256 CreateMode create_mode) 255 CreateMode create_mode)
257 : path_(path), 256 : path_(path),
258 ALLOW_THIS_IN_INITIALIZER_LIST(visited_link_event_listener_( 257 ALLOW_THIS_IN_INITIALIZER_LIST(visited_link_event_listener_(
259 new VisitedLinkEventListener(this))), 258 new VisitedLinkEventListener(this))),
260 ALLOW_THIS_IN_INITIALIZER_LIST(io_data_(this)), 259 ALLOW_THIS_IN_INITIALIZER_LIST(io_data_(this)),
261 host_content_settings_map_(NULL), 260 host_content_settings_map_(NULL),
262 favicon_service_created_(false),
263 start_time_(Time::Now()), 261 start_time_(Time::Now()),
264 delegate_(delegate), 262 delegate_(delegate),
265 predictor_(NULL) { 263 predictor_(NULL) {
266 DCHECK(!path.empty()) << "Using an empty path will attempt to write " << 264 DCHECK(!path.empty()) << "Using an empty path will attempt to write " <<
267 "profile files to the root directory!"; 265 "profile files to the root directory!";
268 266
269 #if defined(ENABLE_SESSION_SERVICE) 267 #if defined(ENABLE_SESSION_SERVICE)
270 create_session_service_timer_.Start(FROM_HERE, 268 create_session_service_timer_.Start(FROM_HERE,
271 TimeDelta::FromMilliseconds(kCreateSessionServiceDelayMS), this, 269 TimeDelta::FromMilliseconds(kCreateSessionServiceDelayMS), this,
272 &ProfileImpl::EnsureSessionServiceCreated); 270 &ProfileImpl::EnsureSessionServiceCreated);
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after
500 } else { 498 } else {
501 ExtensionPrefValueMapFactory::GetForProfile(this)-> 499 ExtensionPrefValueMapFactory::GetForProfile(this)->
502 ClearAllIncognitoSessionOnlyPreferences(); 500 ClearAllIncognitoSessionOnlyPreferences();
503 } 501 }
504 502
505 ProfileDependencyManager::GetInstance()->DestroyProfileServices(this); 503 ProfileDependencyManager::GetInstance()->DestroyProfileServices(this);
506 504
507 if (top_sites_.get()) 505 if (top_sites_.get())
508 top_sites_->Shutdown(); 506 top_sites_->Shutdown();
509 507
510 // FaviconService depends on HistoryServce so make sure we delete
511 // HistoryService first.
512 favicon_service_.reset();
513
514 if (pref_proxy_config_tracker_.get()) 508 if (pref_proxy_config_tracker_.get())
515 pref_proxy_config_tracker_->DetachFromPrefService(); 509 pref_proxy_config_tracker_->DetachFromPrefService();
516 510
517 if (host_content_settings_map_) 511 if (host_content_settings_map_)
518 host_content_settings_map_->ShutdownOnUIThread(); 512 host_content_settings_map_->ShutdownOnUIThread();
519 513
520 // This causes the Preferences file to be written to disk. 514 // This causes the Preferences file to be written to disk.
521 if (prefs_loaded) 515 if (prefs_loaded)
522 MarkAsCleanShutdown(); 516 MarkAsCleanShutdown();
523 } 517 }
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
703 } 697 }
704 698
705 net::URLRequestContextGetter* ProfileImpl::GetRequestContextForMedia() { 699 net::URLRequestContextGetter* ProfileImpl::GetRequestContextForMedia() {
706 return io_data_.GetMediaRequestContextGetter(); 700 return io_data_.GetMediaRequestContextGetter();
707 } 701 }
708 702
709 content::ResourceContext* ProfileImpl::GetResourceContext() { 703 content::ResourceContext* ProfileImpl::GetResourceContext() {
710 return io_data_.GetResourceContext(); 704 return io_data_.GetResourceContext();
711 } 705 }
712 706
713 FaviconService* ProfileImpl::GetFaviconService(ServiceAccessType sat) {
714 if (!favicon_service_created_) {
715 favicon_service_created_ = true;
716 favicon_service_.reset(new FaviconService(this));
717 }
718 return favicon_service_.get();
719 }
720
721 net::URLRequestContextGetter* ProfileImpl::GetRequestContextForExtensions() { 707 net::URLRequestContextGetter* ProfileImpl::GetRequestContextForExtensions() {
722 return io_data_.GetExtensionsRequestContextGetter(); 708 return io_data_.GetExtensionsRequestContextGetter();
723 } 709 }
724 710
725 net::URLRequestContextGetter* ProfileImpl::GetRequestContextForIsolatedApp( 711 net::URLRequestContextGetter* ProfileImpl::GetRequestContextForIsolatedApp(
726 const std::string& app_id) { 712 const std::string& app_id) {
727 return io_data_.GetIsolatedAppRequestContextGetter(app_id); 713 return io_data_.GetIsolatedAppRequestContextGetter(app_id);
728 } 714 }
729 715
730 net::SSLConfigService* ProfileImpl::GetSSLConfigService() { 716 net::SSLConfigService* ProfileImpl::GetSSLConfigService() {
(...skipping 343 matching lines...) Expand 10 before | Expand all | Expand 10 after
1074 if (!path.empty()) 1060 if (!path.empty())
1075 *cache_path = path; 1061 *cache_path = path;
1076 *max_size = is_media_context ? prefs_->GetInteger(prefs::kMediaCacheSize) : 1062 *max_size = is_media_context ? prefs_->GetInteger(prefs::kMediaCacheSize) :
1077 prefs_->GetInteger(prefs::kDiskCacheSize); 1063 prefs_->GetInteger(prefs::kDiskCacheSize);
1078 } 1064 }
1079 1065
1080 base::Callback<ChromeURLDataManagerBackend*(void)> 1066 base::Callback<ChromeURLDataManagerBackend*(void)>
1081 ProfileImpl::GetChromeURLDataManagerBackendGetter() const { 1067 ProfileImpl::GetChromeURLDataManagerBackendGetter() const {
1082 return io_data_.GetChromeURLDataManagerBackendGetter(); 1068 return io_data_.GetChromeURLDataManagerBackendGetter();
1083 } 1069 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698