commit 4f2d3e44525fcfc608c093419a2ffa8263561632
parent 939e1332fdabf5a6c5b413d06af1936d77eaa112
Author: Simon Friedberger <simon@mozilla.com>
Date: Mon, 22 Dec 2025 15:03:57 +0000
Bug 1999257: Add PermissionsPolicy to LoadInfoArgs r=tschuster,necko-reviewers,kershaw
Differential Revision: https://phabricator.services.mozilla.com/D276845
Diffstat:
4 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/ipc/glue/BackgroundUtils.cpp b/ipc/glue/BackgroundUtils.cpp
@@ -611,7 +611,8 @@ nsresult LoadInfoToLoadInfoArgs(nsILoadInfo* aLoadInfo,
aLoadInfo->GetIsMetaRefresh(), aLoadInfo->GetLoadingEmbedderPolicy(),
aLoadInfo->GetIsOriginTrialCoepCredentiallessEnabledForTopLevel(),
unstrippedURI, interceptionInfoArg, aLoadInfo->GetIsNewWindowTarget(),
- aLoadInfo->GetUserNavigationInvolvement());
+ aLoadInfo->GetUserNavigationInvolvement(),
+ aLoadInfo->GetContainerFeaturePolicyInfo());
return NS_OK;
}
@@ -860,10 +861,11 @@ nsresult LoadInfoArgsToLoadInfo(const LoadInfoArgs& loadInfoArgs,
RefPtr<mozilla::net::LoadInfo> loadInfo = new mozilla::net::LoadInfo(
loadingPrincipal, triggeringPrincipal, principalToInherit,
topLevelPrincipal, resultPrincipalURI, cookieJarSettings,
- policyContainerToInherit, triggeringRemoteType,
- loadInfoArgs.sandboxedNullPrincipalID(), clientInfo, reservedClientInfo,
- initialClientInfo, controller, loadInfoArgs.securityFlags(),
- loadInfoArgs.sandboxFlags(), loadInfoArgs.contentPolicyType(),
+ policyContainerToInherit, loadInfoArgs.containerFeaturePolicyInfo(),
+ triggeringRemoteType, loadInfoArgs.sandboxedNullPrincipalID(), clientInfo,
+ reservedClientInfo, initialClientInfo, controller,
+ loadInfoArgs.securityFlags(), loadInfoArgs.sandboxFlags(),
+ loadInfoArgs.contentPolicyType(),
static_cast<LoadTainting>(loadInfoArgs.tainting()),
#define DEFINE_ARGUMENT(_t, _n, name, _d) loadInfoArgs.name(),
diff --git a/netwerk/base/LoadInfo.cpp b/netwerk/base/LoadInfo.cpp
@@ -758,6 +758,7 @@ LoadInfo::LoadInfo(
nsIPrincipal* aPrincipalToInherit, nsIPrincipal* aTopLevelPrincipal,
nsIURI* aResultPrincipalURI, nsICookieJarSettings* aCookieJarSettings,
nsIPolicyContainer* aPolicyContainerToInherit,
+ const Maybe<dom::FeaturePolicyInfo>& aContainerFeaturePolicyInfo,
const nsACString& aTriggeringRemoteType,
const nsID& aSandboxedNullPrincipalID, const Maybe<ClientInfo>& aClientInfo,
const Maybe<ClientInfo>& aReservedClientInfo,
@@ -792,6 +793,7 @@ LoadInfo::LoadInfo(
mResultPrincipalURI(aResultPrincipalURI),
mCookieJarSettings(aCookieJarSettings),
mPolicyContainerToInherit(aPolicyContainerToInherit),
+ mContainerFeaturePolicyInfo(aContainerFeaturePolicyInfo),
mTriggeringRemoteType(aTriggeringRemoteType),
mSandboxedNullPrincipalID(aSandboxedNullPrincipalID),
mClientInfo(aClientInfo),
diff --git a/netwerk/base/LoadInfo.h b/netwerk/base/LoadInfo.h
@@ -404,6 +404,7 @@ class LoadInfo final : public nsILoadInfo {
nsIURI* aResultPrincipalURI,
nsICookieJarSettings* aCookieJarSettings,
nsIPolicyContainer* aPolicyContainerToInherit,
+ const Maybe<dom::FeaturePolicyInfo>& aContainerFeaturePolicyInfo,
const nsACString& aTriggeringRemoteType,
const nsID& aSandboxedNullPrincipalID,
const Maybe<mozilla::dom::ClientInfo>& aClientInfo,
diff --git a/netwerk/ipc/NeckoChannelParams.ipdlh b/netwerk/ipc/NeckoChannelParams.ipdlh
@@ -223,6 +223,7 @@ struct LoadInfoArgs
InterceptionInfoArg? interceptionInfo;
bool isNewWindowTarget;
UserNavigationInvolvement userNavigationInvolvement;
+ FeaturePolicyInfo? containerFeaturePolicyInfo;
};
/**