From 539c8b9492392eac17af06e49c6cad9ae08d43cc Mon Sep 17 00:00:00 2001 From: "Zakariya Jabbar (Viper Droid)" Date: Fri, 17 Apr 2026 22:42:59 +0300 Subject: [PATCH] feat(react-dom): dynamic In HTML/In SVG labels for DOM nesting warnings Use HostContextNamespace when emitting validateDOMNesting and validateTextNesting dev errors so SVG subtree warnings say In SVG; foreignObject keeps In HTML as an HTML integration point. --- .../src/client/ReactDOMComponent.js | 19 +++++++-- .../src/client/ReactFiberConfigDOM.js | 8 ++-- .../src/client/validateDOMNesting.js | 41 +++++++++++++++++-- .../src/__tests__/validateDOMNesting-test.js | 2 +- 4 files changed, 59 insertions(+), 11 deletions(-) diff --git a/packages/react-dom-bindings/src/client/ReactDOMComponent.js b/packages/react-dom-bindings/src/client/ReactDOMComponent.js index 1b25e3727023..86f0cf21dfb9 100644 --- a/packages/react-dom-bindings/src/client/ReactDOMComponent.js +++ b/packages/react-dom-bindings/src/client/ReactDOMComponent.js @@ -48,7 +48,10 @@ import { restoreControlledTextareaState, } from './ReactDOMTextarea'; import {setSrcObject} from './ReactDOMSrcObject'; -import {validateTextNesting} from './validateDOMNesting'; +import { + validateTextNesting, + getHostContextNamespaceForDomNamespace, +} from './validateDOMNesting'; import setTextContent from './setTextContent'; import { createDangerousStringForStyles, @@ -393,7 +396,12 @@ function setProp( case 'children': { if (typeof value === 'string') { if (__DEV__) { - validateTextNesting(value, tag, false); + validateTextNesting( + value, + tag, + false, + getHostContextNamespaceForDomNamespace(domElement.namespaceURI), + ); } // Avoid setting initial textContent when the text is empty. In IE11 setting // textContent on a