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

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

Issue 2612903008: Add UploadProgressTracker unittest (Closed)
Patch Set: -gmock Created 3 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
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 319 matching lines...) Expand 10 before | Expand all | Expand 10 after
330 } 330 }
331 331
332 bool AsyncResourceHandler::OnWillStart(const GURL& url, bool* defer) { 332 bool AsyncResourceHandler::OnWillStart(const GURL& url, bool* defer) {
333 ResourceMessageFilter* filter = GetFilter(); 333 ResourceMessageFilter* filter = GetFilter();
334 if (!filter) 334 if (!filter)
335 return false; 335 return false;
336 336
337 if (GetRequestInfo()->is_upload_progress_enabled() && 337 if (GetRequestInfo()->is_upload_progress_enabled() &&
338 request()->has_upload()) { 338 request()->has_upload()) {
339 upload_progress_tracker_ = base::MakeUnique<UploadProgressTracker>( 339 upload_progress_tracker_ = base::MakeUnique<UploadProgressTracker>(
340 FROM_HERE, 340 FROM_HERE, this, base::ThreadTaskRunnerHandle::Get());
341 base::BindRepeating(&AsyncResourceHandler::SendUploadProgress,
342 base::Unretained(this)),
343 request());
344 } 341 }
345 return true; 342 return true;
346 } 343 }
347 344
348 bool AsyncResourceHandler::OnWillRead(scoped_refptr<net::IOBuffer>* buf, 345 bool AsyncResourceHandler::OnWillRead(scoped_refptr<net::IOBuffer>* buf,
349 int* buf_size, 346 int* buf_size,
350 int min_size) { 347 int min_size) {
351 DCHECK_EQ(-1, min_size); 348 DCHECK_EQ(-1, min_size);
352 349
353 if (!CheckForSufficientResource()) 350 if (!CheckForSufficientResource())
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
477 request_complete_data.encoded_data_length = 474 request_complete_data.encoded_data_length =
478 request()->GetTotalReceivedBytes(); 475 request()->GetTotalReceivedBytes();
479 request_complete_data.encoded_body_length = request()->GetRawBodyBytes(); 476 request_complete_data.encoded_body_length = request()->GetRawBodyBytes();
480 filter->Send( 477 filter->Send(
481 new ResourceMsg_RequestComplete(GetRequestID(), request_complete_data)); 478 new ResourceMsg_RequestComplete(GetRequestID(), request_complete_data));
482 479
483 if (status.is_success()) 480 if (status.is_success())
484 RecordHistogram(); 481 RecordHistogram();
485 } 482 }
486 483
484 net::UploadProgress AsyncResourceHandler::GetUploadProgress() {
485 return request()->GetUploadProgress();
486 }
487
488 void AsyncResourceHandler::ReportUploadProgress(int64_t current_position,
489 int64_t total_size) {
490 ResourceMessageFilter* filter = GetFilter();
491 if (!filter)
492 return;
493 filter->Send(new ResourceMsg_UploadProgress(GetRequestID(), current_position,
494 total_size));
495 }
496
487 bool AsyncResourceHandler::EnsureResourceBufferIsInitialized() { 497 bool AsyncResourceHandler::EnsureResourceBufferIsInitialized() {
488 DCHECK(has_checked_for_sufficient_resources_); 498 DCHECK(has_checked_for_sufficient_resources_);
489 499
490 if (buffer_.get() && buffer_->IsInitialized()) 500 if (buffer_.get() && buffer_->IsInitialized())
491 return true; 501 return true;
492 502
493 buffer_ = new ResourceBuffer(); 503 buffer_ = new ResourceBuffer();
494 return buffer_->Initialize(kBufferSize, 504 return buffer_->Initialize(kBufferSize,
495 kMinAllocationSize, 505 kMinAllocationSize,
496 kMaxAllocationSize); 506 kMaxAllocationSize);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 elapsed_time, 1, 100000, 100); 556 elapsed_time, 1, 100000, 100);
547 } else { 557 } else {
548 UMA_HISTOGRAM_CUSTOM_COUNTS( 558 UMA_HISTOGRAM_CUSTOM_COUNTS(
549 "Net.ResourceLoader.ResponseStartToEnd.Over_512kB", 559 "Net.ResourceLoader.ResponseStartToEnd.Over_512kB",
550 elapsed_time, 1, 100000, 100); 560 elapsed_time, 1, 100000, 100);
551 } 561 }
552 562
553 inlining_helper_->RecordHistogram(elapsed_time); 563 inlining_helper_->RecordHistogram(elapsed_time);
554 } 564 }
555 565
556 void AsyncResourceHandler::SendUploadProgress(int64_t current_position,
557 int64_t total_size) {
558 ResourceMessageFilter* filter = GetFilter();
559 if (!filter)
560 return;
561 filter->Send(new ResourceMsg_UploadProgress(
562 GetRequestID(), current_position, total_size));
563 }
564
565 } // namespace content 566 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698