summaryrefslogtreecommitdiffstats
path: root/chrome/browser/net/chrome_network_delegate.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/net/chrome_network_delegate.cc')
-rw-r--r--chrome/browser/net/chrome_network_delegate.cc16
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,