From 6c053006b81efbf2dbdb5dadf8281145873d3984 Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Mon, 26 May 2025 15:03:56 -0700 Subject: [PATCH] remove superclass enable_shared_from_this from AnimationDriver (#51611) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/51611 changelog: [internal] AnimationDriver does not use enable_shared_from_this, let's remove it. Also mark a few methods as noexcept and const. This helps with C++ binary size. Reviewed By: rshest Differential Revision: D75172851 fbshipit-source-id: d6552cd577371a51c3fa3b394b451d7ed2b61e44 --- .../react/renderer/animated/drivers/AnimationDriver.h | 7 +++---- .../renderer/animated/drivers/FrameAnimationDriver.cpp | 2 +- .../react/renderer/animated/drivers/FrameAnimationDriver.h | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/AnimationDriver.h b/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/AnimationDriver.h index 529561a1815..bb37488c20b 100644 --- a/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/AnimationDriver.h +++ b/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/AnimationDriver.h @@ -22,8 +22,7 @@ enum class AnimationDriverType { Decay, }; -class ValueAnimatedNode; -class AnimationDriver : public std::enable_shared_from_this { +class AnimationDriver { public: AnimationDriver( int id, @@ -47,11 +46,11 @@ class AnimationDriver : public std::enable_shared_from_this { return endCallback_; } - virtual double toValue() { + virtual double toValue() const noexcept { return 0; } - bool isComplete() { + bool isComplete() const noexcept { return isComplete_; } diff --git a/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.cpp b/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.cpp index 9423272eae9..54eebbe181a 100644 --- a/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.cpp +++ b/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.cpp @@ -35,7 +35,7 @@ FrameAnimationDriver::FrameAnimationDriver( onConfigChanged(); } -double FrameAnimationDriver::toValue() { +double FrameAnimationDriver::toValue() const noexcept { return toValue_; } diff --git a/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.h b/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.h index 97664672799..f1bab6ccb0a 100644 --- a/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.h +++ b/packages/react-native/ReactCxxPlatform/react/renderer/animated/drivers/FrameAnimationDriver.h @@ -24,7 +24,7 @@ class FrameAnimationDriver : public AnimationDriver { const folly::dynamic& config, NativeAnimatedNodesManager* manager); - double toValue() override; + double toValue() const noexcept override; protected: bool update(double timeDeltaMs, bool restarting) override;