[Fizz] Preserve referrerPolicy in image preload headers (#36803)
Ulises Jeremias committed
Jun 17, 2026 at 09:57 UTC
a7cce7b31b8fa057550be8f82027b7f7ad2414c5
2 files changed
+30
-1
packages/react-dom-bindings/src/server/ReactFizzConfigDOM.js
+1
-1
@@ -3405,7 +3405,7 @@ function pushImg(
3405
nonce: props.nonce,
3406
type: props.type,
3407
fetchPriority: props.fetchPriority,
3408
- referrerPolicy: props.refererPolicy,
3408
+ referrerPolicy: props.referrerPolicy,
3409
})),
3410
// We always consume the header length since once we find one header that doesn't fit
3411
// we assume all the rest won't as well. This is to avoid getting into a situation
packages/react-dom/src/__tests__/ReactDOMFizzServer-test.js
+29
@@ -3934,6 +3934,35 @@ describe('ReactDOMFizzServer', () => {
3934
});
3935
});
3936
3937
+ it('preserves referrerPolicy for image preload headers', async () => {
3938
+ let headers = null;
3939
+ function onHeaders(x) {
3940
+ headers = x;
3941
+ }
3942
+
3943
+ function App() {
3944
+ return (
3945
+ <html>
3946
+ <body>
3947
+ <img
3948
+ src="image-with-referrer-policy"
3949
+ fetchPriority="high"
3950
+ referrerPolicy="no-referrer"
3951
+ />
3952
+ </body>
3953
+ </html>
3954
+ );
3955
+ }
3956
+
3957
+ await act(() => {
3958
+ renderToPipeableStream(<App />, {onHeaders});
3959
+ });
3960
+
3961
+ expect(headers).toEqual({
3962
+ Link: `<image-with-referrer-policy>; rel=preload; as="image"; fetchpriority="high"; referrerpolicy="no-referrer"`,
3963
+ });
3964
+ });
3965
+
3966
it('emits nothing for headers if you pipe before work begins', async () => {
3967
let headers = null;
3968
function onHeaders(x) {