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 |