Bug 1530132 - Consider the cookie permission for the current request, ignoring the top-level one; r=ehsan

This commit is contained in:
Andrea Marchesini 2019-03-07 10:59:13 -05:00 committed by Ehsan Akhgari
parent a8ef3b94b0
commit 5bd8cf8e91

View File

@ -1083,23 +1083,7 @@ bool AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor(
MOZ_ASSERT(toplevelPrincipal);
nsCookieAccess access = CheckCookiePermissionForPrincipal(toplevelPrincipal);
if (access != nsICookiePermission::ACCESS_DEFAULT) {
LOG(
("CheckCookiePermissionForPrincipal() returned a non-default access "
"code (%d) for top-level window's principal, returning %s",
int(access),
access != nsICookiePermission::ACCESS_DENY ? "success" : "failure"));
if (access != nsICookiePermission::ACCESS_DENY) {
return true;
}
*aRejectedReason =
nsIWebProgressListener::STATE_COOKIES_BLOCKED_BY_PERMISSION;
return false;
}
access = CheckCookiePermissionForPrincipal(windowPrincipal);
nsCookieAccess access = CheckCookiePermissionForPrincipal(windowPrincipal);
if (access != nsICookiePermission::ACCESS_DEFAULT) {
LOG(
("CheckCookiePermissionForPrincipal() returned a non-default access "
@ -1325,28 +1309,12 @@ bool AntiTrackingCommon::IsFirstPartyStorageAccessGrantedFor(
return false;
}
nsCookieAccess access = CheckCookiePermissionForPrincipal(toplevelPrincipal);
if (access != nsICookiePermission::ACCESS_DEFAULT) {
LOG(
("CheckCookiePermissionForPrincipal() returned a non-default access "
"code (%d) for top-level window's principal, returning %s",
int(access),
access != nsICookiePermission::ACCESS_DENY ? "success" : "failure"));
if (access != nsICookiePermission::ACCESS_DENY) {
return true;
}
*aRejectedReason =
nsIWebProgressListener::STATE_COOKIES_BLOCKED_BY_PERMISSION;
return false;
}
if (NS_WARN_IF(NS_FAILED(rv) || !channelURI)) {
LOG(("No channel principal, bail out early"));
return false;
}
access = CheckCookiePermissionForURI(channelURI);
nsCookieAccess access = CheckCookiePermissionForURI(channelURI);
if (access != nsICookiePermission::ACCESS_DEFAULT) {
LOG(
("CheckCookiePermissionForPrincipal() returned a non-default access "