Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Side by Side Diff: chrome/browser/net/chrome_network_delegate.cc

Issue 390533003: Bypassed Bytes UMAs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed logging and fixed MaybeBypassProxyAndPrepareToRetry Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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
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
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
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
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 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698