From fdf396b9642f398a44590867de06551dfbd3624b Mon Sep 17 00:00:00 2001 From: Pieter De Baets Date: Tue, 1 Apr 2025 02:18:44 -0700 Subject: [PATCH] Remove unique_ptr for globalRootComponentDescriptor (#50391) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/50391 No need for the indirection here of a heap allocated pointer. Since we have the RootComponentDescriptor we generally don't need it in any other component registry. Changelog: [Internal] Reviewed By: philIip Differential Revision: D72058916 fbshipit-source-id: 0c29f26f4c56c4353eda251fe06a475e3b6085da --- .../react/renderer/mounting/ShadowTree.cpp | 11 +++++------ .../ReactCommon/react/renderer/mounting/ShadowTree.h | 1 - .../ReactCommon/react/renderer/scheduler/Scheduler.h | 1 - .../react/test_utils/shadowTreeGeneration.h | 3 --- 4 files changed, 5 insertions(+), 11 deletions(-) diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTree.cpp b/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTree.cpp index fc591f13ff3..e366682ebe4 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTree.cpp +++ b/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTree.cpp @@ -167,10 +167,9 @@ ShadowTree::ShadowTree( const ShadowTreeDelegate& delegate, const ContextContainer& contextContainer) : surfaceId_(surfaceId), delegate_(delegate) { - static auto globalRootComponentDescriptor = - std::make_unique( - ComponentDescriptorParameters{ - EventDispatcher::Shared{}, nullptr, nullptr}); + static RootComponentDescriptor globalRootComponentDescriptor( + ComponentDescriptorParameters{ + EventDispatcher::Shared{}, nullptr, nullptr}); const auto props = std::make_shared( PropsParserContext{surfaceId, contextContainer}, @@ -178,11 +177,11 @@ ShadowTree::ShadowTree( layoutConstraints, layoutContext); - auto family = globalRootComponentDescriptor->createFamily( + auto family = globalRootComponentDescriptor.createFamily( {surfaceId, surfaceId, nullptr}); auto rootShadowNode = std::static_pointer_cast( - globalRootComponentDescriptor->createShadowNode( + globalRootComponentDescriptor.createShadowNode( ShadowNodeFragment{ /* .props = */ props, }, diff --git a/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTree.h b/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTree.h index d33dbe3b40c..87b6a7afa47 100644 --- a/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTree.h +++ b/packages/react-native/ReactCommon/react/renderer/mounting/ShadowTree.h @@ -9,7 +9,6 @@ #include -#include #include #include #include diff --git a/packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.h b/packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.h index 6972502b4f5..4e7c63284f1 100644 --- a/packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.h +++ b/packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.h @@ -13,7 +13,6 @@ #include #include #include -#include #include #include #include diff --git a/packages/react-native/ReactCommon/react/test_utils/shadowTreeGeneration.h b/packages/react-native/ReactCommon/react/test_utils/shadowTreeGeneration.h index 9c5ec2e3fe7..18e2bad9cfd 100644 --- a/packages/react-native/ReactCommon/react/test_utils/shadowTreeGeneration.h +++ b/packages/react-native/ReactCommon/react/test_utils/shadowTreeGeneration.h @@ -18,9 +18,6 @@ #include #include -#include -#include - #include "Entropy.h" namespace facebook::react {