From 878c856ee56ed643a923c5537598fdf53b0e3200 Mon Sep 17 00:00:00 2001 From: Christoph Purrer Date: Mon, 21 Jul 2025 20:57:45 -0700 Subject: [PATCH] Replace ContextContainer::Shared with std::shared_ptr 2/2 (#52750) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/52750 Changelog: [Internal] Differential Revision: D78704833 --- .../AppDelegate/RCTRootViewFactory.mm | 2 +- .../Fabric/Mounting/RCTMountingManager.h | 2 +- .../Fabric/Mounting/RCTMountingManager.mm | 4 +- .../React/Fabric/RCTSurfacePresenter.h | 4 +- .../React/Fabric/RCTSurfacePresenter.mm | 20 +++---- .../Fabric/RCTSurfacePresenterBridgeAdapter.h | 2 +- .../RCTSurfacePresenterBridgeAdapter.mm | 5 +- .../react/fabric/FabricUIManagerBinding.cpp | 2 +- .../DefaultComponentsRegistry.cpp | 3 +- .../animations/LayoutAnimationDriver.h | 2 +- .../LayoutAnimationKeyFrameManager.cpp | 2 +- .../LayoutAnimationKeyFrameManager.h | 4 +- .../ComponentDescriptorFactory.h | 2 +- .../ComponentDescriptorRegistry.cpp | 2 +- .../ComponentDescriptorRegistry.h | 4 +- ...cyViewManagerInteropComponentDescriptor.mm | 2 +- .../AndroidProgressBarMeasurementsManager.h | 4 +- .../AndroidSwitchMeasurementsManager.h | 4 +- .../react/renderer/core/ComponentDescriptor.h | 2 +- .../react/renderer/core/ShadowNode.cpp | 3 +- .../react/renderer/core/ShadowNode.h | 2 +- .../react/renderer/element/testUtils.h | 2 +- .../renderer/imagemanager/ImageManager.h | 2 +- .../renderer/imagemanager/ImageFetcher.h | 4 +- .../renderer/imagemanager/ImageManager.cpp | 3 +- .../renderer/imagemanager/ImageManager.cpp | 2 +- .../renderer/imagemanager/ImageManager.mm | 2 +- .../react/renderer/scheduler/Scheduler.cpp | 2 +- .../react/renderer/scheduler/Scheduler.h | 4 +- .../renderer/scheduler/SchedulerToolbox.h | 2 +- .../renderer/scheduler/SurfaceHandler.cpp | 2 +- .../react/renderer/scheduler/SurfaceHandler.h | 4 +- .../textlayoutmanager/TextLayoutManager.cpp | 6 +-- .../textlayoutmanager/TextLayoutManager.h | 3 +- .../textlayoutmanager/TextLayoutManager.cpp | 2 +- .../textlayoutmanager/TextLayoutManager.h | 3 +- .../textlayoutmanager/TextLayoutManager.h | 3 +- .../textlayoutmanager/TextLayoutManager.mm | 2 +- .../react/renderer/uimanager/UIManager.cpp | 2 +- .../react/renderer/uimanager/UIManager.h | 4 +- .../react/utils/ContextContainer.h | 2 - .../src/stubs/StubComponentRegistryFactory.h | 2 +- scripts/cxx-api/ReactNativeCPP.api | 54 +++++++++---------- 43 files changed, 98 insertions(+), 91 deletions(-) diff --git a/packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.mm b/packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.mm index 1c29e709f56c..f354cc804eaa 100644 --- a/packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.mm +++ b/packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.mm @@ -83,7 +83,7 @@ - (instancetype)initWithBundleURLBlock:(RCTBundleURLBlock)bundleURLBlock @end @interface RCTRootViewFactory () { - facebook::react::ContextContainer::Shared _contextContainer; + std::shared_ptr _contextContainer; std::shared_ptr _runtimeScheduler; } @end diff --git a/packages/react-native/React/Fabric/Mounting/RCTMountingManager.h b/packages/react-native/React/Fabric/Mounting/RCTMountingManager.h index ceac3eecb097..70a56433d57b 100644 --- a/packages/react-native/React/Fabric/Mounting/RCTMountingManager.h +++ b/packages/react-native/React/Fabric/Mounting/RCTMountingManager.h @@ -28,7 +28,7 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, weak) id delegate; @property (nonatomic, strong) RCTComponentViewRegistry *componentViewRegistry; -- (void)setContextContainer:(facebook::react::ContextContainer::Shared)contextContainer; +- (void)setContextContainer:(std::shared_ptr)contextContainer; /** * Designates the view as a rendering viewport of a React Native surface. diff --git a/packages/react-native/React/Fabric/Mounting/RCTMountingManager.mm b/packages/react-native/React/Fabric/Mounting/RCTMountingManager.mm index e6503ffd6224..2c87bb1e5994 100644 --- a/packages/react-native/React/Fabric/Mounting/RCTMountingManager.mm +++ b/packages/react-native/React/Fabric/Mounting/RCTMountingManager.mm @@ -143,7 +143,7 @@ @implementation RCTMountingManager { RCTMountingTransactionObserverCoordinator _observerCoordinator; BOOL _transactionInFlight; BOOL _followUpTransactionRequired; - ContextContainer::Shared _contextContainer; + std::shared_ptr _contextContainer; } - (instancetype)init @@ -155,7 +155,7 @@ - (instancetype)init return self; } -- (void)setContextContainer:(ContextContainer::Shared)contextContainer +- (void)setContextContainer:(std::shared_ptr)contextContainer { _contextContainer = contextContainer; } diff --git a/packages/react-native/React/Fabric/RCTSurfacePresenter.h b/packages/react-native/React/Fabric/RCTSurfacePresenter.h index a6796cf1802d..24fe26a1434e 100644 --- a/packages/react-native/React/Fabric/RCTSurfacePresenter.h +++ b/packages/react-native/React/Fabric/RCTSurfacePresenter.h @@ -27,11 +27,11 @@ NS_ASSUME_NONNULL_BEGIN */ @interface RCTSurfacePresenter : NSObject -- (instancetype)initWithContextContainer:(facebook::react::ContextContainer::Shared)contextContainer +- (instancetype)initWithContextContainer:(std::shared_ptr)contextContainer runtimeExecutor:(facebook::react::RuntimeExecutor)runtimeExecutor bridgelessBindingsExecutor:(std::optional)bridgelessBindingsExecutor; -@property (nonatomic) facebook::react::ContextContainer::Shared contextContainer; +@property (nonatomic) std::shared_ptr contextContainer; @property (nonatomic) facebook::react::RuntimeExecutor runtimeExecutor; /* diff --git a/packages/react-native/React/Fabric/RCTSurfacePresenter.mm b/packages/react-native/React/Fabric/RCTSurfacePresenter.mm index 1e675096b312..3125b4889b0c 100644 --- a/packages/react-native/React/Fabric/RCTSurfacePresenter.mm +++ b/packages/react-native/React/Fabric/RCTSurfacePresenter.mm @@ -51,7 +51,7 @@ @implementation RCTSurfacePresenter { std::mutex _schedulerAccessMutex; std::mutex _schedulerLifeCycleMutex; RCTScheduler *_Nullable _scheduler; // Thread-safe. Pointer is protected by `_schedulerAccessMutex`. - ContextContainer::Shared _contextContainer; // Protected by `_schedulerLifeCycleMutex`. + std::shared_ptr _contextContainer; // Protected by `_schedulerLifeCycleMutex`. RuntimeExecutor _runtimeExecutor; // Protected by `_schedulerLifeCycleMutex`. std::optional _bridgelessBindingsExecutor; // Only used for installing bindings. @@ -59,7 +59,7 @@ @implementation RCTSurfacePresenter { std::vector<__weak id> _observers; // Protected by `_observerListMutex`. } -- (instancetype)initWithContextContainer:(ContextContainer::Shared)contextContainer +- (instancetype)initWithContextContainer:(std::shared_ptr)contextContainer runtimeExecutor:(RuntimeExecutor)runtimeExecutor bridgelessBindingsExecutor:(std::optional)bridgelessBindingsExecutor { @@ -96,7 +96,7 @@ - (RCTScheduler *_Nullable)scheduler return _scheduler; } -- (ContextContainer::Shared)contextContainer +- (std::shared_ptr)contextContainer { std::lock_guard lock(_schedulerLifeCycleMutex); return _contextContainer; @@ -231,12 +231,14 @@ - (BOOL)resume - (RCTScheduler *)_createScheduler { - auto componentRegistryFactory = - [factory = wrapManagedObject(_mountingManager.componentViewRegistry.componentViewFactory)]( - const EventDispatcher::Weak &eventDispatcher, const ContextContainer::Shared &contextContainer) { - return [(RCTComponentViewFactory *)unwrapManagedObject(factory) - createComponentDescriptorRegistryWithParameters:{eventDispatcher, contextContainer}]; - }; + auto componentRegistryFactory = [factory = + wrapManagedObject(_mountingManager.componentViewRegistry.componentViewFactory)]( + const EventDispatcher::Weak &eventDispatcher, + const std::shared_ptr &contextContainer) { + return [(RCTComponentViewFactory *)unwrapManagedObject(factory) + createComponentDescriptorRegistryWithParameters:{.eventDispatcher = eventDispatcher, + .contextContainer = contextContainer}]; + }; auto runtimeExecutor = _runtimeExecutor; diff --git a/packages/react-native/React/Fabric/RCTSurfacePresenterBridgeAdapter.h b/packages/react-native/React/Fabric/RCTSurfacePresenterBridgeAdapter.h index 188d19992c67..f3d8bbb0100d 100644 --- a/packages/react-native/React/Fabric/RCTSurfacePresenterBridgeAdapter.h +++ b/packages/react-native/React/Fabric/RCTSurfacePresenterBridgeAdapter.h @@ -25,7 +25,7 @@ facebook::react::RuntimeExecutor RCTRuntimeExecutorFromBridge(RCTBridge *bridge) @interface RCTSurfacePresenterBridgeAdapter : NSObject - (instancetype)initWithBridge:(RCTBridge *)bridge - contextContainer:(facebook::react::ContextContainer::Shared)contextContainer; + contextContainer:(std::shared_ptr)contextContainer; /* * Returns a stored instance of Surface Presenter which is managed by a bridge. diff --git a/packages/react-native/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm b/packages/react-native/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm index d3dcaf5bc5da..73d3ed9b6794 100644 --- a/packages/react-native/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm +++ b/packages/react-native/React/Fabric/RCTSurfacePresenterBridgeAdapter.mm @@ -29,7 +29,7 @@ @interface RCTBridge () - (void)invokeAsync:(std::function &&)func; @end -static ContextContainer::Shared RCTContextContainerFromBridge(RCTBridge *bridge) +static std::shared_ptr RCTContextContainerFromBridge(RCTBridge *bridge) { auto contextContainer = std::make_shared(); @@ -85,7 +85,8 @@ @implementation RCTSurfacePresenterBridgeAdapter { __weak RCTBridge *_batchedBridge; } -- (instancetype)initWithBridge:(RCTBridge *)bridge contextContainer:(ContextContainer::Shared)contextContainer +- (instancetype)initWithBridge:(RCTBridge *)bridge + contextContainer:(std::shared_ptr)contextContainer { if (self = [super init]) { contextContainer->update(*RCTContextContainerFromBridge(bridge)); diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp index 3ccff28c083f..6f1e32c6b498 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp @@ -516,7 +516,7 @@ void FabricUIManagerBinding::installFabricUIManager( mountingManager_ = std::make_shared(globalJavaUiManager); - ContextContainer::Shared contextContainer = + std::shared_ptr contextContainer = std::make_shared(); auto runtimeExecutor = runtimeExecutorHolder->cthis()->get(); diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp index c9c66747bdcf..3e3a0c09f32e 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultComponentsRegistry.cpp @@ -27,7 +27,8 @@ void DefaultComponentsRegistry::setRegistryRunction( ComponentFactory* delegate) { delegate ->buildRegistryFunction = [](const EventDispatcher::Weak& eventDispatcher, - const ContextContainer::Shared& + const std::shared_ptr< + const ContextContainer>& contextContainer) { ComponentDescriptorParameters params{ .eventDispatcher = eventDispatcher, diff --git a/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h b/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h index 8b2d13b3eee7..3ddbc0884d4e 100644 --- a/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h +++ b/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationDriver.h @@ -17,7 +17,7 @@ class LayoutAnimationDriver : public LayoutAnimationKeyFrameManager { public: LayoutAnimationDriver( RuntimeExecutor runtimeExecutor, - ContextContainer::Shared& contextContainer, + std::shared_ptr& contextContainer, LayoutAnimationStatusDelegate* delegate) : LayoutAnimationKeyFrameManager( runtimeExecutor, diff --git a/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp b/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp index 8a3db4ae5528..2dbba4317563 100644 --- a/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +++ b/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp @@ -81,7 +81,7 @@ interpolateFloats(Float coefficient, Float oldValue, Float newValue) { LayoutAnimationKeyFrameManager::LayoutAnimationKeyFrameManager( RuntimeExecutor runtimeExecutor, - ContextContainer::Shared& contextContainer, + std::shared_ptr& contextContainer, LayoutAnimationStatusDelegate* delegate) : runtimeExecutor_(std::move(runtimeExecutor)), contextContainer_(contextContainer), diff --git a/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h b/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h index 074e46a01410..1de8349848dc 100644 --- a/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h +++ b/packages/react-native/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.h @@ -41,7 +41,7 @@ class LayoutAnimationKeyFrameManager : public UIManagerAnimationDelegate, public: LayoutAnimationKeyFrameManager( RuntimeExecutor runtimeExecutor, - ContextContainer::Shared& contextContainer, + std::shared_ptr& contextContainer, LayoutAnimationStatusDelegate* delegate); #pragma mark - UIManagerAnimationDelegate methods @@ -137,7 +137,7 @@ class LayoutAnimationKeyFrameManager : public UIManagerAnimationDelegate, private: RuntimeExecutor runtimeExecutor_; - ContextContainer::Shared contextContainer_; + std::shared_ptr contextContainer_; mutable std::mutex layoutAnimationStatusDelegateMutex_; mutable LayoutAnimationStatusDelegate* layoutAnimationStatusDelegate_{}; diff --git a/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h b/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h index 0cea35b8d438..d10ea3536dac 100644 --- a/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h +++ b/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorFactory.h @@ -25,7 +25,7 @@ namespace facebook::react { using ComponentRegistryFactory = std::function; + const std::shared_ptr& contextContainer)>; ComponentRegistryFactory getDefaultComponentRegistryFactory(); diff --git a/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp b/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp index 469fc5c23357..595867a89485 100644 --- a/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp +++ b/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.cpp @@ -23,7 +23,7 @@ namespace facebook::react { ComponentDescriptorRegistry::ComponentDescriptorRegistry( ComponentDescriptorParameters parameters, const ComponentDescriptorProviderRegistry& providerRegistry, - ContextContainer::Shared contextContainer) + std::shared_ptr contextContainer) : parameters_(std::move(parameters)), providerRegistry_(providerRegistry), contextContainer_(std::move(contextContainer)) {} diff --git a/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h b/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h index 20bce41f2dcf..ef520bd4bc9e 100644 --- a/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h +++ b/packages/react-native/ReactCommon/react/renderer/componentregistry/ComponentDescriptorRegistry.h @@ -38,7 +38,7 @@ class ComponentDescriptorRegistry { ComponentDescriptorRegistry( ComponentDescriptorParameters parameters, const ComponentDescriptorProviderRegistry& providerRegistry, - ContextContainer::Shared contextContainer); + std::shared_ptr contextContainer); /* * This is broken. Please do not use. @@ -81,7 +81,7 @@ class ComponentDescriptorRegistry { ComponentDescriptor::Shared _fallbackComponentDescriptor; ComponentDescriptorParameters parameters_{}; const ComponentDescriptorProviderRegistry& providerRegistry_; - ContextContainer::Shared contextContainer_; + std::shared_ptr contextContainer_; }; } // namespace facebook::react diff --git a/packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm b/packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm index af44611972d3..504ed94f61ae 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm +++ b/packages/react-native/ReactCommon/react/renderer/components/legacyviewmanagerinterop/LegacyViewManagerInteropComponentDescriptor.mm @@ -105,7 +105,7 @@ static Class getViewManagerClass(const std::string &componentName, RCTBridge *br } static const std::shared_ptr constructCoordinator( - const ContextContainer::Shared &contextContainer, + const std::shared_ptr &contextContainer, const ComponentDescriptor::Flavor &flavor) { auto optionalBridge = contextContainer->find>("Bridge"); diff --git a/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h b/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h index feb314ba4f3e..9eeb3bee3c4f 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h +++ b/packages/react-native/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarMeasurementsManager.h @@ -17,7 +17,7 @@ namespace facebook::react { class AndroidProgressBarMeasurementsManager { public: AndroidProgressBarMeasurementsManager( - const ContextContainer::Shared& contextContainer) + const std::shared_ptr& contextContainer) : contextContainer_(contextContainer) {} Size measure( @@ -26,7 +26,7 @@ class AndroidProgressBarMeasurementsManager { LayoutConstraints layoutConstraints) const; private: - const ContextContainer::Shared contextContainer_; + const std::shared_ptr contextContainer_; }; } // namespace facebook::react diff --git a/packages/react-native/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h b/packages/react-native/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h index 58c53b191c66..37ea646899c3 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h +++ b/packages/react-native/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchMeasurementsManager.h @@ -16,13 +16,13 @@ namespace facebook::react { class AndroidSwitchMeasurementsManager { public: AndroidSwitchMeasurementsManager( - const ContextContainer::Shared& contextContainer) + const std::shared_ptr& contextContainer) : contextContainer_(contextContainer) {} Size measure(SurfaceId surfaceId, LayoutConstraints layoutConstraints) const; private: - const ContextContainer::Shared contextContainer_; + const std::shared_ptr contextContainer_; }; } // namespace facebook::react diff --git a/packages/react-native/ReactCommon/react/renderer/core/ComponentDescriptor.h b/packages/react-native/ReactCommon/react/renderer/core/ComponentDescriptor.h index 59ff70c35686..aa12f01db390 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/ComponentDescriptor.h +++ b/packages/react-native/ReactCommon/react/renderer/core/ComponentDescriptor.h @@ -161,7 +161,7 @@ class ComponentDescriptor { class ComponentDescriptorParameters { public: EventDispatcher::Weak eventDispatcher; - ContextContainer::Shared contextContainer; + std::shared_ptr contextContainer; ComponentDescriptor::Flavor flavor; }; diff --git a/packages/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp b/packages/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp index a3af28d8ed7b..e50a06cbf35b 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp +++ b/packages/react-native/ReactCommon/react/renderer/core/ShadowNode.cpp @@ -163,7 +163,8 @@ std::shared_ptr ShadowNode::clone( } } -ContextContainer::Shared ShadowNode::getContextContainer() const { +std::shared_ptr ShadowNode::getContextContainer() + const { return family_->componentDescriptor_.getContextContainer(); } diff --git a/packages/react-native/ReactCommon/react/renderer/core/ShadowNode.h b/packages/react-native/ReactCommon/react/renderer/core/ShadowNode.h index 445bb9d9b070..3b79fd344dcb 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/ShadowNode.h +++ b/packages/react-native/ReactCommon/react/renderer/core/ShadowNode.h @@ -168,7 +168,7 @@ class ShadowNode : public Sealable, /* * Returns the `ContextContainer` used by this ShadowNode. */ - ContextContainer::Shared getContextContainer() const; + std::shared_ptr getContextContainer() const; /* * Returns a state associated with the particular node. diff --git a/packages/react-native/ReactCommon/react/renderer/element/testUtils.h b/packages/react-native/ReactCommon/react/renderer/element/testUtils.h index 5f4ce6db8455..f784765b52bb 100644 --- a/packages/react-native/ReactCommon/react/renderer/element/testUtils.h +++ b/packages/react-native/ReactCommon/react/renderer/element/testUtils.h @@ -20,7 +20,7 @@ namespace facebook::react { inline ComponentBuilder simpleComponentBuilder( - ContextContainer::Shared contextContainer = nullptr) { + std::shared_ptr contextContainer = nullptr) { ComponentDescriptorProviderRegistry componentDescriptorProviderRegistry{}; auto eventDispatcher = EventDispatcher::Shared{}; auto componentDescriptorRegistry = diff --git a/packages/react-native/ReactCommon/react/renderer/imagemanager/ImageManager.h b/packages/react-native/ReactCommon/react/renderer/imagemanager/ImageManager.h index 4dd81e9fe920..dace76a89e19 100644 --- a/packages/react-native/ReactCommon/react/renderer/imagemanager/ImageManager.h +++ b/packages/react-native/ReactCommon/react/renderer/imagemanager/ImageManager.h @@ -27,7 +27,7 @@ using SharedImageManager = std::shared_ptr; */ class ImageManager { public: - ImageManager(const ContextContainer::Shared& contextContainer); + ImageManager(const std::shared_ptr& contextContainer); virtual ~ImageManager(); virtual ImageRequest requestImage( diff --git a/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h b/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h index ef3e285116be..707d3c3bd1ca 100644 --- a/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +++ b/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h @@ -21,7 +21,7 @@ namespace facebook::react { class ImageFetcher { public: - ImageFetcher(ContextContainer::Shared contextContainer) + ImageFetcher(std::shared_ptr contextContainer) : contextContainer_(std::move(contextContainer)) {} ImageRequest requestImage( @@ -31,6 +31,6 @@ class ImageFetcher { Tag tag) const; private: - ContextContainer::Shared contextContainer_; + std::shared_ptr contextContainer_; }; } // namespace facebook::react diff --git a/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp b/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp index 391df87c4a81..0bf5460d365e 100644 --- a/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +++ b/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp @@ -12,7 +12,8 @@ namespace facebook::react { -ImageManager::ImageManager(const ContextContainer::Shared& contextContainer) +ImageManager::ImageManager( + const std::shared_ptr& contextContainer) : self_(new ImageFetcher(contextContainer)) {} ImageManager::~ImageManager() { diff --git a/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp b/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp index 21a99b70f7a2..3ab23dbdaf00 100644 --- a/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +++ b/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp @@ -10,7 +10,7 @@ namespace facebook::react { ImageManager::ImageManager( - const ContextContainer::Shared& /*contextContainer*/) { + const std::shared_ptr& /*contextContainer*/) { // Silence unused-private-field warning. (void)self_; // Not implemented. diff --git a/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm b/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm index 0b1c63f36934..900302b7875e 100644 --- a/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm +++ b/packages/react-native/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm @@ -16,7 +16,7 @@ namespace facebook::react { -ImageManager::ImageManager(const ContextContainer::Shared &contextContainer) +ImageManager::ImageManager(const std::shared_ptr &contextContainer) { id imageLoader = (id)unwrapManagedObject( diff --git a/packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.cpp b/packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.cpp index 49cd7d574c51..46333c2ca774 100644 --- a/packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.cpp +++ b/packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.cpp @@ -348,7 +348,7 @@ void Scheduler::reportMount(SurfaceId surfaceId) const { uiManager_->reportMount(surfaceId); } -ContextContainer::Shared Scheduler::getContextContainer() const { +std::shared_ptr Scheduler::getContextContainer() const { return contextContainer_; } diff --git a/packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.h b/packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.h index e25f755ecd78..6c18f83f1041 100644 --- a/packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.h +++ b/packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.h @@ -106,7 +106,7 @@ class Scheduler final : public UIManagerDelegate { void uiManagerDidStartSurface(const ShadowTree& shadowTree) override; #pragma mark - ContextContainer - ContextContainer::Shared getContextContainer() const; + std::shared_ptr getContextContainer() const; #pragma mark - UIManager std::shared_ptr getUIManager() const; @@ -148,7 +148,7 @@ class Scheduler final : public UIManagerDelegate { * Hold onto ContextContainer. See SchedulerToolbox. * Must not be nullptr. */ - ContextContainer::Shared contextContainer_; + std::shared_ptr contextContainer_; RuntimeScheduler* runtimeScheduler_{nullptr}; diff --git a/packages/react-native/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h b/packages/react-native/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h index c68ad6eee3a7..f1446cf4c0dc 100644 --- a/packages/react-native/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h +++ b/packages/react-native/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h @@ -29,7 +29,7 @@ struct SchedulerToolbox final { * Represents general purpose DI container for product components/needs. * Must not be `nullptr`. */ - ContextContainer::Shared contextContainer; + std::shared_ptr contextContainer; /* * Represents externally managed, lazily available collection of components. diff --git a/packages/react-native/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp b/packages/react-native/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp index 0f29ed67cf15..2f8a69cf8928 100644 --- a/packages/react-native/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +++ b/packages/react-native/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp @@ -46,7 +46,7 @@ SurfaceHandler& SurfaceHandler::operator=(SurfaceHandler&& other) noexcept { #pragma mark - Surface Life-Cycle Management void SurfaceHandler::setContextContainer( - ContextContainer::Shared contextContainer) const noexcept { + std::shared_ptr contextContainer) const noexcept { parameters_.contextContainer = std::move(contextContainer); } diff --git a/packages/react-native/ReactCommon/react/renderer/scheduler/SurfaceHandler.h b/packages/react-native/ReactCommon/react/renderer/scheduler/SurfaceHandler.h index 19fa956af9ba..9a4f0195eb05 100644 --- a/packages/react-native/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +++ b/packages/react-native/ReactCommon/react/renderer/scheduler/SurfaceHandler.h @@ -80,7 +80,7 @@ class SurfaceHandler { * Must be called before surface is started. */ void setContextContainer( - ContextContainer::Shared contextContainer) const noexcept; + std::shared_ptr contextContainer) const noexcept; /* * Returns a momentum value of the status. @@ -187,7 +187,7 @@ class SurfaceHandler { folly::dynamic props{}; LayoutConstraints layoutConstraints{}; LayoutContext layoutContext{}; - ContextContainer::Shared contextContainer{}; + std::shared_ptr contextContainer{}; }; /* diff --git a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp index e89c19f93213..10232b8054bb 100644 --- a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +++ b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp @@ -40,7 +40,7 @@ int countAttachments(const AttributedString& attributedString) { } Size measureText( - const ContextContainer::Shared& contextContainer, + const std::shared_ptr& contextContainer, Tag rootTag, MapBuffer attributedString, MapBuffer paragraphAttributes, @@ -82,7 +82,7 @@ Size measureText( } TextMeasurement doMeasure( - const ContextContainer::Shared& contextContainer, + const std::shared_ptr& contextContainer, const AttributedString& attributedString, const ParagraphAttributes& paragraphAttributes, const TextLayoutContext& layoutContext, @@ -155,7 +155,7 @@ TextMeasurement doMeasure( } // namespace TextLayoutManager::TextLayoutManager( - const ContextContainer::Shared& contextContainer) + const std::shared_ptr& contextContainer) : contextContainer_(contextContainer), textMeasureCache_(kSimpleThreadSafeCacheSizeCap), lineMeasureCache_(kSimpleThreadSafeCacheSizeCap), diff --git a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h index 71ab0488614d..0205fff33e2b 100644 --- a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h +++ b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h @@ -31,7 +31,8 @@ class TextLayoutManager { public: using PreparedLayout = SafeReleaseJniRef>; - TextLayoutManager(const ContextContainer::Shared& contextContainer); + TextLayoutManager( + const std::shared_ptr& contextContainer); /* * Not copyable. diff --git a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.cpp b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.cpp index cef69312beb3..2e791aa63ada 100644 --- a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.cpp +++ b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.cpp @@ -10,7 +10,7 @@ namespace facebook::react { TextLayoutManager::TextLayoutManager( - const ContextContainer::Shared& /*contextContainer*/) + const std::shared_ptr& /*contextContainer*/) : textMeasureCache_(kSimpleThreadSafeCacheSizeCap) {} TextMeasurement TextLayoutManager::measure( diff --git a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h index aeebec2f67a6..4c69793c228a 100644 --- a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h +++ b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/react/renderer/textlayoutmanager/TextLayoutManager.h @@ -25,7 +25,8 @@ class TextLayoutManager; */ class TextLayoutManager { public: - TextLayoutManager(const ContextContainer::Shared& contextContainer); + explicit TextLayoutManager( + const std::shared_ptr& contextContainer); virtual ~TextLayoutManager() = default; /* diff --git a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h index b75fae2c2a62..2e3b262c72b9 100644 --- a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +++ b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h @@ -23,7 +23,8 @@ namespace facebook::react { */ class TextLayoutManager { public: - TextLayoutManager(const ContextContainer::Shared& contextContainer); + TextLayoutManager( + const std::shared_ptr& contextContainer); /* * Not copyable. diff --git a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm index 0bdf2c9c43ab..8ffe7fd80a0f 100644 --- a/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +++ b/packages/react-native/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm @@ -14,7 +14,7 @@ namespace facebook::react { -TextLayoutManager::TextLayoutManager(const ContextContainer::Shared &contextContainer) +TextLayoutManager::TextLayoutManager(const std::shared_ptr & /*contextContainer*/) { nativeTextLayoutManager_ = wrapManagedObject([RCTTextLayoutManager new]); } diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.cpp b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.cpp index edee8ac36bca..e347e8ff3b32 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.cpp +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.cpp @@ -44,7 +44,7 @@ ShadowNodeListWrapper::~ShadowNodeListWrapper() = default; UIManager::UIManager( const RuntimeExecutor& runtimeExecutor, - ContextContainer::Shared contextContainer) + std::shared_ptr contextContainer) : runtimeExecutor_(runtimeExecutor), shadowTreeRegistry_(), contextContainer_(std::move(contextContainer)), diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.h b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.h index 43de6ef06f48..e2c4f3564d66 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManager.h @@ -41,7 +41,7 @@ class UIManager final : public ShadowTreeDelegate { public: UIManager( const RuntimeExecutor& runtimeExecutor, - ContextContainer::Shared contextContainer); + std::shared_ptr contextContainer); ~UIManager() override; @@ -247,7 +247,7 @@ class UIManager final : public ShadowTreeDelegate { const RuntimeExecutor runtimeExecutor_{}; ShadowTreeRegistry shadowTreeRegistry_{}; - ContextContainer::Shared contextContainer_; + std::shared_ptr contextContainer_; mutable std::shared_mutex commitHookMutex_; mutable std::vector commitHooks_; diff --git a/packages/react-native/ReactCommon/react/utils/ContextContainer.h b/packages/react-native/ReactCommon/react/utils/ContextContainer.h index 8c724490dfce..41bcdebdfbd4 100644 --- a/packages/react-native/ReactCommon/react/utils/ContextContainer.h +++ b/packages/react-native/ReactCommon/react/utils/ContextContainer.h @@ -25,8 +25,6 @@ namespace facebook::react { */ class ContextContainer final { public: - using Shared = std::shared_ptr; - /* * Registers an instance of the particular type `T` in the container * using the provided `key`. Only one instance can be registered per key. diff --git a/private/react-native-fantom/tester/src/stubs/StubComponentRegistryFactory.h b/private/react-native-fantom/tester/src/stubs/StubComponentRegistryFactory.h index a92d6e55e92b..7ea4a1647ee9 100644 --- a/private/react-native-fantom/tester/src/stubs/StubComponentRegistryFactory.h +++ b/private/react-native-fantom/tester/src/stubs/StubComponentRegistryFactory.h @@ -21,7 +21,7 @@ namespace facebook::react { inline ComponentRegistryFactory getDefaultComponentRegistryFactory() { return [](const EventDispatcher::Weak& eventDispatcher, - const ContextContainer::Shared& contextContainer) { + const std::shared_ptr& contextContainer) { static auto providerRegistry = []() { auto providerRegistry = std::make_shared(); diff --git a/scripts/cxx-api/ReactNativeCPP.api b/scripts/cxx-api/ReactNativeCPP.api index 08b2117e1cea..428e0976aeff 100644 --- a/scripts/cxx-api/ReactNativeCPP.api +++ b/scripts/cxx-api/ReactNativeCPP.api @@ -4355,7 +4355,7 @@ NS_ASSUME_NONNULL_BEGIN @interface RCTMountingManager : NSObject @property (nonatomic, weak) id delegate; @property (nonatomic, strong) RCTComponentViewRegistry *componentViewRegistry; -- (void)setContextContainer:(facebook::react::ContextContainer::Shared)contextContainer; +- (void)setContextContainer:(std::shared_ptr)contextContainer; - (void)attachSurfaceToView:(UIView *)view surfaceId:(facebook::react::SurfaceId)surfaceId; - (void)detachSurfaceFromView:(UIView *)view surfaceId:(facebook::react::SurfaceId)surfaceId; - (void)scheduleTransaction:(std::shared_ptr)mountingCoordinator; @@ -4668,10 +4668,10 @@ NS_ASSUME_NONNULL_END /// @src {packages/react-native/React/Fabric/RCTSurfacePresenter.h}: NS_ASSUME_NONNULL_BEGIN @interface RCTSurfacePresenter : NSObject -- (instancetype)initWithContextContainer:(facebook::react::ContextContainer::Shared)contextContainer +- (instancetype)initWithContextContainer:(std::shared_ptr)contextContainer runtimeExecutor:(facebook::react::RuntimeExecutor)runtimeExecutor bridgelessBindingsExecutor:(std::optional)bridgelessBindingsExecutor; -@property (nonatomic) facebook::react::ContextContainer::Shared contextContainer; +@property (nonatomic) std::shared_ptr contextContainer; @property (nonatomic) facebook::react::RuntimeExecutor runtimeExecutor; - (BOOL)suspend; - (BOOL)resume; @@ -4698,7 +4698,7 @@ NS_ASSUME_NONNULL_BEGIN facebook::react::RuntimeExecutor RCTRuntimeExecutorFromBridge(RCTBridge *bridge); @interface RCTSurfacePresenterBridgeAdapter : NSObject - (instancetype)initWithBridge:(RCTBridge *)bridge - contextContainer:(facebook::react::ContextContainer::Shared)contextContainer; + contextContainer:(std::shared_ptr)contextContainer; @property (nonatomic, readonly) RCTSurfacePresenter *surfacePresenter; @property (nonatomic, weak) RCTBridge *bridge; @end @@ -17755,7 +17755,7 @@ class LayoutAnimationDriver : public LayoutAnimationKeyFrameManager { public: LayoutAnimationDriver( RuntimeExecutor runtimeExecutor, - ContextContainer::Shared& contextContainer, + std::shared_ptr& contextContainer, LayoutAnimationStatusDelegate* delegate) : LayoutAnimationKeyFrameManager( runtimeExecutor, @@ -17777,7 +17777,7 @@ class LayoutAnimationKeyFrameManager : public UIManagerAnimationDelegate, public: LayoutAnimationKeyFrameManager( RuntimeExecutor runtimeExecutor, - ContextContainer::Shared& contextContainer, + std::shared_ptr& contextContainer, LayoutAnimationStatusDelegate* delegate); void uiManagerDidConfigureNextLayoutAnimation( jsi::Runtime& runtime, @@ -19404,7 +19404,7 @@ namespace facebook::react { using ComponentRegistryFactory = std::function; + const std::shared_ptr& contextContainer)>; ComponentRegistryFactory getDefaultComponentRegistryFactory(); } // namespace facebook::react @@ -19465,7 +19465,7 @@ class ComponentDescriptorRegistry { ComponentDescriptorRegistry( ComponentDescriptorParameters parameters, const ComponentDescriptorProviderRegistry& providerRegistry, - ContextContainer::Shared contextContainer); + std::shared_ptr contextContainer); const ComponentDescriptor* findComponentDescriptorByHandle_DO_NOT_USE_THIS_IS_BROKEN( ComponentHandle componentHandle) const; @@ -19477,7 +19477,7 @@ class ComponentDescriptorRegistry { ComponentDescriptor::Shared getFallbackComponentDescriptor() const; }; const ComponentDescriptorProviderRegistry& providerRegistry_; - ContextContainer::Shared contextContainer_; + std::shared_ptr contextContainer_; }; } // namespace facebook::react @@ -19988,7 +19988,7 @@ namespace facebook::react { class AndroidProgressBarMeasurementsManager { public: AndroidProgressBarMeasurementsManager( - const ContextContainer::Shared& contextContainer) + const std::shared_ptr& contextContainer) : contextContainer_(contextContainer) {} Size measure( SurfaceId surfaceId, @@ -20550,7 +20550,7 @@ namespace facebook::react { class AndroidSwitchMeasurementsManager { public: AndroidSwitchMeasurementsManager( - const ContextContainer::Shared& contextContainer) + const std::shared_ptr& contextContainer) : contextContainer_(contextContainer) {} Size measure(SurfaceId surfaceId, LayoutConstraints layoutConstraints) const; }; @@ -27874,7 +27874,7 @@ class ComponentDescriptor { class ComponentDescriptorParameters { public: EventDispatcher::Weak eventDispatcher; - ContextContainer::Shared contextContainer; + std::shared_ptr contextContainer; ComponentDescriptor::Flavor flavor; }; } // namespace facebook::react @@ -29058,7 +29058,7 @@ class ShadowNode : public Sealable, Tag getTag() const; SurfaceId getSurfaceId() const; const ComponentDescriptor& getComponentDescriptor() const; - ContextContainer::Shared getContextContainer() const; + std::shared_ptr getContextContainer() const; const State::Shared& getState() const; State::Shared getMostRecentState() const; int getOrderIndex() const; @@ -33733,7 +33733,7 @@ class ElementFragment final { /// @src {packages/react-native/ReactCommon/react/renderer/element/testUtils.h}: namespace facebook::react { inline ComponentBuilder simpleComponentBuilder( - ContextContainer::Shared contextContainer = nullptr) { + std::shared_ptr contextContainer = nullptr) { ComponentDescriptorProviderRegistry componentDescriptorProviderRegistry{}; auto eventDispatcher = EventDispatcher::Shared{}; auto componentDescriptorRegistry = @@ -35162,7 +35162,7 @@ namespace facebook::react { using SharedImageManager = std::shared_ptr; class ImageManager { public: - ImageManager(const ContextContainer::Shared& contextContainer); + ImageManager(const std::shared_ptr& contextContainer); virtual ~ImageManager(); virtual ImageRequest requestImage( const ImageSource& imageSource, @@ -35277,7 +35277,7 @@ class ImageTelemetry final { namespace facebook::react { class ImageFetcher { public: - ImageFetcher(ContextContainer::Shared contextContainer) + ImageFetcher(std::shared_ptr contextContainer) : contextContainer_(std::move(contextContainer)) {} ImageRequest requestImage( const ImageSource& imageSource, @@ -37116,7 +37116,7 @@ class Scheduler final : public UIManagerDelegate { void uiManagerShouldRemoveEventListener( const std::shared_ptr& listener) final; void uiManagerDidStartSurface(const ShadowTree& shadowTree) override; - ContextContainer::Shared getContextContainer() const; + std::shared_ptr getContextContainer() const; std::shared_ptr getUIManager() const; void reportMount(SurfaceId surfaceId) const; void addEventListener(std::shared_ptr listener); @@ -37165,7 +37165,7 @@ class SchedulerDelegate { /// @src {packages/react-native/ReactCommon/react/renderer/scheduler/SchedulerToolbox.h}: namespace facebook::react { struct SchedulerToolbox final { - ContextContainer::Shared contextContainer; + std::shared_ptr contextContainer; ComponentRegistryFactory componentRegistryFactory; std::optional bridgelessBindingsExecutor; RuntimeExecutor runtimeExecutor; @@ -37190,7 +37190,7 @@ class SurfaceHandler { SurfaceHandler& operator=(SurfaceHandler&& other) noexcept; SurfaceHandler& operator=(const SurfaceHandler& other) noexcept = delete; void setContextContainer( - ContextContainer::Shared contextContainer) const noexcept; + std::shared_ptr contextContainer) const noexcept; Status getStatus() const noexcept; void start() const noexcept; void stop() const noexcept; @@ -37217,7 +37217,7 @@ class SurfaceHandler { folly::dynamic props{}; LayoutConstraints layoutConstraints{}; LayoutContext layoutContext{}; - ContextContainer::Shared contextContainer{}; + std::shared_ptr contextContainer{}; }; struct Link { Status status{Status::Unregistered}; @@ -37704,7 +37704,7 @@ namespace facebook::react { class TextLayoutManager { public: using PreparedLayout = SafeReleaseJniRef>; - TextLayoutManager(const ContextContainer::Shared& contextContainer); + TextLayoutManager(const std::shared_ptr& contextContainer); TextLayoutManager(const TextLayoutManager&) = delete; TextLayoutManager& operator=(const TextLayoutManager&) = delete; TextLayoutManager(TextLayoutManager&&) = delete; @@ -37739,7 +37739,7 @@ class TextLayoutManager { namespace facebook::react { class TextLayoutManager { public: - TextLayoutManager(const ContextContainer::Shared& contextContainer); + TextLayoutManager(const std::shared_ptr& contextContainer); virtual ~TextLayoutManager() = default; TextLayoutManager(const TextLayoutManager&) = delete; TextLayoutManager& operator=(const TextLayoutManager&) = delete; @@ -37958,7 +37958,7 @@ inline static UIColor *_Nullable RCTUIColorFromSharedColor(const facebook::react namespace facebook::react { class TextLayoutManager { public: - TextLayoutManager(const ContextContainer::Shared& contextContainer); + TextLayoutManager(const std::shared_ptr& contextContainer); TextLayoutManager(const TextLayoutManager&) = delete; TextLayoutManager& operator=(const TextLayoutManager&) = delete; TextLayoutManager(TextLayoutManager&&) = delete; @@ -38145,7 +38145,7 @@ inline static RCTUIColor *_Nullable RCTUIColorFromSharedColor(const facebook::re namespace facebook::react { class TextLayoutManager { public: - TextLayoutManager(const ContextContainer::Shared& contextContainer); + TextLayoutManager(const std::shared_ptr& contextContainer); TextLayoutManager(const TextLayoutManager&) = delete; TextLayoutManager& operator=(const TextLayoutManager&) = delete; TextLayoutManager(TextLayoutManager&&) = delete; @@ -38167,7 +38167,7 @@ class TextLayoutManager { namespace facebook::react { class TextLayoutManager { public: - TextLayoutManager(const ContextContainer::Shared& contextContainer); + TextLayoutManager(const std::shared_ptr& contextContainer); TextLayoutManager(const TextLayoutManager&) = delete; TextLayoutManager& operator=(const TextLayoutManager&) = delete; TextLayoutManager(TextLayoutManager&&) = delete; @@ -38348,7 +38348,7 @@ class UIManager final : public ShadowTreeDelegate { public: UIManager( const RuntimeExecutor& runtimeExecutor, - ContextContainer::Shared contextContainer); + std::shared_ptr contextContainer); ~UIManager() override; void setComponentDescriptorRegistry( const SharedComponentDescriptorRegistry& componentDescriptorRegistry); @@ -38448,7 +38448,7 @@ class UIManager final : public ShadowTreeDelegate { std::weak_ptr nativeAnimatedDelegate_; const RuntimeExecutor runtimeExecutor_{}; ShadowTreeRegistry shadowTreeRegistry_{}; - ContextContainer::Shared contextContainer_; + std::shared_ptr contextContainer_; mutable std::shared_mutex commitHookMutex_; mutable std::vector commitHooks_; mutable std::shared_mutex mountHookMutex_;