| 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 450 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 461 return extensions_delegate_->OnHeadersReceived( | 461 return extensions_delegate_->OnHeadersReceived( |
| 462 request, | 462 request, |
| 463 callback, | 463 callback, |
| 464 original_response_headers, | 464 original_response_headers, |
| 465 override_response_headers, | 465 override_response_headers, |
| 466 allowed_unsafe_redirect_url); | 466 allowed_unsafe_redirect_url); |
| 467 } | 467 } |
| 468 | 468 |
| 469 void ChromeNetworkDelegate::OnBeforeRedirect(net::URLRequest* request, | 469 void ChromeNetworkDelegate::OnBeforeRedirect(net::URLRequest* request, |
| 470 const GURL& new_location) { | 470 const GURL& new_location) { |
| 471 // Recording data use of request on redirects. |
| 472 #if !defined(OS_IOS) |
| 473 data_use_measurement_.ReportDataUseUMA(request); |
| 474 #endif |
| 471 if (domain_reliability_monitor_) | 475 if (domain_reliability_monitor_) |
| 472 domain_reliability_monitor_->OnBeforeRedirect(request); | 476 domain_reliability_monitor_->OnBeforeRedirect(request); |
| 473 extensions_delegate_->OnBeforeRedirect(request, new_location); | 477 extensions_delegate_->OnBeforeRedirect(request, new_location); |
| 474 } | 478 } |
| 475 | 479 |
| 476 | 480 |
| 477 void ChromeNetworkDelegate::OnResponseStarted(net::URLRequest* request) { | 481 void ChromeNetworkDelegate::OnResponseStarted(net::URLRequest* request) { |
| 478 extensions_delegate_->OnResponseStarted(request); | 482 extensions_delegate_->OnResponseStarted(request); |
| 479 } | 483 } |
| 480 | 484 |
| 481 void ChromeNetworkDelegate::OnNetworkBytesReceived( | 485 void ChromeNetworkDelegate::OnNetworkBytesReceived( |
| 482 const net::URLRequest& request, | 486 const net::URLRequest& request, |
| 483 int64_t bytes_received) { | 487 int64_t bytes_received) { |
| 484 #if defined(ENABLE_TASK_MANAGER) | 488 #if defined(ENABLE_TASK_MANAGER) |
| 485 // Note: Currently, OnNetworkBytesReceived is only implemented for HTTP jobs, | 489 // Note: Currently, OnNetworkBytesReceived is only implemented for HTTP jobs, |
| 486 // not FTP or other types, so those kinds of bytes will not be reported here. | 490 // not FTP or other types, so those kinds of bytes will not be reported here. |
| 487 task_management::TaskManagerInterface::OnRawBytesRead(request, | 491 task_management::TaskManagerInterface::OnRawBytesRead(request, |
| 488 bytes_received); | 492 bytes_received); |
| 489 #endif // defined(ENABLE_TASK_MANAGER) | 493 #endif // defined(ENABLE_TASK_MANAGER) |
| 490 } | 494 } |
| 491 | 495 |
| 492 void ChromeNetworkDelegate::OnCompleted(net::URLRequest* request, | 496 void ChromeNetworkDelegate::OnCompleted(net::URLRequest* request, |
| 493 bool started) { | 497 bool started) { |
| 498 #if !defined(OS_IOS) |
| 499 // TODO(amohammadkhan): Verify that there is no double recording in data use |
| 500 // of redirected requests. |
| 501 data_use_measurement_.ReportDataUseUMA(request); |
| 502 #endif |
| 494 RecordNetworkErrorHistograms(request); | 503 RecordNetworkErrorHistograms(request); |
| 495 if (started) { | 504 if (started) { |
| 496 // Only call in for requests that were started, to obey the precondition | 505 // Only call in for requests that were started, to obey the precondition |
| 497 // that RecordCacheStateStats can only be called on requests for which | 506 // that RecordCacheStateStats can only be called on requests for which |
| 498 // OnResponseStarted was called. | 507 // OnResponseStarted was called. |
| 499 RecordCacheStateStats(request); | 508 RecordCacheStateStats(request); |
| 500 } | 509 } |
| 501 | 510 |
| 502 if (request->status().status() == net::URLRequestStatus::SUCCESS) { | 511 if (request->status().status() == net::URLRequestStatus::SUCCESS) { |
| 503 #if defined(OS_ANDROID) | 512 #if defined(OS_ANDROID) |
| (...skipping 185 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 689 return experimental_web_platform_features_enabled_; | 698 return experimental_web_platform_features_enabled_; |
| 690 } | 699 } |
| 691 | 700 |
| 692 bool ChromeNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader( | 701 bool ChromeNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader( |
| 693 const net::URLRequest& request, | 702 const net::URLRequest& request, |
| 694 const GURL& target_url, | 703 const GURL& target_url, |
| 695 const GURL& referrer_url) const { | 704 const GURL& referrer_url) const { |
| 696 ReportInvalidReferrerSend(target_url, referrer_url); | 705 ReportInvalidReferrerSend(target_url, referrer_url); |
| 697 return true; | 706 return true; |
| 698 } | 707 } |
| OLD | NEW |