diff --git a/toolkit/components/antitracking/StorageAccess.cpp b/toolkit/components/antitracking/StorageAccess.cpp index d8061d097f45..eb80b0be8f61 100644 --- a/toolkit/components/antitracking/StorageAccess.cpp +++ b/toolkit/components/antitracking/StorageAccess.cpp @@ -235,7 +235,16 @@ StorageAccess StorageAllowedForWindow(nsPIDOMWindowInner* aWindow, *aRejectedReason); } - // No document? Let's return a generic rejected reason. + // No document? Try checking Private Browsing Mode without document + if (const nsCOMPtr global = aWindow->AsGlobal()) { + if (const nsCOMPtr principal = global->PrincipalOrNull()) { + if (principal->GetPrivateBrowsingId() > 0) { + return StorageAccess::ePrivateBrowsing; + } + } + } + + // Everything failed? Let's return a generic rejected reason. return StorageAccess::eDeny; }