summaryrefslogtreecommitdiffstats
path: root/content/browser/loader/async_resource_handler.cc
diff options
context:
space:
mode:
authoreustas@chromium.org <eustas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-10 12:54:57 +0000
committereustas@chromium.org <eustas@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-02-10 12:54:57 +0000
commitc8c56758c394793fd106f6607b50f0966976e135 (patch)
treef75a94538866b7b68dfa5a7217e61a2fdae859d5 /content/browser/loader/async_resource_handler.cc
parentfd00e49adcf05f05a5cff215abed207e738c606c (diff)
downloadchromium_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.cc18
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));
}