Skip to content

Commit d2a8222

Browse files
realsoelynnfacebook-github-bot
authored andcommitted
Back out "Update useNativeViewConfigsInBridgelessMode" (facebook#43883)
Summary: Pull Request resolved: facebook#43883 Changelog: [Internal] Backing out original diff `D55705805` to fix CircleCI Dynamic library test failure Reviewed By: philIip Differential Revision: D55773581 fbshipit-source-id: 2ec1b82241389166c1c31c979106c4ee6ead83fe
1 parent b5db214 commit d2a8222

File tree

6 files changed

+31
-25
lines changed

6 files changed

+31
-25
lines changed

packages/react-native/Libraries/AppDelegate/RCTAppDelegate.mm

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,6 @@ - (RCTRootViewFactory *)createRCTRootViewFactory
298298

299299
class RCTAppDelegateBridgelessFeatureFlags : public facebook::react::ReactNativeFeatureFlagsDefaults {
300300
public:
301-
RCTAppDelegateBridgelessFeatureFlags(bool fabricEnabled) : _fabricEnabled(fabricEnabled) {}
302301
bool useModernRuntimeScheduler() override
303302
{
304303
return true;
@@ -311,20 +310,12 @@ bool batchRenderingUpdatesInEventLoop() override
311310
{
312311
return true;
313312
}
314-
bool useNativeViewConfigsInBridgelessMode() override
315-
{
316-
return _fabricEnabled;
317-
}
318-
319-
private:
320-
bool _fabricEnabled;
321313
};
322314

323315
- (void)_setUpFeatureFlags
324316
{
325317
if ([self bridgelessEnabled]) {
326-
facebook::react::ReactNativeFeatureFlags::override(
327-
std::make_unique<RCTAppDelegateBridgelessFeatureFlags>(self.fabricEnabled));
318+
facebook::react::ReactNativeFeatureFlags::override(std::make_unique<RCTAppDelegateBridgelessFeatureFlags>());
328319
}
329320
}
330321

packages/react-native/Libraries/AppDelegate/RCTRootViewFactory.mm

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,9 +113,12 @@ - (UIView *)viewWithModuleName:(NSString *)moduleName
113113
initialProperties:(NSDictionary *)initialProperties
114114
launchOptions:(NSDictionary *)launchOptions
115115
{
116-
NSDictionary *initProps = updateInitialProps(initialProperties, _configuration.fabricEnabled);
116+
NSDictionary *initProps = updateInitialProps(initialProperties, self->_configuration.fabricEnabled);
117+
118+
if (self->_configuration.bridgelessEnabled) {
119+
// Enable native view config interop only if both bridgeless mode and Fabric is enabled.
120+
RCTSetUseNativeViewConfigsInBridgelessMode(self->_configuration.fabricEnabled);
117121

118-
if (_configuration.bridgelessEnabled) {
119122
// Enable TurboModule interop by default in Bridgeless mode
120123
RCTEnableTurboModuleInterop(YES);
121124
RCTEnableTurboModuleInteropBridgeProxy(YES);
@@ -135,8 +138,8 @@ - (UIView *)viewWithModuleName:(NSString *)moduleName
135138
[self createBridgeIfNeeded:launchOptions];
136139
[self createBridgeAdapterIfNeeded];
137140

138-
if (_configuration.createRootViewWithBridge != nil) {
139-
return _configuration.createRootViewWithBridge(self.bridge, moduleName, initProps);
141+
if (self->_configuration.createRootViewWithBridge != nil) {
142+
return self->_configuration.createRootViewWithBridge(self.bridge, moduleName, initProps);
140143
}
141144

142145
return [self createRootViewWithBridge:self.bridge moduleName:moduleName initProps:initProps];

packages/react-native/React/Base/RCTConstants.m

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,18 @@ void RCTSetMemoryPressureUnloadLevel(int value)
5151
{
5252
RCTMemoryPressureUnloadLevel = value;
5353
}
54+
55+
/*
56+
* Use native view configs in bridgeless mode
57+
*/
58+
static BOOL RCTUseNativeViewConfigsInBridgelessMode = NO;
59+
60+
BOOL RCTGetUseNativeViewConfigsInBridgelessMode(void)
61+
{
62+
return RCTUseNativeViewConfigsInBridgelessMode;
63+
}
64+
65+
void RCTSetUseNativeViewConfigsInBridgelessMode(BOOL value)
66+
{
67+
RCTUseNativeViewConfigsInBridgelessMode = value;
68+
}

packages/react-native/React/Modules/RCTUIManager.mm renamed to packages/react-native/React/Modules/RCTUIManager.m

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
#import <AVFoundation/AVFoundation.h>
1111
#import <React/RCTSurfacePresenterStub.h>
12-
#import <react/featureflags/ReactNativeFeatureFlags.h>
1312

1413
#import "RCTAssert.h"
1514
#import "RCTBridge+Private.h"
@@ -1151,10 +1150,10 @@ - (void)flushUIBlocksWithCompletion:(void (^)(void))completion
11511150
return;
11521151
}
11531152

1154-
__weak __typeof(self) weakSelf = self;
1153+
__weak typeof(self) weakSelf = self;
11551154

11561155
void (^mountingBlock)(void) = ^{
1157-
__typeof(self) strongSelf = weakSelf;
1156+
typeof(self) strongSelf = weakSelf;
11581157

11591158
@try {
11601159
for (RCTViewManagerUIBlock block in previousPendingUIBlocks) {
@@ -1453,7 +1452,7 @@ static void RCTMeasureLayout(RCTShadowView *view, RCTShadowView *ancestor, RCTRe
14531452
// lazifyViewManagerConfig function in JS. This fuction uses NativeModules global object that is not available in the
14541453
// New Architecture. To make native view configs work in the New Architecture we will populate these properties in
14551454
// native.
1456-
if (facebook::react::ReactNativeFeatureFlags::useNativeViewConfigsInBridgelessMode()) {
1455+
if (RCTGetUseNativeViewConfigsInBridgelessMode()) {
14571456
moduleConstants[@"Commands"] = viewConfig[@"Commands"];
14581457
moduleConstants[@"Constants"] = viewConfig[@"Constants"];
14591458
}

packages/react-native/React/Views/RCTComponentData.mm renamed to packages/react-native/React/Views/RCTComponentData.m

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
#import "RCTComponentData.h"
99

1010
#import <objc/message.h>
11-
#import <react/featureflags/ReactNativeFeatureFlags.h>
1211

1312
#import "RCTBridge.h"
1413
#import "RCTBridgeModule.h"
@@ -281,9 +280,9 @@ - (RCTPropBlock)createPropBlock:(NSString *)name isShadowView:(BOOL)isShadowView
281280
case _value: { \
282281
__block BOOL setDefaultValue = NO; \
283282
__block _type defaultValue; \
284-
_type (*convert)(id, SEL, id) = (__typeof(convert))objc_msgSend; \
285-
_type (*get)(id, SEL) = (__typeof(get))objc_msgSend; \
286-
void (*set)(id, SEL, _type) = (__typeof(set))objc_msgSend; \
283+
_type (*convert)(id, SEL, id) = (typeof(convert))objc_msgSend; \
284+
_type (*get)(id, SEL) = (typeof(get))objc_msgSend; \
285+
void (*set)(id, SEL, _type) = (typeof(set))objc_msgSend; \
287286
setterBlock = ^(id target, id json) { \
288287
if (json) { \
289288
if (!setDefaultValue && target) { \
@@ -502,7 +501,7 @@ - (void)setProps:(NSDictionary<NSString *, id> *)props forView:(id<RCTComponent>
502501
@"baseModuleName" : superClass == [NSObject class] ? (id)kCFNull : RCTViewManagerModuleNameForClass(superClass),
503502
}];
504503

505-
if (facebook::react::ReactNativeFeatureFlags::useNativeViewConfigsInBridgelessMode()) {
504+
if (RCTGetUseNativeViewConfigsInBridgelessMode()) {
506505
result[@"Commands"] = [self commandsForViewMangerClass:managerClass methods:methods methodCount:count];
507506
result[@"Constants"] = [self constantsForViewMangerClass:managerClass];
508507
}

packages/react-native/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@
3838
#import <cxxreact/ReactMarker.h>
3939
#import <jsinspector-modern/ReactCdp.h>
4040
#import <jsireact/JSIExecutor.h>
41-
#import <react/featureflags/ReactNativeFeatureFlags.h>
4241
#import <react/runtime/BridgelessJSCallInvoker.h>
4342
#import <react/utils/ContextContainer.h>
4443
#import <react/utils/ManagedObjectWrapper.h>
@@ -350,7 +349,7 @@ - (void)_start
350349
});
351350
RCTInstallNativeComponentRegistryBinding(runtime);
352351

353-
if (ReactNativeFeatureFlags::useNativeViewConfigsInBridgelessMode()) {
352+
if (RCTGetUseNativeViewConfigsInBridgelessMode()) {
354353
installLegacyUIManagerConstantsProviderBinding(runtime);
355354
}
356355

0 commit comments

Comments
 (0)