Chromium Code Reviews| 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 18 matching lines...) Expand all Loading... | |
| 29 #include "chrome/browser/prerender/prerender_tracker.h" | 29 #include "chrome/browser/prerender/prerender_tracker.h" |
| 30 #include "chrome/browser/profiles/profile_manager.h" | 30 #include "chrome/browser/profiles/profile_manager.h" |
| 31 #include "chrome/browser/task_manager/task_manager.h" | 31 #include "chrome/browser/task_manager/task_manager.h" |
| 32 #include "chrome/common/pref_names.h" | 32 #include "chrome/common/pref_names.h" |
| 33 #include "chrome/common/url_constants.h" | 33 #include "chrome/common/url_constants.h" |
| 34 #include "components/data_reduction_proxy/browser/data_reduction_proxy_auth_requ est_handler.h" | 34 #include "components/data_reduction_proxy/browser/data_reduction_proxy_auth_requ est_handler.h" |
| 35 #include "components/data_reduction_proxy/browser/data_reduction_proxy_metrics.h " | 35 #include "components/data_reduction_proxy/browser/data_reduction_proxy_metrics.h " |
| 36 #include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" | 36 #include "components/data_reduction_proxy/browser/data_reduction_proxy_params.h" |
| 37 #include "components/data_reduction_proxy/browser/data_reduction_proxy_protocol. h" | 37 #include "components/data_reduction_proxy/browser/data_reduction_proxy_protocol. h" |
| 38 #include "components/data_reduction_proxy/browser/data_reduction_proxy_usage_sta ts.h" | 38 #include "components/data_reduction_proxy/browser/data_reduction_proxy_usage_sta ts.h" |
| 39 #include "components/data_reduction_proxy/common/data_reduction_proxy_pref_names .h" | |
| 39 #include "components/domain_reliability/monitor.h" | 40 #include "components/domain_reliability/monitor.h" |
| 40 #include "components/google/core/browser/google_util.h" | 41 #include "components/google/core/browser/google_util.h" |
| 41 #include "content/public/browser/browser_thread.h" | 42 #include "content/public/browser/browser_thread.h" |
| 42 #include "content/public/browser/render_frame_host.h" | 43 #include "content/public/browser/render_frame_host.h" |
| 43 #include "content/public/browser/render_view_host.h" | 44 #include "content/public/browser/render_view_host.h" |
| 44 #include "content/public/browser/resource_request_info.h" | 45 #include "content/public/browser/resource_request_info.h" |
| 45 #include "extensions/common/constants.h" | 46 #include "extensions/common/constants.h" |
| 46 #include "net/base/host_port_pair.h" | 47 #include "net/base/host_port_pair.h" |
| 47 #include "net/base/net_errors.h" | 48 #include "net/base/net_errors.h" |
| 48 #include "net/base/net_log.h" | 49 #include "net/base/net_log.h" |
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 286 | 287 |
| 287 } // namespace | 288 } // namespace |
| 288 | 289 |
| 289 ChromeNetworkDelegate::ChromeNetworkDelegate( | 290 ChromeNetworkDelegate::ChromeNetworkDelegate( |
| 290 extensions::EventRouterForwarder* event_router, | 291 extensions::EventRouterForwarder* event_router, |
| 291 BooleanPrefMember* enable_referrers) | 292 BooleanPrefMember* enable_referrers) |
| 292 : profile_(NULL), | 293 : profile_(NULL), |
| 293 enable_referrers_(enable_referrers), | 294 enable_referrers_(enable_referrers), |
| 294 enable_do_not_track_(NULL), | 295 enable_do_not_track_(NULL), |
| 295 force_google_safe_search_(NULL), | 296 force_google_safe_search_(NULL), |
| 297 data_reduction_proxy_enabled_(NULL), | |
| 296 #if defined(ENABLE_CONFIGURATION_POLICY) | 298 #if defined(ENABLE_CONFIGURATION_POLICY) |
| 297 url_blacklist_manager_(NULL), | 299 url_blacklist_manager_(NULL), |
| 298 #endif | 300 #endif |
| 299 domain_reliability_monitor_(NULL), | 301 domain_reliability_monitor_(NULL), |
| 300 received_content_length_(0), | 302 received_content_length_(0), |
| 301 original_content_length_(0), | 303 original_content_length_(0), |
| 302 first_request_(true), | 304 first_request_(true), |
| 303 prerender_tracker_(NULL), | 305 prerender_tracker_(NULL), |
| 304 data_reduction_proxy_params_(NULL), | 306 data_reduction_proxy_params_(NULL), |
| 305 data_reduction_proxy_usage_stats_(NULL), | 307 data_reduction_proxy_usage_stats_(NULL), |
| (...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 340 // static | 342 // static |
| 341 void ChromeNetworkDelegate::NeverThrottleRequests() { | 343 void ChromeNetworkDelegate::NeverThrottleRequests() { |
| 342 g_never_throttle_requests_ = true; | 344 g_never_throttle_requests_ = true; |
| 343 } | 345 } |
| 344 | 346 |
| 345 // static | 347 // static |
| 346 void ChromeNetworkDelegate::InitializePrefsOnUIThread( | 348 void ChromeNetworkDelegate::InitializePrefsOnUIThread( |
| 347 BooleanPrefMember* enable_referrers, | 349 BooleanPrefMember* enable_referrers, |
| 348 BooleanPrefMember* enable_do_not_track, | 350 BooleanPrefMember* enable_do_not_track, |
| 349 BooleanPrefMember* force_google_safe_search, | 351 BooleanPrefMember* force_google_safe_search, |
| 352 BooleanPrefMember* data_reduction_proxy_enabled, | |
|
bengr
2014/07/16 01:40:09
How did you resolve the problem of this being init
| |
| 350 PrefService* pref_service) { | 353 PrefService* pref_service) { |
| 351 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 354 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| 352 enable_referrers->Init(prefs::kEnableReferrers, pref_service); | 355 enable_referrers->Init(prefs::kEnableReferrers, pref_service); |
| 353 enable_referrers->MoveToThread( | 356 enable_referrers->MoveToThread( |
| 354 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); | 357 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); |
| 355 if (enable_do_not_track) { | 358 if (enable_do_not_track) { |
| 356 enable_do_not_track->Init(prefs::kEnableDoNotTrack, pref_service); | 359 enable_do_not_track->Init(prefs::kEnableDoNotTrack, pref_service); |
| 357 enable_do_not_track->MoveToThread( | 360 enable_do_not_track->MoveToThread( |
| 358 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); | 361 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); |
| 359 } | 362 } |
| 360 if (force_google_safe_search) { | 363 if (force_google_safe_search) { |
| 361 force_google_safe_search->Init(prefs::kForceSafeSearch, pref_service); | 364 force_google_safe_search->Init(prefs::kForceSafeSearch, pref_service); |
| 362 force_google_safe_search->MoveToThread( | 365 force_google_safe_search->MoveToThread( |
| 363 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); | 366 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); |
| 364 } | 367 } |
| 368 if (data_reduction_proxy_enabled) { | |
| 369 data_reduction_proxy_enabled->Init( | |
| 370 data_reduction_proxy::prefs::kDataReductionProxyEnabled, | |
| 371 pref_service); | |
| 372 data_reduction_proxy_enabled->MoveToThread( | |
| 373 BrowserThread::GetMessageLoopProxyForThread(BrowserThread::IO)); | |
| 374 } | |
| 365 } | 375 } |
| 366 | 376 |
| 367 // static | 377 // static |
| 368 void ChromeNetworkDelegate::AllowAccessToAllFiles() { | 378 void ChromeNetworkDelegate::AllowAccessToAllFiles() { |
| 369 g_allow_file_access_ = true; | 379 g_allow_file_access_ = true; |
| 370 } | 380 } |
| 371 | 381 |
| 372 // static | 382 // static |
| 373 base::Value* ChromeNetworkDelegate::HistoricNetworkStatsInfoToValue() { | 383 base::Value* ChromeNetworkDelegate::HistoricNetworkStatsInfoToValue() { |
| 374 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); | 384 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
| (...skipping 131 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 506 const net::HttpRequestHeaders& headers) { | 516 const net::HttpRequestHeaders& headers) { |
| 507 extensions_delegate_->OnSendHeaders(request, headers); | 517 extensions_delegate_->OnSendHeaders(request, headers); |
| 508 } | 518 } |
| 509 | 519 |
| 510 int ChromeNetworkDelegate::OnHeadersReceived( | 520 int ChromeNetworkDelegate::OnHeadersReceived( |
| 511 net::URLRequest* request, | 521 net::URLRequest* request, |
| 512 const net::CompletionCallback& callback, | 522 const net::CompletionCallback& callback, |
| 513 const net::HttpResponseHeaders* original_response_headers, | 523 const net::HttpResponseHeaders* original_response_headers, |
| 514 scoped_refptr<net::HttpResponseHeaders>* override_response_headers, | 524 scoped_refptr<net::HttpResponseHeaders>* override_response_headers, |
| 515 GURL* allowed_unsafe_redirect_url) { | 525 GURL* allowed_unsafe_redirect_url) { |
| 526 net::ProxyService::DataReductionProxyBypassType bypass_type; | |
| 516 if (data_reduction_proxy::MaybeBypassProxyAndPrepareToRetry( | 527 if (data_reduction_proxy::MaybeBypassProxyAndPrepareToRetry( |
| 528 &bypass_type, | |
| 517 data_reduction_proxy_params_, | 529 data_reduction_proxy_params_, |
| 518 request, | 530 request, |
| 519 original_response_headers, | 531 original_response_headers, |
| 520 override_response_headers)) { | 532 override_response_headers)) { |
| 533 data_reduction_proxy_usage_stats_->SetBypassType(bypass_type); | |
| 521 return net::OK; | 534 return net::OK; |
| 522 } | 535 } |
| 523 | 536 |
| 524 return extensions_delegate_->OnHeadersReceived( | 537 return extensions_delegate_->OnHeadersReceived( |
| 525 request, | 538 request, |
| 526 callback, | 539 callback, |
| 527 original_response_headers, | 540 original_response_headers, |
| 528 override_response_headers, | 541 override_response_headers, |
| 529 allowed_unsafe_redirect_url); | 542 allowed_unsafe_redirect_url); |
| 530 } | 543 } |
| (...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 600 int64 adjusted_original_content_length = | 613 int64 adjusted_original_content_length = |
| 601 data_reduction_proxy::GetAdjustedOriginalContentLength( | 614 data_reduction_proxy::GetAdjustedOriginalContentLength( |
| 602 request_type, original_content_length, | 615 request_type, original_content_length, |
| 603 received_content_length); | 616 received_content_length); |
| 604 AccumulateContentLength(received_content_length, | 617 AccumulateContentLength(received_content_length, |
| 605 adjusted_original_content_length, | 618 adjusted_original_content_length, |
| 606 request_type); | 619 request_type); |
| 607 RecordContentLengthHistograms(received_content_length, | 620 RecordContentLengthHistograms(received_content_length, |
| 608 original_content_length, | 621 original_content_length, |
| 609 freshness_lifetime); | 622 freshness_lifetime); |
| 623 data_reduction_proxy_usage_stats_->RecordBypassedBytesHistograms( | |
|
bengr
2014/07/16 01:40:09
Please file a bug to add tests to verify that the
megjablon
2014/07/16 23:07:13
Done.
| |
| 624 received_content_length, *request, data_reduction_proxy_enabled_); | |
| 610 DVLOG(2) << __FUNCTION__ | 625 DVLOG(2) << __FUNCTION__ |
| 611 << " received content length: " << received_content_length | 626 << " received content length: " << received_content_length |
| 612 << " original content length: " << original_content_length | 627 << " original content length: " << original_content_length |
| 613 << " url: " << request->url(); | 628 << " url: " << request->url(); |
| 614 } | 629 } |
| 615 | 630 |
| 616 extensions_delegate_->OnCompleted(request, started); | 631 extensions_delegate_->OnCompleted(request, started); |
| 617 } else if (request->status().status() == net::URLRequestStatus::FAILED || | 632 } else if (request->status().status() == net::URLRequestStatus::FAILED || |
| 618 request->status().status() == net::URLRequestStatus::CANCELED) { | 633 request->status().status() == net::URLRequestStatus::CANCELED) { |
| 619 extensions_delegate_->OnCompleted(request, started); | 634 extensions_delegate_->OnCompleted(request, started); |
| (...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 833 data_reduction_proxy::DataReductionProxyRequestType request_type) { | 848 data_reduction_proxy::DataReductionProxyRequestType request_type) { |
| 834 DCHECK_GE(received_content_length, 0); | 849 DCHECK_GE(received_content_length, 0); |
| 835 DCHECK_GE(original_content_length, 0); | 850 DCHECK_GE(original_content_length, 0); |
| 836 StoreAccumulatedContentLength(received_content_length, | 851 StoreAccumulatedContentLength(received_content_length, |
| 837 original_content_length, | 852 original_content_length, |
| 838 request_type, | 853 request_type, |
| 839 reinterpret_cast<Profile*>(profile_)); | 854 reinterpret_cast<Profile*>(profile_)); |
| 840 received_content_length_ += received_content_length; | 855 received_content_length_ += received_content_length; |
| 841 original_content_length_ += original_content_length; | 856 original_content_length_ += original_content_length; |
| 842 } | 857 } |
| OLD | NEW |