Chromium Code Reviews| Index: content/child/web_url_loader_impl.cc |
| diff --git a/content/child/web_url_loader_impl.cc b/content/child/web_url_loader_impl.cc |
| index 83c9ad5b64db596b8d5e7941f2c8abb3ea6ea493..8ce9b4512fec629cd43fd3adcd44f02d568a53d0 100644 |
| --- a/content/child/web_url_loader_impl.cc |
| +++ b/content/child/web_url_loader_impl.cc |
| @@ -16,6 +16,7 @@ |
| #include "base/strings/string_util.h" |
| #include "base/time/time.h" |
| #include "components/mime_util/mime_util.h" |
| +#include "components/scheduler/child/web_task_runner_impl.h" |
| #include "content/child/child_thread_impl.h" |
| #include "content/child/ftp_directory_listing_response_delegate.h" |
| #include "content/child/multipart_response_delegate.h" |
| @@ -267,6 +268,7 @@ class WebURLLoaderImpl::Context : public base::RefCounted<Context>, |
| blink::WebThreadedDataReceiver* threaded_data_receiver); |
| void Start(const WebURLRequest& request, |
| SyncLoadResponse* sync_load_response); |
| + void SetTaskRunner(scoped_refptr<base::SingleThreadTaskRunner> task_runner); |
| // RequestPeer methods: |
| void OnUploadProgress(uint64 position, uint64 size) override; |
| @@ -482,6 +484,7 @@ void WebURLLoaderImpl::Context::Start(const WebURLRequest& request, |
| GetRequestContextFrameTypeForWebURLRequest(request); |
| request_info.extra_data = request.extraData(); |
| request_info.report_raw_headers = request.reportRawHeaders(); |
| + request_info.loading_task_queue = task_runner_; |
| scoped_refptr<ResourceRequestBody> request_body = |
| GetRequestBodyForWebURLRequest(request).get(); |
| @@ -496,6 +499,11 @@ void WebURLLoaderImpl::Context::Start(const WebURLRequest& request, |
| request_info, request_body.get(), this); |
| } |
| +void WebURLLoaderImpl::Context::SetTaskRunner( |
| + scoped_refptr<base::SingleThreadTaskRunner> task_runner) { |
| + task_runner_ = task_runner; |
| +} |
| + |
| void WebURLLoaderImpl::Context::OnUploadProgress(uint64 position, uint64 size) { |
| if (client_) |
| client_->didSendData(loader_, position, size); |
| @@ -1059,4 +1067,11 @@ bool WebURLLoaderImpl::attachThreadedDataReceiver( |
| return context_->AttachThreadedDataReceiver(threaded_data_receiver); |
| } |
| +void WebURLLoaderImpl::setLoadingTaskRunner( |
| + blink::WebTaskRunner* loading_task_runner) { |
| + scheduler::WebTaskRunnerImpl* web_task_runner_impl = |
|
Sami
2015/09/25 13:31:27
Is this downcast safe? I think anyone could call t
|
| + static_cast<scheduler::WebTaskRunnerImpl*>(loading_task_runner); |
| + context_->SetTaskRunner(web_task_runner_impl->task_runner()); |
| +} |
| + |
| } // namespace content |