From 948a0e073875120b6ceda30773d6c880fe96e02a Mon Sep 17 00:00:00 2001 From: Jakub Piasecki Date: Fri, 9 Oct 2026 01:03:20 -0700 Subject: [PATCH] Retier `react/renderer/uimanager` headers (#58846) Summary: Make `AppRegistryBinding.h`, `LayoutEventEmitter.h` and the deprecated `SurfaceRegistryBinding.h` private; they are only used inside React Native. `UIManagerViewTransitionDelegate.h` now reaches `Float.h` through the `` umbrella instead of including it directly, since `Float.h` is public and its guard rejects direct includes from for-frameworks headers. Changelog: [Internal] Reviewed By: christophpurrer Differential Revision: D123391983 --- .../react/renderer/uimanager/AppRegistryBinding.h | 2 +- .../react/renderer/uimanager/LayoutEventEmitter.h | 2 +- .../renderer/uimanager/SurfaceRegistryBinding.h | 2 ++ .../uimanager/UIManagerViewTransitionDelegate.h | 3 +-- .../api-snapshots/ReactAndroidFrameworksCxx.api | 13 ------------- .../api-snapshots/ReactAppleFrameworksCxx.api | 13 ------------- .../api-snapshots/ReactCommonFrameworksCxx.api | 13 ------------- 7 files changed, 5 insertions(+), 43 deletions(-) diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h b/packages/react-native/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h index 65cc30251b0a..7897d9cbff32 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/LayoutEventEmitter.h b/packages/react-native/ReactCommon/react/renderer/uimanager/LayoutEventEmitter.h index cf0755f42c18..13cca8609214 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/LayoutEventEmitter.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/LayoutEventEmitter.h @@ -7,7 +7,7 @@ #pragma once -#include +#include #include diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h b/packages/react-native/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h index a3d3b67f6f4f..dde4de937356 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h @@ -7,6 +7,8 @@ #pragma once +#include + #warning "The SurfaceRegistryBinding.h header has been renamed to AppRegistryBinding.h" #include diff --git a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h index 85921394a57a..f56c6c324792 100644 --- a/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h +++ b/packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerViewTransitionDelegate.h @@ -9,6 +9,7 @@ #include +#include #include #include @@ -16,8 +17,6 @@ #include #include -#include - namespace facebook::react { class UIManagerViewTransitionDelegate { diff --git a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api index c43062b40357..22b5eebb6aae 100644 --- a/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAndroidFrameworksCxx.api @@ -1326,13 +1326,6 @@ class facebook::react::AnimationChoreographer { public void setAnimationBackend(std::weak_ptr animationBackend); } -class facebook::react::AppRegistryBinding { - public AppRegistryBinding() = delete; - public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); -} - class facebook::react::AsyncArrayBuffer { public AsyncArrayBuffer(const facebook::react::AsyncArrayBuffer&) = delete; public AsyncArrayBuffer(facebook::react::AsyncArrayBuffer&&) noexcept = default; @@ -2600,12 +2593,6 @@ class facebook::react::LayoutAnimationStatusDelegate { class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { } -class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; -} - class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); diff --git a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api index a3bfd7f91a8a..13cb5418ea74 100644 --- a/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactAppleFrameworksCxx.api @@ -3921,13 +3921,6 @@ class facebook::react::AnimationChoreographer { public void setAnimationBackend(std::weak_ptr animationBackend); } -class facebook::react::AppRegistryBinding { - public AppRegistryBinding() = delete; - public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); -} - class facebook::react::AppleEventBeat : public facebook::react::EventBeat, public facebook::react::RunLoopObserver::Delegate { public AppleEventBeat(const facebook::react::AppleEventBeat&) = delete; public AppleEventBeat(facebook::react::AppleEventBeat&&) = delete; @@ -4836,12 +4829,6 @@ class facebook::react::LayoutAnimationStatusDelegate { class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { } -class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; -} - class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits); diff --git a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api index cb763baece52..ee5f0e621756 100644 --- a/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api +++ b/scripts/cxx-api/api-snapshots/ReactCommonFrameworksCxx.api @@ -663,13 +663,6 @@ class facebook::react::AnimationChoreographer { public void setAnimationBackend(std::weak_ptr animationBackend); } -class facebook::react::AppRegistryBinding { - public AppRegistryBinding() = delete; - public static void setSurfaceProps(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void startSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId, const std::string& moduleName, const folly::dynamic& initialProps, facebook::react::DisplayMode displayMode); - public static void stopSurface(facebook::jsi::Runtime& runtime, facebook::react::SurfaceId surfaceId); -} - class facebook::react::AsyncArrayBuffer { public AsyncArrayBuffer(const facebook::react::AsyncArrayBuffer&) = delete; public AsyncArrayBuffer(facebook::react::AsyncArrayBuffer&&) noexcept = default; @@ -1526,12 +1519,6 @@ class facebook::react::LayoutAnimationStatusDelegate { class facebook::react::LayoutConformanceShadowNode : public facebook::react::ConcreteShadowNode { } -class facebook::react::LayoutEventEmitter : public facebook::react::UIManagerCommitHook { - public virtual void commitHookWasRegistered(const facebook::react::UIManager&) noexcept override; - public virtual void commitHookWasUnregistered(const facebook::react::UIManager&) noexcept override; - public virtual void shadowTreeDidCommit(const facebook::react::ShadowTree& shadowTree, const facebook::react::RootShadowNode::Shared& rootShadowNode, const std::vector& affectedLayoutableNodes) noexcept override; -} - class facebook::react::LayoutableShadowNode : public facebook::react::ShadowNode { public LayoutableShadowNode(const facebook::react::ShadowNode& sourceShadowNode, const facebook::react::ShadowNodeFragment& fragment); public LayoutableShadowNode(const facebook::react::ShadowNodeFragment& fragment, const facebook::react::ShadowNodeFamily::Shared& family, facebook::react::ShadowNodeTraits traits);