mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-10 11:55:49 +00:00
Bug 1584183
- Set nsILoadInfo.requestBlockingReason in UrlClassifierCommon::SetBlockedContent, r=dimi
Differential Revision: https://phabricator.services.mozilla.com/D47243 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
69798165a4
commit
c6b75b3965
@ -422,7 +422,7 @@ interface nsILoadInfo : nsISupports
|
||||
* context.
|
||||
*/
|
||||
[infallible] attribute boolean skipContentSniffing;
|
||||
|
||||
|
||||
/**
|
||||
* True if this request is embedded in a context that can't be third-party
|
||||
* (i.e. an iframe embedded in a cross-origin parent window). If this is
|
||||
@ -1164,6 +1164,9 @@ interface nsILoadInfo : nsISupports
|
||||
const uint32_t BLOCKING_REASON_CLASSIFY_TRACKING_URI = 2004;
|
||||
const uint32_t BLOCKING_REASON_CLASSIFY_BLOCKED_URI = 2005;
|
||||
const uint32_t BLOCKING_REASON_CLASSIFY_HARMFUL_URI = 2006;
|
||||
const uint32_t BLOCKING_REASON_CLASSIFY_CRYPTOMINING_URI = 2007;
|
||||
const uint32_t BLOCKING_REASON_CLASSIFY_FINGERPRINTING_URI = 2008;
|
||||
const uint32_t BLOCKING_REASON_CLASSIFY_SOCIALTRACKING_URI = 2009;
|
||||
const uint32_t BLOCKING_REASON_MIXED_BLOCKED = 3001;
|
||||
// The general reason comes from nsCSPContext::permitsInternal(),
|
||||
// which is way too generic to distinguish an exact reason.
|
||||
|
@ -182,6 +182,49 @@ nsresult UrlClassifierCommon::SetBlockedContent(nsIChannel* channel,
|
||||
const nsACString& aFullHash) {
|
||||
NS_ENSURE_ARG(!aList.IsEmpty());
|
||||
|
||||
switch (aErrorCode) {
|
||||
case NS_ERROR_MALWARE_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
channel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_MALWARE_URI);
|
||||
break;
|
||||
case NS_ERROR_PHISHING_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
channel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_PHISHING_URI);
|
||||
break;
|
||||
case NS_ERROR_UNWANTED_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
channel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_UNWANTED_URI);
|
||||
break;
|
||||
case NS_ERROR_TRACKING_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
channel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_TRACKING_URI);
|
||||
break;
|
||||
case NS_ERROR_BLOCKED_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
channel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_BLOCKED_URI);
|
||||
break;
|
||||
case NS_ERROR_HARMFUL_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
channel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_HARMFUL_URI);
|
||||
break;
|
||||
case NS_ERROR_CRYPTOMINING_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
channel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_CRYPTOMINING_URI);
|
||||
break;
|
||||
case NS_ERROR_FINGERPRINTING_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
channel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_FINGERPRINTING_URI);
|
||||
break;
|
||||
case NS_ERROR_SOCIALTRACKING_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
channel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_SOCIALTRACKING_URI);
|
||||
break;
|
||||
default:
|
||||
MOZ_CRASH(
|
||||
"Missing nsILoadInfo::BLOCKING_REASON* for the classification error");
|
||||
break;
|
||||
}
|
||||
|
||||
// Can be called in EITHER the parent or child process.
|
||||
nsCOMPtr<nsIParentChannel> parentChannel;
|
||||
NS_QueryNotificationCallbacks(channel, parentChannel);
|
||||
|
@ -158,9 +158,6 @@ UrlClassifierFeatureTrackingProtection::ProcessChannel(
|
||||
UrlClassifierCommon::SetBlockedContent(aChannel, NS_ERROR_TRACKING_URI, list,
|
||||
EmptyCString(), EmptyCString());
|
||||
|
||||
NS_SetRequestBlockingReason(
|
||||
aChannel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_TRACKING_URI);
|
||||
|
||||
UC_LOG(
|
||||
("UrlClassifierFeatureTrackingProtection::ProcessChannel, cancelling "
|
||||
"channel[%p]",
|
||||
|
@ -428,35 +428,6 @@ nsChannelClassifier::OnClassifyComplete(nsresult aErrorCode,
|
||||
SendThreatHitReport(mChannel, aProvider, aList, aFullHash);
|
||||
}
|
||||
|
||||
switch (aErrorCode) {
|
||||
case NS_ERROR_MALWARE_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
mChannel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_MALWARE_URI);
|
||||
break;
|
||||
case NS_ERROR_PHISHING_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
mChannel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_PHISHING_URI);
|
||||
break;
|
||||
case NS_ERROR_UNWANTED_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
mChannel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_UNWANTED_URI);
|
||||
break;
|
||||
case NS_ERROR_TRACKING_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
mChannel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_TRACKING_URI);
|
||||
break;
|
||||
case NS_ERROR_BLOCKED_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
mChannel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_BLOCKED_URI);
|
||||
break;
|
||||
case NS_ERROR_HARMFUL_URI:
|
||||
NS_SetRequestBlockingReason(
|
||||
mChannel, nsILoadInfo::BLOCKING_REASON_CLASSIFY_HARMFUL_URI);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
mChannel->Cancel(aErrorCode);
|
||||
}
|
||||
LOG_DEBUG(
|
||||
|
Loading…
Reference in New Issue
Block a user