Skip to content

Commit

Permalink
Limit crossOrigin value usage
Browse files Browse the repository at this point in the history
  • Loading branch information
HenriqueLimas committed Jun 1, 2023
1 parent bc25880 commit 08774cc
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 6 deletions.
16 changes: 12 additions & 4 deletions packages/react-dom-bindings/src/server/ReactFizzConfigDOM.js
Original file line number Diff line number Diff line change
Expand Up @@ -268,7 +268,11 @@ export function createResponseState(
const integrity =
typeof scriptConfig === 'string' ? undefined : scriptConfig.integrity;
const crossOrigin =
typeof scriptConfig === 'string' ? undefined : scriptConfig.crossOrigin;
typeof scriptConfig === 'string' || scriptConfig.crossOrigin == null
? undefined
: scriptConfig.crossOrigin === 'use-credentials'
? 'use-credentials'
: '';

bootstrapChunks.push(
startScriptSrc,
Expand All @@ -286,7 +290,7 @@ export function createResponseState(
stringToChunk(escapeTextForBrowser(integrity)),
);
}
if (crossOrigin) {
if (typeof crossOrigin === 'string') {
bootstrapChunks.push(
scriptCrossOrigin,
stringToChunk(escapeTextForBrowser(crossOrigin)),
Expand All @@ -303,7 +307,11 @@ export function createResponseState(
const integrity =
typeof scriptConfig === 'string' ? undefined : scriptConfig.integrity;
const crossOrigin =
typeof scriptConfig === 'string' ? undefined : scriptConfig.crossOrigin;
typeof scriptConfig === 'string' || scriptConfig.crossOrigin == null
? undefined
: scriptConfig.crossOrigin === 'use-credentials'
? 'use-credentials'
: '';

bootstrapChunks.push(
startModuleSrc,
Expand All @@ -322,7 +330,7 @@ export function createResponseState(
stringToChunk(escapeTextForBrowser(integrity)),
);
}
if (crossOrigin) {
if (typeof crossOrigin === 'string') {
bootstrapChunks.push(
scriptCrossOrigin,
stringToChunk(escapeTextForBrowser(crossOrigin)),
Expand Down
9 changes: 7 additions & 2 deletions packages/react-dom/src/__tests__/ReactDOMFizzServer-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -3794,7 +3794,11 @@ describe('ReactDOMFizzServer', () => {
},
{
src: 'baz',
crossOrigin: 'anonymous',
crossOrigin: '',
},
{
src: 'qux',
crossOrigin: 'defaults-to-empty',
},
],
bootstrapModules: [
Expand Down Expand Up @@ -3828,7 +3832,8 @@ describe('ReactDOMFizzServer', () => {
).toEqual([
'<script src="foo" async=""></script>',
'<script src="bar" async=""></script>',
'<script src="baz" crossorigin="anonymous" async=""></script>',
'<script src="baz" crossorigin="" async=""></script>',
'<script src="qux" crossorigin="" async=""></script>',
'<script type="module" src="quux" async=""></script>',
'<script type="module" src="corge" async=""></script>',
'<script type="module" src="grault" crossorigin="use-credentials" async=""></script>',
Expand Down

0 comments on commit 08774cc

Please sign in to comment.