| OLD | NEW |
| 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 "chrome/browser/net/chrome_network_delegate.h" | 5 #include "chrome/browser/net/chrome_network_delegate.h" |
| 6 | 6 |
| 7 #include <stdlib.h> | 7 #include <stdlib.h> |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 485 if (domain_reliability_monitor_) | 485 if (domain_reliability_monitor_) |
| 486 domain_reliability_monitor_->OnBeforeRedirect(request); | 486 domain_reliability_monitor_->OnBeforeRedirect(request); |
| 487 extensions_delegate_->OnBeforeRedirect(request, new_location); | 487 extensions_delegate_->OnBeforeRedirect(request, new_location); |
| 488 } | 488 } |
| 489 | 489 |
| 490 | 490 |
| 491 void ChromeNetworkDelegate::OnResponseStarted(net::URLRequest* request) { | 491 void ChromeNetworkDelegate::OnResponseStarted(net::URLRequest* request) { |
| 492 extensions_delegate_->OnResponseStarted(request); | 492 extensions_delegate_->OnResponseStarted(request); |
| 493 } | 493 } |
| 494 | 494 |
| 495 void ChromeNetworkDelegate::OnNetworkBytesReceived( | 495 void ChromeNetworkDelegate::OnNetworkBytesReceived(net::URLRequest* request, |
| 496 const net::URLRequest& request, | 496 int64_t bytes_received) { |
| 497 int64_t bytes_received) { | |
| 498 #if defined(ENABLE_TASK_MANAGER) | 497 #if defined(ENABLE_TASK_MANAGER) |
| 499 // Note: Currently, OnNetworkBytesReceived is only implemented for HTTP jobs, | 498 // Note: Currently, OnNetworkBytesReceived is only implemented for HTTP jobs, |
| 500 // not FTP or other types, so those kinds of bytes will not be reported here. | 499 // not FTP or other types, so those kinds of bytes will not be reported here. |
| 501 task_management::TaskManagerInterface::OnRawBytesRead(request, | 500 task_management::TaskManagerInterface::OnRawBytesRead(*request, |
| 502 bytes_received); | 501 bytes_received); |
| 503 #endif // defined(ENABLE_TASK_MANAGER) | 502 #endif // defined(ENABLE_TASK_MANAGER) |
| 504 | 503 |
| 505 if (data_use_aggregator_) { | 504 ReportDataUsageStats(request, 0 /* tx_bytes */, bytes_received); |
| 506 if (is_data_usage_off_the_record_) { | |
| 507 data_use_aggregator_->ReportOffTheRecordDataUse(0 /* tx_bytes */, | |
| 508 bytes_received); | |
| 509 } else { | |
| 510 data_use_aggregator_->ReportDataUse(request, -1 /* tab_id */, | |
| 511 0 /* tx_bytes */, bytes_received); | |
| 512 } | |
| 513 } | |
| 514 } | 505 } |
| 515 | 506 |
| 516 void ChromeNetworkDelegate::OnNetworkBytesSent(const net::URLRequest& request, | 507 void ChromeNetworkDelegate::OnNetworkBytesSent(net::URLRequest* request, |
| 517 int64_t bytes_sent) { | 508 int64_t bytes_sent) { |
| 518 if (data_use_aggregator_) { | 509 ReportDataUsageStats(request, bytes_sent, 0 /* rx_bytes */); |
| 519 if (is_data_usage_off_the_record_) { | |
| 520 data_use_aggregator_->ReportOffTheRecordDataUse(bytes_sent, | |
| 521 0 /* rx_bytes */); | |
| 522 } else { | |
| 523 data_use_aggregator_->ReportDataUse(request, -1 /* tab_id */, bytes_sent, | |
| 524 0 /* rx_bytes */); | |
| 525 } | |
| 526 } | |
| 527 } | 510 } |
| 528 | 511 |
| 529 void ChromeNetworkDelegate::OnCompleted(net::URLRequest* request, | 512 void ChromeNetworkDelegate::OnCompleted(net::URLRequest* request, |
| 530 bool started) { | 513 bool started) { |
| 531 #if !defined(OS_IOS) | 514 #if !defined(OS_IOS) |
| 532 // TODO(amohammadkhan): Verify that there is no double recording in data use | 515 // TODO(amohammadkhan): Verify that there is no double recording in data use |
| 533 // of redirected requests. | 516 // of redirected requests. |
| 534 data_use_measurement_.ReportDataUseUMA(request); | 517 data_use_measurement_.ReportDataUseUMA(request); |
| 535 #endif | 518 #endif |
| 536 RecordNetworkErrorHistograms(request); | 519 RecordNetworkErrorHistograms(request); |
| (...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 735 return experimental_web_platform_features_enabled_; | 718 return experimental_web_platform_features_enabled_; |
| 736 } | 719 } |
| 737 | 720 |
| 738 bool ChromeNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader( | 721 bool ChromeNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader( |
| 739 const net::URLRequest& request, | 722 const net::URLRequest& request, |
| 740 const GURL& target_url, | 723 const GURL& target_url, |
| 741 const GURL& referrer_url) const { | 724 const GURL& referrer_url) const { |
| 742 ReportInvalidReferrerSend(target_url, referrer_url); | 725 ReportInvalidReferrerSend(target_url, referrer_url); |
| 743 return true; | 726 return true; |
| 744 } | 727 } |
| 728 |
| 729 void ChromeNetworkDelegate::ReportDataUsageStats(net::URLRequest* request, |
| 730 int64_t tx_bytes, |
| 731 int64_t rx_bytes) { |
| 732 if (!data_use_aggregator_) |
| 733 return; |
| 734 |
| 735 if (is_data_usage_off_the_record_) { |
| 736 data_use_aggregator_->ReportOffTheRecordDataUse(tx_bytes, rx_bytes); |
| 737 return; |
| 738 } |
| 739 |
| 740 data_use_aggregator_->ReportDataUse(request, tx_bytes, rx_bytes); |
| 741 } |
| OLD | NEW |