Index: content/browser/loader/mojo_async_resource_handler.cc |
diff --git a/content/browser/loader/mojo_async_resource_handler.cc b/content/browser/loader/mojo_async_resource_handler.cc |
index 24735ccf3bf78098de8181cdbab6bc472fb0a96d..938915e34bc61a7c693aea3991ca1415c18365f2 100644 |
--- a/content/browser/loader/mojo_async_resource_handler.cc |
+++ b/content/browser/loader/mojo_async_resource_handler.cc |
@@ -400,8 +400,10 @@ MojoResult MojoAsyncResourceHandler::BeginWrite(void** data, |
MojoResult MojoAsyncResourceHandler::EndWrite(uint32_t written) { |
MojoResult result = mojo::EndWriteDataRaw(shared_writer_->writer(), written); |
- if (result == MOJO_RESULT_OK) |
+ if (result == MOJO_RESULT_OK) { |
+ total_written_bytes_ += written; |
handle_watcher_.ArmOrNotify(); |
+ } |
return result; |
} |
@@ -452,6 +454,7 @@ void MojoAsyncResourceHandler::OnResponseCompleted( |
request_complete_data.encoded_data_length = |
request()->GetTotalReceivedBytes(); |
request_complete_data.encoded_body_length = request()->GetRawBodyBytes(); |
+ request_complete_data.decoded_body_length = total_written_bytes_; |
url_loader_client_->OnComplete(request_complete_data); |
controller->Resume(); |