diff --git a/React/Base/RCTBatchedBridge.mm b/React/Base/RCTBatchedBridge.mm index 0b9375252..b1303c5de 100644 --- a/React/Base/RCTBatchedBridge.mm +++ b/React/Base/RCTBatchedBridge.mm @@ -246,17 +246,7 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithBundleURL:(__unused NSURL *)bundleUR - (NSArray *)configForModuleName:(NSString *)moduleName { - RCTModuleData *moduleData = _moduleDataByName[moduleName]; - if (moduleData) { -#if RCT_DEV - if ([self.delegate respondsToSelector:@selector(whitelistedModulesForBridge:)]) { - NSArray *whitelisted = [self.delegate whitelistedModulesForBridge:self]; - RCTAssert(!whitelisted || [whitelisted containsObject:[moduleData moduleClass]], - @"Required config for %@, which was not whitelisted", moduleName); - } -#endif - } - return moduleData.config; + return _moduleDataByName[moduleName].config; } - (void)initModulesWithDispatchGroup:(dispatch_group_t)dispatchGroup @@ -399,11 +389,6 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithBundleURL:(__unused NSURL *)bundleUR { RCT_PROFILE_BEGIN_EVENT(0, @"-[RCTBatchedBridge prepareModulesWithDispatch]", nil); - NSArray *whitelistedModules = nil; - if ([self.delegate respondsToSelector:@selector(whitelistedModulesForBridge:)]) { - whitelistedModules = [self.delegate whitelistedModulesForBridge:self]; - } - BOOL initializeImmediately = NO; if (dispatchGroup == NULL) { // If no dispatchGroup is passed in, we must prepare everything immediately. @@ -414,10 +399,6 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithBundleURL:(__unused NSURL *)bundleUR // Set up modules that require main thread init or constants export for (RCTModuleData *moduleData in _moduleDataByID) { - if (whitelistedModules && ![whitelistedModules containsObject:[moduleData moduleClass]]) { - continue; - } - if (moduleData.requiresMainQueueSetup || moduleData.hasConstantsToExport) { // Modules that need to be set up on the main thread cannot be initialized // lazily when required without doing a dispatch_sync to the main thread, @@ -450,12 +431,6 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithBundleURL:(__unused NSURL *)bundleUR RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @""); } -- (void)whitelistedModulesDidChange -{ - RCTAssertMainQueue(); - [self prepareModulesWithDispatchGroup:NULL]; -} - - (void)setUpExecutor { [_javaScriptExecutor setUp]; diff --git a/React/Base/RCTBridge.h b/React/Base/RCTBridge.h index 214714f64..4d61b9e0c 100644 --- a/React/Base/RCTBridge.h +++ b/React/Base/RCTBridge.h @@ -161,17 +161,6 @@ RCT_EXTERN NSString *RCTBridgeModuleNameForClass(Class bridgeModuleClass); */ - (BOOL)moduleIsInitialized:(Class)moduleClass; -/** - * Call when your delegate's `whitelistedModulesForBridge:` value has changed. - * In response to this, the bridge will immediately instantiate any (whitelisted) - * native modules that require main thread initialization. Modules that do not require - * main thread initialization will still be created lazily. - * - * This method must be called on the main thread, as any pending native modules - * will be initialized immediately. - */ -- (void)whitelistedModulesDidChange; - /** * All registered bridge module classes. */ diff --git a/React/Base/RCTBridge.m b/React/Base/RCTBridge.m index e9b6b87fa..bdf741008 100644 --- a/React/Base/RCTBridge.m +++ b/React/Base/RCTBridge.m @@ -252,11 +252,6 @@ RCT_NOT_IMPLEMENTED(- (instancetype)init) return [self.batchedBridge moduleIsInitialized:moduleClass]; } -- (void)whitelistedModulesDidChange -{ - [self.batchedBridge whitelistedModulesDidChange]; -} - - (void)reload { #if RCT_ENABLE_INSPECTOR diff --git a/React/Base/RCTBridgeDelegate.h b/React/Base/RCTBridgeDelegate.h index a728d9ee8..0154f0a66 100644 --- a/React/Base/RCTBridgeDelegate.h +++ b/React/Base/RCTBridgeDelegate.h @@ -40,20 +40,6 @@ */ - (NSArray> *)extraModulesForBridge:(RCTBridge *)bridge; -/** - * Customize how bridge native modules are initialized. - * - * By default all modules are created lazily except those that have constants to export - * or require main thread initialization. If you want to limit the set of native - * modules that this should be considered for, implement this method. - * - * Return nil to whitelist all modules found. Modules passed in extraModulesForBridge: - * are automatically whitelisted. - * - * @experimental - */ -- (NSArray *)whitelistedModulesForBridge:(RCTBridge *)bridge; - /** * Configure whether the JSCExecutor created should use the system JSC API or * alternative hooks provided. When returning YES from this method, you must have diff --git a/React/CxxBridge/RCTCxxBridge.mm b/React/CxxBridge/RCTCxxBridge.mm index 2a844c397..24cf7f6c1 100644 --- a/React/CxxBridge/RCTCxxBridge.mm +++ b/React/CxxBridge/RCTCxxBridge.mm @@ -522,17 +522,7 @@ struct RCTInstanceCallback : public InstanceCallback { - (NSArray *)configForModuleName:(NSString *)moduleName { - RCTModuleData *moduleData = _moduleDataByName[moduleName]; - if (moduleData) { -#if RCT_DEV - if ([self.delegate respondsToSelector:@selector(whitelistedModulesForBridge:)]) { - NSArray *whitelisted = [self.delegate whitelistedModulesForBridge:self]; - RCTAssert(!whitelisted || [whitelisted containsObject:[moduleData moduleClass]], - @"Required config for %@, which was not whitelisted", moduleName); - } -#endif - } - return moduleData.config; + return _moduleDataByName[moduleName].config; } - (NSArray *)registerModulesForClasses:(NSArray *)moduleClasses @@ -695,11 +685,6 @@ struct RCTInstanceCallback : public InstanceCallback { { RCT_PROFILE_BEGIN_EVENT(0, @"-[RCTBatchedBridge prepareModulesWithDispatch]", nil); - NSArray *whitelistedModules = nil; - if ([self.delegate respondsToSelector:@selector(whitelistedModulesForBridge:)]) { - whitelistedModules = [self.delegate whitelistedModulesForBridge:self]; - } - BOOL initializeImmediately = NO; if (dispatchGroup == NULL) { // If no dispatchGroup is passed in, we must prepare everything immediately. @@ -712,10 +697,6 @@ struct RCTInstanceCallback : public InstanceCallback { [_performanceLogger setValue:0 forTag:RCTPLNativeModuleMainThread]; for (RCTModuleData *moduleData in _moduleDataByID) { - if (whitelistedModules && ![whitelistedModules containsObject:[moduleData moduleClass]]) { - continue; - } - if (moduleData.requiresMainQueueSetup) { // Modules that need to be set up on the main thread cannot be initialized // lazily when required without doing a dispatch_sync to the main thread, @@ -747,12 +728,6 @@ struct RCTInstanceCallback : public InstanceCallback { RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @""); } -- (void)whitelistedModulesDidChange -{ - RCTAssertMainQueue(); - [self _prepareModulesWithDispatchGroup:NULL]; -} - - (void)registerModuleForFrameUpdates:(id)module withModuleData:(RCTModuleData *)moduleData {