Chromium Code Reviews| Index: content/browser/loader/url_loader_factory_impl.cc |
| diff --git a/content/browser/loader/url_loader_factory_impl.cc b/content/browser/loader/url_loader_factory_impl.cc |
| index c510c147f2b67d484aa632ccb10f6bb88ba96ef5..e2ee0dfeaf05f2bf454497656fbf3aacb5f3dd5a 100644 |
| --- a/content/browser/loader/url_loader_factory_impl.cc |
| +++ b/content/browser/loader/url_loader_factory_impl.cc |
| @@ -6,6 +6,7 @@ |
| #include "content/browser/loader/resource_dispatcher_host_impl.h" |
| #include "content/browser/loader/resource_message_filter.h" |
|
yhirano
2016/11/10 06:42:29
Not needed.
horo
2016/11/10 14:46:33
Done.
|
| +#include "content/browser/loader/resource_requester_info.h" |
| #include "content/common/resource_request.h" |
| #include "content/common/url_loader.mojom.h" |
| #include "content/public/browser/browser_thread.h" |
| @@ -34,9 +35,10 @@ void DispatchSyncLoadResult( |
| } // namespace |
| URLLoaderFactoryImpl::URLLoaderFactoryImpl( |
| - scoped_refptr<ResourceMessageFilter> resource_message_filter) |
| - : resource_message_filter_(std::move(resource_message_filter)) { |
| - DCHECK(resource_message_filter_); |
| + std::unique_ptr<ResourceRequesterInfo> requester_info) |
| + : requester_info_(std::move(requester_info)) { |
| + DCHECK(requester_info_->IsRenderer()); |
| + DCHECK(requester_info_->filter()); |
| DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| } |
| @@ -51,8 +53,7 @@ void URLLoaderFactoryImpl::CreateLoaderAndStart( |
| const ResourceRequest& url_request, |
| mojom::URLLoaderClientAssociatedPtrInfo client_ptr_info) { |
| CreateLoaderAndStart(std::move(request), routing_id, request_id, url_request, |
| - std::move(client_ptr_info), |
| - resource_message_filter_.get()); |
| + std::move(client_ptr_info), requester_info_->clone()); |
| } |
| void URLLoaderFactoryImpl::SyncLoad(int32_t routing_id, |
| @@ -60,7 +61,7 @@ void URLLoaderFactoryImpl::SyncLoad(int32_t routing_id, |
| const ResourceRequest& url_request, |
| const SyncLoadCallback& callback) { |
| SyncLoad(routing_id, request_id, url_request, callback, |
| - resource_message_filter_.get()); |
| + requester_info_->clone()); |
| } |
| // static |
| @@ -70,7 +71,7 @@ void URLLoaderFactoryImpl::CreateLoaderAndStart( |
| int32_t request_id, |
| const ResourceRequest& url_request, |
| mojom::URLLoaderClientAssociatedPtrInfo client_ptr_info, |
| - ResourceMessageFilter* filter) { |
| + std::unique_ptr<ResourceRequesterInfo> requester_info) { |
| DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| mojom::URLLoaderClientAssociatedPtr client; |
| @@ -78,27 +79,30 @@ void URLLoaderFactoryImpl::CreateLoaderAndStart( |
| ResourceDispatcherHostImpl* rdh = ResourceDispatcherHostImpl::Get(); |
| rdh->OnRequestResourceWithMojo(routing_id, request_id, url_request, |
| - std::move(request), std::move(client), filter); |
| + std::move(request), std::move(client), |
| + std::move(requester_info)); |
| } |
| // static |
| -void URLLoaderFactoryImpl::SyncLoad(int32_t routing_id, |
| - int32_t request_id, |
| - const ResourceRequest& url_request, |
| - const SyncLoadCallback& callback, |
| - ResourceMessageFilter* filter) { |
| +void URLLoaderFactoryImpl::SyncLoad( |
| + int32_t routing_id, |
| + int32_t request_id, |
| + const ResourceRequest& url_request, |
| + const SyncLoadCallback& callback, |
| + std::unique_ptr<ResourceRequesterInfo> requester_info) { |
| DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| ResourceDispatcherHostImpl* rdh = ResourceDispatcherHostImpl::Get(); |
| - rdh->OnSyncLoadWithMojo(routing_id, request_id, url_request, filter, |
| + rdh->OnSyncLoadWithMojo(routing_id, request_id, url_request, |
| + std::move(requester_info), |
| base::Bind(&DispatchSyncLoadResult, callback)); |
| } |
| void URLLoaderFactoryImpl::Create( |
| - scoped_refptr<ResourceMessageFilter> filter, |
| + std::unique_ptr<ResourceRequesterInfo> requester_info, |
| mojo::InterfaceRequest<mojom::URLLoaderFactory> request) { |
| mojo::MakeStrongBinding( |
| - base::WrapUnique(new URLLoaderFactoryImpl(std::move(filter))), |
| + base::WrapUnique(new URLLoaderFactoryImpl(std::move(requester_info))), |
| std::move(request)); |
| } |