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

Side by Side Diff: content/browser/loader/async_resource_handler.cc

Issue 1626213002: Factor out encoded length calculation in AsyncResourceHandler (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 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
« no previous file with comments | « content/browser/loader/async_resource_handler.h ('k') | no next file » | 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 #include "content/browser/loader/async_resource_handler.h" 5 #include "content/browser/loader/async_resource_handler.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after
324 return false; 324 return false;
325 325
326 // TODO(erikchen): Temporary debugging. http://crbug.com/527588. 326 // TODO(erikchen): Temporary debugging. http://crbug.com/527588.
327 CHECK_LE(size, kBufferSize); 327 CHECK_LE(size, kBufferSize);
328 filter->Send(new ResourceMsg_SetDataBuffer( 328 filter->Send(new ResourceMsg_SetDataBuffer(
329 GetRequestID(), handle, size, filter->peer_pid())); 329 GetRequestID(), handle, size, filter->peer_pid()));
330 sent_first_data_msg_ = true; 330 sent_first_data_msg_ = true;
331 } 331 }
332 332
333 int data_offset = buffer_->GetLastAllocationOffset(); 333 int data_offset = buffer_->GetLastAllocationOffset();
334 334 int encoded_data_length = CalculateEncodedDataLengthToReport();
335 int64_t current_transfer_size = request()->GetTotalReceivedBytes();
336 int encoded_data_length = current_transfer_size - reported_transfer_size_;
337 reported_transfer_size_ = current_transfer_size;
338 335
339 // TODO(erikchen): Temporary debugging. http://crbug.com/527588. 336 // TODO(erikchen): Temporary debugging. http://crbug.com/527588.
340 CHECK_LE(data_offset, kBufferSize); 337 CHECK_LE(data_offset, kBufferSize);
341 338
342 filter->Send(new ResourceMsg_DataReceivedDebug(GetRequestID(), data_offset)); 339 filter->Send(new ResourceMsg_DataReceivedDebug(GetRequestID(), data_offset));
343 filter->Send(new ResourceMsg_DataReceivedDebug2( 340 filter->Send(new ResourceMsg_DataReceivedDebug2(
344 GetRequestID(), data_offset, bytes_read, encoded_data_length)); 341 GetRequestID(), data_offset, bytes_read, encoded_data_length));
345 filter->Send(new ResourceMsg_DataReceived( 342 filter->Send(new ResourceMsg_DataReceived(
346 GetRequestID(), data_offset, bytes_read, encoded_data_length)); 343 GetRequestID(), data_offset, bytes_read, encoded_data_length));
347 ++pending_data_count_; 344 ++pending_data_count_;
348 345
349 if (!buffer_->CanAllocate()) { 346 if (!buffer_->CanAllocate()) {
350 *defer = did_defer_ = true; 347 *defer = did_defer_ = true;
351 OnDefer(); 348 OnDefer();
352 } 349 }
353 350
354 return true; 351 return true;
355 } 352 }
356 353
357 void AsyncResourceHandler::OnDataDownloaded(int bytes_downloaded) { 354 void AsyncResourceHandler::OnDataDownloaded(int bytes_downloaded) {
358 int64_t current_transfer_size = request()->GetTotalReceivedBytes(); 355 int encoded_data_length = CalculateEncodedDataLengthToReport();
359 int encoded_data_length = current_transfer_size - reported_transfer_size_;
360 reported_transfer_size_ = current_transfer_size;
361 356
362 ResourceMessageFilter* filter = GetFilter(); 357 ResourceMessageFilter* filter = GetFilter();
363 if (filter) { 358 if (filter) {
364 filter->Send(new ResourceMsg_DataDownloaded( 359 filter->Send(new ResourceMsg_DataDownloaded(
365 GetRequestID(), bytes_downloaded, encoded_data_length)); 360 GetRequestID(), bytes_downloaded, encoded_data_length));
366 } 361 }
367 } 362 }
368 363
369 void AsyncResourceHandler::OnResponseCompleted( 364 void AsyncResourceHandler::OnResponseCompleted(
370 const net::URLRequestStatus& status, 365 const net::URLRequestStatus& status,
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
448 return true; 443 return true;
449 has_checked_for_sufficient_resources_ = true; 444 has_checked_for_sufficient_resources_ = true;
450 445
451 if (rdh_->HasSufficientResourcesForRequest(request())) 446 if (rdh_->HasSufficientResourcesForRequest(request()))
452 return true; 447 return true;
453 448
454 controller()->CancelWithError(net::ERR_INSUFFICIENT_RESOURCES); 449 controller()->CancelWithError(net::ERR_INSUFFICIENT_RESOURCES);
455 return false; 450 return false;
456 } 451 }
457 452
453 int AsyncResourceHandler::CalculateEncodedDataLengthToReport() {
454 int64_t current_transfer_size = request()->GetTotalReceivedBytes();
455 int encoded_data_length = current_transfer_size - reported_transfer_size_;
456 reported_transfer_size_ = current_transfer_size;
457 return encoded_data_length;
458 }
459
458 } // namespace content 460 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/loader/async_resource_handler.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698