react-native 0.76.5 → 0.76.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Libraries/AppDelegate/RCTAppDelegate.mm +0 -5
- package/Libraries/AppDelegate/RCTAppSetupUtils.mm +3 -1
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +2 -3
- package/Libraries/Core/ReactNativeVersion.js +1 -1
- package/Libraries/Image/RCTImageLoader.mm +9 -1
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +1 -1
- package/Libraries/Utilities/Appearance.js +3 -1
- package/React/Base/RCTVersion.m +1 -1
- package/React/Base/Surface/SurfaceHostingView/RCTSurfaceHostingProxyRootView.mm +2 -5
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +4 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +12 -9
- package/ReactAndroid/api/ReactAndroid.api +2 -0
- package/ReactAndroid/cmake-utils/ReactNative-application.cmake +18 -3
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +15 -8
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +1 -7
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +1 -11
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +1 -12
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextAttributeProps.java +16 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +1 -0
- package/ReactAndroid/src/main/jni/react/fabric/Binding.cpp +17 -19
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +1 -15
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +1 -4
- package/ReactCommon/cxxreact/ReactNativeVersion.h +1 -1
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +1 -5
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +1 -6
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +47 -65
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +2 -4
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +1 -5
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +1 -2
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm +9 -0
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +1 -6
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +1 -3
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +5 -0
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.h +2 -0
- package/ReactCommon/react/renderer/attributedstring/conversions.h +5 -0
- package/ReactCommon/react/renderer/components/text/BaseTextProps.cpp +12 -0
- package/ReactCommon/react/renderer/textlayoutmanager/TextMeasureCache.h +2 -3
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +7 -3
- package/gradle/libs.versions.toml +1 -1
- package/package.json +8 -8
- package/scripts/cocoapods/utils.rb +6 -6
- package/scripts/codegen/generate-artifacts-executor.js +6 -6
- package/sdks/hermesc/linux64-bin/hermesc +0 -0
- package/sdks/hermesc/osx-bin/hermes +0 -0
- package/sdks/hermesc/osx-bin/hermesc +0 -0
- package/sdks/hermesc/win64-bin/hermesc.exe +0 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +1 -6
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +1 -2
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<4e9b371598ef4fbec6b6b9b826c5d193>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -47,24 +47,6 @@ bool ReactNativeFeatureFlagsAccessor::commonTestFlag() {
|
|
|
47
47
|
return flagValue.value();
|
|
48
48
|
}
|
|
49
49
|
|
|
50
|
-
bool ReactNativeFeatureFlagsAccessor::allowRecursiveCommitsWithSynchronousMountOnAndroid() {
|
|
51
|
-
auto flagValue = allowRecursiveCommitsWithSynchronousMountOnAndroid_.load();
|
|
52
|
-
|
|
53
|
-
if (!flagValue.has_value()) {
|
|
54
|
-
// This block is not exclusive but it is not necessary.
|
|
55
|
-
// If multiple threads try to initialize the feature flag, we would only
|
|
56
|
-
// be accessing the provider multiple times but the end state of this
|
|
57
|
-
// instance and the returned flag value would be the same.
|
|
58
|
-
|
|
59
|
-
markFlagAsAccessed(1, "allowRecursiveCommitsWithSynchronousMountOnAndroid");
|
|
60
|
-
|
|
61
|
-
flagValue = currentProvider_->allowRecursiveCommitsWithSynchronousMountOnAndroid();
|
|
62
|
-
allowRecursiveCommitsWithSynchronousMountOnAndroid_ = flagValue;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
return flagValue.value();
|
|
66
|
-
}
|
|
67
|
-
|
|
68
50
|
bool ReactNativeFeatureFlagsAccessor::batchRenderingUpdatesInEventLoop() {
|
|
69
51
|
auto flagValue = batchRenderingUpdatesInEventLoop_.load();
|
|
70
52
|
|
|
@@ -74,7 +56,7 @@ bool ReactNativeFeatureFlagsAccessor::batchRenderingUpdatesInEventLoop() {
|
|
|
74
56
|
// be accessing the provider multiple times but the end state of this
|
|
75
57
|
// instance and the returned flag value would be the same.
|
|
76
58
|
|
|
77
|
-
markFlagAsAccessed(
|
|
59
|
+
markFlagAsAccessed(1, "batchRenderingUpdatesInEventLoop");
|
|
78
60
|
|
|
79
61
|
flagValue = currentProvider_->batchRenderingUpdatesInEventLoop();
|
|
80
62
|
batchRenderingUpdatesInEventLoop_ = flagValue;
|
|
@@ -92,7 +74,7 @@ bool ReactNativeFeatureFlagsAccessor::completeReactInstanceCreationOnBgThreadOnA
|
|
|
92
74
|
// be accessing the provider multiple times but the end state of this
|
|
93
75
|
// instance and the returned flag value would be the same.
|
|
94
76
|
|
|
95
|
-
markFlagAsAccessed(
|
|
77
|
+
markFlagAsAccessed(2, "completeReactInstanceCreationOnBgThreadOnAndroid");
|
|
96
78
|
|
|
97
79
|
flagValue = currentProvider_->completeReactInstanceCreationOnBgThreadOnAndroid();
|
|
98
80
|
completeReactInstanceCreationOnBgThreadOnAndroid_ = flagValue;
|
|
@@ -110,7 +92,7 @@ bool ReactNativeFeatureFlagsAccessor::destroyFabricSurfacesInReactInstanceManage
|
|
|
110
92
|
// be accessing the provider multiple times but the end state of this
|
|
111
93
|
// instance and the returned flag value would be the same.
|
|
112
94
|
|
|
113
|
-
markFlagAsAccessed(
|
|
95
|
+
markFlagAsAccessed(3, "destroyFabricSurfacesInReactInstanceManager");
|
|
114
96
|
|
|
115
97
|
flagValue = currentProvider_->destroyFabricSurfacesInReactInstanceManager();
|
|
116
98
|
destroyFabricSurfacesInReactInstanceManager_ = flagValue;
|
|
@@ -128,7 +110,7 @@ bool ReactNativeFeatureFlagsAccessor::enableAlignItemsBaselineOnFabricIOS() {
|
|
|
128
110
|
// be accessing the provider multiple times but the end state of this
|
|
129
111
|
// instance and the returned flag value would be the same.
|
|
130
112
|
|
|
131
|
-
markFlagAsAccessed(
|
|
113
|
+
markFlagAsAccessed(4, "enableAlignItemsBaselineOnFabricIOS");
|
|
132
114
|
|
|
133
115
|
flagValue = currentProvider_->enableAlignItemsBaselineOnFabricIOS();
|
|
134
116
|
enableAlignItemsBaselineOnFabricIOS_ = flagValue;
|
|
@@ -146,7 +128,7 @@ bool ReactNativeFeatureFlagsAccessor::enableAndroidMixBlendModeProp() {
|
|
|
146
128
|
// be accessing the provider multiple times but the end state of this
|
|
147
129
|
// instance and the returned flag value would be the same.
|
|
148
130
|
|
|
149
|
-
markFlagAsAccessed(
|
|
131
|
+
markFlagAsAccessed(5, "enableAndroidMixBlendModeProp");
|
|
150
132
|
|
|
151
133
|
flagValue = currentProvider_->enableAndroidMixBlendModeProp();
|
|
152
134
|
enableAndroidMixBlendModeProp_ = flagValue;
|
|
@@ -164,7 +146,7 @@ bool ReactNativeFeatureFlagsAccessor::enableBackgroundStyleApplicator() {
|
|
|
164
146
|
// be accessing the provider multiple times but the end state of this
|
|
165
147
|
// instance and the returned flag value would be the same.
|
|
166
148
|
|
|
167
|
-
markFlagAsAccessed(
|
|
149
|
+
markFlagAsAccessed(6, "enableBackgroundStyleApplicator");
|
|
168
150
|
|
|
169
151
|
flagValue = currentProvider_->enableBackgroundStyleApplicator();
|
|
170
152
|
enableBackgroundStyleApplicator_ = flagValue;
|
|
@@ -182,7 +164,7 @@ bool ReactNativeFeatureFlagsAccessor::enableCleanTextInputYogaNode() {
|
|
|
182
164
|
// be accessing the provider multiple times but the end state of this
|
|
183
165
|
// instance and the returned flag value would be the same.
|
|
184
166
|
|
|
185
|
-
markFlagAsAccessed(
|
|
167
|
+
markFlagAsAccessed(7, "enableCleanTextInputYogaNode");
|
|
186
168
|
|
|
187
169
|
flagValue = currentProvider_->enableCleanTextInputYogaNode();
|
|
188
170
|
enableCleanTextInputYogaNode_ = flagValue;
|
|
@@ -200,7 +182,7 @@ bool ReactNativeFeatureFlagsAccessor::enableEagerRootViewAttachment() {
|
|
|
200
182
|
// be accessing the provider multiple times but the end state of this
|
|
201
183
|
// instance and the returned flag value would be the same.
|
|
202
184
|
|
|
203
|
-
markFlagAsAccessed(
|
|
185
|
+
markFlagAsAccessed(8, "enableEagerRootViewAttachment");
|
|
204
186
|
|
|
205
187
|
flagValue = currentProvider_->enableEagerRootViewAttachment();
|
|
206
188
|
enableEagerRootViewAttachment_ = flagValue;
|
|
@@ -218,7 +200,7 @@ bool ReactNativeFeatureFlagsAccessor::enableEventEmitterRetentionDuringGesturesO
|
|
|
218
200
|
// be accessing the provider multiple times but the end state of this
|
|
219
201
|
// instance and the returned flag value would be the same.
|
|
220
202
|
|
|
221
|
-
markFlagAsAccessed(
|
|
203
|
+
markFlagAsAccessed(9, "enableEventEmitterRetentionDuringGesturesOnAndroid");
|
|
222
204
|
|
|
223
205
|
flagValue = currentProvider_->enableEventEmitterRetentionDuringGesturesOnAndroid();
|
|
224
206
|
enableEventEmitterRetentionDuringGesturesOnAndroid_ = flagValue;
|
|
@@ -236,7 +218,7 @@ bool ReactNativeFeatureFlagsAccessor::enableFabricLogs() {
|
|
|
236
218
|
// be accessing the provider multiple times but the end state of this
|
|
237
219
|
// instance and the returned flag value would be the same.
|
|
238
220
|
|
|
239
|
-
markFlagAsAccessed(
|
|
221
|
+
markFlagAsAccessed(10, "enableFabricLogs");
|
|
240
222
|
|
|
241
223
|
flagValue = currentProvider_->enableFabricLogs();
|
|
242
224
|
enableFabricLogs_ = flagValue;
|
|
@@ -254,7 +236,7 @@ bool ReactNativeFeatureFlagsAccessor::enableFabricRendererExclusively() {
|
|
|
254
236
|
// be accessing the provider multiple times but the end state of this
|
|
255
237
|
// instance and the returned flag value would be the same.
|
|
256
238
|
|
|
257
|
-
markFlagAsAccessed(
|
|
239
|
+
markFlagAsAccessed(11, "enableFabricRendererExclusively");
|
|
258
240
|
|
|
259
241
|
flagValue = currentProvider_->enableFabricRendererExclusively();
|
|
260
242
|
enableFabricRendererExclusively_ = flagValue;
|
|
@@ -272,7 +254,7 @@ bool ReactNativeFeatureFlagsAccessor::enableGranularShadowTreeStateReconciliatio
|
|
|
272
254
|
// be accessing the provider multiple times but the end state of this
|
|
273
255
|
// instance and the returned flag value would be the same.
|
|
274
256
|
|
|
275
|
-
markFlagAsAccessed(
|
|
257
|
+
markFlagAsAccessed(12, "enableGranularShadowTreeStateReconciliation");
|
|
276
258
|
|
|
277
259
|
flagValue = currentProvider_->enableGranularShadowTreeStateReconciliation();
|
|
278
260
|
enableGranularShadowTreeStateReconciliation_ = flagValue;
|
|
@@ -290,7 +272,7 @@ bool ReactNativeFeatureFlagsAccessor::enableIOSViewClipToPaddingBox() {
|
|
|
290
272
|
// be accessing the provider multiple times but the end state of this
|
|
291
273
|
// instance and the returned flag value would be the same.
|
|
292
274
|
|
|
293
|
-
markFlagAsAccessed(
|
|
275
|
+
markFlagAsAccessed(13, "enableIOSViewClipToPaddingBox");
|
|
294
276
|
|
|
295
277
|
flagValue = currentProvider_->enableIOSViewClipToPaddingBox();
|
|
296
278
|
enableIOSViewClipToPaddingBox_ = flagValue;
|
|
@@ -308,7 +290,7 @@ bool ReactNativeFeatureFlagsAccessor::enableLayoutAnimationsOnIOS() {
|
|
|
308
290
|
// be accessing the provider multiple times but the end state of this
|
|
309
291
|
// instance and the returned flag value would be the same.
|
|
310
292
|
|
|
311
|
-
markFlagAsAccessed(
|
|
293
|
+
markFlagAsAccessed(14, "enableLayoutAnimationsOnIOS");
|
|
312
294
|
|
|
313
295
|
flagValue = currentProvider_->enableLayoutAnimationsOnIOS();
|
|
314
296
|
enableLayoutAnimationsOnIOS_ = flagValue;
|
|
@@ -326,7 +308,7 @@ bool ReactNativeFeatureFlagsAccessor::enableLongTaskAPI() {
|
|
|
326
308
|
// be accessing the provider multiple times but the end state of this
|
|
327
309
|
// instance and the returned flag value would be the same.
|
|
328
310
|
|
|
329
|
-
markFlagAsAccessed(
|
|
311
|
+
markFlagAsAccessed(15, "enableLongTaskAPI");
|
|
330
312
|
|
|
331
313
|
flagValue = currentProvider_->enableLongTaskAPI();
|
|
332
314
|
enableLongTaskAPI_ = flagValue;
|
|
@@ -344,7 +326,7 @@ bool ReactNativeFeatureFlagsAccessor::enableMicrotasks() {
|
|
|
344
326
|
// be accessing the provider multiple times but the end state of this
|
|
345
327
|
// instance and the returned flag value would be the same.
|
|
346
328
|
|
|
347
|
-
markFlagAsAccessed(
|
|
329
|
+
markFlagAsAccessed(16, "enableMicrotasks");
|
|
348
330
|
|
|
349
331
|
flagValue = currentProvider_->enableMicrotasks();
|
|
350
332
|
enableMicrotasks_ = flagValue;
|
|
@@ -362,7 +344,7 @@ bool ReactNativeFeatureFlagsAccessor::enablePropsUpdateReconciliationAndroid() {
|
|
|
362
344
|
// be accessing the provider multiple times but the end state of this
|
|
363
345
|
// instance and the returned flag value would be the same.
|
|
364
346
|
|
|
365
|
-
markFlagAsAccessed(
|
|
347
|
+
markFlagAsAccessed(17, "enablePropsUpdateReconciliationAndroid");
|
|
366
348
|
|
|
367
349
|
flagValue = currentProvider_->enablePropsUpdateReconciliationAndroid();
|
|
368
350
|
enablePropsUpdateReconciliationAndroid_ = flagValue;
|
|
@@ -380,7 +362,7 @@ bool ReactNativeFeatureFlagsAccessor::enableReportEventPaintTime() {
|
|
|
380
362
|
// be accessing the provider multiple times but the end state of this
|
|
381
363
|
// instance and the returned flag value would be the same.
|
|
382
364
|
|
|
383
|
-
markFlagAsAccessed(
|
|
365
|
+
markFlagAsAccessed(18, "enableReportEventPaintTime");
|
|
384
366
|
|
|
385
367
|
flagValue = currentProvider_->enableReportEventPaintTime();
|
|
386
368
|
enableReportEventPaintTime_ = flagValue;
|
|
@@ -398,7 +380,7 @@ bool ReactNativeFeatureFlagsAccessor::enableSynchronousStateUpdates() {
|
|
|
398
380
|
// be accessing the provider multiple times but the end state of this
|
|
399
381
|
// instance and the returned flag value would be the same.
|
|
400
382
|
|
|
401
|
-
markFlagAsAccessed(
|
|
383
|
+
markFlagAsAccessed(19, "enableSynchronousStateUpdates");
|
|
402
384
|
|
|
403
385
|
flagValue = currentProvider_->enableSynchronousStateUpdates();
|
|
404
386
|
enableSynchronousStateUpdates_ = flagValue;
|
|
@@ -416,7 +398,7 @@ bool ReactNativeFeatureFlagsAccessor::enableUIConsistency() {
|
|
|
416
398
|
// be accessing the provider multiple times but the end state of this
|
|
417
399
|
// instance and the returned flag value would be the same.
|
|
418
400
|
|
|
419
|
-
markFlagAsAccessed(
|
|
401
|
+
markFlagAsAccessed(20, "enableUIConsistency");
|
|
420
402
|
|
|
421
403
|
flagValue = currentProvider_->enableUIConsistency();
|
|
422
404
|
enableUIConsistency_ = flagValue;
|
|
@@ -434,7 +416,7 @@ bool ReactNativeFeatureFlagsAccessor::enableViewRecycling() {
|
|
|
434
416
|
// be accessing the provider multiple times but the end state of this
|
|
435
417
|
// instance and the returned flag value would be the same.
|
|
436
418
|
|
|
437
|
-
markFlagAsAccessed(
|
|
419
|
+
markFlagAsAccessed(21, "enableViewRecycling");
|
|
438
420
|
|
|
439
421
|
flagValue = currentProvider_->enableViewRecycling();
|
|
440
422
|
enableViewRecycling_ = flagValue;
|
|
@@ -452,7 +434,7 @@ bool ReactNativeFeatureFlagsAccessor::excludeYogaFromRawProps() {
|
|
|
452
434
|
// be accessing the provider multiple times but the end state of this
|
|
453
435
|
// instance and the returned flag value would be the same.
|
|
454
436
|
|
|
455
|
-
markFlagAsAccessed(
|
|
437
|
+
markFlagAsAccessed(22, "excludeYogaFromRawProps");
|
|
456
438
|
|
|
457
439
|
flagValue = currentProvider_->excludeYogaFromRawProps();
|
|
458
440
|
excludeYogaFromRawProps_ = flagValue;
|
|
@@ -470,7 +452,7 @@ bool ReactNativeFeatureFlagsAccessor::fetchImagesInViewPreallocation() {
|
|
|
470
452
|
// be accessing the provider multiple times but the end state of this
|
|
471
453
|
// instance and the returned flag value would be the same.
|
|
472
454
|
|
|
473
|
-
markFlagAsAccessed(
|
|
455
|
+
markFlagAsAccessed(23, "fetchImagesInViewPreallocation");
|
|
474
456
|
|
|
475
457
|
flagValue = currentProvider_->fetchImagesInViewPreallocation();
|
|
476
458
|
fetchImagesInViewPreallocation_ = flagValue;
|
|
@@ -488,7 +470,7 @@ bool ReactNativeFeatureFlagsAccessor::fixIncorrectScrollViewStateUpdateOnAndroid
|
|
|
488
470
|
// be accessing the provider multiple times but the end state of this
|
|
489
471
|
// instance and the returned flag value would be the same.
|
|
490
472
|
|
|
491
|
-
markFlagAsAccessed(
|
|
473
|
+
markFlagAsAccessed(24, "fixIncorrectScrollViewStateUpdateOnAndroid");
|
|
492
474
|
|
|
493
475
|
flagValue = currentProvider_->fixIncorrectScrollViewStateUpdateOnAndroid();
|
|
494
476
|
fixIncorrectScrollViewStateUpdateOnAndroid_ = flagValue;
|
|
@@ -506,7 +488,7 @@ bool ReactNativeFeatureFlagsAccessor::fixMappingOfEventPrioritiesBetweenFabricAn
|
|
|
506
488
|
// be accessing the provider multiple times but the end state of this
|
|
507
489
|
// instance and the returned flag value would be the same.
|
|
508
490
|
|
|
509
|
-
markFlagAsAccessed(
|
|
491
|
+
markFlagAsAccessed(25, "fixMappingOfEventPrioritiesBetweenFabricAndReact");
|
|
510
492
|
|
|
511
493
|
flagValue = currentProvider_->fixMappingOfEventPrioritiesBetweenFabricAndReact();
|
|
512
494
|
fixMappingOfEventPrioritiesBetweenFabricAndReact_ = flagValue;
|
|
@@ -524,7 +506,7 @@ bool ReactNativeFeatureFlagsAccessor::fixMissedFabricStateUpdatesOnAndroid() {
|
|
|
524
506
|
// be accessing the provider multiple times but the end state of this
|
|
525
507
|
// instance and the returned flag value would be the same.
|
|
526
508
|
|
|
527
|
-
markFlagAsAccessed(
|
|
509
|
+
markFlagAsAccessed(26, "fixMissedFabricStateUpdatesOnAndroid");
|
|
528
510
|
|
|
529
511
|
flagValue = currentProvider_->fixMissedFabricStateUpdatesOnAndroid();
|
|
530
512
|
fixMissedFabricStateUpdatesOnAndroid_ = flagValue;
|
|
@@ -542,7 +524,7 @@ bool ReactNativeFeatureFlagsAccessor::fixMountingCoordinatorReportedPendingTrans
|
|
|
542
524
|
// be accessing the provider multiple times but the end state of this
|
|
543
525
|
// instance and the returned flag value would be the same.
|
|
544
526
|
|
|
545
|
-
markFlagAsAccessed(
|
|
527
|
+
markFlagAsAccessed(27, "fixMountingCoordinatorReportedPendingTransactionsOnAndroid");
|
|
546
528
|
|
|
547
529
|
flagValue = currentProvider_->fixMountingCoordinatorReportedPendingTransactionsOnAndroid();
|
|
548
530
|
fixMountingCoordinatorReportedPendingTransactionsOnAndroid_ = flagValue;
|
|
@@ -560,7 +542,7 @@ bool ReactNativeFeatureFlagsAccessor::forceBatchingMountItemsOnAndroid() {
|
|
|
560
542
|
// be accessing the provider multiple times but the end state of this
|
|
561
543
|
// instance and the returned flag value would be the same.
|
|
562
544
|
|
|
563
|
-
markFlagAsAccessed(
|
|
545
|
+
markFlagAsAccessed(28, "forceBatchingMountItemsOnAndroid");
|
|
564
546
|
|
|
565
547
|
flagValue = currentProvider_->forceBatchingMountItemsOnAndroid();
|
|
566
548
|
forceBatchingMountItemsOnAndroid_ = flagValue;
|
|
@@ -578,7 +560,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxEnabledDebug() {
|
|
|
578
560
|
// be accessing the provider multiple times but the end state of this
|
|
579
561
|
// instance and the returned flag value would be the same.
|
|
580
562
|
|
|
581
|
-
markFlagAsAccessed(
|
|
563
|
+
markFlagAsAccessed(29, "fuseboxEnabledDebug");
|
|
582
564
|
|
|
583
565
|
flagValue = currentProvider_->fuseboxEnabledDebug();
|
|
584
566
|
fuseboxEnabledDebug_ = flagValue;
|
|
@@ -596,7 +578,7 @@ bool ReactNativeFeatureFlagsAccessor::fuseboxEnabledRelease() {
|
|
|
596
578
|
// be accessing the provider multiple times but the end state of this
|
|
597
579
|
// instance and the returned flag value would be the same.
|
|
598
580
|
|
|
599
|
-
markFlagAsAccessed(
|
|
581
|
+
markFlagAsAccessed(30, "fuseboxEnabledRelease");
|
|
600
582
|
|
|
601
583
|
flagValue = currentProvider_->fuseboxEnabledRelease();
|
|
602
584
|
fuseboxEnabledRelease_ = flagValue;
|
|
@@ -614,7 +596,7 @@ bool ReactNativeFeatureFlagsAccessor::initEagerTurboModulesOnNativeModulesQueueA
|
|
|
614
596
|
// be accessing the provider multiple times but the end state of this
|
|
615
597
|
// instance and the returned flag value would be the same.
|
|
616
598
|
|
|
617
|
-
markFlagAsAccessed(
|
|
599
|
+
markFlagAsAccessed(31, "initEagerTurboModulesOnNativeModulesQueueAndroid");
|
|
618
600
|
|
|
619
601
|
flagValue = currentProvider_->initEagerTurboModulesOnNativeModulesQueueAndroid();
|
|
620
602
|
initEagerTurboModulesOnNativeModulesQueueAndroid_ = flagValue;
|
|
@@ -632,7 +614,7 @@ bool ReactNativeFeatureFlagsAccessor::lazyAnimationCallbacks() {
|
|
|
632
614
|
// be accessing the provider multiple times but the end state of this
|
|
633
615
|
// instance and the returned flag value would be the same.
|
|
634
616
|
|
|
635
|
-
markFlagAsAccessed(
|
|
617
|
+
markFlagAsAccessed(32, "lazyAnimationCallbacks");
|
|
636
618
|
|
|
637
619
|
flagValue = currentProvider_->lazyAnimationCallbacks();
|
|
638
620
|
lazyAnimationCallbacks_ = flagValue;
|
|
@@ -650,7 +632,7 @@ bool ReactNativeFeatureFlagsAccessor::loadVectorDrawablesOnImages() {
|
|
|
650
632
|
// be accessing the provider multiple times but the end state of this
|
|
651
633
|
// instance and the returned flag value would be the same.
|
|
652
634
|
|
|
653
|
-
markFlagAsAccessed(
|
|
635
|
+
markFlagAsAccessed(33, "loadVectorDrawablesOnImages");
|
|
654
636
|
|
|
655
637
|
flagValue = currentProvider_->loadVectorDrawablesOnImages();
|
|
656
638
|
loadVectorDrawablesOnImages_ = flagValue;
|
|
@@ -668,7 +650,7 @@ bool ReactNativeFeatureFlagsAccessor::setAndroidLayoutDirection() {
|
|
|
668
650
|
// be accessing the provider multiple times but the end state of this
|
|
669
651
|
// instance and the returned flag value would be the same.
|
|
670
652
|
|
|
671
|
-
markFlagAsAccessed(
|
|
653
|
+
markFlagAsAccessed(34, "setAndroidLayoutDirection");
|
|
672
654
|
|
|
673
655
|
flagValue = currentProvider_->setAndroidLayoutDirection();
|
|
674
656
|
setAndroidLayoutDirection_ = flagValue;
|
|
@@ -686,7 +668,7 @@ bool ReactNativeFeatureFlagsAccessor::traceTurboModulePromiseRejectionsOnAndroid
|
|
|
686
668
|
// be accessing the provider multiple times but the end state of this
|
|
687
669
|
// instance and the returned flag value would be the same.
|
|
688
670
|
|
|
689
|
-
markFlagAsAccessed(
|
|
671
|
+
markFlagAsAccessed(35, "traceTurboModulePromiseRejectionsOnAndroid");
|
|
690
672
|
|
|
691
673
|
flagValue = currentProvider_->traceTurboModulePromiseRejectionsOnAndroid();
|
|
692
674
|
traceTurboModulePromiseRejectionsOnAndroid_ = flagValue;
|
|
@@ -704,7 +686,7 @@ bool ReactNativeFeatureFlagsAccessor::useFabricInterop() {
|
|
|
704
686
|
// be accessing the provider multiple times but the end state of this
|
|
705
687
|
// instance and the returned flag value would be the same.
|
|
706
688
|
|
|
707
|
-
markFlagAsAccessed(
|
|
689
|
+
markFlagAsAccessed(36, "useFabricInterop");
|
|
708
690
|
|
|
709
691
|
flagValue = currentProvider_->useFabricInterop();
|
|
710
692
|
useFabricInterop_ = flagValue;
|
|
@@ -722,7 +704,7 @@ bool ReactNativeFeatureFlagsAccessor::useImmediateExecutorInAndroidBridgeless()
|
|
|
722
704
|
// be accessing the provider multiple times but the end state of this
|
|
723
705
|
// instance and the returned flag value would be the same.
|
|
724
706
|
|
|
725
|
-
markFlagAsAccessed(
|
|
707
|
+
markFlagAsAccessed(37, "useImmediateExecutorInAndroidBridgeless");
|
|
726
708
|
|
|
727
709
|
flagValue = currentProvider_->useImmediateExecutorInAndroidBridgeless();
|
|
728
710
|
useImmediateExecutorInAndroidBridgeless_ = flagValue;
|
|
@@ -740,7 +722,7 @@ bool ReactNativeFeatureFlagsAccessor::useModernRuntimeScheduler() {
|
|
|
740
722
|
// be accessing the provider multiple times but the end state of this
|
|
741
723
|
// instance and the returned flag value would be the same.
|
|
742
724
|
|
|
743
|
-
markFlagAsAccessed(
|
|
725
|
+
markFlagAsAccessed(38, "useModernRuntimeScheduler");
|
|
744
726
|
|
|
745
727
|
flagValue = currentProvider_->useModernRuntimeScheduler();
|
|
746
728
|
useModernRuntimeScheduler_ = flagValue;
|
|
@@ -758,7 +740,7 @@ bool ReactNativeFeatureFlagsAccessor::useNativeViewConfigsInBridgelessMode() {
|
|
|
758
740
|
// be accessing the provider multiple times but the end state of this
|
|
759
741
|
// instance and the returned flag value would be the same.
|
|
760
742
|
|
|
761
|
-
markFlagAsAccessed(
|
|
743
|
+
markFlagAsAccessed(39, "useNativeViewConfigsInBridgelessMode");
|
|
762
744
|
|
|
763
745
|
flagValue = currentProvider_->useNativeViewConfigsInBridgelessMode();
|
|
764
746
|
useNativeViewConfigsInBridgelessMode_ = flagValue;
|
|
@@ -776,7 +758,7 @@ bool ReactNativeFeatureFlagsAccessor::useNewReactImageViewBackgroundDrawing() {
|
|
|
776
758
|
// be accessing the provider multiple times but the end state of this
|
|
777
759
|
// instance and the returned flag value would be the same.
|
|
778
760
|
|
|
779
|
-
markFlagAsAccessed(
|
|
761
|
+
markFlagAsAccessed(40, "useNewReactImageViewBackgroundDrawing");
|
|
780
762
|
|
|
781
763
|
flagValue = currentProvider_->useNewReactImageViewBackgroundDrawing();
|
|
782
764
|
useNewReactImageViewBackgroundDrawing_ = flagValue;
|
|
@@ -794,7 +776,7 @@ bool ReactNativeFeatureFlagsAccessor::useOptimisedViewPreallocationOnAndroid() {
|
|
|
794
776
|
// be accessing the provider multiple times but the end state of this
|
|
795
777
|
// instance and the returned flag value would be the same.
|
|
796
778
|
|
|
797
|
-
markFlagAsAccessed(
|
|
779
|
+
markFlagAsAccessed(41, "useOptimisedViewPreallocationOnAndroid");
|
|
798
780
|
|
|
799
781
|
flagValue = currentProvider_->useOptimisedViewPreallocationOnAndroid();
|
|
800
782
|
useOptimisedViewPreallocationOnAndroid_ = flagValue;
|
|
@@ -812,7 +794,7 @@ bool ReactNativeFeatureFlagsAccessor::useOptimizedEventBatchingOnAndroid() {
|
|
|
812
794
|
// be accessing the provider multiple times but the end state of this
|
|
813
795
|
// instance and the returned flag value would be the same.
|
|
814
796
|
|
|
815
|
-
markFlagAsAccessed(
|
|
797
|
+
markFlagAsAccessed(42, "useOptimizedEventBatchingOnAndroid");
|
|
816
798
|
|
|
817
799
|
flagValue = currentProvider_->useOptimizedEventBatchingOnAndroid();
|
|
818
800
|
useOptimizedEventBatchingOnAndroid_ = flagValue;
|
|
@@ -830,7 +812,7 @@ bool ReactNativeFeatureFlagsAccessor::useRuntimeShadowNodeReferenceUpdate() {
|
|
|
830
812
|
// be accessing the provider multiple times but the end state of this
|
|
831
813
|
// instance and the returned flag value would be the same.
|
|
832
814
|
|
|
833
|
-
markFlagAsAccessed(
|
|
815
|
+
markFlagAsAccessed(43, "useRuntimeShadowNodeReferenceUpdate");
|
|
834
816
|
|
|
835
817
|
flagValue = currentProvider_->useRuntimeShadowNodeReferenceUpdate();
|
|
836
818
|
useRuntimeShadowNodeReferenceUpdate_ = flagValue;
|
|
@@ -848,7 +830,7 @@ bool ReactNativeFeatureFlagsAccessor::useRuntimeShadowNodeReferenceUpdateOnLayou
|
|
|
848
830
|
// be accessing the provider multiple times but the end state of this
|
|
849
831
|
// instance and the returned flag value would be the same.
|
|
850
832
|
|
|
851
|
-
markFlagAsAccessed(
|
|
833
|
+
markFlagAsAccessed(44, "useRuntimeShadowNodeReferenceUpdateOnLayout");
|
|
852
834
|
|
|
853
835
|
flagValue = currentProvider_->useRuntimeShadowNodeReferenceUpdateOnLayout();
|
|
854
836
|
useRuntimeShadowNodeReferenceUpdateOnLayout_ = flagValue;
|
|
@@ -866,7 +848,7 @@ bool ReactNativeFeatureFlagsAccessor::useStateAlignmentMechanism() {
|
|
|
866
848
|
// be accessing the provider multiple times but the end state of this
|
|
867
849
|
// instance and the returned flag value would be the same.
|
|
868
850
|
|
|
869
|
-
markFlagAsAccessed(
|
|
851
|
+
markFlagAsAccessed(45, "useStateAlignmentMechanism");
|
|
870
852
|
|
|
871
853
|
flagValue = currentProvider_->useStateAlignmentMechanism();
|
|
872
854
|
useStateAlignmentMechanism_ = flagValue;
|
|
@@ -884,7 +866,7 @@ bool ReactNativeFeatureFlagsAccessor::useTurboModuleInterop() {
|
|
|
884
866
|
// be accessing the provider multiple times but the end state of this
|
|
885
867
|
// instance and the returned flag value would be the same.
|
|
886
868
|
|
|
887
|
-
markFlagAsAccessed(
|
|
869
|
+
markFlagAsAccessed(46, "useTurboModuleInterop");
|
|
888
870
|
|
|
889
871
|
flagValue = currentProvider_->useTurboModuleInterop();
|
|
890
872
|
useTurboModuleInterop_ = flagValue;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<816cbee0a21bc7e03d3d645df4d80556>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -32,7 +32,6 @@ class ReactNativeFeatureFlagsAccessor {
|
|
|
32
32
|
ReactNativeFeatureFlagsAccessor();
|
|
33
33
|
|
|
34
34
|
bool commonTestFlag();
|
|
35
|
-
bool allowRecursiveCommitsWithSynchronousMountOnAndroid();
|
|
36
35
|
bool batchRenderingUpdatesInEventLoop();
|
|
37
36
|
bool completeReactInstanceCreationOnBgThreadOnAndroid();
|
|
38
37
|
bool destroyFabricSurfacesInReactInstanceManager();
|
|
@@ -89,10 +88,9 @@ class ReactNativeFeatureFlagsAccessor {
|
|
|
89
88
|
std::unique_ptr<ReactNativeFeatureFlagsProvider> currentProvider_;
|
|
90
89
|
bool wasOverridden_;
|
|
91
90
|
|
|
92
|
-
std::array<std::atomic<const char*>,
|
|
91
|
+
std::array<std::atomic<const char*>, 47> accessedFeatureFlags_;
|
|
93
92
|
|
|
94
93
|
std::atomic<std::optional<bool>> commonTestFlag_;
|
|
95
|
-
std::atomic<std::optional<bool>> allowRecursiveCommitsWithSynchronousMountOnAndroid_;
|
|
96
94
|
std::atomic<std::optional<bool>> batchRenderingUpdatesInEventLoop_;
|
|
97
95
|
std::atomic<std::optional<bool>> completeReactInstanceCreationOnBgThreadOnAndroid_;
|
|
98
96
|
std::atomic<std::optional<bool>> destroyFabricSurfacesInReactInstanceManager_;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<62afdf0b4dfbdafe08aec3e74ebd6fd4>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -31,10 +31,6 @@ class ReactNativeFeatureFlagsDefaults : public ReactNativeFeatureFlagsProvider {
|
|
|
31
31
|
return false;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
bool allowRecursiveCommitsWithSynchronousMountOnAndroid() override {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
34
|
bool batchRenderingUpdatesInEventLoop() override {
|
|
39
35
|
return false;
|
|
40
36
|
}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<5e7551f6a29374319a2914c4aa22294e>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -26,7 +26,6 @@ class ReactNativeFeatureFlagsProvider {
|
|
|
26
26
|
virtual ~ReactNativeFeatureFlagsProvider() = default;
|
|
27
27
|
|
|
28
28
|
virtual bool commonTestFlag() = 0;
|
|
29
|
-
virtual bool allowRecursiveCommitsWithSynchronousMountOnAndroid() = 0;
|
|
30
29
|
virtual bool batchRenderingUpdatesInEventLoop() = 0;
|
|
31
30
|
virtual bool completeReactInstanceCreationOnBgThreadOnAndroid() = 0;
|
|
32
31
|
virtual bool destroyFabricSurfacesInReactInstanceManager() = 0;
|
package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTInteropTurboModule.mm
CHANGED
|
@@ -123,6 +123,15 @@ std::vector<ExportedMethod> parseExportedMethods(std::string moduleName, Class m
|
|
|
123
123
|
NSArray<RCTMethodArgument *> *arguments;
|
|
124
124
|
SEL objCMethodSelector = NSSelectorFromString(RCTParseMethodSignature(methodInfo->objcName, &arguments));
|
|
125
125
|
NSMethodSignature *objCMethodSignature = [moduleClass instanceMethodSignatureForSelector:objCMethodSelector];
|
|
126
|
+
if (objCMethodSignature == nullptr) {
|
|
127
|
+
RCTLogWarn(
|
|
128
|
+
@"The objective-c `%s` method signature for the JS method `%@` can not be found in the ObjecitveC definition of the %s module.\nThe `%@` JS method will not be available.",
|
|
129
|
+
methodInfo->objcName,
|
|
130
|
+
jsMethodName,
|
|
131
|
+
moduleName.c_str(),
|
|
132
|
+
jsMethodName);
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
126
135
|
std::string objCMethodReturnType = [objCMethodSignature methodReturnType];
|
|
127
136
|
|
|
128
137
|
if (objCMethodSignature.numberOfArguments - 2 != [arguments count]) {
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<d53862215473a927ef36df654af8f74e>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -42,11 +42,6 @@ bool NativeReactNativeFeatureFlags::commonTestFlag(
|
|
|
42
42
|
return ReactNativeFeatureFlags::commonTestFlag();
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
bool NativeReactNativeFeatureFlags::allowRecursiveCommitsWithSynchronousMountOnAndroid(
|
|
46
|
-
jsi::Runtime& /*runtime*/) {
|
|
47
|
-
return ReactNativeFeatureFlags::allowRecursiveCommitsWithSynchronousMountOnAndroid();
|
|
48
|
-
}
|
|
49
|
-
|
|
50
45
|
bool NativeReactNativeFeatureFlags::batchRenderingUpdatesInEventLoop(
|
|
51
46
|
jsi::Runtime& /*runtime*/) {
|
|
52
47
|
return ReactNativeFeatureFlags::batchRenderingUpdatesInEventLoop();
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the MIT license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*
|
|
7
|
-
* @generated SignedSource<<
|
|
7
|
+
* @generated SignedSource<<6da9173f6eac23ebe891e12b85e6afc0>>
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -37,8 +37,6 @@ class NativeReactNativeFeatureFlags
|
|
|
37
37
|
|
|
38
38
|
bool commonTestFlag(jsi::Runtime& runtime);
|
|
39
39
|
|
|
40
|
-
bool allowRecursiveCommitsWithSynchronousMountOnAndroid(jsi::Runtime& runtime);
|
|
41
|
-
|
|
42
40
|
bool batchRenderingUpdatesInEventLoop(jsi::Runtime& runtime);
|
|
43
41
|
|
|
44
42
|
bool completeReactInstanceCreationOnBgThreadOnAndroid(jsi::Runtime& runtime);
|
|
@@ -46,6 +46,9 @@ void TextAttributes::apply(TextAttributes textAttributes) {
|
|
|
46
46
|
allowFontScaling = textAttributes.allowFontScaling.has_value()
|
|
47
47
|
? textAttributes.allowFontScaling
|
|
48
48
|
: allowFontScaling;
|
|
49
|
+
maxFontSizeMultiplier = !std::isnan(textAttributes.maxFontSizeMultiplier)
|
|
50
|
+
? textAttributes.maxFontSizeMultiplier
|
|
51
|
+
: maxFontSizeMultiplier;
|
|
49
52
|
dynamicTypeRamp = textAttributes.dynamicTypeRamp.has_value()
|
|
50
53
|
? textAttributes.dynamicTypeRamp
|
|
51
54
|
: dynamicTypeRamp;
|
|
@@ -168,6 +171,7 @@ bool TextAttributes::operator==(const TextAttributes& rhs) const {
|
|
|
168
171
|
rhs.accessibilityRole,
|
|
169
172
|
rhs.role,
|
|
170
173
|
rhs.textTransform) &&
|
|
174
|
+
floatEquality(maxFontSizeMultiplier, rhs.maxFontSizeMultiplier) &&
|
|
171
175
|
floatEquality(opacity, rhs.opacity) &&
|
|
172
176
|
floatEquality(fontSize, rhs.fontSize) &&
|
|
173
177
|
floatEquality(fontSizeMultiplier, rhs.fontSizeMultiplier) &&
|
|
@@ -213,6 +217,7 @@ SharedDebugStringConvertibleList TextAttributes::getDebugProps() const {
|
|
|
213
217
|
debugStringConvertibleItem("allowFontScaling", allowFontScaling),
|
|
214
218
|
debugStringConvertibleItem("dynamicTypeRamp", dynamicTypeRamp),
|
|
215
219
|
debugStringConvertibleItem("letterSpacing", letterSpacing),
|
|
220
|
+
debugStringConvertibleItem("maxFontSizeMultiplier", maxFontSizeMultiplier),
|
|
216
221
|
|
|
217
222
|
// Paragraph Styles
|
|
218
223
|
debugStringConvertibleItem("lineHeight", lineHeight),
|
|
@@ -51,6 +51,7 @@ class TextAttributes : public DebugStringConvertible {
|
|
|
51
51
|
std::optional<FontStyle> fontStyle{};
|
|
52
52
|
std::optional<FontVariant> fontVariant{};
|
|
53
53
|
std::optional<bool> allowFontScaling{};
|
|
54
|
+
Float maxFontSizeMultiplier{std::numeric_limits<Float>::quiet_NaN()};
|
|
54
55
|
std::optional<DynamicTypeRamp> dynamicTypeRamp{};
|
|
55
56
|
Float letterSpacing{std::numeric_limits<Float>::quiet_NaN()};
|
|
56
57
|
std::optional<TextTransform> textTransform{};
|
|
@@ -117,6 +118,7 @@ struct hash<facebook::react::TextAttributes> {
|
|
|
117
118
|
textAttributes.opacity,
|
|
118
119
|
textAttributes.fontFamily,
|
|
119
120
|
textAttributes.fontSize,
|
|
121
|
+
textAttributes.maxFontSizeMultiplier,
|
|
120
122
|
textAttributes.fontSizeMultiplier,
|
|
121
123
|
textAttributes.fontWeight,
|
|
122
124
|
textAttributes.fontStyle,
|
|
@@ -909,6 +909,7 @@ constexpr static MapBuffer::Key TA_KEY_LINE_BREAK_STRATEGY = 25;
|
|
|
909
909
|
constexpr static MapBuffer::Key TA_KEY_ROLE = 26;
|
|
910
910
|
constexpr static MapBuffer::Key TA_KEY_TEXT_TRANSFORM = 27;
|
|
911
911
|
constexpr static MapBuffer::Key TA_KEY_ALIGNMENT_VERTICAL = 28;
|
|
912
|
+
constexpr static MapBuffer::Key TA_KEY_MAX_FONT_SIZE_MULTIPLIER = 29;
|
|
912
913
|
|
|
913
914
|
// constants for ParagraphAttributes serialization
|
|
914
915
|
constexpr static MapBuffer::Key PA_KEY_MAX_NUMBER_OF_LINES = 0;
|
|
@@ -1003,6 +1004,10 @@ inline MapBuffer toMapBuffer(const TextAttributes& textAttributes) {
|
|
|
1003
1004
|
builder.putBool(
|
|
1004
1005
|
TA_KEY_ALLOW_FONT_SCALING, *textAttributes.allowFontScaling);
|
|
1005
1006
|
}
|
|
1007
|
+
if (!std::isnan(textAttributes.maxFontSizeMultiplier)) {
|
|
1008
|
+
builder.putDouble(
|
|
1009
|
+
TA_KEY_MAX_FONT_SIZE_MULTIPLIER, textAttributes.maxFontSizeMultiplier);
|
|
1010
|
+
}
|
|
1006
1011
|
if (!std::isnan(textAttributes.letterSpacing)) {
|
|
1007
1012
|
builder.putDouble(TA_KEY_LETTER_SPACING, textAttributes.letterSpacing);
|
|
1008
1013
|
}
|
|
@@ -73,6 +73,12 @@ static TextAttributes convertRawProp(
|
|
|
73
73
|
"allowFontScaling",
|
|
74
74
|
sourceTextAttributes.allowFontScaling,
|
|
75
75
|
defaultTextAttributes.allowFontScaling);
|
|
76
|
+
textAttributes.maxFontSizeMultiplier = convertRawProp(
|
|
77
|
+
context,
|
|
78
|
+
rawProps,
|
|
79
|
+
"maxFontSizeMultiplier",
|
|
80
|
+
sourceTextAttributes.maxFontSizeMultiplier,
|
|
81
|
+
defaultTextAttributes.maxFontSizeMultiplier);
|
|
76
82
|
textAttributes.dynamicTypeRamp = convertRawProp(
|
|
77
83
|
context,
|
|
78
84
|
rawProps,
|
|
@@ -266,6 +272,12 @@ void BaseTextProps::setProp(
|
|
|
266
272
|
defaults, value, textAttributes, fontVariant, "fontVariant");
|
|
267
273
|
REBUILD_FIELD_SWITCH_CASE(
|
|
268
274
|
defaults, value, textAttributes, allowFontScaling, "allowFontScaling");
|
|
275
|
+
REBUILD_FIELD_SWITCH_CASE(
|
|
276
|
+
defaults,
|
|
277
|
+
value,
|
|
278
|
+
textAttributes,
|
|
279
|
+
maxFontSizeMultiplier,
|
|
280
|
+
"maxFontSizeMultiplier");
|
|
269
281
|
REBUILD_FIELD_SWITCH_CASE(
|
|
270
282
|
defaults, value, textAttributes, letterSpacing, "letterSpacing");
|
|
271
283
|
REBUILD_FIELD_SWITCH_CASE(
|