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 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
291 | 291 |
292 } // namespace | 292 } // namespace |
293 | 293 |
294 ChromeNetworkDelegate::ChromeNetworkDelegate( | 294 ChromeNetworkDelegate::ChromeNetworkDelegate( |
295 extensions::EventRouterForwarder* event_router, | 295 extensions::EventRouterForwarder* event_router, |
296 BooleanPrefMember* enable_referrers) | 296 BooleanPrefMember* enable_referrers) |
297 : profile_(NULL), | 297 : profile_(NULL), |
298 enable_referrers_(enable_referrers), | 298 enable_referrers_(enable_referrers), |
299 enable_do_not_track_(NULL), | 299 enable_do_not_track_(NULL), |
300 force_google_safe_search_(NULL), | 300 force_google_safe_search_(NULL), |
| 301 data_reduction_proxy_enabled_(NULL), |
301 #if defined(ENABLE_CONFIGURATION_POLICY) | 302 #if defined(ENABLE_CONFIGURATION_POLICY) |
302 url_blacklist_manager_(NULL), | 303 url_blacklist_manager_(NULL), |
303 #endif | 304 #endif |
304 domain_reliability_monitor_(NULL), | 305 domain_reliability_monitor_(NULL), |
305 received_content_length_(0), | 306 received_content_length_(0), |
306 original_content_length_(0), | 307 original_content_length_(0), |
307 first_request_(true), | 308 first_request_(true), |
308 prerender_tracker_(NULL), | 309 prerender_tracker_(NULL), |
309 data_reduction_proxy_params_(NULL), | 310 data_reduction_proxy_params_(NULL), |
310 data_reduction_proxy_usage_stats_(NULL), | 311 data_reduction_proxy_usage_stats_(NULL), |
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
513 const net::HttpRequestHeaders& headers) { | 514 const net::HttpRequestHeaders& headers) { |
514 extensions_delegate_->OnSendHeaders(request, headers); | 515 extensions_delegate_->OnSendHeaders(request, headers); |
515 } | 516 } |
516 | 517 |
517 int ChromeNetworkDelegate::OnHeadersReceived( | 518 int ChromeNetworkDelegate::OnHeadersReceived( |
518 net::URLRequest* request, | 519 net::URLRequest* request, |
519 const net::CompletionCallback& callback, | 520 const net::CompletionCallback& callback, |
520 const net::HttpResponseHeaders* original_response_headers, | 521 const net::HttpResponseHeaders* original_response_headers, |
521 scoped_refptr<net::HttpResponseHeaders>* override_response_headers, | 522 scoped_refptr<net::HttpResponseHeaders>* override_response_headers, |
522 GURL* allowed_unsafe_redirect_url) { | 523 GURL* allowed_unsafe_redirect_url) { |
| 524 net::ProxyService::DataReductionProxyBypassType bypass_type; |
523 if (data_reduction_proxy::MaybeBypassProxyAndPrepareToRetry( | 525 if (data_reduction_proxy::MaybeBypassProxyAndPrepareToRetry( |
524 data_reduction_proxy_params_, | 526 data_reduction_proxy_params_, |
525 request, | 527 request, |
526 original_response_headers, | 528 original_response_headers, |
527 override_response_headers)) { | 529 override_response_headers, |
| 530 &bypass_type)) { |
| 531 if (data_reduction_proxy_usage_stats_) |
| 532 data_reduction_proxy_usage_stats_->SetBypassType(bypass_type); |
528 return net::OK; | 533 return net::OK; |
529 } | 534 } |
530 | 535 |
531 return extensions_delegate_->OnHeadersReceived( | 536 return extensions_delegate_->OnHeadersReceived( |
532 request, | 537 request, |
533 callback, | 538 callback, |
534 original_response_headers, | 539 original_response_headers, |
535 override_response_headers, | 540 override_response_headers, |
536 allowed_unsafe_redirect_url); | 541 allowed_unsafe_redirect_url); |
537 } | 542 } |
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
607 int64 adjusted_original_content_length = | 612 int64 adjusted_original_content_length = |
608 data_reduction_proxy::GetAdjustedOriginalContentLength( | 613 data_reduction_proxy::GetAdjustedOriginalContentLength( |
609 request_type, original_content_length, | 614 request_type, original_content_length, |
610 received_content_length); | 615 received_content_length); |
611 AccumulateContentLength(received_content_length, | 616 AccumulateContentLength(received_content_length, |
612 adjusted_original_content_length, | 617 adjusted_original_content_length, |
613 request_type); | 618 request_type); |
614 RecordContentLengthHistograms(received_content_length, | 619 RecordContentLengthHistograms(received_content_length, |
615 original_content_length, | 620 original_content_length, |
616 freshness_lifetime); | 621 freshness_lifetime); |
| 622 if (data_reduction_proxy_enabled_ && data_reduction_proxy_usage_stats_) { |
| 623 data_reduction_proxy_usage_stats_->RecordBypassedBytesHistograms( |
| 624 *request, *data_reduction_proxy_enabled_); |
| 625 } |
617 DVLOG(2) << __FUNCTION__ | 626 DVLOG(2) << __FUNCTION__ |
618 << " received content length: " << received_content_length | 627 << " received content length: " << received_content_length |
619 << " original content length: " << original_content_length | 628 << " original content length: " << original_content_length |
620 << " url: " << request->url(); | 629 << " url: " << request->url(); |
621 } | 630 } |
622 | 631 |
623 extensions_delegate_->OnCompleted(request, started); | 632 extensions_delegate_->OnCompleted(request, started); |
624 } else if (request->status().status() == net::URLRequestStatus::FAILED || | 633 } else if (request->status().status() == net::URLRequestStatus::FAILED || |
625 request->status().status() == net::URLRequestStatus::CANCELED) { | 634 request->status().status() == net::URLRequestStatus::CANCELED) { |
626 extensions_delegate_->OnCompleted(request, started); | 635 extensions_delegate_->OnCompleted(request, started); |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
844 data_reduction_proxy::DataReductionProxyRequestType request_type) { | 853 data_reduction_proxy::DataReductionProxyRequestType request_type) { |
845 DCHECK_GE(received_content_length, 0); | 854 DCHECK_GE(received_content_length, 0); |
846 DCHECK_GE(original_content_length, 0); | 855 DCHECK_GE(original_content_length, 0); |
847 StoreAccumulatedContentLength(received_content_length, | 856 StoreAccumulatedContentLength(received_content_length, |
848 original_content_length, | 857 original_content_length, |
849 request_type, | 858 request_type, |
850 reinterpret_cast<Profile*>(profile_)); | 859 reinterpret_cast<Profile*>(profile_)); |
851 received_content_length_ += received_content_length; | 860 received_content_length_ += received_content_length; |
852 original_content_length_ += original_content_length; | 861 original_content_length_ += original_content_length; |
853 } | 862 } |
OLD | NEW |