OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading | 5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc e-loading |
6 | 6 |
7 #include "content/child/resource_dispatcher.h" | 7 #include "content/child/resource_dispatcher.h" |
8 | 8 |
9 #include <utility> | 9 #include <utility> |
10 | 10 |
(...skipping 641 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
652 | 652 |
653 if (ipc_type == blink::WebURLRequest::LoadingIPCType::kMojo) { | 653 if (ipc_type == blink::WebURLRequest::LoadingIPCType::kMojo) { |
654 scoped_refptr<base::SingleThreadTaskRunner> task_runner = | 654 scoped_refptr<base::SingleThreadTaskRunner> task_runner = |
655 loading_task_runner ? loading_task_runner : main_thread_task_runner_; | 655 loading_task_runner ? loading_task_runner : main_thread_task_runner_; |
656 std::unique_ptr<URLLoaderClientImpl> client( | 656 std::unique_ptr<URLLoaderClientImpl> client( |
657 new URLLoaderClientImpl(request_id, this, std::move(task_runner))); | 657 new URLLoaderClientImpl(request_id, this, std::move(task_runner))); |
658 mojom::URLLoaderAssociatedPtr url_loader; | 658 mojom::URLLoaderAssociatedPtr url_loader; |
659 mojom::URLLoaderClientPtr client_ptr; | 659 mojom::URLLoaderClientPtr client_ptr; |
660 client->Bind(&client_ptr); | 660 client->Bind(&client_ptr); |
661 url_loader_factory->CreateLoaderAndStart(MakeRequest(&url_loader), | 661 url_loader_factory->CreateLoaderAndStart(MakeRequest(&url_loader), |
662 routing_id, request_id, *request, | 662 routing_id, request_id, 0, |
663 std::move(client_ptr)); | 663 *request, std::move(client_ptr)); |
664 pending_requests_[request_id]->url_loader = std::move(url_loader); | 664 pending_requests_[request_id]->url_loader = std::move(url_loader); |
665 pending_requests_[request_id]->url_loader_client = std::move(client); | 665 pending_requests_[request_id]->url_loader_client = std::move(client); |
666 } else { | 666 } else { |
667 message_sender_->Send( | 667 message_sender_->Send( |
668 new ResourceHostMsg_RequestResource(routing_id, request_id, *request)); | 668 new ResourceHostMsg_RequestResource(routing_id, request_id, *request)); |
669 } | 669 } |
670 | 670 |
671 return request_id; | 671 return request_id; |
672 } | 672 } |
673 | 673 |
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
758 if (!request_info) | 758 if (!request_info) |
759 return; | 759 return; |
760 | 760 |
761 URLLoaderClientImpl* client_ptr = request_info->url_loader_client.get(); | 761 URLLoaderClientImpl* client_ptr = request_info->url_loader_client.get(); |
762 | 762 |
763 // Short circuiting call to OnReceivedResponse to immediately start | 763 // Short circuiting call to OnReceivedResponse to immediately start |
764 // the request. ResourceResponseHead can be empty here because we | 764 // the request. ResourceResponseHead can be empty here because we |
765 // pull the StreamOverride's one in | 765 // pull the StreamOverride's one in |
766 // WebURLLoaderImpl::Context::OnReceivedResponse. | 766 // WebURLLoaderImpl::Context::OnReceivedResponse. |
767 client_ptr->OnReceiveResponse(ResourceResponseHead(), | 767 client_ptr->OnReceiveResponse(ResourceResponseHead(), |
768 base::Optional<net::SSLInfo>(), | |
dcheng
2017/04/13 21:12:15
Ditto with base::nullopt, here and elsewhere
jam
2017/04/13 23:04:22
Done.
| |
768 mojom::DownloadedTempFilePtr()); | 769 mojom::DownloadedTempFilePtr()); |
769 // Start streaming now. | 770 // Start streaming now. |
770 client_ptr->OnStartLoadingResponseBody(std::move(consumer_handle)); | 771 client_ptr->OnStartLoadingResponseBody(std::move(consumer_handle)); |
771 | 772 |
772 // Call OnComplete now too, as it won't get called on the client. | 773 // Call OnComplete now too, as it won't get called on the client. |
773 // TODO(kinuko): Fill this properly. | 774 // TODO(kinuko): Fill this properly. |
774 ResourceRequestCompletionStatus completion_status; | 775 ResourceRequestCompletionStatus completion_status; |
775 completion_status.error_code = net::OK; | 776 completion_status.error_code = net::OK; |
776 completion_status.was_ignored_by_handler = false; | 777 completion_status.was_ignored_by_handler = false; |
777 completion_status.exists_in_cache = false; | 778 completion_status.exists_in_cache = false; |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
834 delete message; | 835 delete message; |
835 } | 836 } |
836 } | 837 } |
837 | 838 |
838 void ResourceDispatcher::SetResourceSchedulingFilter( | 839 void ResourceDispatcher::SetResourceSchedulingFilter( |
839 scoped_refptr<ResourceSchedulingFilter> resource_scheduling_filter) { | 840 scoped_refptr<ResourceSchedulingFilter> resource_scheduling_filter) { |
840 resource_scheduling_filter_ = resource_scheduling_filter; | 841 resource_scheduling_filter_ = resource_scheduling_filter; |
841 } | 842 } |
842 | 843 |
843 } // namespace content | 844 } // namespace content |
OLD | NEW |