Index: content/browser/loader/resource_dispatcher_host_impl.cc |
diff --git a/content/browser/loader/resource_dispatcher_host_impl.cc b/content/browser/loader/resource_dispatcher_host_impl.cc |
index 5f6733d584e6de7ba9ad4b8319994a2620a0ebc0..9bed00d9996dbe9c9eb1000bac58d211a831f51c 100644 |
--- a/content/browser/loader/resource_dispatcher_host_impl.cc |
+++ b/content/browser/loader/resource_dispatcher_host_impl.cc |
@@ -1131,6 +1131,23 @@ void ResourceDispatcherHostImpl::BeginRequest( |
request, filter_->appcache_service(), child_id, |
request_data.appcache_host_id, request_data.resource_type); |
+ scoped_ptr<ResourceHandler> handler( |
+ CreateResourceHandler( |
+ request, |
+ request_data, sync_result, route_id, process_type, child_id, |
+ resource_context)); |
+ |
+ BeginRequestInternal(new_request.Pass(), handler.Pass()); |
+} |
+ |
+scoped_ptr<ResourceHandler> ResourceDispatcherHostImpl::CreateResourceHandler( |
+ net::URLRequest* request, |
+ const ResourceHostMsg_Request& request_data, |
+ IPC::Message* sync_result, |
+ int route_id, |
+ int process_type, |
+ int child_id, |
+ ResourceContext* resource_context) { |
// Construct the IPC resource handler. |
scoped_ptr<ResourceHandler> handler; |
if (sync_result) { |
@@ -1185,7 +1202,7 @@ void ResourceDispatcherHostImpl::BeginRequest( |
handler.reset( |
new ThrottlingResourceHandler(handler.Pass(), request, throttles.Pass())); |
- BeginRequestInternal(new_request.Pass(), handler.Pass()); |
+ return handler.Pass(); |
} |
void ResourceDispatcherHostImpl::OnReleaseDownloadedFile(int request_id) { |