tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

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:
Mipc/glue/BackgroundUtils.cpp | 12+++++++-----
Mnetwerk/base/LoadInfo.cpp | 2++
Mnetwerk/base/LoadInfo.h | 1+
Mnetwerk/ipc/NeckoChannelParams.ipdlh | 1+
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; }; /**