mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-09 03:15:11 +00:00
Bug 1640135 - P4: update usage of PartitionKey; r=timhuang
Differential Revision: https://phabricator.services.mozilla.com/D77917
This commit is contained in:
parent
dcf8304908
commit
01f8cce7e1
@ -16238,7 +16238,7 @@ nsICookieJarSettings* Document::CookieJarSettings() {
|
||||
inProcessParent->CookieJarSettings()->GetCookieBehavior(),
|
||||
mozilla::net::CookieJarSettings::Cast(
|
||||
inProcessParent->CookieJarSettings())
|
||||
->GetFirstPartyDomain(),
|
||||
->GetPartitionKey(),
|
||||
inProcessParent->CookieJarSettings()
|
||||
->GetIsFirstPartyIsolated())
|
||||
: net::CookieJarSettings::Create();
|
||||
|
@ -103,13 +103,13 @@ already_AddRefed<nsICookieJarSettings> CookieJarSettings::Create() {
|
||||
|
||||
// static
|
||||
already_AddRefed<nsICookieJarSettings> CookieJarSettings::Create(
|
||||
uint32_t aCookieBehavior, const nsAString& aFirstPartyDomain,
|
||||
uint32_t aCookieBehavior, const nsAString& aPartitionKey,
|
||||
bool aIsFirstPartyIsolated) {
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
|
||||
RefPtr<CookieJarSettings> cookieJarSettings = new CookieJarSettings(
|
||||
aCookieBehavior, aIsFirstPartyIsolated, eProgressive);
|
||||
cookieJarSettings->mFirstPartyDomain = aFirstPartyDomain;
|
||||
cookieJarSettings->mPartitionKey = aPartitionKey;
|
||||
|
||||
return cookieJarSettings.forget();
|
||||
}
|
||||
@ -196,8 +196,8 @@ CookieJarSettings::GetIsOnContentBlockingAllowList(
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
CookieJarSettings::GetFirstPartyDomain(nsAString& aFirstPartyDomain) {
|
||||
aFirstPartyDomain = mFirstPartyDomain;
|
||||
CookieJarSettings::GetPartitionKey(nsAString& aPartitionKey) {
|
||||
aPartitionKey = mPartitionKey;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
@ -282,7 +282,7 @@ void CookieJarSettings::Serialize(CookieJarSettingsArgs& aData) {
|
||||
aData.cookieBehavior() = mCookieBehavior;
|
||||
aData.isFirstPartyIsolated() = mIsFirstPartyIsolated;
|
||||
aData.isOnContentBlockingAllowList() = mIsOnContentBlockingAllowList;
|
||||
aData.firstPartyDomain() = mFirstPartyDomain;
|
||||
aData.partitionKey() = mPartitionKey;
|
||||
|
||||
for (const RefPtr<nsIPermission>& permission : mCookiePermissions) {
|
||||
nsCOMPtr<nsIPrincipal> principal;
|
||||
@ -342,7 +342,7 @@ void CookieJarSettings::Serialize(CookieJarSettingsArgs& aData) {
|
||||
cookieJarSettings->mIsOnContentBlockingAllowList =
|
||||
aData.isOnContentBlockingAllowList();
|
||||
cookieJarSettings->mCookiePermissions.SwapElements(list);
|
||||
cookieJarSettings->mFirstPartyDomain = aData.firstPartyDomain();
|
||||
cookieJarSettings->mPartitionKey = aData.partitionKey();
|
||||
|
||||
cookieJarSettings.forget(aCookieJarSettings);
|
||||
}
|
||||
@ -411,12 +411,12 @@ void CookieJarSettings::Merge(const CookieJarSettingsArgs& aData) {
|
||||
}
|
||||
}
|
||||
|
||||
void CookieJarSettings::SetFirstPartyDomain(nsIURI* aURI) {
|
||||
void CookieJarSettings::SetPartitionKey(nsIURI* aURI) {
|
||||
MOZ_ASSERT(aURI);
|
||||
|
||||
OriginAttributes attrs;
|
||||
attrs.SetFirstPartyDomain(true, aURI, true);
|
||||
mFirstPartyDomain = std::move(attrs.mFirstPartyDomain);
|
||||
attrs.SetPartitionKey(aURI);
|
||||
mPartitionKey = std::move(attrs.mPartitionKey);
|
||||
}
|
||||
|
||||
void CookieJarSettings::UpdateIsOnContentBlockingAllowList(
|
||||
|
@ -117,7 +117,7 @@ class CookieJarSettings final : public nsICookieJarSettings {
|
||||
static already_AddRefed<nsICookieJarSettings> Create();
|
||||
|
||||
static already_AddRefed<nsICookieJarSettings> Create(
|
||||
uint32_t aCookieBehavior, const nsAString& aFirstPartyDomain,
|
||||
uint32_t aCookieBehavior, const nsAString& aPartitionKey,
|
||||
bool aIsFirstPartyIsolated);
|
||||
|
||||
static CookieJarSettings* Cast(nsICookieJarSettings* aCS) {
|
||||
@ -138,8 +138,8 @@ class CookieJarSettings final : public nsICookieJarSettings {
|
||||
|
||||
void UpdateIsOnContentBlockingAllowList(nsIChannel* aChannel);
|
||||
|
||||
void SetFirstPartyDomain(nsIURI* aURI);
|
||||
const nsAString& GetFirstPartyDomain() { return mFirstPartyDomain; };
|
||||
void SetPartitionKey(nsIURI* aURI);
|
||||
const nsAString& GetPartitionKey() { return mPartitionKey; };
|
||||
|
||||
// Utility function to test if the passed cookiebahvior is
|
||||
// BEHAVIOR_REJECT_TRACKER, BEHAVIOR_REJECT_TRACKER_AND_PARTITION_FOREIGN or
|
||||
@ -170,7 +170,7 @@ class CookieJarSettings final : public nsICookieJarSettings {
|
||||
bool mIsFirstPartyIsolated;
|
||||
CookiePermissionList mCookiePermissions;
|
||||
bool mIsOnContentBlockingAllowList;
|
||||
nsString mFirstPartyDomain;
|
||||
nsString mPartitionKey;
|
||||
|
||||
State mState;
|
||||
|
||||
|
@ -1531,7 +1531,7 @@ CookieStatus CookieService::CheckPrefs(nsICookieJarSettings* aCookieJarSettings,
|
||||
? nsIWebProgressListener::STATE_COOKIES_BLOCKED_FOREIGN
|
||||
: nsIWebProgressListener::STATE_COOKIES_BLOCKED_TRACKER;
|
||||
if (StoragePartitioningEnabled(rejectReason, aCookieJarSettings)) {
|
||||
MOZ_ASSERT(!aOriginAttrs.mFirstPartyDomain.IsEmpty(),
|
||||
MOZ_ASSERT(!aOriginAttrs.mPartitionKey.IsEmpty(),
|
||||
"We must have a StoragePrincipal here!");
|
||||
return STATUS_ACCEPTED;
|
||||
}
|
||||
|
@ -45,9 +45,9 @@ interface nsICookieJarSettings : nsISupports
|
||||
[infallible] readonly attribute boolean isOnContentBlockingAllowList;
|
||||
|
||||
/**
|
||||
* The domain for the top-level document.
|
||||
* The key used for partitioning.
|
||||
*/
|
||||
readonly attribute AString firstPartyDomain;
|
||||
readonly attribute AString partitionKey;
|
||||
|
||||
/**
|
||||
* CookiePermission at the loading of the document for a particular
|
||||
|
@ -47,7 +47,7 @@ struct CookieJarSettingsArgs
|
||||
bool isOnContentBlockingAllowList;
|
||||
CookiePermissionData[] cookiePermissions;
|
||||
bool isFixed;
|
||||
nsString firstPartyDomain;
|
||||
nsString partitionKey;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
|
@ -1869,7 +1869,7 @@ void nsHttpChannel::UpdateAntiTrackingInfo() {
|
||||
// We only need to set FPD for top-level loads. FPD will automatically be
|
||||
// propagated to non-top level loads via CookieJarSetting.
|
||||
mozilla::net::CookieJarSettings::Cast(cookieJarSettings)
|
||||
->SetFirstPartyDomain(mURI);
|
||||
->SetPartitionKey(mURI);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -48,7 +48,7 @@ bool ChooseOriginAttributes(nsIChannel* aChannel, OriginAttributes& aAttrs,
|
||||
}
|
||||
|
||||
nsAutoString partitionKey;
|
||||
Unused << cjs->GetFirstPartyDomain(partitionKey);
|
||||
Unused << cjs->GetPartitionKey(partitionKey);
|
||||
|
||||
if (!partitionKey.IsEmpty()) {
|
||||
aAttrs.SetPartitionKey(partitionKey);
|
||||
|
Loading…
Reference in New Issue
Block a user