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

Unified Diff: content/browser/renderer_host/render_process_host_impl.cc

Issue 1568523002: Implement content::WebSocketBlobSender (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@websocket_blob_send_ipcs
Patch Set: Rebase. Created 4 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: 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 b333139b180f6d8dcb5192eef27e44ed01e1fc18..8ba39939efba1b8250dd1329f21124e9938837a9 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -899,10 +899,14 @@ void RenderProcessHostImpl::CreateMessageFilters() {
base::Bind(&GetContexts, browser_context->GetResourceContext(),
request_context, media_request_context));
+ // Several filters need the Blob storage context, so fetch it in advance.
+ scoped_refptr<ChromeBlobStorageContext> blob_storage_context =
+ ChromeBlobStorageContext::GetFor(browser_context);
+
ResourceMessageFilter* resource_message_filter = new ResourceMessageFilter(
GetID(), PROCESS_TYPE_RENDERER,
storage_partition_impl_->GetAppCacheService(),
- ChromeBlobStorageContext::GetFor(browser_context),
+ blob_storage_context.get(),
storage_partition_impl_->GetFileSystemContext(),
storage_partition_impl_->GetServiceWorkerContext(),
storage_partition_impl_->GetHostZoomLevelContext(),
@@ -934,7 +938,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
AddFilter(new IndexedDBDispatcherHost(
GetID(), storage_partition_impl_->GetURLRequestContext(),
storage_partition_impl_->GetIndexedDBContext(),
- ChromeBlobStorageContext::GetFor(browser_context)));
+ blob_storage_context.get()));
gpu_message_filter_ = new GpuMessageFilter(GetID());
AddFilter(gpu_message_filter_);
@@ -957,8 +961,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
AddFilter(new FileAPIMessageFilter(
GetID(), storage_partition_impl_->GetURLRequestContext(),
storage_partition_impl_->GetFileSystemContext(),
- ChromeBlobStorageContext::GetFor(browser_context),
- StreamContext::GetFor(browser_context)));
+ blob_storage_context.get(), StreamContext::GetFor(browser_context)));
AddFilter(new FileUtilitiesMessageFilter(GetID()));
AddFilter(new MimeRegistryMessageFilter());
AddFilter(
@@ -986,8 +989,9 @@ void RenderProcessHostImpl::CreateMessageFilters() {
base::Bind(&GetRequestContext, request_context, media_request_context,
RESOURCE_TYPE_SUB_RESOURCE));
- AddFilter(
- new WebSocketDispatcherHost(GetID(), websocket_request_context_callback));
+ AddFilter(new WebSocketDispatcherHost(
+ GetID(), websocket_request_context_callback, blob_storage_context.get(),
+ storage_partition_impl_));
message_port_message_filter_ = new MessagePortMessageFilter(
base::Bind(&RenderWidgetHelper::GetNextRoutingID,

Powered by Google App Engine
This is Rietveld 408576698