Skip to content

Commit 55f75df

Browse files
Dan Zimmermanfacebook-github-bot
authored andcommitted
Remove the experimental concept of whitelisted modules
Reviewed By: dcaspi Differential Revision: D6124036 fbshipit-source-id: af3771ce2204b3695f79265d5aade7e321e12a3e
1 parent fe792f5 commit 55f75df

File tree

5 files changed

+2
-82
lines changed

5 files changed

+2
-82
lines changed

React/Base/RCTBatchedBridge.mm

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -246,17 +246,7 @@ - (BOOL)moduleIsInitialized:(Class)moduleClass
246246

247247
- (NSArray *)configForModuleName:(NSString *)moduleName
248248
{
249-
RCTModuleData *moduleData = _moduleDataByName[moduleName];
250-
if (moduleData) {
251-
#if RCT_DEV
252-
if ([self.delegate respondsToSelector:@selector(whitelistedModulesForBridge:)]) {
253-
NSArray *whitelisted = [self.delegate whitelistedModulesForBridge:self];
254-
RCTAssert(!whitelisted || [whitelisted containsObject:[moduleData moduleClass]],
255-
@"Required config for %@, which was not whitelisted", moduleName);
256-
}
257-
#endif
258-
}
259-
return moduleData.config;
249+
return _moduleDataByName[moduleName].config;
260250
}
261251

262252
- (void)initModulesWithDispatchGroup:(dispatch_group_t)dispatchGroup
@@ -399,11 +389,6 @@ - (void)prepareModulesWithDispatchGroup:(dispatch_group_t)dispatchGroup
399389
{
400390
RCT_PROFILE_BEGIN_EVENT(0, @"-[RCTBatchedBridge prepareModulesWithDispatch]", nil);
401391

402-
NSArray<Class> *whitelistedModules = nil;
403-
if ([self.delegate respondsToSelector:@selector(whitelistedModulesForBridge:)]) {
404-
whitelistedModules = [self.delegate whitelistedModulesForBridge:self];
405-
}
406-
407392
BOOL initializeImmediately = NO;
408393
if (dispatchGroup == NULL) {
409394
// If no dispatchGroup is passed in, we must prepare everything immediately.
@@ -414,10 +399,6 @@ - (void)prepareModulesWithDispatchGroup:(dispatch_group_t)dispatchGroup
414399

415400
// Set up modules that require main thread init or constants export
416401
for (RCTModuleData *moduleData in _moduleDataByID) {
417-
if (whitelistedModules && ![whitelistedModules containsObject:[moduleData moduleClass]]) {
418-
continue;
419-
}
420-
421402
if (moduleData.requiresMainQueueSetup || moduleData.hasConstantsToExport) {
422403
// Modules that need to be set up on the main thread cannot be initialized
423404
// lazily when required without doing a dispatch_sync to the main thread,
@@ -450,12 +431,6 @@ - (void)prepareModulesWithDispatchGroup:(dispatch_group_t)dispatchGroup
450431
RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
451432
}
452433

453-
- (void)whitelistedModulesDidChange
454-
{
455-
RCTAssertMainQueue();
456-
[self prepareModulesWithDispatchGroup:NULL];
457-
}
458-
459434
- (void)setUpExecutor
460435
{
461436
[_javaScriptExecutor setUp];

React/Base/RCTBridge.h

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -161,17 +161,6 @@ RCT_EXTERN NSString *RCTBridgeModuleNameForClass(Class bridgeModuleClass);
161161
*/
162162
- (BOOL)moduleIsInitialized:(Class)moduleClass;
163163

164-
/**
165-
* Call when your delegate's `whitelistedModulesForBridge:` value has changed.
166-
* In response to this, the bridge will immediately instantiate any (whitelisted)
167-
* native modules that require main thread initialization. Modules that do not require
168-
* main thread initialization will still be created lazily.
169-
*
170-
* This method must be called on the main thread, as any pending native modules
171-
* will be initialized immediately.
172-
*/
173-
- (void)whitelistedModulesDidChange;
174-
175164
/**
176165
* All registered bridge module classes.
177166
*/

React/Base/RCTBridge.m

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -252,11 +252,6 @@ - (BOOL)moduleIsInitialized:(Class)moduleClass
252252
return [self.batchedBridge moduleIsInitialized:moduleClass];
253253
}
254254

255-
- (void)whitelistedModulesDidChange
256-
{
257-
[self.batchedBridge whitelistedModulesDidChange];
258-
}
259-
260255
- (void)reload
261256
{
262257
#if RCT_ENABLE_INSPECTOR

React/Base/RCTBridgeDelegate.h

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -40,20 +40,6 @@
4040
*/
4141
- (NSArray<id<RCTBridgeModule>> *)extraModulesForBridge:(RCTBridge *)bridge;
4242

43-
/**
44-
* Customize how bridge native modules are initialized.
45-
*
46-
* By default all modules are created lazily except those that have constants to export
47-
* or require main thread initialization. If you want to limit the set of native
48-
* modules that this should be considered for, implement this method.
49-
*
50-
* Return nil to whitelist all modules found. Modules passed in extraModulesForBridge:
51-
* are automatically whitelisted.
52-
*
53-
* @experimental
54-
*/
55-
- (NSArray<Class> *)whitelistedModulesForBridge:(RCTBridge *)bridge;
56-
5743
/**
5844
* Configure whether the JSCExecutor created should use the system JSC API or
5945
* alternative hooks provided. When returning YES from this method, you must have

React/CxxBridge/RCTCxxBridge.mm

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -522,17 +522,7 @@ - (void)_initializeBridge:(std::shared_ptr<JSExecutorFactory>)executorFactory
522522

523523
- (NSArray *)configForModuleName:(NSString *)moduleName
524524
{
525-
RCTModuleData *moduleData = _moduleDataByName[moduleName];
526-
if (moduleData) {
527-
#if RCT_DEV
528-
if ([self.delegate respondsToSelector:@selector(whitelistedModulesForBridge:)]) {
529-
NSArray *whitelisted = [self.delegate whitelistedModulesForBridge:self];
530-
RCTAssert(!whitelisted || [whitelisted containsObject:[moduleData moduleClass]],
531-
@"Required config for %@, which was not whitelisted", moduleName);
532-
}
533-
#endif
534-
}
535-
return moduleData.config;
525+
return _moduleDataByName[moduleName].config;
536526
}
537527

538528
- (NSArray<RCTModuleData *> *)registerModulesForClasses:(NSArray<Class> *)moduleClasses
@@ -695,11 +685,6 @@ - (void)_prepareModulesWithDispatchGroup:(dispatch_group_t)dispatchGroup
695685
{
696686
RCT_PROFILE_BEGIN_EVENT(0, @"-[RCTBatchedBridge prepareModulesWithDispatch]", nil);
697687

698-
NSArray<Class> *whitelistedModules = nil;
699-
if ([self.delegate respondsToSelector:@selector(whitelistedModulesForBridge:)]) {
700-
whitelistedModules = [self.delegate whitelistedModulesForBridge:self];
701-
}
702-
703688
BOOL initializeImmediately = NO;
704689
if (dispatchGroup == NULL) {
705690
// If no dispatchGroup is passed in, we must prepare everything immediately.
@@ -712,10 +697,6 @@ - (void)_prepareModulesWithDispatchGroup:(dispatch_group_t)dispatchGroup
712697
[_performanceLogger setValue:0 forTag:RCTPLNativeModuleMainThread];
713698

714699
for (RCTModuleData *moduleData in _moduleDataByID) {
715-
if (whitelistedModules && ![whitelistedModules containsObject:[moduleData moduleClass]]) {
716-
continue;
717-
}
718-
719700
if (moduleData.requiresMainQueueSetup) {
720701
// Modules that need to be set up on the main thread cannot be initialized
721702
// lazily when required without doing a dispatch_sync to the main thread,
@@ -747,12 +728,6 @@ - (void)_prepareModulesWithDispatchGroup:(dispatch_group_t)dispatchGroup
747728
RCT_PROFILE_END_EVENT(RCTProfileTagAlways, @"");
748729
}
749730

750-
- (void)whitelistedModulesDidChange
751-
{
752-
RCTAssertMainQueue();
753-
[self _prepareModulesWithDispatchGroup:NULL];
754-
}
755-
756731
- (void)registerModuleForFrameUpdates:(id<RCTBridgeModule>)module
757732
withModuleData:(RCTModuleData *)moduleData
758733
{

0 commit comments

Comments
 (0)