diff options
Diffstat (limited to 'chrome/browser/net/chrome_network_delegate.cc')
-rw-r--r-- | chrome/browser/net/chrome_network_delegate.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc index 77abac0..285a2e3 100644 --- a/chrome/browser/net/chrome_network_delegate.cc +++ b/chrome/browser/net/chrome_network_delegate.cc @@ -12,6 +12,7 @@ #include "base/debug/trace_event.h" #include "base/logging.h" #include "base/metrics/histogram.h" +#include "base/metrics/user_metrics.h" #include "base/path_service.h" #include "base/prefs/pref_member.h" #include "base/prefs/pref_service.h" @@ -233,6 +234,12 @@ void RecordIOThreadToRequestStartOnUIThread( } #endif // defined(OS_ANDROID) +void ReportInvalidReferrerSend(const GURL& target_url, + const GURL& referrer_url) { + base::RecordAction( + base::UserMetricsAction("Net.URLRequest_StartJob_InvalidReferrer")); +} + } // namespace ChromeNetworkDelegate::ChromeNetworkDelegate( @@ -811,6 +818,15 @@ int ChromeNetworkDelegate::OnBeforeSocketStreamConnect( return net::OK; } +bool ChromeNetworkDelegate::OnCancelURLRequestWithPolicyViolatingReferrerHeader( + const net::URLRequest& request, + const GURL& target_url, + const GURL& referrer_url) const { + BrowserThread::PostTask(BrowserThread::UI, FROM_HERE, + base::Bind(&ReportInvalidReferrerSend, target_url, referrer_url)); + return true; +} + void ChromeNetworkDelegate::AccumulateContentLength( int64 received_content_length, int64 original_content_length, |