diff --git a/packages/react-native/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp b/packages/react-native/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp index 3bc848f4685..18374f9a286 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +++ b/packages/react-native/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp @@ -105,7 +105,12 @@ LayoutMetrics LayoutableShadowNode::computeRelativeLayoutMetrics( } auto ancestors = descendantNodeFamily.getAncestors(ancestorNode); + return computeRelativeLayoutMetrics(ancestors, policy); +} +LayoutMetrics LayoutableShadowNode::computeRelativeLayoutMetrics( + AncestorList const &ancestors, + LayoutInspectingPolicy policy) { if (ancestors.empty()) { // Specified nodes do not form an ancestor-descender relationship // in the same tree. Aborting. diff --git a/packages/react-native/ReactCommon/react/renderer/core/LayoutableShadowNode.h b/packages/react-native/ReactCommon/react/renderer/core/LayoutableShadowNode.h index b16213ad8f8..7bb9e0f0d9f 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/LayoutableShadowNode.h +++ b/packages/react-native/ReactCommon/react/renderer/core/LayoutableShadowNode.h @@ -62,6 +62,13 @@ class LayoutableShadowNode : public ShadowNode { LayoutableShadowNode const &ancestorNode, LayoutInspectingPolicy policy); + /* + * Computes the layout metrics of a node relative to its specified ancestors. + */ + static LayoutMetrics computeRelativeLayoutMetrics( + AncestorList const &ancestors, + LayoutInspectingPolicy policy); + /* * Performs layout of the tree starting from this node. Usually is being * called on the root node.