NetworkService: Make requests with bad referrers fail.
This moves logic for this case from ChromeNetworkDelegate to
NetworkContext's NetworkDelegate, and adds a Mojo parameter to cause
requests with bad referrers to fail (enabled by default).
Also removes the action Net.URLRequest_StartJob_InvalidReferrer rather
than moving it, as it was unowned.
Bug: 852871
Cq-Include-Trybots: luci.chromium.try:ios-simulator-full-configs;luci.chromium.try:linux_mojo;master.tryserver.chromium.mac:ios-simulator-cronet
Change-Id: I9d6d55157ba28e2b12ca7136b78330100a8673aa
Reviewed-on: https://chromium-review.googlesource.com/1103119
Reviewed-by: Gayane Petrosyan <[email protected]>
Reviewed-by: David Roger <[email protected]>
Reviewed-by: Tom Sepez <[email protected]>
Reviewed-by: Jochen Eisinger <[email protected]>
Commit-Queue: Matt Menke <[email protected]>
Cr-Commit-Position: refs/heads/master@{#568807}
diff --git a/chrome/browser/net/chrome_network_delegate.cc b/chrome/browser/net/chrome_network_delegate.cc
index 45a38097..e489529 100644
--- a/chrome/browser/net/chrome_network_delegate.cc
+++ b/chrome/browser/net/chrome_network_delegate.cc
@@ -94,24 +94,6 @@
std::move(callback).Run(rv);
}
-void ReportInvalidReferrerSendOnUI() {
- base::RecordAction(
- base::UserMetricsAction("Net.URLRequest_StartJob_InvalidReferrer"));
-}
-
-void ReportInvalidReferrerSend(const GURL& target_url,
- const GURL& referrer_url) {
- LOG(ERROR) << "Cancelling request to " << target_url
- << " with invalid referrer " << referrer_url;
- // Record information to help debug http://crbug.com/422871
- if (!target_url.SchemeIsHTTPOrHTTPS())
- return;
- BrowserThread::PostTask(BrowserThread::UI, FROM_HERE,
- base::BindOnce(&ReportInvalidReferrerSendOnUI));
- base::debug::DumpWithoutCrashing();
- NOTREACHED();
-}
-
// Record network errors that HTTP requests complete with, including OK and
// ABORTED.
void RecordNetworkErrorHistograms(const net::URLRequest* request,
@@ -496,7 +478,9 @@
const net::URLRequest& request,
const GURL& target_url,
const GURL& referrer_url) const {
- ReportInvalidReferrerSend(target_url, referrer_url);
+ // These errors should be handled by the NetworkDelegate wrapper created by
+ // the owning NetworkContext.
+ NOTREACHED();
return true;
}