diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 03:02:01 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 03:02:01 +0000 |
commit | 088c0cefd0f8b5482cc227955cc3057d47ec24b6 (patch) | |
tree | 05f2021c7dd804334bcb781bb0c4881e971cd8fe /netwerk/ipc | |
parent | Adding debian version 126.0-1. (diff) | |
download | firefox-088c0cefd0f8b5482cc227955cc3057d47ec24b6.tar.xz firefox-088c0cefd0f8b5482cc227955cc3057d47ec24b6.zip |
Merging upstream version 126.0.1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'netwerk/ipc')
-rw-r--r-- | netwerk/ipc/DocumentLoadListener.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/netwerk/ipc/DocumentLoadListener.cpp b/netwerk/ipc/DocumentLoadListener.cpp index 32d7036ff1..a133df4663 100644 --- a/netwerk/ipc/DocumentLoadListener.cpp +++ b/netwerk/ipc/DocumentLoadListener.cpp @@ -810,6 +810,24 @@ auto DocumentLoadListener::Open(nsDocShellLoadState* aLoadState, if (cos && aUrgentStart) { cos->AddClassFlags(nsIClassOfService::UrgentStart); } + + // ClientChannelHelper below needs us to have finalized the principal for + // the channel because it will request that StoragePrincipalHelper mint us a + // principal that needs to match the same principal that a later call to + // StoragePrincipalHelper will mint when determining the right origin to + // look up the ServiceWorker. + // + // Because nsHttpChannel::AsyncOpen calls UpdateAntiTrackingInfoForChannel + // which potentially flips the third party bit/flag on the partition key on + // the cookie jar which impacts the principal that will be minted, it is + // essential that UpdateAntiTrackingInfoForChannel is called before + // AddClientChannelHelperInParent below. + // + // Because the call to UpdateAntiTrackingInfoForChannel is largely + // idempotent, we currently just make the call ourselves right now. The one + // caveat is that the RFPRandomKey may be spuriously regenerated for + // top-level documents. + AntiTrackingUtils::UpdateAntiTrackingInfoForChannel(httpChannel); } // Setup a ClientChannelHelper to watch for redirects, and copy |