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

Unified Diff: chrome/browser/profiles/profile_io_data.cc

Issue 9369009: Make content::ResourceContext be a real interface like the rest of the Content API (i.e. don't ha... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync Created 8 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/profiles/profile_io_data.cc
===================================================================
--- chrome/browser/profiles/profile_io_data.cc (revision 121250)
+++ chrome/browser/profiles/profile_io_data.cc (working copy)
@@ -296,6 +296,12 @@
}
// static
+ProfileIOData* ProfileIOData::FromResourceContext(
+ content::ResourceContext* rc) {
+ return (static_cast<ResourceContext*>(rc))->io_data_;
+}
+
+// static
bool ProfileIOData::IsHandledProtocol(const std::string& scheme) {
DCHECK_EQ(scheme, StringToLowerASCII(scheme));
static const char* const kProtocolList[] = {
@@ -324,8 +330,8 @@
return IsHandledProtocol(url.scheme());
}
-const content::ResourceContext& ProfileIOData::GetResourceContext() const {
- return resource_context_;
+content::ResourceContext* ProfileIOData::GetResourceContext() const {
+ return &resource_context_;
}
ChromeURLDataManagerBackend*
@@ -387,17 +393,86 @@
return notification_service_;
}
-ProfileIOData::ResourceContext::ResourceContext(const ProfileIOData* io_data)
+ProfileIOData::ResourceContext::ResourceContext(ProfileIOData* io_data)
: io_data_(io_data) {
DCHECK(io_data);
}
ProfileIOData::ResourceContext::~ResourceContext() {}
-void ProfileIOData::ResourceContext::EnsureInitialized() const {
+void ProfileIOData::ResourceContext::EnsureInitialized() {
io_data_->LazyInitialize();
}
+net::HostResolver* ProfileIOData::ResourceContext::GetHostResolver() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ EnsureInitialized();
+ return host_resolver_;
+}
+
+net::URLRequestContext* ProfileIOData::ResourceContext::GetRequestContext() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ EnsureInitialized();
+ return request_context_;
+}
+
+ChromeAppCacheService* ProfileIOData::ResourceContext::GetAppCacheService() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ EnsureInitialized();
+ return appcache_service_;
+}
+
+webkit_database::DatabaseTracker*
+ ProfileIOData::ResourceContext::GetDatabaseTracker() {
+ EnsureInitialized();
+ return database_tracker_;
+}
+
+fileapi::FileSystemContext*
+ ProfileIOData::ResourceContext::GetFileSystemContext() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ EnsureInitialized();
+ return file_system_context_;
+}
+
+ChromeBlobStorageContext*
+ ProfileIOData::ResourceContext::GetBlobStorageContext() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ EnsureInitialized();
+ return blob_storage_context_;
+}
+
+quota::QuotaManager* ProfileIOData::ResourceContext::GetQuotaManager() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ EnsureInitialized();
+ return quota_manager_;
+}
+
+content::HostZoomMap* ProfileIOData::ResourceContext::GetHostZoomMap() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ EnsureInitialized();
+ return host_zoom_map_;
+}
+
+MediaObserver* ProfileIOData::ResourceContext::GetMediaObserver() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ EnsureInitialized();
+ return media_observer_;
+}
+
+media_stream::MediaStreamManager*
+ ProfileIOData::ResourceContext::GetMediaStreamManager() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ EnsureInitialized();
+ return media_stream_manager_;
+}
+
+AudioManager* ProfileIOData::ResourceContext::GetAudioManager() {
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
+ EnsureInitialized();
+ return audio_manager_;
+}
+
void ProfileIOData::LazyInitialize() const {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
if (initialized_)
@@ -505,19 +580,18 @@
notification_service_ = profile_params_->notification_service;
extension_info_map_ = profile_params_->extension_info_map;
- resource_context_.set_host_resolver(io_thread_globals->host_resolver.get());
- resource_context_.set_request_context(main_request_context_);
- resource_context_.set_database_tracker(database_tracker_);
- resource_context_.set_appcache_service(appcache_service_);
- resource_context_.set_blob_storage_context(blob_storage_context_);
- resource_context_.set_file_system_context(file_system_context_);
- resource_context_.set_quota_manager(quota_manager_);
- resource_context_.set_host_zoom_map(host_zoom_map_);
- resource_context_.SetUserData(NULL, const_cast<ProfileIOData*>(this));
- resource_context_.set_media_observer(
- io_thread_globals->media.media_internals.get());
- resource_context_.set_media_stream_manager(media_stream_manager_.get());
- resource_context_.set_audio_manager(profile_params_->audio_manager);
+ resource_context_.host_resolver_ = io_thread_globals->host_resolver.get();
+ resource_context_.request_context_ = main_request_context_;
+ resource_context_.database_tracker_ = database_tracker_;
+ resource_context_.appcache_service_ = appcache_service_;
+ resource_context_.blob_storage_context_ = blob_storage_context_;
+ resource_context_.file_system_context_ = file_system_context_;
+ resource_context_.quota_manager_ = quota_manager_;
+ resource_context_.host_zoom_map_ = host_zoom_map_;
+ resource_context_.media_observer_ =
+ io_thread_globals->media.media_internals.get();
+ resource_context_.media_stream_manager_ = media_stream_manager_.get();
+ resource_context_.audio_manager_ = profile_params_->audio_manager;
LazyInitializeInternal(profile_params_.get());
« no previous file with comments | « chrome/browser/profiles/profile_io_data.h ('k') | chrome/browser/renderer_host/chrome_render_message_filter.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698