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

Side by Side Diff: content/child/resource_dispatcher.cc

Issue 1977313002: Define parameter structs of resource messages out of resource_messages.h (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 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 unified diff | Download patch
« no previous file with comments | « content/child/resource_dispatcher.h ('k') | content/child/resource_dispatcher_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 13 matching lines...) Expand all
24 #include "build/build_config.h" 24 #include "build/build_config.h"
25 #include "content/child/request_extra_data.h" 25 #include "content/child/request_extra_data.h"
26 #include "content/child/request_info.h" 26 #include "content/child/request_info.h"
27 #include "content/child/resource_scheduling_filter.h" 27 #include "content/child/resource_scheduling_filter.h"
28 #include "content/child/shared_memory_received_data_factory.h" 28 #include "content/child/shared_memory_received_data_factory.h"
29 #include "content/child/site_isolation_stats_gatherer.h" 29 #include "content/child/site_isolation_stats_gatherer.h"
30 #include "content/child/sync_load_response.h" 30 #include "content/child/sync_load_response.h"
31 #include "content/common/inter_process_time_ticks_converter.h" 31 #include "content/common/inter_process_time_ticks_converter.h"
32 #include "content/common/navigation_params.h" 32 #include "content/common/navigation_params.h"
33 #include "content/common/resource_messages.h" 33 #include "content/common/resource_messages.h"
34 #include "content/common/resource_request.h"
35 #include "content/common/resource_request_completion_status.h"
34 #include "content/public/child/fixed_received_data.h" 36 #include "content/public/child/fixed_received_data.h"
35 #include "content/public/child/request_peer.h" 37 #include "content/public/child/request_peer.h"
36 #include "content/public/child/resource_dispatcher_delegate.h" 38 #include "content/public/child/resource_dispatcher_delegate.h"
37 #include "content/public/common/content_features.h" 39 #include "content/public/common/content_features.h"
38 #include "content/public/common/resource_response.h" 40 #include "content/public/common/resource_response.h"
39 #include "content/public/common/resource_type.h" 41 #include "content/public/common/resource_type.h"
40 #include "net/base/net_errors.h" 42 #include "net/base/net_errors.h"
41 #include "net/base/request_priority.h" 43 #include "net/base/request_priority.h"
42 #include "net/http/http_response_headers.h" 44 #include "net/http/http_response_headers.h"
43 45
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
334 void ResourceDispatcher::FollowPendingRedirect( 336 void ResourceDispatcher::FollowPendingRedirect(
335 int request_id, 337 int request_id,
336 PendingRequestInfo* request_info) { 338 PendingRequestInfo* request_info) {
337 IPC::Message* msg = request_info->pending_redirect_message.release(); 339 IPC::Message* msg = request_info->pending_redirect_message.release();
338 if (msg) 340 if (msg)
339 message_sender_->Send(msg); 341 message_sender_->Send(msg);
340 } 342 }
341 343
342 void ResourceDispatcher::OnRequestComplete( 344 void ResourceDispatcher::OnRequestComplete(
343 int request_id, 345 int request_id,
344 const ResourceMsg_RequestCompleteData& request_complete_data) { 346 const ResourceRequestCompletionStatus& request_complete_data) {
345 TRACE_EVENT0("loader", "ResourceDispatcher::OnRequestComplete"); 347 TRACE_EVENT0("loader", "ResourceDispatcher::OnRequestComplete");
346 348
347 PendingRequestInfo* request_info = GetPendingRequestInfo(request_id); 349 PendingRequestInfo* request_info = GetPendingRequestInfo(request_id);
348 if (!request_info) 350 if (!request_info)
349 return; 351 return;
350 request_info->completion_time = ConsumeIOTimestamp(); 352 request_info->completion_time = ConsumeIOTimestamp();
351 request_info->buffer.reset(); 353 request_info->buffer.reset();
352 if (request_info->received_data_factory) 354 if (request_info->received_data_factory)
353 request_info->received_data_factory->Stop(); 355 request_info->received_data_factory->Stop();
354 request_info->received_data_factory = nullptr; 356 request_info->received_data_factory = nullptr;
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
535 pending_request->deferred_message_queue.swap(q); 537 pending_request->deferred_message_queue.swap(q);
536 return; 538 return;
537 } 539 }
538 } 540 }
539 } 541 }
540 } 542 }
541 543
542 void ResourceDispatcher::StartSync(const RequestInfo& request_info, 544 void ResourceDispatcher::StartSync(const RequestInfo& request_info,
543 ResourceRequestBody* request_body, 545 ResourceRequestBody* request_body,
544 SyncLoadResponse* response) { 546 SyncLoadResponse* response) {
545 std::unique_ptr<ResourceHostMsg_Request> request = 547 std::unique_ptr<ResourceRequest> request =
546 CreateRequest(request_info, request_body, NULL); 548 CreateRequest(request_info, request_body, NULL);
547 549
548 SyncLoadResult result; 550 SyncLoadResult result;
549 IPC::SyncMessage* msg = new ResourceHostMsg_SyncLoad( 551 IPC::SyncMessage* msg = new ResourceHostMsg_SyncLoad(
550 request_info.routing_id, MakeRequestID(), *request, &result); 552 request_info.routing_id, MakeRequestID(), *request, &result);
551 553
552 // NOTE: This may pump events (see RenderThread::Send). 554 // NOTE: This may pump events (see RenderThread::Send).
553 if (!message_sender_->Send(msg)) { 555 if (!message_sender_->Send(msg)) {
554 response->error_code = net::ERR_FAILED; 556 response->error_code = net::ERR_FAILED;
555 return; 557 return;
(...skipping 11 matching lines...) Expand all
567 response->devtools_info = result.devtools_info; 569 response->devtools_info = result.devtools_info;
568 response->data.swap(result.data); 570 response->data.swap(result.data);
569 response->download_file_path = result.download_file_path; 571 response->download_file_path = result.download_file_path;
570 response->socket_address = result.socket_address; 572 response->socket_address = result.socket_address;
571 } 573 }
572 574
573 int ResourceDispatcher::StartAsync(const RequestInfo& request_info, 575 int ResourceDispatcher::StartAsync(const RequestInfo& request_info,
574 ResourceRequestBody* request_body, 576 ResourceRequestBody* request_body,
575 std::unique_ptr<RequestPeer> peer) { 577 std::unique_ptr<RequestPeer> peer) {
576 GURL frame_origin; 578 GURL frame_origin;
577 std::unique_ptr<ResourceHostMsg_Request> request = 579 std::unique_ptr<ResourceRequest> request =
578 CreateRequest(request_info, request_body, &frame_origin); 580 CreateRequest(request_info, request_body, &frame_origin);
579 581
580 // Compute a unique request_id for this renderer process. 582 // Compute a unique request_id for this renderer process.
581 int request_id = MakeRequestID(); 583 int request_id = MakeRequestID();
582 pending_requests_[request_id] = base::WrapUnique(new PendingRequestInfo( 584 pending_requests_[request_id] = base::WrapUnique(new PendingRequestInfo(
583 std::move(peer), request->resource_type, request->origin_pid, 585 std::move(peer), request->resource_type, request->origin_pid,
584 frame_origin, request->url, request_info.download_to_file)); 586 frame_origin, request->url, request_info.download_to_file));
585 587
586 if (resource_scheduling_filter_.get() && 588 if (resource_scheduling_filter_.get() &&
587 request_info.loading_web_task_runner) { 589 request_info.loading_web_task_runner) {
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
723 // static 725 // static
724 void ResourceDispatcher::ReleaseResourcesInMessageQueue(MessageQueue* queue) { 726 void ResourceDispatcher::ReleaseResourcesInMessageQueue(MessageQueue* queue) {
725 while (!queue->empty()) { 727 while (!queue->empty()) {
726 IPC::Message* message = queue->front(); 728 IPC::Message* message = queue->front();
727 ReleaseResourcesInDataMessage(*message); 729 ReleaseResourcesInDataMessage(*message);
728 queue->pop_front(); 730 queue->pop_front();
729 delete message; 731 delete message;
730 } 732 }
731 } 733 }
732 734
733 std::unique_ptr<ResourceHostMsg_Request> ResourceDispatcher::CreateRequest( 735 std::unique_ptr<ResourceRequest> ResourceDispatcher::CreateRequest(
734 const RequestInfo& request_info, 736 const RequestInfo& request_info,
735 ResourceRequestBody* request_body, 737 ResourceRequestBody* request_body,
736 GURL* frame_origin) { 738 GURL* frame_origin) {
737 std::unique_ptr<ResourceHostMsg_Request> request(new ResourceHostMsg_Request); 739 std::unique_ptr<ResourceRequest> request(new ResourceRequest);
738 request->method = request_info.method; 740 request->method = request_info.method;
739 request->url = request_info.url; 741 request->url = request_info.url;
740 request->first_party_for_cookies = request_info.first_party_for_cookies; 742 request->first_party_for_cookies = request_info.first_party_for_cookies;
741 request->request_initiator = request_info.request_initiator; 743 request->request_initiator = request_info.request_initiator;
742 request->referrer = request_info.referrer.url; 744 request->referrer = request_info.referrer.url;
743 request->referrer_policy = request_info.referrer.policy; 745 request->referrer_policy = request_info.referrer.policy;
744 request->headers = request_info.headers; 746 request->headers = request_info.headers;
745 request->load_flags = request_info.load_flags; 747 request->load_flags = request_info.load_flags;
746 request->origin_pid = request_info.requestor_pid; 748 request->origin_pid = request_info.requestor_pid;
747 request->resource_type = request_info.request_type; 749 request->resource_type = request_info.request_type;
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
803 *frame_origin = extra_data->frame_origin(); 805 *frame_origin = extra_data->frame_origin();
804 return request; 806 return request;
805 } 807 }
806 808
807 void ResourceDispatcher::SetResourceSchedulingFilter( 809 void ResourceDispatcher::SetResourceSchedulingFilter(
808 scoped_refptr<ResourceSchedulingFilter> resource_scheduling_filter) { 810 scoped_refptr<ResourceSchedulingFilter> resource_scheduling_filter) {
809 resource_scheduling_filter_ = resource_scheduling_filter; 811 resource_scheduling_filter_ = resource_scheduling_filter;
810 } 812 }
811 813
812 } // namespace content 814 } // namespace content
OLDNEW
« no previous file with comments | « content/child/resource_dispatcher.h ('k') | content/child/resource_dispatcher_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698