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

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

Issue 132143003: [abort] Let webkit know we're past the phase where throttles run. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 11 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 | Annotate | Revision Log
« no previous file with comments | « content/child/resource_dispatcher.h ('k') | content/common/resource_messages.h » ('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 "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after
545 545
546 base::TimeTicks renderer_completion_time = ToRendererCompletionTime( 546 base::TimeTicks renderer_completion_time = ToRendererCompletionTime(
547 *request_info, browser_completion_time); 547 *request_info, browser_completion_time);
548 // The request ID will be removed from our pending list in the destructor. 548 // The request ID will be removed from our pending list in the destructor.
549 // Normally, dispatching this message causes the reference-counted request to 549 // Normally, dispatching this message causes the reference-counted request to
550 // die immediately. 550 // die immediately.
551 peer->OnCompletedRequest(error_code, was_ignored_by_handler, security_info, 551 peer->OnCompletedRequest(error_code, was_ignored_by_handler, security_info,
552 renderer_completion_time); 552 renderer_completion_time);
553 } 553 }
554 554
555 void ResourceDispatcher::OnRequestDidStartForFrame(int request_id) {
556 PendingRequestInfo* request_info = GetPendingRequestInfo(request_id);
557 if (!request_info)
558 return;
559 request_info->peer->OnStartedRequestForFrame();
560 }
561
555 int ResourceDispatcher::AddPendingRequest( 562 int ResourceDispatcher::AddPendingRequest(
556 ResourceLoaderBridge::Peer* callback, 563 ResourceLoaderBridge::Peer* callback,
557 ResourceType::Type resource_type, 564 ResourceType::Type resource_type,
558 int origin_pid, 565 int origin_pid,
559 const GURL& frame_origin, 566 const GURL& frame_origin,
560 const GURL& request_url) { 567 const GURL& request_url) {
561 // Compute a unique request_id for this renderer process. 568 // Compute a unique request_id for this renderer process.
562 int id = MakeRequestID(); 569 int id = MakeRequestID();
563 pending_requests_[id] = PendingRequestInfo( 570 pending_requests_[id] = PendingRequestInfo(
564 callback, resource_type, origin_pid, frame_origin, request_url); 571 callback, resource_type, origin_pid, frame_origin, request_url);
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
648 IPC_BEGIN_MESSAGE_MAP(ResourceDispatcher, message) 655 IPC_BEGIN_MESSAGE_MAP(ResourceDispatcher, message)
649 IPC_MESSAGE_HANDLER(ResourceMsg_UploadProgress, OnUploadProgress) 656 IPC_MESSAGE_HANDLER(ResourceMsg_UploadProgress, OnUploadProgress)
650 IPC_MESSAGE_HANDLER(ResourceMsg_ReceivedResponse, OnReceivedResponse) 657 IPC_MESSAGE_HANDLER(ResourceMsg_ReceivedResponse, OnReceivedResponse)
651 IPC_MESSAGE_HANDLER(ResourceMsg_ReceivedCachedMetadata, 658 IPC_MESSAGE_HANDLER(ResourceMsg_ReceivedCachedMetadata,
652 OnReceivedCachedMetadata) 659 OnReceivedCachedMetadata)
653 IPC_MESSAGE_HANDLER(ResourceMsg_ReceivedRedirect, OnReceivedRedirect) 660 IPC_MESSAGE_HANDLER(ResourceMsg_ReceivedRedirect, OnReceivedRedirect)
654 IPC_MESSAGE_HANDLER(ResourceMsg_SetDataBuffer, OnSetDataBuffer) 661 IPC_MESSAGE_HANDLER(ResourceMsg_SetDataBuffer, OnSetDataBuffer)
655 IPC_MESSAGE_HANDLER(ResourceMsg_DataReceived, OnReceivedData) 662 IPC_MESSAGE_HANDLER(ResourceMsg_DataReceived, OnReceivedData)
656 IPC_MESSAGE_HANDLER(ResourceMsg_DataDownloaded, OnDownloadedData) 663 IPC_MESSAGE_HANDLER(ResourceMsg_DataDownloaded, OnDownloadedData)
657 IPC_MESSAGE_HANDLER(ResourceMsg_RequestComplete, OnRequestComplete) 664 IPC_MESSAGE_HANDLER(ResourceMsg_RequestComplete, OnRequestComplete)
665 IPC_MESSAGE_HANDLER(ResourceMsg_RequestDidStartForFrame,
666 OnRequestDidStartForFrame)
658 IPC_END_MESSAGE_MAP() 667 IPC_END_MESSAGE_MAP()
659 } 668 }
660 669
661 void ResourceDispatcher::FlushDeferredMessages(int request_id) { 670 void ResourceDispatcher::FlushDeferredMessages(int request_id) {
662 PendingRequestList::iterator it = pending_requests_.find(request_id); 671 PendingRequestList::iterator it = pending_requests_.find(request_id);
663 if (it == pending_requests_.end()) // The request could have become invalid. 672 if (it == pending_requests_.end()) // The request could have become invalid.
664 return; 673 return;
665 PendingRequestInfo& request_info = it->second; 674 PendingRequestInfo& request_info = it->second;
666 if (request_info.is_deferred) 675 if (request_info.is_deferred)
667 return; 676 return;
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
757 const IPC::Message& message) { 766 const IPC::Message& message) {
758 switch (message.type()) { 767 switch (message.type()) {
759 case ResourceMsg_UploadProgress::ID: 768 case ResourceMsg_UploadProgress::ID:
760 case ResourceMsg_ReceivedResponse::ID: 769 case ResourceMsg_ReceivedResponse::ID:
761 case ResourceMsg_ReceivedCachedMetadata::ID: 770 case ResourceMsg_ReceivedCachedMetadata::ID:
762 case ResourceMsg_ReceivedRedirect::ID: 771 case ResourceMsg_ReceivedRedirect::ID:
763 case ResourceMsg_SetDataBuffer::ID: 772 case ResourceMsg_SetDataBuffer::ID:
764 case ResourceMsg_DataReceived::ID: 773 case ResourceMsg_DataReceived::ID:
765 case ResourceMsg_DataDownloaded::ID: 774 case ResourceMsg_DataDownloaded::ID:
766 case ResourceMsg_RequestComplete::ID: 775 case ResourceMsg_RequestComplete::ID:
776 case ResourceMsg_RequestDidStartForFrame::ID:
767 return true; 777 return true;
768 778
769 default: 779 default:
770 break; 780 break;
771 } 781 }
772 782
773 return false; 783 return false;
774 } 784 }
775 785
776 // static 786 // static
(...skipping 23 matching lines...) Expand all
800 void ResourceDispatcher::ReleaseResourcesInMessageQueue(MessageQueue* queue) { 810 void ResourceDispatcher::ReleaseResourcesInMessageQueue(MessageQueue* queue) {
801 while (!queue->empty()) { 811 while (!queue->empty()) {
802 IPC::Message* message = queue->front(); 812 IPC::Message* message = queue->front();
803 ReleaseResourcesInDataMessage(*message); 813 ReleaseResourcesInDataMessage(*message);
804 queue->pop_front(); 814 queue->pop_front();
805 delete message; 815 delete message;
806 } 816 }
807 } 817 }
808 818
809 } // namespace content 819 } // namespace content
OLDNEW
« no previous file with comments | « content/child/resource_dispatcher.h ('k') | content/common/resource_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698