| Index: chrome/browser/profiles/profile_io_data.cc
|
| ===================================================================
|
| --- chrome/browser/profiles/profile_io_data.cc (revision 122771)
|
| +++ chrome/browser/profiles/profile_io_data.cc (working copy)
|
| @@ -14,6 +14,7 @@
|
| #include "base/logging.h"
|
| #include "base/stl_util.h"
|
| #include "base/string_number_conversions.h"
|
| +#include "base/string_util.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/content_settings/cookie_settings.h"
|
| #include "chrome/browser/content_settings/host_content_settings_map.h"
|
| @@ -40,8 +41,6 @@
|
| #include "chrome/common/chrome_switches.h"
|
| #include "chrome/common/pref_names.h"
|
| #include "chrome/common/url_constants.h"
|
| -#include "content/browser/appcache/chrome_appcache_service.h"
|
| -#include "content/browser/chrome_blob_storage_context.h"
|
| #include "content/browser/in_process_webkit/webkit_context.h"
|
| #include "content/browser/renderer_host/media/media_stream_manager.h"
|
| #include "content/browser/renderer_host/resource_dispatcher_host.h"
|
| @@ -60,10 +59,7 @@
|
| #include "net/url_request/url_request.h"
|
| #include "webkit/blob/blob_data.h"
|
| #include "webkit/blob/blob_url_request_job_factory.h"
|
| -#include "webkit/database/database_tracker.h"
|
| -#include "webkit/fileapi/file_system_context.h"
|
| #include "webkit/fileapi/file_system_url_request_job_factory.h"
|
| -#include "webkit/quota/quota_manager.h"
|
|
|
| #if defined(OS_CHROMEOS)
|
| #include "chrome/browser/chromeos/gview_request_interceptor.h"
|
| @@ -72,6 +68,7 @@
|
|
|
| using content::BrowserContext;
|
| using content::BrowserThread;
|
| +using content::ResourceContext;
|
|
|
| namespace {
|
|
|
| @@ -196,8 +193,6 @@
|
| params->clear_local_state_on_exit =
|
| pref_service->GetBoolean(prefs::kClearSiteDataOnExit);
|
|
|
| - params->appcache_service = BrowserContext::GetAppCacheService(profile);
|
| -
|
| // Set up Accept-Language and Accept-Charset header values
|
| params->accept_language = net::HttpUtil::GenerateAcceptLanguageHeader(
|
| pref_service->GetString(prefs::kAcceptLanguages));
|
| @@ -232,12 +227,6 @@
|
| profile);
|
| params->cookie_monster_delegate =
|
| new ChromeCookieMonsterDelegate(profile_getter);
|
| - params->database_tracker = BrowserContext::GetDatabaseTracker(profile);
|
| - params->appcache_service = BrowserContext::GetAppCacheService(profile);
|
| - params->blob_storage_context = BrowserContext::GetBlobStorageContext(profile);
|
| - params->file_system_context = BrowserContext::GetFileSystemContext(profile);
|
| - params->webkit_context = BrowserContext::GetWebKitContext(profile);
|
| - params->quota_manager = BrowserContext::GetQuotaManager(profile);
|
| params->extension_info_map = profile->GetExtensionInfoMap();
|
| params->notification_service =
|
| DesktopNotificationServiceFactory::GetForProfile(profile);
|
| @@ -261,6 +250,11 @@
|
| #endif
|
|
|
| initialized_on_UI_thread_ = true;
|
| +
|
| + // We need to make sure that content initializes its own data structures that
|
| + // are associated with each ResourceContext because we might post this
|
| + // object to the IO thread after this function.
|
| + BrowserContext::EnsureResourceContextInitialized(profile);
|
| }
|
|
|
| ProfileIOData::AppRequestContext::AppRequestContext() {}
|
| @@ -419,44 +413,6 @@
|
| 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_;
|
| -}
|
| -
|
| -WebKitContext* ProfileIOData::ResourceContext::GetWebKitContext() {
|
| - DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
|
| - EnsureInitialized();
|
| - return webkit_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();
|
| @@ -501,8 +457,6 @@
|
| main_request_context_ = new ChromeURLRequestContext;
|
| extensions_request_context_ = new ChromeURLRequestContext;
|
|
|
| - profile_params_->appcache_service->set_request_context(main_request_context_);
|
| -
|
| chrome_url_data_manager_backend_.reset(new ChromeURLDataManagerBackend);
|
|
|
| network_delegate_.reset(new ChromeNetworkDelegate(
|
| @@ -547,8 +501,8 @@
|
| chrome::kChromeUIScheme,
|
| ChromeURLDataManagerBackend::CreateProtocolHandler(
|
| chrome_url_data_manager_backend_.get(),
|
| - profile_params_->appcache_service,
|
| - profile_params_->blob_storage_context->controller()));
|
| + ResourceContext::GetAppCacheService(&resource_context_),
|
| + ResourceContext::GetBlobStorageController(&resource_context_)));
|
| DCHECK(set_protocol);
|
| set_protocol = job_factory_->SetProtocolHandler(
|
| chrome::kChromeDevToolsScheme,
|
| @@ -557,13 +511,13 @@
|
| set_protocol = job_factory_->SetProtocolHandler(
|
| chrome::kBlobScheme,
|
| new ChromeBlobProtocolHandler(
|
| - profile_params_->blob_storage_context->controller(),
|
| + ResourceContext::GetBlobStorageController(&resource_context_),
|
| BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE)));
|
| DCHECK(set_protocol);
|
| set_protocol = job_factory_->SetProtocolHandler(
|
| chrome::kFileSystemScheme,
|
| CreateFileSystemProtocolHandler(
|
| - profile_params_->file_system_context,
|
| + ResourceContext::GetFileSystemContext(&resource_context_),
|
| BrowserThread::GetMessageLoopProxyForThread(BrowserThread::FILE)));
|
| DCHECK(set_protocol);
|
| #if defined(OS_CHROMEOS) && !defined(GOOGLE_CHROME_BUILD)
|
| @@ -578,12 +532,6 @@
|
| new media_stream::MediaStreamManager(profile_params_->audio_manager));
|
|
|
| // Take ownership over these parameters.
|
| - database_tracker_ = profile_params_->database_tracker;
|
| - appcache_service_ = profile_params_->appcache_service;
|
| - blob_storage_context_ = profile_params_->blob_storage_context;
|
| - file_system_context_ = profile_params_->file_system_context;
|
| - webkit_context_ = profile_params_->webkit_context;
|
| - quota_manager_ = profile_params_->quota_manager;
|
| host_zoom_map_ = profile_params_->host_zoom_map;
|
| host_content_settings_map_ = profile_params_->host_content_settings_map;
|
| cookie_settings_ = profile_params_->cookie_settings;
|
| @@ -592,12 +540,6 @@
|
|
|
| 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_.webkit_context_ = webkit_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();
|
|
|