| Index: content/browser/loader/async_resource_handler_unittest.cc | 
| diff --git a/content/browser/loader/async_resource_handler_unittest.cc b/content/browser/loader/async_resource_handler_unittest.cc | 
| index 9662afd54b75bb039394a478e6677e270ab806e0..f0697034b8fbc55f464e6e438363d506b3d052a2 100644 | 
| --- a/content/browser/loader/async_resource_handler_unittest.cc | 
| +++ b/content/browser/loader/async_resource_handler_unittest.cc | 
| @@ -64,6 +64,10 @@ std::string GenerateHeader(size_t response_data_size) { | 
| response_data_size); | 
| } | 
|  | 
| +int64_t TotalReceivedBytes(size_t response_data_size) { | 
| +  return response_data_size + GenerateHeader(response_data_size).size(); | 
| +} | 
| + | 
| std::string GenerateData(size_t response_data_size) { | 
| return std::string(response_data_size, 'a'); | 
| } | 
| @@ -248,7 +252,8 @@ TEST_F(AsyncResourceHandlerTest, Construct) { | 
| TEST_F(AsyncResourceHandlerTest, OneChunkLengths) { | 
| // Larger than kInlinedLeadingChunkSize and smaller than | 
| // kMaxAllocationSize. | 
| -  StartRequestAndWaitWithResponseDataSize(4096); | 
| +  constexpr auto kDataSize = 4096; | 
| +  StartRequestAndWaitWithResponseDataSize(kDataSize); | 
| const auto& messages = filter_->messages(); | 
| ASSERT_EQ(4u, messages.size()); | 
| ASSERT_EQ(ResourceMsg_DataReceived::ID, messages[2]->type()); | 
| @@ -256,9 +261,19 @@ TEST_F(AsyncResourceHandlerTest, OneChunkLengths) { | 
| ResourceMsg_DataReceived::Read(messages[2].get(), ¶ms); | 
|  | 
| int encoded_data_length = std::get<3>(params); | 
| -  EXPECT_EQ(4096, encoded_data_length); | 
| +  EXPECT_EQ(kDataSize, encoded_data_length); | 
| int encoded_body_length = std::get<4>(params); | 
| -  EXPECT_EQ(4096, encoded_body_length); | 
| +  EXPECT_EQ(kDataSize, encoded_body_length); | 
| + | 
| +  ASSERT_EQ(ResourceMsg_RequestComplete::ID, messages[3]->type()); | 
| +  ResourceMsg_RequestComplete::Param completion_params; | 
| +  ResourceMsg_RequestComplete::Read(messages[3].get(), &completion_params); | 
| +  ResourceRequestCompletionStatus completion_status = | 
| +      std::get<1>(completion_params); | 
| + | 
| +  EXPECT_EQ(TotalReceivedBytes(kDataSize), | 
| +            completion_status.encoded_data_length); | 
| +  EXPECT_EQ(kDataSize, completion_status.encoded_body_length); | 
| } | 
|  | 
| TEST_F(AsyncResourceHandlerTest, InlinedChunkLengths) { | 
| @@ -269,7 +284,8 @@ TEST_F(AsyncResourceHandlerTest, InlinedChunkLengths) { | 
| features::kOptimizeLoadingIPCForSmallResources); | 
|  | 
| // Smaller than kInlinedLeadingChunkSize. | 
| -  StartRequestAndWaitWithResponseDataSize(8); | 
| +  constexpr auto kDataSize = 8; | 
| +  StartRequestAndWaitWithResponseDataSize(kDataSize); | 
| const auto& messages = filter_->messages(); | 
| ASSERT_EQ(3u, messages.size()); | 
| ASSERT_EQ(ResourceMsg_InlinedDataChunkReceived::ID, messages[1]->type()); | 
| @@ -277,14 +293,25 @@ TEST_F(AsyncResourceHandlerTest, InlinedChunkLengths) { | 
| ResourceMsg_InlinedDataChunkReceived::Read(messages[1].get(), ¶ms); | 
|  | 
| int encoded_data_length = std::get<2>(params); | 
| -  EXPECT_EQ(8, encoded_data_length); | 
| +  EXPECT_EQ(kDataSize, encoded_data_length); | 
| int encoded_body_length = std::get<3>(params); | 
| -  EXPECT_EQ(8, encoded_body_length); | 
| +  EXPECT_EQ(kDataSize, encoded_body_length); | 
| + | 
| +  ASSERT_EQ(ResourceMsg_RequestComplete::ID, messages[2]->type()); | 
| +  ResourceMsg_RequestComplete::Param completion_params; | 
| +  ResourceMsg_RequestComplete::Read(messages[2].get(), &completion_params); | 
| +  ResourceRequestCompletionStatus completion_status = | 
| +      std::get<1>(completion_params); | 
| + | 
| +  EXPECT_EQ(TotalReceivedBytes(kDataSize), | 
| +            completion_status.encoded_data_length); | 
| +  EXPECT_EQ(kDataSize, completion_status.encoded_body_length); | 
| } | 
|  | 
| TEST_F(AsyncResourceHandlerTest, TwoChunksLengths) { | 
| // Larger than kMaxAllocationSize. | 
| -  StartRequestAndWaitWithResponseDataSize(64*1024); | 
| +  constexpr auto kDataSize = 64 * 1024; | 
| +  StartRequestAndWaitWithResponseDataSize(kDataSize); | 
| const auto& messages = filter_->messages(); | 
| ASSERT_EQ(5u, messages.size()); | 
| ASSERT_EQ(ResourceMsg_DataReceived::ID, messages[2]->type()); | 
| @@ -303,6 +330,15 @@ TEST_F(AsyncResourceHandlerTest, TwoChunksLengths) { | 
| EXPECT_EQ(32768, encoded_data_length); | 
| encoded_body_length = std::get<4>(params); | 
| EXPECT_EQ(32768, encoded_body_length); | 
| + | 
| +  ASSERT_EQ(ResourceMsg_RequestComplete::ID, messages[4]->type()); | 
| +  ResourceMsg_RequestComplete::Param completion_params; | 
| +  ResourceMsg_RequestComplete::Read(messages[4].get(), &completion_params); | 
| +  ResourceRequestCompletionStatus completion_status = | 
| +      std::get<1>(completion_params); | 
| +  EXPECT_EQ(TotalReceivedBytes(kDataSize), | 
| +            completion_status.encoded_data_length); | 
| +  EXPECT_EQ(kDataSize, completion_status.encoded_body_length); | 
| } | 
|  | 
| }  // namespace | 
|  |