From 14986a8dbfbf9ae8a376da264e241620b30632b2 Mon Sep 17 00:00:00 2001 From: Christoph Purrer Date: Tue, 22 Jul 2025 19:45:27 -0700 Subject: [PATCH] Unify ImageManager API (#52749) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/52749 Changelog: [Internal] The overloaded ``` virtual ImageRequest requestImage( const ImageSource& imageSource, SurfaceId surfaceId) const; virtual ImageRequest requestImage( const ImageSource& imageSource, SurfaceId surfaceId, const ImageRequestParams& imageRequestParams, Tag tag) const; ``` can be expressed with default args in the header file ``` virtual ImageRequest requestImage( const ImageSource& imageSource, SurfaceId surfaceId, const ImageRequestParams& imageRequestParams = {}, Tag tag = {}) const; ``` Reviewed By: lenaic Differential Revision: D78702755 fbshipit-source-id: b482a26136cd512232b86e4b86607d44ca49460e --- .../renderer/components/image/ImageShadowNode.cpp | 11 ++--------- .../react/renderer/imagemanager/ImageManager.h | 8 ++------ .../react/renderer/imagemanager/ImageManager.cpp | 6 ------ .../cxx/react/renderer/imagemanager/ImageManager.cpp | 6 ------ .../ios/react/renderer/imagemanager/ImageManager.mm | 5 ----- 5 files changed, 4 insertions(+), 32 deletions(-) diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp b/packages/react-native/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp index 2edcf9a0a49..333d9b87e66 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp @@ -71,17 +71,10 @@ void ImageShadowNode::updateStateIfNeeded() { return; } - auto state = ImageState{ + ImageState state{ newImageSource, imageManager_->requestImage( - newImageSource, - getSurfaceId() -#ifdef ANDROID - , - newImageRequestParams, - getTag() -#endif - ), + newImageSource, getSurfaceId(), newImageRequestParams, getTag()), newImageRequestParams}; setStateData(std::move(state)); } diff --git a/packages/react-native/ReactCommon/react/renderer/imagemanager/ImageManager.h b/packages/react-native/ReactCommon/react/renderer/imagemanager/ImageManager.h index ff0bc9f1011..a747552e06c 100644 --- a/packages/react-native/ReactCommon/react/renderer/imagemanager/ImageManager.h +++ b/packages/react-native/ReactCommon/react/renderer/imagemanager/ImageManager.h @@ -24,15 +24,11 @@ class ImageManager { ImageManager(const std::shared_ptr& contextContainer); virtual ~ImageManager(); - virtual ImageRequest requestImage( - const ImageSource& imageSource, - SurfaceId surfaceId) const; - virtual ImageRequest requestImage( const ImageSource& imageSource, SurfaceId surfaceId, - const ImageRequestParams& imageRequestParams, - Tag tag) const; + const ImageRequestParams& imageRequestParams = {}, + Tag tag = {}) const; private: void* self_{}; 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 585b1dfd5c3..54586e46e68 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 @@ -20,12 +20,6 @@ ImageManager::~ImageManager() { delete static_cast(self_); } -ImageRequest ImageManager::requestImage( - const ImageSource& imageSource, - SurfaceId surfaceId) const { - return requestImage(imageSource, surfaceId, ImageRequestParams{}, {}); -} - ImageRequest ImageManager::requestImage( const ImageSource& imageSource, SurfaceId surfaceId, 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 3ab23dbdaf0..604eb031600 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 @@ -20,12 +20,6 @@ ImageManager::~ImageManager() { // Not implemented. } -ImageRequest ImageManager::requestImage( - const ImageSource& imageSource, - SurfaceId surfaceId) const { - return requestImage(imageSource, surfaceId, ImageRequestParams{}, {}); -} - ImageRequest ImageManager::requestImage( const ImageSource& imageSource, SurfaceId /*surfaceId*/, 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 900302b7875..7e15cdf0a4f 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 @@ -34,11 +34,6 @@ ImageManager::~ImageManager() self_ = nullptr; } -ImageRequest ImageManager::requestImage(const ImageSource &imageSource, SurfaceId surfaceId) const -{ - return requestImage(imageSource, surfaceId, ImageRequestParams{}, {}); -} - ImageRequest ImageManager::requestImage( const ImageSource &imageSource, SurfaceId surfaceId,