diff options
author | eustas@chromium.org <eustas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-10 12:54:57 +0000 |
---|---|---|
committer | eustas@chromium.org <eustas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-02-10 12:54:57 +0000 |
commit | c8c56758c394793fd106f6607b50f0966976e135 (patch) | |
tree | f75a94538866b7b68dfa5a7217e61a2fdae859d5 /content/browser/loader/async_resource_handler.cc | |
parent | fd00e49adcf05f05a5cff215abed207e738c606c (diff) | |
download | chromium_src-c8c56758c394793fd106f6607b50f0966976e135.zip chromium_src-c8c56758c394793fd106f6607b50f0966976e135.tar.gz chromium_src-c8c56758c394793fd106f6607b50f0966976e135.tar.bz2 |
Add transfer size paramater to didFinishLoading [2/3]
Mini DD:
https://docs.google.com/a/chromium.org/document/d/1kAKnBKofLc3Tex_JPveubwJcQLT3BhIL3xNQyjvRIps/edit?usp=sharing
Most of files contain only signature changes.
There are 3 non-trivial changes:
1) ResourceMsg_RequestComplete IPC message receives struct instead of distinct parameters.
2) Use URLRequest::GetTotalReceivedBytes instead of DevToolsNetLogObserver::GetAndResetEncodedDataLength
3) Remove unused code in DevToolsNetLogObserver.
BUG=111052
Review URL: https://codereview.chromium.org/143263002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@250069 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/loader/async_resource_handler.cc')
-rw-r--r-- | content/browser/loader/async_resource_handler.cc | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/content/browser/loader/async_resource_handler.cc b/content/browser/loader/async_resource_handler.cc index 2a35c4d..5326b66 100644 --- a/content/browser/loader/async_resource_handler.cc +++ b/content/browser/loader/async_resource_handler.cc @@ -87,7 +87,8 @@ AsyncResourceHandler::AsyncResourceHandler( did_defer_(false), has_checked_for_sufficient_resources_(false), sent_received_response_msg_(false), - sent_first_data_msg_(false) { + sent_first_data_msg_(false), + reported_transfer_size_(0) { InitializeResourceBufferConstants(); } @@ -159,6 +160,8 @@ bool AsyncResourceHandler::OnRequestRedirected(int request_id, } DevToolsNetLogObserver::PopulateResponseInfo(request(), response); + response->head.encoded_data_length = request()->GetTotalReceivedBytes(); + reported_transfer_size_ = 0; response->head.request_start = request()->creation_time(); response->head.response_start = TimeTicks::Now(); return info->filter()->Send(new ResourceMsg_ReceivedRedirect( @@ -279,8 +282,10 @@ bool AsyncResourceHandler::OnReadCompleted(int request_id, int bytes_read, } int data_offset = buffer_->GetLastAllocationOffset(); - int encoded_data_length = - DevToolsNetLogObserver::GetAndResetEncodedDataLength(request()); + + int64_t current_transfer_size = request()->GetTotalReceivedBytes(); + int encoded_data_length = current_transfer_size - reported_transfer_size_; + reported_transfer_size_ = current_transfer_size; filter->Send(new ResourceMsg_DataReceived( request_id, data_offset, bytes_read, encoded_data_length)); @@ -302,8 +307,9 @@ bool AsyncResourceHandler::OnReadCompleted(int request_id, int bytes_read, void AsyncResourceHandler::OnDataDownloaded( int request_id, int bytes_downloaded) { - int encoded_data_length = - DevToolsNetLogObserver::GetAndResetEncodedDataLength(request()); + int64_t current_transfer_size = request()->GetTotalReceivedBytes(); + int encoded_data_length = current_transfer_size - reported_transfer_size_; + reported_transfer_size_ = current_transfer_size; ResourceMessageFilter* filter = GetFilter(); if (filter) { @@ -360,6 +366,8 @@ void AsyncResourceHandler::OnResponseCompleted( request_complete_data.exists_in_cache = request()->response_info().was_cached; request_complete_data.security_info = security_info; request_complete_data.completion_time = TimeTicks::Now(); + request_complete_data.encoded_data_length = + request()->GetTotalReceivedBytes(); info->filter()->Send( new ResourceMsg_RequestComplete(request_id, request_complete_data)); } |