diff --git a/packages/react-dom-bindings/src/client/DOMPropertyOperations.js b/packages/react-dom-bindings/src/client/DOMPropertyOperations.js
index df09445acc55..2bd0e5e70f5d 100644
--- a/packages/react-dom-bindings/src/client/DOMPropertyOperations.js
+++ b/packages/react-dom-bindings/src/client/DOMPropertyOperations.js
@@ -8,7 +8,6 @@
*/
import isAttributeNameSafe from '../shared/isAttributeNameSafe';
-import {enableTrustedTypesIntegration} from 'shared/ReactFeatureFlags';
import {checkAttributeStringCoercion} from 'shared/CheckStringCoercion';
import {getFiberCurrentPropsFromNode} from './ReactDOMComponentTree';
import {trackHostMutation} from 'react-reconciler/src/ReactFiberMutationTracking';
@@ -124,10 +123,7 @@ export function setValueForAttribute(
if (__DEV__) {
checkAttributeStringCoercion(value, name);
}
- node.setAttribute(
- name,
- enableTrustedTypesIntegration ? (value: any) : '' + (value: any),
- );
+ node.setAttribute(name, (value: any));
}
}
@@ -152,10 +148,7 @@ export function setValueForKnownAttribute(
if (__DEV__) {
checkAttributeStringCoercion(value, name);
}
- node.setAttribute(
- name,
- enableTrustedTypesIntegration ? (value: any) : '' + (value: any),
- );
+ node.setAttribute(name, (value: any));
}
export function setValueForNamespacedAttribute(
@@ -180,11 +173,7 @@ export function setValueForNamespacedAttribute(
if (__DEV__) {
checkAttributeStringCoercion(value, name);
}
- node.setAttributeNS(
- namespace,
- name,
- enableTrustedTypesIntegration ? (value: any) : '' + (value: any),
- );
+ node.setAttributeNS(namespace, name, (value: any));
}
export function setValueForPropertyOnCustomComponent(
diff --git a/packages/react-dom-bindings/src/client/ReactDOMComponent.js b/packages/react-dom-bindings/src/client/ReactDOMComponent.js
index 1b25e3727023..f284477dbba2 100644
--- a/packages/react-dom-bindings/src/client/ReactDOMComponent.js
+++ b/packages/react-dom-bindings/src/client/ReactDOMComponent.js
@@ -71,7 +71,6 @@ import {
enableHydrationChangeEvent,
enableScrollEndPolyfill,
enableSrcObject,
- enableTrustedTypesIntegration,
enableViewTransition,
} from 'shared/ReactFeatureFlags';
import {
@@ -525,9 +524,7 @@ function setProp(
if (__DEV__) {
checkAttributeStringCoercion(value, key);
}
- const sanitizedValue = (sanitizeURL(
- enableTrustedTypesIntegration ? value : '' + (value: any),
- ): any);
+ const sanitizedValue = (sanitizeURL(value): any);
domElement.setAttribute(key, sanitizedValue);
break;
}
@@ -596,9 +593,7 @@ function setProp(
if (__DEV__) {
checkAttributeStringCoercion(value, key);
}
- const sanitizedValue = (sanitizeURL(
- enableTrustedTypesIntegration ? value : '' + (value: any),
- ): any);
+ const sanitizedValue = (sanitizeURL(value): any);
domElement.setAttribute(key, sanitizedValue);
break;
}
@@ -699,9 +694,7 @@ function setProp(
if (__DEV__) {
checkAttributeStringCoercion(value, key);
}
- const sanitizedValue = (sanitizeURL(
- enableTrustedTypesIntegration ? value : '' + (value: any),
- ): any);
+ const sanitizedValue = (sanitizeURL(value): any);
domElement.setAttributeNS(xlinkNamespace, 'xlink:href', sanitizedValue);
break;
}
@@ -727,10 +720,7 @@ function setProp(
if (__DEV__) {
checkAttributeStringCoercion(value, key);
}
- domElement.setAttribute(
- key,
- enableTrustedTypesIntegration ? (value: any) : '' + (value: any),
- );
+ domElement.setAttribute(key, (value: any));
} else {
domElement.removeAttribute(key);
}
diff --git a/packages/react-dom-bindings/src/client/ReactFiberConfigDOM.js b/packages/react-dom-bindings/src/client/ReactFiberConfigDOM.js
index 94d37cfc902d..99a4ec7b6f64 100644
--- a/packages/react-dom-bindings/src/client/ReactFiberConfigDOM.js
+++ b/packages/react-dom-bindings/src/client/ReactFiberConfigDOM.js
@@ -116,7 +116,6 @@ import {
import {
enableCreateEventHandleAPI,
enableScopeAPI,
- enableTrustedTypesIntegration,
disableLegacyMode,
enableMoveBefore,
disableCommentsAsDOMContainers,
@@ -526,7 +525,7 @@ export function createInstance(
// set to true and it does not execute
const div = ownerDocument.createElement('div');
if (__DEV__) {
- if (enableTrustedTypesIntegration && !didWarnScriptTags) {
+ if (!didWarnScriptTags) {
console.error(
'Encountered a script tag while rendering React component. ' +
'Scripts inside React components are never executed when rendering ' +
diff --git a/packages/react-dom-bindings/src/events/plugins/FormActionEventPlugin.js b/packages/react-dom-bindings/src/events/plugins/FormActionEventPlugin.js
index 420d1d118820..713a9ffd5d00 100644
--- a/packages/react-dom-bindings/src/events/plugins/FormActionEventPlugin.js
+++ b/packages/react-dom-bindings/src/events/plugins/FormActionEventPlugin.js
@@ -14,7 +14,6 @@ import type {EventSystemFlags} from '../EventSystemFlags';
import type {Fiber} from 'react-reconciler/src/ReactInternalTypes';
import type {FormStatus} from 'react-dom-bindings/src/shared/ReactDOMFormActions';
-import {enableTrustedTypesIntegration} from 'shared/ReactFeatureFlags';
import {getFiberCurrentPropsFromNode} from '../../client/ReactDOMComponentTree';
import {startHostTransition} from 'react-reconciler/src/ReactFiberReconciler';
import {didCurrentEventScheduleTransition} from 'react-reconciler/src/ReactFiberRootScheduler';
@@ -39,9 +38,7 @@ function coerceFormActionProp(
if (__DEV__) {
checkAttributeStringCoercion(actionProp, 'action');
}
- return (sanitizeURL(
- enableTrustedTypesIntegration ? actionProp : '' + (actionProp: any),
- ): any);
+ return (sanitizeURL(actionProp): any);
}
}
diff --git a/packages/react-dom/src/__tests__/ReactDOMFloat-test.js b/packages/react-dom/src/__tests__/ReactDOMFloat-test.js
index 21bf9684b285..97e6d16bd9e7 100644
--- a/packages/react-dom/src/__tests__/ReactDOMFloat-test.js
+++ b/packages/react-dom/src/__tests__/ReactDOMFloat-test.js
@@ -602,14 +602,10 @@ describe('ReactDOMFloat', () => {
'> ');
- if (gate('enableTrustedTypesIntegration')) {
- assertConsoleErrorDev([
- 'Encountered a script tag while rendering React component. ' +
- 'Scripts inside React components are never executed when rendering on the client. ' +
- 'Consider using template tag instead (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template).\n' +
- ' in script (at **)\n' +
- ' in TogglingComponent (at **)',
- ]);
- }
+ assertConsoleErrorDev([
+ 'Encountered a script tag while rendering React component. ' +
+ 'Scripts inside React components are never executed when rendering on the client. ' +
+ 'Consider using template tag instead (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template).\n' +
+ ' in script (at **)\n' +
+ ' in TogglingComponent (at **)',
+ ]);
const container2 = document.createElement('div');
const root2 = ReactDOMClient.createRoot(container2);
diff --git a/packages/react-dom/src/client/__tests__/trustedTypes-test.internal.js b/packages/react-dom/src/client/__tests__/trustedTypes-test.internal.js
index 06744581ae95..b92027f9f9b1 100644
--- a/packages/react-dom/src/client/__tests__/trustedTypes-test.internal.js
+++ b/packages/react-dom/src/client/__tests__/trustedTypes-test.internal.js
@@ -115,11 +115,7 @@ describe('when Trusted Types are available in global object', () => {
expect(setAttributeCalls[0][0]).toBe(container.firstChild);
expect(setAttributeCalls[0][1]).toBe('data-foo');
// Ensure it didn't get stringified when passed to a DOM sink:
- if (gate('enableTrustedTypesIntegration')) {
- expect(setAttributeCalls[0][2]).toBe(ttObject1);
- } else {
- expect(setAttributeCalls[0][2]).toBe('Hi');
- }
+ expect(setAttributeCalls[0][2]).toBe(ttObject1);
setAttributeCalls.length = 0;
await act(() => {
@@ -130,11 +126,7 @@ describe('when Trusted Types are available in global object', () => {
expect(setAttributeCalls[0][0]).toBe(container.firstChild);
expect(setAttributeCalls[0][1]).toBe('data-foo');
// Ensure it didn't get stringified when passed to a DOM sink:
- if (gate('enableTrustedTypesIntegration')) {
- expect(setAttributeCalls[0][2]).toBe(ttObject2);
- } else {
- expect(setAttributeCalls[0][2]).toBe('Bye');
- }
+ expect(setAttributeCalls[0][2]).toBe(ttObject2);
} finally {
Element.prototype.setAttribute = setAttribute;
}
@@ -158,11 +150,7 @@ describe('when Trusted Types are available in global object', () => {
expect(setAttributeCalls[0][0]).toBe(container.firstChild);
expect(setAttributeCalls[0][1]).toBe('class');
// Ensure it didn't get stringified when passed to a DOM sink:
- if (gate('enableTrustedTypesIntegration')) {
- expect(setAttributeCalls[0][2]).toBe(ttObject1);
- } else {
- expect(setAttributeCalls[0][2]).toBe('Hi');
- }
+ expect(setAttributeCalls[0][2]).toBe(ttObject1);
setAttributeCalls.length = 0;
await act(() => {
@@ -173,11 +161,7 @@ describe('when Trusted Types are available in global object', () => {
expect(setAttributeCalls[0][0]).toBe(container.firstChild);
expect(setAttributeCalls[0][1]).toBe('class');
// Ensure it didn't get stringified when passed to a DOM sink:
- if (gate('enableTrustedTypesIntegration')) {
- expect(setAttributeCalls[0][2]).toBe(ttObject2);
- } else {
- expect(setAttributeCalls[0][2]).toBe('Bye');
- }
+ expect(setAttributeCalls[0][2]).toBe(ttObject2);
} finally {
Element.prototype.setAttribute = setAttribute;
}
@@ -202,11 +186,7 @@ describe('when Trusted Types are available in global object', () => {
expect(setAttributeNSCalls[0][1]).toBe('http://www.w3.org/1999/xlink');
expect(setAttributeNSCalls[0][2]).toBe('xlink:href');
// Ensure it didn't get stringified when passed to a DOM sink:
- if (gate('enableTrustedTypesIntegration')) {
- expect(setAttributeNSCalls[0][3]).toBe(ttObject1);
- } else {
- expect(setAttributeNSCalls[0][3]).toBe('Hi');
- }
+ expect(setAttributeNSCalls[0][3]).toBe(ttObject1);
setAttributeNSCalls.length = 0;
await act(() => {
@@ -218,11 +198,7 @@ describe('when Trusted Types are available in global object', () => {
expect(setAttributeNSCalls[0][1]).toBe('http://www.w3.org/1999/xlink');
expect(setAttributeNSCalls[0][2]).toBe('xlink:href');
// Ensure it didn't get stringified when passed to a DOM sink:
- if (gate('enableTrustedTypesIntegration')) {
- expect(setAttributeNSCalls[0][3]).toBe(ttObject2);
- } else {
- expect(setAttributeNSCalls[0][3]).toBe('Bye');
- }
+ expect(setAttributeNSCalls[0][3]).toBe(ttObject2);
} finally {
Element.prototype.setAttributeNS = setAttributeNS;
}
@@ -233,15 +209,13 @@ describe('when Trusted Types are available in global object', () => {
await act(() => {
root.render();
});
- if (gate('enableTrustedTypesIntegration')) {
- assertConsoleErrorDev([
- 'Encountered a script tag while rendering React component. ' +
- 'Scripts inside React components are never executed when rendering ' +
- 'on the client. Consider using template tag instead ' +
- '(https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template).\n' +
- ' in script (at **)',
- ]);
- }
+ assertConsoleErrorDev([
+ 'Encountered a script tag while rendering React component. ' +
+ 'Scripts inside React components are never executed when rendering ' +
+ 'on the client. Consider using template tag instead ' +
+ '(https://developer.mozilla.org/en-US/docs/Web/HTML/Element/template).\n' +
+ ' in script (at **)',
+ ]);
// check that the warning is printed only once
await act(() => {
diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js
index ee5f22ab9588..db55cdfc28aa 100644
--- a/packages/shared/ReactFeatureFlags.js
+++ b/packages/shared/ReactFeatureFlags.js
@@ -203,8 +203,6 @@ export const disableLegacyMode: boolean = true;
// in open source, but www codebase still relies on it. Need to remove.
export const disableCommentsAsDOMContainers: boolean = true;
-export const enableTrustedTypesIntegration: boolean = true;
-
// Prevent the value and checked attributes from syncing with their related
// DOM properties
export const disableInputAttributeSyncing: boolean = false;
diff --git a/packages/shared/forks/ReactFeatureFlags.native-fb.js b/packages/shared/forks/ReactFeatureFlags.native-fb.js
index bbb13a6eb174..58b271f9937d 100644
--- a/packages/shared/forks/ReactFeatureFlags.native-fb.js
+++ b/packages/shared/forks/ReactFeatureFlags.native-fb.js
@@ -61,7 +61,6 @@ export const enableSuspenseAvoidThisFallback: boolean = false;
export const enableSuspenseCallback: boolean = true;
export const enableTaint: boolean = true;
export const enableTransitionTracing: boolean = false;
-export const enableTrustedTypesIntegration: boolean = true;
export const enableUpdaterTracking: boolean = __PROFILE__;
export const retryLaneExpirationMs = 5000;
export const syncLaneExpirationMs = 250;
diff --git a/packages/shared/forks/ReactFeatureFlags.native-oss.js b/packages/shared/forks/ReactFeatureFlags.native-oss.js
index 6b0d93447966..ed2b81775769 100644
--- a/packages/shared/forks/ReactFeatureFlags.native-oss.js
+++ b/packages/shared/forks/ReactFeatureFlags.native-oss.js
@@ -49,7 +49,6 @@ export const enableSuspenseAvoidThisFallback: boolean = false;
export const enableSuspenseCallback: boolean = false;
export const enableTaint: boolean = true;
export const enableTransitionTracing: boolean = false;
-export const enableTrustedTypesIntegration: boolean = true;
export const passChildrenWhenCloningPersistedNodes: boolean = false;
export const retryLaneExpirationMs = 5000;
export const syncLaneExpirationMs = 250;
diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.js
index 954d9d88eaf5..c4f768a5f9a7 100644
--- a/packages/shared/forks/ReactFeatureFlags.test-renderer.js
+++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.js
@@ -26,7 +26,6 @@ export const disableInputAttributeSyncing: boolean = false;
export const enableScopeAPI: boolean = false;
export const enableCreateEventHandleAPI: boolean = false;
export const enableSuspenseCallback: boolean = false;
-export const enableTrustedTypesIntegration: boolean = true;
export const disableTextareaChildren: boolean = false;
export const enableSuspenseAvoidThisFallback: boolean = false;
export const enableCPUSuspense: boolean = false;
diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
index 6bc80d2b8e30..f7a01b4796ec 100644
--- a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
+++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
@@ -46,7 +46,6 @@ export const enableSuspenseAvoidThisFallback = false;
export const enableSuspenseCallback = false;
export const enableTaint = true;
export const enableTransitionTracing = false;
-export const enableTrustedTypesIntegration = true;
export const enableUpdaterTracking = false;
export const passChildrenWhenCloningPersistedNodes = false;
export const retryLaneExpirationMs = 5000;
diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
index 91dc33b28f35..6d22d1f61abf 100644
--- a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
+++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
@@ -28,7 +28,6 @@ export const enableCreateEventHandleAPI: boolean = false;
export const enableSuspenseCallback: boolean = true;
export const disableLegacyContext: boolean = false;
export const disableLegacyContextForFunctionComponents: boolean = false;
-export const enableTrustedTypesIntegration: boolean = true;
export const disableTextareaChildren: boolean = false;
export const enableSuspenseAvoidThisFallback: boolean = true;
export const enableCPUSuspense: boolean = false;
diff --git a/packages/shared/forks/ReactFeatureFlags.www.js b/packages/shared/forks/ReactFeatureFlags.www.js
index 76e3909ccafc..09e03a347075 100644
--- a/packages/shared/forks/ReactFeatureFlags.www.js
+++ b/packages/shared/forks/ReactFeatureFlags.www.js
@@ -43,7 +43,6 @@ export const enableProfilerTimer = __PROFILE__;
export const enableProfilerCommitHooks = __PROFILE__;
export const enableProfilerNestedUpdatePhase = __PROFILE__;
export const enableUpdaterTracking = __PROFILE__;
-export const enableTrustedTypesIntegration: boolean = true;
export const enableSuspenseAvoidThisFallback: boolean = true;
export const enableAsyncDebugInfo: boolean = true;