| OLD | NEW |
| 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 "content/browser/worker_host/worker_process_host.h" | 5 #include "content/browser/worker_host/worker_process_host.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 231 base::Bind(&WorkerServiceImpl::next_worker_route_id, | 231 base::Bind(&WorkerServiceImpl::next_worker_route_id, |
| 232 base::Unretained(WorkerServiceImpl::GetInstance()))); | 232 base::Unretained(WorkerServiceImpl::GetInstance()))); |
| 233 process_->AddFilter(message_port_message_filter); | 233 process_->AddFilter(message_port_message_filter); |
| 234 worker_message_filter_ = new WorkerMessageFilter(render_process_id, | 234 worker_message_filter_ = new WorkerMessageFilter(render_process_id, |
| 235 resource_context_, | 235 resource_context_, |
| 236 partition_, | 236 partition_, |
| 237 message_port_message_filter); | 237 message_port_message_filter); |
| 238 process_->AddFilter(worker_message_filter_.get()); | 238 process_->AddFilter(worker_message_filter_.get()); |
| 239 process_->AddFilter(new AppCacheDispatcherHost( | 239 process_->AddFilter(new AppCacheDispatcherHost( |
| 240 partition_.appcache_service(), process_->GetData().id)); | 240 partition_.appcache_service(), process_->GetData().id)); |
| 241 process_->AddFilter(new FileAPIMessageFilter( | |
| 242 process_->GetData().id, | |
| 243 url_request_context, | |
| 244 partition_.filesystem_context(), | |
| 245 blob_storage_context, | |
| 246 stream_context)); | |
| 247 process_->AddFilter(new FileUtilitiesMessageFilter( | 241 process_->AddFilter(new FileUtilitiesMessageFilter( |
| 248 process_->GetData().id)); | 242 process_->GetData().id)); |
| 249 process_->AddFilter(new MimeRegistryMessageFilter()); | 243 process_->AddFilter(new MimeRegistryMessageFilter()); |
| 250 process_->AddFilter(new DatabaseMessageFilter(partition_.database_tracker())); | 244 process_->AddFilter(new DatabaseMessageFilter(partition_.database_tracker())); |
| 251 process_->AddFilter(new QuotaDispatcherHost( | 245 process_->AddFilter(new QuotaDispatcherHost( |
| 252 process_->GetData().id, | 246 process_->GetData().id, |
| 253 partition_.quota_manager(), | 247 partition_.quota_manager(), |
| 254 GetContentClient()->browser()->CreateQuotaPermissionContext())); | 248 GetContentClient()->browser()->CreateQuotaPermissionContext())); |
| 255 | 249 |
| 256 SocketStreamDispatcherHost::GetRequestContextCallback | 250 SocketStreamDispatcherHost::GetRequestContextCallback |
| 257 request_context_callback( | 251 request_context_callback( |
| 258 base::Bind(&WorkerProcessHost::GetRequestContext, | 252 base::Bind(&WorkerProcessHost::GetRequestContext, |
| 259 base::Unretained(this))); | 253 base::Unretained(this))); |
| 260 | 254 |
| 261 SocketStreamDispatcherHost* socket_stream_dispatcher_host = | 255 SocketStreamDispatcherHost* socket_stream_dispatcher_host = |
| 262 new SocketStreamDispatcherHost( | 256 new SocketStreamDispatcherHost( |
| 263 render_process_id, | 257 render_process_id, |
| 264 request_context_callback, | 258 request_context_callback, |
| 265 resource_context_); | 259 resource_context_); |
| 266 socket_stream_dispatcher_host_ = socket_stream_dispatcher_host; | 260 socket_stream_dispatcher_host_ = socket_stream_dispatcher_host; |
| 261 process_->AddFilter(new FileAPIMessageFilter( |
| 262 process_->GetData().id, |
| 263 url_request_context, |
| 264 partition_.filesystem_context(), |
| 265 blob_storage_context, |
| 266 stream_context)); |
| 267 process_->AddFilter(new IndexedDBDispatcherHost( |
| 268 process_->GetData().id, url_request_context, |
| 269 partition_.indexed_db_context(), |
| 270 blob_storage_context)); |
| 267 process_->AddFilter(socket_stream_dispatcher_host); | 271 process_->AddFilter(socket_stream_dispatcher_host); |
| 268 process_->AddFilter(new WorkerDevToolsMessageFilter(process_->GetData().id)); | 272 process_->AddFilter(new WorkerDevToolsMessageFilter(process_->GetData().id)); |
| 269 process_->AddFilter( | |
| 270 new IndexedDBDispatcherHost(partition_.indexed_db_context())); | |
| 271 } | 273 } |
| 272 | 274 |
| 273 void WorkerProcessHost::CreateWorker(const WorkerInstance& instance) { | 275 void WorkerProcessHost::CreateWorker(const WorkerInstance& instance) { |
| 274 ChildProcessSecurityPolicyImpl::GetInstance()->GrantRequestURL( | 276 ChildProcessSecurityPolicyImpl::GetInstance()->GrantRequestURL( |
| 275 process_->GetData().id, instance.url()); | 277 process_->GetData().id, instance.url()); |
| 276 | 278 |
| 277 instances_.push_back(instance); | 279 instances_.push_back(instance); |
| 278 | 280 |
| 279 WorkerProcessMsg_CreateWorker_Params params; | 281 WorkerProcessMsg_CreateWorker_Params params; |
| 280 params.url = instance.url(); | 282 params.url = instance.url(); |
| (...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 700 return false; | 702 return false; |
| 701 } | 703 } |
| 702 | 704 |
| 703 WorkerProcessHost::WorkerInstance::FilterInfo | 705 WorkerProcessHost::WorkerInstance::FilterInfo |
| 704 WorkerProcessHost::WorkerInstance::GetFilter() const { | 706 WorkerProcessHost::WorkerInstance::GetFilter() const { |
| 705 DCHECK(NumFilters() == 1); | 707 DCHECK(NumFilters() == 1); |
| 706 return *filters_.begin(); | 708 return *filters_.begin(); |
| 707 } | 709 } |
| 708 | 710 |
| 709 } // namespace content | 711 } // namespace content |
| OLD | NEW |