| Index: content/browser/renderer_host/render_process_host_impl.cc
|
| diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
|
| index 02106dad5b96d130b36cf43b9e02025dc6f6585f..423b74e9062919e14513f9e230282ed43640d30f 100644
|
| --- a/content/browser/renderer_host/render_process_host_impl.cc
|
| +++ b/content/browser/renderer_host/render_process_host_impl.cc
|
| @@ -77,6 +77,7 @@
|
| #include "content/browser/indexed_db/indexed_db_dispatcher_host.h"
|
| #include "content/browser/loader/resource_message_filter.h"
|
| #include "content/browser/loader/resource_scheduler_filter.h"
|
| +#include "content/browser/loader/url_loader_factory_impl.h"
|
| #include "content/browser/media/capture/audio_mirroring_manager.h"
|
| #include "content/browser/media/capture/image_capture_impl.h"
|
| #include "content/browser/media/media_internals.h"
|
| @@ -726,6 +727,7 @@ void RenderProcessHostImpl::CheckAllWorkersTerminated() {
|
| }
|
|
|
| RenderProcessHostImpl::~RenderProcessHostImpl() {
|
| + DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| #ifndef NDEBUG
|
| DCHECK(is_self_deleted_)
|
| << "RenderProcessHostImpl is destroyed by something other than itself";
|
| @@ -969,16 +971,16 @@ void RenderProcessHostImpl::CreateMessageFilters() {
|
| scoped_refptr<ChromeBlobStorageContext> blob_storage_context =
|
| ChromeBlobStorageContext::GetFor(browser_context);
|
|
|
| - ResourceMessageFilter* resource_message_filter = new ResourceMessageFilter(
|
| + resource_message_filter_ = new ResourceMessageFilter(
|
| GetID(), PROCESS_TYPE_RENDERER,
|
| - storage_partition_impl_->GetAppCacheService(),
|
| - blob_storage_context.get(),
|
| + storage_partition_impl_->GetAppCacheService(), blob_storage_context.get(),
|
| storage_partition_impl_->GetFileSystemContext(),
|
| storage_partition_impl_->GetServiceWorkerContext(),
|
| storage_partition_impl_->GetHostZoomLevelContext(),
|
| get_contexts_callback);
|
|
|
| - AddFilter(resource_message_filter);
|
| + AddFilter(resource_message_filter_.get());
|
| +
|
| MediaStreamManager* media_stream_manager =
|
| BrowserMainLoop::GetInstance()->media_stream_manager();
|
| // The AudioInputRendererHost and AudioRendererHost needs to be available for
|
| @@ -1171,6 +1173,8 @@ void RenderProcessHostImpl::RegisterMojoInterfaces() {
|
| registry->AddInterface(base::Bind(&DeviceMotionHost::Create));
|
| registry->AddInterface(base::Bind(&DeviceOrientationHost::Create));
|
| registry->AddInterface(base::Bind(&DeviceOrientationAbsoluteHost::Create));
|
| + registry->AddInterface(
|
| + base::Bind(&URLLoaderFactoryImpl::Create, resource_message_filter_));
|
|
|
| // This is to support usage of WebSockets in cases in which there is no
|
| // associated RenderFrame (e.g., Shared Workers).
|
| @@ -1923,6 +1927,7 @@ bool RenderProcessHostImpl::IgnoreInputEvents() const {
|
| }
|
|
|
| void RenderProcessHostImpl::Cleanup() {
|
| + DCHECK_CURRENTLY_ON(BrowserThread::UI);
|
| // Keep the one renderer thread around forever in single process mode.
|
| if (run_renderer_in_process())
|
| return;
|
|
|