diff options
Diffstat (limited to 'content/browser/worker_host/worker_process_host.cc')
-rw-r--r-- | content/browser/worker_host/worker_process_host.cc | 34 |
1 files changed, 22 insertions, 12 deletions
diff --git a/content/browser/worker_host/worker_process_host.cc b/content/browser/worker_host/worker_process_host.cc index f74f64f..c9d3757 100644 --- a/content/browser/worker_host/worker_process_host.cc +++ b/content/browser/worker_host/worker_process_host.cc @@ -16,6 +16,7 @@ #include "base/string_util.h" #include "base/utf_string_conversions.h" #include "content/browser/appcache/appcache_dispatcher_host.h" +#include "content/browser/appcache/chrome_appcache_service.h" #include "content/browser/browser_child_process_host_impl.h" #include "content/browser/child_process_security_policy_impl.h" #include "content/browser/debugger/worker_devtools_manager.h" @@ -28,6 +29,7 @@ #include "content/browser/renderer_host/file_utilities_message_filter.h" #include "content/browser/renderer_host/render_view_host.h" #include "content/browser/renderer_host/socket_stream_dispatcher_host.h" +#include "content/browser/resource_context_impl.h" #include "content/browser/worker_host/message_port_service.h" #include "content/browser/worker_host/worker_message_filter.h" #include "content/browser/worker_host/worker_service_impl.h" @@ -38,7 +40,6 @@ #include "content/public/browser/browser_thread.h" #include "content/public/browser/content_browser_client.h" #include "content/public/browser/render_view_host_delegate.h" -#include "content/public/browser/resource_context.h" #include "content/public/browser/user_metrics.h" #include "content/public/common/content_switches.h" #include "content/public/common/result_codes.h" @@ -53,6 +54,7 @@ using content::BrowserThread; using content::ChildProcessData; using content::ChildProcessHost; +using content::ResourceContext; using content::UserMetricsAction; using content::WorkerDevToolsManager; using content::WorkerServiceImpl; @@ -194,6 +196,8 @@ bool WorkerProcessHost::Init(int render_process_id) { #endif cmd_line); + fileapi::FileSystemContext* file_system_context = + ResourceContext::GetFileSystemContext(resource_context_); ChildProcessSecurityPolicyImpl::GetInstance()->AddWorker( process_->GetData().id, render_process_id); if (!CommandLine::ForCurrentProcess()->HasSwitch( @@ -204,8 +208,8 @@ bool WorkerProcessHost::Init(int render_process_id) { // requests them. // This is for the filesystem sandbox. ChildProcessSecurityPolicyImpl::GetInstance()->GrantPermissionsForFile( - process_->GetData().id, resource_context_->GetFileSystemContext()-> - sandbox_provider()->new_base_path(), + process_->GetData().id, + file_system_context->sandbox_provider()->new_base_path(), base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_CREATE | base::PLATFORM_FILE_OPEN_ALWAYS | @@ -221,16 +225,16 @@ bool WorkerProcessHost::Init(int render_process_id) { // This is so that we can read and move stuff out of the old filesystem // sandbox. ChildProcessSecurityPolicyImpl::GetInstance()->GrantPermissionsForFile( - process_->GetData().id, resource_context_->GetFileSystemContext()-> - sandbox_provider()->old_base_path(), + process_->GetData().id, + file_system_context->sandbox_provider()->old_base_path(), base::PLATFORM_FILE_READ | base::PLATFORM_FILE_WRITE | base::PLATFORM_FILE_WRITE_ATTRIBUTES | base::PLATFORM_FILE_ENUMERATE); // This is so that we can rename the old sandbox out of the way so that // we know we've taken care of it. ChildProcessSecurityPolicyImpl::GetInstance()->GrantPermissionsForFile( - process_->GetData().id, resource_context_->GetFileSystemContext()-> - sandbox_provider()->renamed_old_base_path(), + process_->GetData().id, + file_system_context->sandbox_provider()->renamed_old_base_path(), base::PLATFORM_FILE_CREATE | base::PLATFORM_FILE_CREATE_ALWAYS | base::PLATFORM_FILE_WRITE); } @@ -255,16 +259,21 @@ void WorkerProcessHost::CreateMessageFilters(int render_process_id) { base::Unretained(WorkerServiceImpl::GetInstance()))); process_->GetHost()->AddFilter(worker_message_filter_); process_->GetHost()->AddFilter(new AppCacheDispatcherHost( - resource_context_->GetAppCacheService(), process_->GetData().id)); + static_cast<ChromeAppCacheService*>( + ResourceContext::GetAppCacheService(resource_context_)), + process_->GetData().id)); process_->GetHost()->AddFilter(new FileSystemDispatcherHost( - request_context, resource_context_->GetFileSystemContext())); + request_context, + ResourceContext::GetFileSystemContext(resource_context_))); process_->GetHost()->AddFilter(new FileUtilitiesMessageFilter( process_->GetData().id)); process_->GetHost()->AddFilter(new BlobMessageFilter( - process_->GetData().id, resource_context_->GetBlobStorageContext())); + process_->GetData().id, + content::GetChromeBlobStorageContextForResourceContext( + resource_context_))); process_->GetHost()->AddFilter(new MimeRegistryMessageFilter()); process_->GetHost()->AddFilter(new DatabaseMessageFilter( - resource_context_->GetDatabaseTracker())); + content::GetDatabaseTrackerForResourceContext(resource_context_))); SocketStreamDispatcherHost* socket_stream_dispatcher_host = new SocketStreamDispatcherHost( @@ -273,7 +282,8 @@ void WorkerProcessHost::CreateMessageFilters(int render_process_id) { process_->GetHost()->AddFilter( new content::WorkerDevToolsMessageFilter(process_->GetData().id)); process_->GetHost()->AddFilter(new IndexedDBDispatcherHost( - process_->GetData().id, resource_context_->GetWebKitContext())); + process_->GetData().id, + content::GetWebKitContextForResourceContext(resource_context_))); } void WorkerProcessHost::CreateWorker(const WorkerInstance& instance) { |