From 2596784358c2dc0b28ddf3c8fb3647adbbf855e2 Mon Sep 17 00:00:00 2001 From: Zeya Peng Date: Mon, 17 Mar 2025 07:26:09 -0700 Subject: [PATCH] Pass down jsi::Runtime to getModule() Summary: Changelog: [Internal] add `jsi::Runtime& runtime` arg to `CxxReactPackage::getModule` Differential Revision: D71155216 Privacy Context Container: L1295364 --- .../newarchdefaults/DefaultTurboModuleManagerDelegate.cpp | 5 +++-- .../newarchdefaults/DefaultTurboModuleManagerDelegate.h | 3 ++- .../runtime/cxxreactpackage/ReactCommon/CxxReactPackage.h | 4 +++- .../jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp | 2 +- .../turbomodule/ReactCommon/TurboModuleManagerDelegate.h | 3 ++- 5 files changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp index e2f8771c3a7191..dcc193fd86d4e8 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.cpp @@ -54,11 +54,12 @@ void DefaultTurboModuleManagerDelegate::registerNatives() { std::shared_ptr DefaultTurboModuleManagerDelegate::getTurboModule( const std::string& name, - const std::shared_ptr& jsInvoker) { + const std::shared_ptr& jsInvoker, + jsi::Runtime& runtime) { for (const auto& cxxReactPackage : cxxReactPackages_) { auto cppPart = cxxReactPackage->cthis(); if (cppPart) { - auto module = cppPart->getModule(name, jsInvoker); + auto module = cppPart->getModule(name, jsInvoker, runtime); if (module) { return module; } diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.h b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.h index 099c245f574df9..7b440f6d096dad 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/newarchdefaults/DefaultTurboModuleManagerDelegate.h @@ -42,7 +42,8 @@ class DefaultTurboModuleManagerDelegate : public jni::HybridClass< std::shared_ptr getTurboModule( const std::string& name, - const std::shared_ptr& jsInvoker) override; + const std::shared_ptr& jsInvoker, + jsi::Runtime& runtime) override; std::shared_ptr getTurboModule( const std::string& name, const JavaTurboModule::InitParams& params) override; diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/ReactCommon/CxxReactPackage.h b/packages/react-native/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/ReactCommon/CxxReactPackage.h index cdf1a86a7f4252..d5ac78244f6838 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/ReactCommon/CxxReactPackage.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/runtime/cxxreactpackage/ReactCommon/CxxReactPackage.h @@ -8,6 +8,7 @@ #pragma once #include +#include #include namespace facebook::react { @@ -22,7 +23,8 @@ class CxxReactPackage : public jni::HybridClass { virtual std::shared_ptr getModule( const std::string& name, - const std::shared_ptr& jsInvoker) = 0; + const std::shared_ptr& jsInvoker, + jsi::Runtime& runtime) = 0; private: friend HybridBase; diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp index 6a036308e4d5c6..67b3eb54eaf8e1 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManager.cpp @@ -163,7 +163,7 @@ std::shared_ptr TurboModuleManager::getTurboModule( auto cxxDelegate = delegate_->cthis(); - auto cxxModule = cxxDelegate->getTurboModule(name, jsCallInvoker_); + auto cxxModule = cxxDelegate->getTurboModule(name, jsCallInvoker_, runtime); if (cxxModule) { turboModuleCache_.insert({name, cxxModule}); return cxxModule; diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManagerDelegate.h b/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManagerDelegate.h index 0c387004da3b2d..ffd2e5bcc168a2 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManagerDelegate.h +++ b/packages/react-native/ReactAndroid/src/main/jni/react/turbomodule/ReactCommon/TurboModuleManagerDelegate.h @@ -26,7 +26,8 @@ class TurboModuleManagerDelegate const JavaTurboModule::InitParams& params) = 0; virtual std::shared_ptr getTurboModule( const std::string& name, - const std::shared_ptr& jsInvoker) = 0; + const std::shared_ptr& jsInvoker, + jsi::Runtime& runtime) = 0; private: friend HybridBase;