Bug 1447935 - P2. Use fission-compatible third-party checks r=baku

Differential Revision: https://phabricator.services.mozilla.com/D80187
This commit is contained in:
Dimi Lee 2020-07-09 20:10:18 +00:00
parent 5c5dfa4064
commit c8306bf2d9
4 changed files with 59 additions and 74 deletions

View File

@ -6,10 +6,10 @@
#include "UrlClassifierFeatureCryptominingProtection.h"
#include "mozilla/AntiTrackingUtils.h"
#include "mozilla/net/UrlClassifierCommon.h"
#include "ChannelClassifierService.h"
#include "mozilla/StaticPrefs_privacy.h"
#include "nsContentUtils.h"
#include "nsNetUtil.h"
namespace mozilla {
@ -87,27 +87,23 @@ UrlClassifierFeatureCryptominingProtection::MaybeCreate(nsIChannel* aChannel) {
return nullptr;
}
nsCOMPtr<nsIURI> chanURI;
nsresult rv = aChannel->GetURI(getter_AddRefs(chanURI));
if (NS_WARN_IF(NS_FAILED(rv))) {
return nullptr;
}
bool isThirdParty =
nsContentUtils::IsThirdPartyWindowOrChannel(nullptr, aChannel, chanURI);
bool isThirdParty = AntiTrackingUtils::IsThirdPartyChannel(aChannel);
if (!isThirdParty) {
if (UC_LOG_ENABLED()) {
nsCString spec = chanURI->GetSpecOrDefault();
spec.Truncate(
std::min(spec.Length(), UrlClassifierCommon::sMaxSpecLength));
UC_LOG(
("UrlClassifierFeatureCryptominingProtection: Skipping cryptomining "
"checks "
"for first party or top-level load channel[%p] "
"with uri %s",
aChannel, spec.get()));
nsCOMPtr<nsIURI> chanURI;
Unused << aChannel->GetURI(getter_AddRefs(chanURI));
if (chanURI) {
nsCString spec = chanURI->GetSpecOrDefault();
spec.Truncate(
std::min(spec.Length(), UrlClassifierCommon::sMaxSpecLength));
UC_LOG(
("UrlClassifierFeatureCryptominingProtection: Skipping cryptomining "
"checks "
"for first party or top-level load channel[%p] "
"with uri %s",
aChannel, spec.get()));
}
}
return nullptr;
}

View File

@ -6,10 +6,10 @@
#include "UrlClassifierFeatureFingerprintingProtection.h"
#include "mozilla/AntiTrackingUtils.h"
#include "mozilla/net/UrlClassifierCommon.h"
#include "ChannelClassifierService.h"
#include "mozilla/StaticPrefs_privacy.h"
#include "nsContentUtils.h"
#include "nsNetUtil.h"
namespace mozilla {
@ -90,25 +90,22 @@ UrlClassifierFeatureFingerprintingProtection::MaybeCreate(
return nullptr;
}
nsCOMPtr<nsIURI> chanURI;
nsresult rv = aChannel->GetURI(getter_AddRefs(chanURI));
if (NS_WARN_IF(NS_FAILED(rv))) {
return nullptr;
}
bool isThirdParty =
nsContentUtils::IsThirdPartyWindowOrChannel(nullptr, aChannel, chanURI);
bool isThirdParty = AntiTrackingUtils::IsThirdPartyChannel(aChannel);
if (!isThirdParty) {
if (UC_LOG_ENABLED()) {
nsCString spec = chanURI->GetSpecOrDefault();
spec.Truncate(
std::min(spec.Length(), UrlClassifierCommon::sMaxSpecLength));
UC_LOG(
("UrlClassifierFeatureFingerprintingProtection: Skipping "
"fingerprinting checks "
"for first party or top-level load channel[%p] "
"with uri %s",
aChannel, spec.get()));
nsCOMPtr<nsIURI> chanURI;
Unused << aChannel->GetURI(getter_AddRefs(chanURI));
if (chanURI) {
nsCString spec = chanURI->GetSpecOrDefault();
spec.Truncate(
std::min(spec.Length(), UrlClassifierCommon::sMaxSpecLength));
UC_LOG(
("UrlClassifierFeatureFingerprintingProtection: Skipping "
"fingerprinting checks "
"for first party or top-level load channel[%p] "
"with uri %s",
aChannel, spec.get()));
}
}
return nullptr;
}

View File

@ -6,10 +6,10 @@
#include "UrlClassifierFeatureSocialTrackingProtection.h"
#include "mozilla/AntiTrackingUtils.h"
#include "mozilla/net/UrlClassifierCommon.h"
#include "ChannelClassifierService.h"
#include "mozilla/StaticPrefs_privacy.h"
#include "nsContentUtils.h"
#include "nsNetUtil.h"
namespace mozilla {
@ -90,27 +90,23 @@ UrlClassifierFeatureSocialTrackingProtection::MaybeCreate(
return nullptr;
}
nsCOMPtr<nsIURI> chanURI;
nsresult rv = aChannel->GetURI(getter_AddRefs(chanURI));
if (NS_WARN_IF(NS_FAILED(rv))) {
return nullptr;
}
bool isThirdParty =
nsContentUtils::IsThirdPartyWindowOrChannel(nullptr, aChannel, chanURI);
bool isThirdParty = AntiTrackingUtils::IsThirdPartyChannel(aChannel);
if (!isThirdParty) {
if (UC_LOG_ENABLED()) {
nsCString spec = chanURI->GetSpecOrDefault();
spec.Truncate(
std::min(spec.Length(), UrlClassifierCommon::sMaxSpecLength));
UC_LOG(
("UrlClassifierFeatureSocialTrackingProtection: Skipping "
"socialtracking checks "
"for first party or top-level load channel[%p] "
"with uri %s",
aChannel, spec.get()));
nsCOMPtr<nsIURI> chanURI;
Unused << aChannel->GetURI(getter_AddRefs(chanURI));
if (chanURI) {
nsCString spec = chanURI->GetSpecOrDefault();
spec.Truncate(
std::min(spec.Length(), UrlClassifierCommon::sMaxSpecLength));
UC_LOG(
("UrlClassifierFeatureSocialTrackingProtection: Skipping "
"socialtracking checks "
"for first party or top-level load channel[%p] "
"with uri %s",
aChannel, spec.get()));
}
}
return nullptr;
}

View File

@ -6,9 +6,9 @@
#include "UrlClassifierFeatureTrackingProtection.h"
#include "mozilla/AntiTrackingUtils.h"
#include "mozilla/net/UrlClassifierCommon.h"
#include "ChannelClassifierService.h"
#include "nsContentUtils.h"
#include "nsIHttpChannelInternal.h"
#include "nsILoadContext.h"
#include "nsNetUtil.h"
@ -93,26 +93,22 @@ UrlClassifierFeatureTrackingProtection::MaybeCreate(nsIChannel* aChannel) {
return nullptr;
}
nsCOMPtr<nsIURI> chanURI;
nsresult rv = aChannel->GetURI(getter_AddRefs(chanURI));
if (NS_WARN_IF(NS_FAILED(rv))) {
return nullptr;
}
bool isThirdParty =
nsContentUtils::IsThirdPartyWindowOrChannel(nullptr, aChannel, chanURI);
bool isThirdParty = AntiTrackingUtils::IsThirdPartyChannel(aChannel);
if (!isThirdParty) {
if (UC_LOG_ENABLED()) {
nsCString spec = chanURI->GetSpecOrDefault();
spec.Truncate(
std::min(spec.Length(), UrlClassifierCommon::sMaxSpecLength));
UC_LOG(
("UrlClassifierFeatureTrackingProtection: Skipping tracking "
"protection checks for first party or top-level load channel[%p] "
"with uri %s",
aChannel, spec.get()));
nsCOMPtr<nsIURI> chanURI;
Unused << aChannel->GetURI(getter_AddRefs(chanURI));
if (chanURI) {
nsCString spec = chanURI->GetSpecOrDefault();
spec.Truncate(
std::min(spec.Length(), UrlClassifierCommon::sMaxSpecLength));
UC_LOG(
("UrlClassifierFeatureTrackingProtection: Skipping tracking "
"protection checks for first party or top-level load channel[%p] "
"with uri %s",
aChannel, spec.get()));
}
}
return nullptr;
}