From 1395ed29ae0d10ff01dcba4dd0acdf9feb9db58b Mon Sep 17 00:00:00 2001 From: Ramanpreet Nara Date: Sun, 30 Apr 2023 03:28:33 -0700 Subject: [PATCH] Create gating to route all TurboModules through interop (#37153) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/37153 Changelog: [Internal] Reviewed By: philIip Differential Revision: D45329538 fbshipit-source-id: b79ef27544695dfc1cd6c25622c1971e151863d2 --- packages/react-native/React/Base/RCTBridge.h | 4 ++++ packages/react-native/React/Base/RCTBridge.m | 10 ++++++++++ 2 files changed, 14 insertions(+) diff --git a/packages/react-native/React/Base/RCTBridge.h b/packages/react-native/React/Base/RCTBridge.h index b41ef842720..0f2779c82b9 100644 --- a/packages/react-native/React/Base/RCTBridge.h +++ b/packages/react-native/React/Base/RCTBridge.h @@ -60,6 +60,10 @@ RCT_EXTERN void RCTDisableTurboModuleManagerDelegateLocking(BOOL enabled); RCT_EXTERN BOOL RCTTurboModuleInteropEnabled(void); RCT_EXTERN void RCTEnableTurboModuleInterop(BOOL enabled); +// Route all TurboModules through TurboModule interop +RCT_EXTERN BOOL RCTTurboModuleInteropForAllTurboModulesEnabled(void); +RCT_EXTERN void RCTEnableTurboModuleInteropForAllTurboModules(BOOL enabled); + typedef enum { kRCTGlobalScope, kRCTGlobalScopeUsingRetainJSCallback, diff --git a/packages/react-native/React/Base/RCTBridge.m b/packages/react-native/React/Base/RCTBridge.m index 2203478da30..360fc86d2b5 100644 --- a/packages/react-native/React/Base/RCTBridge.m +++ b/packages/react-native/React/Base/RCTBridge.m @@ -130,6 +130,16 @@ void RCTEnableTurboModuleInterop(BOOL enabled) turboModuleInteropEnabled = enabled; } +static BOOL useTurboModuleInteropForAllTurboModules = NO; +BOOL RCTTurboModuleInteropForAllTurboModulesEnabled(void) +{ + return useTurboModuleInteropForAllTurboModules; +} +void RCTEnableTurboModuleInteropForAllTurboModules(BOOL enabled) +{ + useTurboModuleInteropForAllTurboModules = enabled; +} + @interface RCTBridge () @end