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

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

Issue 1279543002: Support needed to measure user and service traffic in Chrome. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@NewHistogram
Patch Set: Fix few formatting issues. Created 5 years, 4 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 12 matching lines...) Expand all
23 #include "base/profiler/scoped_tracker.h" 23 #include "base/profiler/scoped_tracker.h"
24 #include "base/strings/string_number_conversions.h" 24 #include "base/strings/string_number_conversions.h"
25 #include "base/strings/string_util.h" 25 #include "base/strings/string_util.h"
26 #include "base/time/time.h" 26 #include "base/time/time.h"
27 #include "chrome/browser/browser_process.h" 27 #include "chrome/browser/browser_process.h"
28 #include "chrome/browser/content_settings/cookie_settings_factory.h" 28 #include "chrome/browser/content_settings/cookie_settings_factory.h"
29 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 29 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
30 #include "chrome/browser/custom_handlers/protocol_handler_registry.h" 30 #include "chrome/browser/custom_handlers/protocol_handler_registry.h"
31 #include "chrome/browser/net/chrome_extensions_network_delegate.h" 31 #include "chrome/browser/net/chrome_extensions_network_delegate.h"
32 #include "chrome/browser/net/connect_interceptor.h" 32 #include "chrome/browser/net/connect_interceptor.h"
33 #include "chrome/browser/net/data_use_measurement.h"
33 #include "chrome/browser/net/request_source_bandwidth_histograms.h" 34 #include "chrome/browser/net/request_source_bandwidth_histograms.h"
34 #include "chrome/browser/net/safe_search_util.h" 35 #include "chrome/browser/net/safe_search_util.h"
35 #include "chrome/browser/profiles/profile_manager.h" 36 #include "chrome/browser/profiles/profile_manager.h"
36 #include "chrome/browser/task_manager/task_manager.h" 37 #include "chrome/browser/task_manager/task_manager.h"
37 #include "chrome/common/pref_names.h" 38 #include "chrome/common/pref_names.h"
38 #include "components/content_settings/core/browser/cookie_settings.h" 39 #include "components/content_settings/core/browser/cookie_settings.h"
39 #include "components/domain_reliability/monitor.h" 40 #include "components/domain_reliability/monitor.h"
40 #include "content/public/browser/browser_thread.h" 41 #include "content/public/browser/browser_thread.h"
41 #include "content/public/browser/render_frame_host.h" 42 #include "content/public/browser/render_frame_host.h"
42 #include "content/public/browser/render_view_host.h" 43 #include "content/public/browser/render_view_host.h"
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after
282 BooleanPrefMember* enable_referrers) 283 BooleanPrefMember* enable_referrers)
283 : profile_(NULL), 284 : profile_(NULL),
284 enable_referrers_(enable_referrers), 285 enable_referrers_(enable_referrers),
285 enable_do_not_track_(NULL), 286 enable_do_not_track_(NULL),
286 force_google_safe_search_(NULL), 287 force_google_safe_search_(NULL),
287 force_youtube_safety_mode_(NULL), 288 force_youtube_safety_mode_(NULL),
288 #if defined(ENABLE_CONFIGURATION_POLICY) 289 #if defined(ENABLE_CONFIGURATION_POLICY)
289 url_blacklist_manager_(NULL), 290 url_blacklist_manager_(NULL),
290 #endif 291 #endif
291 domain_reliability_monitor_(NULL), 292 domain_reliability_monitor_(NULL),
293 data_use_measurer_(new DataUseMeasurement),
292 experimental_web_platform_features_enabled_( 294 experimental_web_platform_features_enabled_(
293 base::CommandLine::ForCurrentProcess()->HasSwitch( 295 base::CommandLine::ForCurrentProcess()->HasSwitch(
294 switches::kEnableExperimentalWebPlatformFeatures)) { 296 switches::kEnableExperimentalWebPlatformFeatures)) {
295 DCHECK(enable_referrers); 297 DCHECK(enable_referrers);
296 extensions_delegate_.reset( 298 extensions_delegate_.reset(
297 ChromeExtensionsNetworkDelegate::Create(event_router)); 299 ChromeExtensionsNetworkDelegate::Create(event_router));
298 } 300 }
299 301
300 ChromeNetworkDelegate::~ChromeNetworkDelegate() {} 302 ChromeNetworkDelegate::~ChromeNetworkDelegate() {}
301 303
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
480 #if defined(ENABLE_TASK_MANAGER) 482 #if defined(ENABLE_TASK_MANAGER)
481 // This is not completely accurate, but as a first approximation ignore 483 // This is not completely accurate, but as a first approximation ignore
482 // requests that are served from the cache. See bug 330931 for more info. 484 // requests that are served from the cache. See bug 330931 for more info.
483 if (!request.was_cached()) 485 if (!request.was_cached())
484 TaskManager::GetInstance()->model()->NotifyBytesRead(request, bytes_read); 486 TaskManager::GetInstance()->model()->NotifyBytesRead(request, bytes_read);
485 #endif // defined(ENABLE_TASK_MANAGER) 487 #endif // defined(ENABLE_TASK_MANAGER)
486 } 488 }
487 489
488 void ChromeNetworkDelegate::OnCompleted(net::URLRequest* request, 490 void ChromeNetworkDelegate::OnCompleted(net::URLRequest* request,
489 bool started) { 491 bool started) {
492 data_use_measurer_->ReportDataUseUMA(request);
490 RecordNetworkErrorHistograms(request); 493 RecordNetworkErrorHistograms(request);
491 if (started) { 494 if (started) {
492 // Only call in for requests that were started, to obey the precondition 495 // Only call in for requests that were started, to obey the precondition
493 // that RecordCacheStateStats can only be called on requests for which 496 // that RecordCacheStateStats can only be called on requests for which
494 // OnResponseStarted was called. 497 // OnResponseStarted was called.
495 RecordCacheStateStats(request); 498 RecordCacheStateStats(request);
496 } 499 }
497 500
498 if (request->status().status() == net::URLRequestStatus::SUCCESS) { 501 if (request->status().status() == net::URLRequestStatus::SUCCESS) {
499 #if defined(OS_ANDROID) 502 #if defined(OS_ANDROID)
(...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after
683 return experimental_web_platform_features_enabled_; 686 return experimental_web_platform_features_enabled_;
684 } 687 }
685 688
686 bool ChromeNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader( 689 bool ChromeNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader(
687 const net::URLRequest& request, 690 const net::URLRequest& request,
688 const GURL& target_url, 691 const GURL& target_url,
689 const GURL& referrer_url) const { 692 const GURL& referrer_url) const {
690 ReportInvalidReferrerSend(target_url, referrer_url); 693 ReportInvalidReferrerSend(target_url, referrer_url);
691 return true; 694 return true;
692 } 695 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698