react-native-tvos 0.77.1-0 → 0.78.0-0
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/Animated/animations/Animation.js +22 -1
- package/Libraries/Animated/animations/DecayAnimation.js +1 -0
- package/Libraries/Animated/animations/SpringAnimation.js +1 -0
- package/Libraries/Animated/animations/TimingAnimation.js +1 -0
- package/Libraries/Animated/nodes/AnimatedAddition.js +9 -2
- package/Libraries/Animated/nodes/AnimatedColor.js +4 -1
- package/Libraries/Animated/nodes/AnimatedDiffClamp.js +10 -2
- package/Libraries/Animated/nodes/AnimatedDivision.js +9 -2
- package/Libraries/Animated/nodes/AnimatedInterpolation.js +5 -1
- package/Libraries/Animated/nodes/AnimatedModulo.js +5 -2
- package/Libraries/Animated/nodes/AnimatedMultiplication.js +9 -2
- package/Libraries/Animated/nodes/AnimatedNode.js +25 -46
- package/Libraries/Animated/nodes/AnimatedObject.js +9 -2
- package/Libraries/Animated/nodes/AnimatedProps.js +5 -1
- package/Libraries/Animated/nodes/AnimatedStyle.js +5 -1
- package/Libraries/Animated/nodes/AnimatedSubtraction.js +9 -2
- package/Libraries/Animated/nodes/AnimatedTracking.js +5 -1
- package/Libraries/Animated/nodes/AnimatedTransform.js +5 -1
- package/Libraries/Animated/nodes/AnimatedValue.js +63 -4
- package/Libraries/Animated/nodes/AnimatedValueXY.js +3 -1
- package/Libraries/Animated/useAnimatedProps.js +14 -56
- package/Libraries/AppDelegate/RCTAppDelegate.h +6 -48
- package/Libraries/AppDelegate/RCTAppDelegate.mm +5 -230
- package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.h +21 -0
- package/Libraries/AppDelegate/RCTDefaultReactNativeFactoryDelegate.mm +123 -0
- package/Libraries/AppDelegate/RCTReactNativeFactory.h +98 -0
- package/Libraries/AppDelegate/RCTReactNativeFactory.mm +266 -0
- package/Libraries/AppDelegate/RCTRootViewFactory.mm +1 -1
- package/Libraries/AppDelegate/React-RCTAppDelegate.podspec +0 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.d.ts +1 -1
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.js +3 -1
- package/Libraries/Components/LayoutConformance/LayoutConformance.d.ts +21 -0
- package/Libraries/Components/LayoutConformance/LayoutConformance.js +59 -0
- package/Libraries/Components/LayoutConformance/LayoutConformanceNativeComponent.js +29 -0
- package/Libraries/Components/Pressable/Pressable.d.ts +1 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +1 -0
- package/Libraries/Components/TextInput/TextInput.d.ts +5 -0
- package/Libraries/Components/TextInput/TextInput.flow.js +6 -0
- package/Libraries/Components/TextInput/TextInput.js +6 -0
- package/Libraries/Components/View/ViewPropTypes.d.ts +4 -5
- package/Libraries/Components/View/ViewPropTypes.js +0 -9
- package/Libraries/Core/ReactNativeVersion.js +2 -2
- package/Libraries/Core/setUpBatchedBridge.js +1 -16
- package/Libraries/EventEmitter/RCTEventEmitter.js +2 -6
- package/Libraries/Image/AssetSourceResolver.js +11 -0
- package/Libraries/Image/RCTImageView.mm +3 -3
- package/Libraries/Inspector/BorderBox.js +26 -14
- package/Libraries/Inspector/BoxInspector.js +60 -42
- package/Libraries/Inspector/ElementBox.js +55 -48
- package/Libraries/Inspector/StyleInspector.js +36 -30
- package/Libraries/LayoutAnimation/LayoutAnimation.js +2 -2
- package/Libraries/Lists/FlatList.d.ts +1 -1
- package/Libraries/Modal/Modal.js +2 -0
- package/Libraries/NativeAnimation/RCTNativeAnimatedNodesManager.mm +1 -1
- package/Libraries/NativeComponent/BaseViewConfig.android.js +0 -2
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +0 -2
- package/Libraries/Network/RCTNetworking.android.js +24 -16
- package/Libraries/Network/RCTNetworking.ios.js +1 -46
- package/Libraries/Network/RCTNetworking.js.flow +1 -46
- package/Libraries/Network/RCTNetworkingEventDefinitions.flow.js +57 -0
- package/Libraries/ReactNative/UIManagerProperties.js +3 -1
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +15829 -26461
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +3907 -2560
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +4399 -2878
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +16103 -26908
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +4034 -2695
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +4535 -3045
- package/Libraries/Renderer/shims/ReactNativeTypes.js +5 -6
- package/Libraries/StyleSheet/processTransform.js +6 -0
- package/Libraries/Text/Text/NSTextStorage+FontScaling.m +9 -0
- package/Libraries/Text/Text.d.ts +6 -1
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.h +2 -0
- package/Libraries/Text/TextInput/Multiline/RCTUITextView.mm +26 -0
- package/Libraries/Text/TextInput/RCTBackedTextInputViewProtocol.h +2 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputView.mm +25 -0
- package/Libraries/Text/TextInput/RCTBaseTextInputViewManager.mm +2 -0
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.h +1 -0
- package/Libraries/Text/TextInput/Singleline/RCTUITextField.mm +26 -0
- package/Libraries/Text/TextProps.js +2 -2
- package/Libraries/Utilities/BackHandler.android.js +5 -4
- package/Libraries/Utilities/BackHandler.ios.js +3 -4
- package/README-core.md +2 -2
- package/React/Base/RCTVersion.m +2 -2
- package/React/CoreModules/RCTDevSettings.h +0 -1
- package/React/CoreModules/RCTDeviceInfo.mm +4 -0
- package/React/CxxLogUtils/RCTDefaultCxxLogFunction.mm +3 -5
- package/React/DevSupport/RCTInspectorDevServerHelper.mm +1 -6
- package/React/DevSupport/RCTPausedInDebuggerOverlayController.mm +3 -5
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +0 -24
- package/React/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +0 -28
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI-generated.cpp +90 -57
- package/React/FBReactNativeSpec/FBReactNativeSpecJSI.h +241 -104
- package/React/Fabric/Mounting/ComponentViews/InputAccessory/RCTInputAccessoryContentView.mm +0 -5
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTEnhancedScrollView.mm +39 -10
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTPullToRefreshViewComponentView.mm +3 -3
- package/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +22 -3
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputComponentView.mm +5 -0
- package/React/Fabric/Mounting/ComponentViews/TextInput/RCTTextInputUtils.mm +1 -0
- package/React/Fabric/Mounting/ComponentViews/View/RCTViewComponentView.mm +7 -2
- package/React/Fabric/Mounting/RCTComponentViewFactory.mm +3 -0
- package/React/Fabric/Mounting/RCTMountingManager.mm +6 -9
- package/React/Fabric/RCTScheduler.mm +1 -1
- package/React/I18n/strings/da.lproj/fbt_language_pack.bin +0 -0
- package/React/Modules/RCTUIManager.mm +1 -2
- package/React/React-RCTFBReactNativeSpec.podspec +1 -0
- package/React/React-RCTFabric.podspec +3 -2
- package/React/Tests/Text/RCTParagraphComponentViewTests.mm +12 -12
- package/React/Views/RCTComponentData.mm +1 -5
- package/React/Views/RCTLayout.m +3 -0
- package/React/Views/RCTShadowView.h +3 -3
- package/React/Views/RCTShadowView.m +52 -20
- package/React/Views/RCTView.m +6 -2
- package/React/Views/RCTViewManager.m +0 -7
- package/React/Views/ScrollView/RCTScrollView.m +46 -19
- package/React-Core.podspec +1 -1
- package/ReactAndroid/api/ReactAndroid.api +120 -227
- package/ReactAndroid/build.gradle.kts +8 -13
- package/ReactAndroid/cmake-utils/default-app-setup/OnLoad.cpp +2 -0
- package/ReactAndroid/external-artifacts/build.gradle.kts +5 -5
- package/ReactAndroid/gradle.properties +1 -1
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/{HermesMemoryDumper.java → HermesMemoryDumper.kt} +5 -5
- package/ReactAndroid/src/main/java/com/facebook/hermes/instrumentation/{HermesSamplingProfiler.java → HermesSamplingProfiler.kt} +8 -10
- package/ReactAndroid/src/main/java/com/facebook/react/DebugCorePackage.java +12 -59
- package/ReactAndroid/src/main/java/com/facebook/react/ReactInstanceManager.java +12 -1
- package/ReactAndroid/src/main/java/com/facebook/react/{ReactPackageLogger.java → ReactPackageLogger.kt} +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/animated/EventAnimationDriver.kt +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactContext.java +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/ReactSoftExceptionLogger.kt +6 -0
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/SoftAssertions.kt +5 -3
- package/ReactAndroid/src/main/java/com/facebook/react/common/network/OkHttpCallUtil.kt +4 -8
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHost.kt +11 -5
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactHostDelegate.kt +0 -7
- package/ReactAndroid/src/main/java/com/facebook/react/defaults/DefaultReactNativeHost.kt +1 -3
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DefaultDevSupportManagerFactory.kt +6 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevServerHelper.java +11 -23
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/DevSupportManagerBase.java +3 -30
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/HMRClient.java +4 -1
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorFlags.kt +2 -0
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/StackTraceHelper.java +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java +21 -26
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt +1 -14
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerProviderImpl.java +2 -11
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.kt +88 -0
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/FabricEventEmitter.kt +6 -6
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/mounting/MountingManager.java +24 -0
- package/ReactAndroid/src/main/java/com/facebook/react/interfaces/exceptionmanager/ReactJsExceptionHandler.kt +7 -7
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlags.kt +21 -21
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxAccessor.kt +36 -36
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsCxxInterop.kt +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsDefaults.kt +10 -10
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsLocalAccessor.kt +40 -40
- package/ReactAndroid/src/main/java/com/facebook/react/internal/featureflags/ReactNativeFeatureFlagsProvider.kt +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/internal/interop/InteropEventEmitter.kt +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.kt +55 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.kt +185 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/{HeadlessJsTaskEventListener.java → HeadlessJsTaskEventListener.kt} +5 -6
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskRetryPolicy.kt +20 -0
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/LinearCountingRetryPolicy.kt +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/NoRetryPolicy.kt +7 -8
- package/ReactAndroid/src/main/java/com/facebook/react/modules/appearance/AppearanceModule.kt +8 -5
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/FrescoModule.kt +11 -17
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/ReactOkHttpNetworkFetcher.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.kt +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.kt +107 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/NetworkingModule.java +18 -19
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.kt +48 -0
- package/ReactAndroid/src/main/java/com/facebook/react/modules/systeminfo/ReactNativeVersion.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.kt +397 -0
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostDelegate.kt +0 -10
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactHostImpl.java +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/ReactInstance.java +8 -8
- package/ReactAndroid/src/main/java/com/facebook/react/runtime/hermes/HermesInstance.kt +4 -10
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BackgroundStyleApplicator.kt +4 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManager.java +13 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/BaseViewManagerDelegate.kt +15 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{ComponentNameResolver.java → ComponentNameResolver.kt} +4 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/GuardedFrameCallback.kt +5 -2
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/LayoutShadowNode.java +0 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.kt +21 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.kt +18 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{RootView.java → RootView.kt} +11 -12
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/RootViewManager.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/{UIBlock.java → UIBlock.kt} +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/UIViewOperationQueue.java +2 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManager.java +25 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerDelegate.kt +1 -1
- package/{Libraries/AppDelegate/RCTAppDelegate+Protected.h → ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewManagerWithGeneratedInterface.kt} +3 -8
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ViewProps.kt +12 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BackgroundDrawable.kt +46 -80
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/BorderDrawable.kt +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CSSBackgroundDrawable.java +5 -5
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/drawable/CompositeBackgroundDrawable.kt +8 -9
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/{BatchEventDispatchedListener.java → BatchEventDispatchedListener.kt} +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.kt +46 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.kt +40 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherImpl.java +2 -6
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.kt +19 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.kt +23 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.kt +241 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.kt +193 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.kt +44 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.kt +37 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.kt +130 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEvent.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.kt +77 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.kt +196 -0
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/style/BorderRadiusStyle.kt +16 -17
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostManager.kt +5 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/modal/ReactModalHostView.kt +34 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/progressbar/ProgressBarContainerView.kt +11 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/{FpsListener.java → FpsListener.kt} +4 -4
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollView.java +16 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactHorizontalScrollViewManager.java +3 -3
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.kt +136 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewManager.java +2 -2
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.kt +152 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchShadowNode.kt +52 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/ReactBaseTextShadowNode.java +1 -7
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/TextLayoutManager.java +8 -13
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.kt +50 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/ShadowStyleSpan.kt +1 -1
- package/ReactAndroid/src/main/java/com/facebook/react/views/textinput/ReactEditText.java +1 -9
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.kt +111 -0
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewGroup.java +90 -20
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactViewManager.kt +2 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNative.java +22 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNode.java +43 -1
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaNodeJNIBase.java +86 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaProps.java +44 -2
- package/ReactAndroid/src/main/java/com/facebook/yoga/YogaUnit.java +7 -1
- package/ReactAndroid/src/main/jni/CMakeLists.txt +5 -6
- package/ReactAndroid/src/main/jni/first-party/yogajni/CMakeLists.txt +6 -1
- package/ReactAndroid/src/main/jni/first-party/yogajni/jni/YGJNIVanilla.cpp +96 -11
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.cpp +9 -0
- package/ReactAndroid/src/main/jni/react/devsupport/JInspectorFlags.h +1 -0
- package/ReactAndroid/src/main/jni/react/fabric/CMakeLists.txt +0 -3
- package/ReactAndroid/src/main/jni/react/fabric/CoreComponentsRegistry.cpp +3 -0
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.cpp +41 -25
- package/ReactAndroid/src/main/jni/react/fabric/FabricMountingManager.h +0 -2
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp +63 -91
- package/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h +1 -7
- package/ReactAndroid/src/main/jni/react/fabric/MountItem.cpp +9 -9
- package/ReactAndroid/src/main/jni/react/fabric/MountItem.h +6 -10
- package/ReactAndroid/src/main/jni/react/fabric/OnLoad.cpp +0 -2
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.cpp +4 -0
- package/ReactAndroid/src/main/jni/react/fabric/StateWrapperImpl.h +1 -0
- package/ReactAndroid/src/main/jni/react/featureflags/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.cpp +49 -49
- package/ReactAndroid/src/main/jni/react/featureflags/JReactNativeFeatureFlagsCxxInterop.h +11 -11
- package/ReactAndroid/src/main/jni/react/hermes/reactexecutor/OnLoad.cpp +1 -4
- package/ReactAndroid/src/main/jni/react/jni/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/jni/CatalystInstanceImpl.cpp +0 -1
- package/ReactAndroid/src/main/jni/react/jni/JSLogging.cpp +4 -9
- package/ReactAndroid/src/main/jni/react/jni/JSLogging.h +0 -4
- package/ReactAndroid/src/main/jni/react/jni/JniJSModulesUnbundle.cpp +3 -4
- package/ReactAndroid/src/main/jni/react/jni/ProxyExecutor.cpp +3 -4
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.cpp +6 -0
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeArray.h +1 -0
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.cpp +6 -0
- package/ReactAndroid/src/main/jni/react/jni/WritableNativeMap.h +1 -0
- package/ReactAndroid/src/main/jni/react/jscexecutor/OnLoad.cpp +3 -7
- package/ReactAndroid/src/main/jni/react/mapbuffer/CMakeLists.txt +0 -2
- package/ReactAndroid/src/main/jni/react/reactnativeblob/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/reactperflogger/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.cpp +2 -8
- package/ReactAndroid/src/main/jni/react/runtime/hermes/jni/JHermesInstance.h +2 -8
- package/ReactAndroid/src/main/jni/react/runtime/jni/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.cpp +18 -17
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactExceptionManager.h +1 -1
- package/ReactAndroid/src/main/jni/react/runtime/jni/JReactInstance.cpp +1 -1
- package/ReactAndroid/src/main/jni/react/turbomodule/CMakeLists.txt +0 -2
- package/ReactAndroid/src/main/jni/react/uimanager/CMakeLists.txt +0 -1
- package/ReactAndroid/src/main/res/views/view/values/ids.xml +5 -0
- package/ReactCommon/React-Fabric.podspec +8 -0
- package/ReactCommon/React-FabricComponents.podspec +2 -2
- package/ReactCommon/React-FabricImage.podspec +4 -1
- package/ReactCommon/cxxreact/CxxNativeModule.cpp +3 -3
- package/ReactCommon/cxxreact/Instance.cpp +6 -6
- package/ReactCommon/cxxreact/JSBigString.cpp +1 -1
- package/ReactCommon/cxxreact/JSExecutor.cpp +4 -2
- package/ReactCommon/cxxreact/ModuleRegistry.cpp +6 -6
- package/ReactCommon/cxxreact/NativeToJsBridge.cpp +3 -3
- package/ReactCommon/cxxreact/ReactNativeVersion.h +2 -2
- package/ReactCommon/cxxreact/SystraceSection.h +8 -141
- package/ReactCommon/cxxreact/TraceSection.h +181 -0
- package/ReactCommon/cxxreact/tests/jsbigstring.cpp +19 -0
- package/ReactCommon/hermes/executor/HermesExecutorFactory.cpp +2 -2
- package/ReactCommon/jsc/JSCRuntime.cpp +0 -2
- package/ReactCommon/jsc/React-jsc.podspec +1 -1
- package/ReactCommon/jserrorhandler/JsErrorHandler.cpp +27 -19
- package/ReactCommon/jserrorhandler/JsErrorHandler.h +5 -3
- package/ReactCommon/jserrorhandler/StackTraceParser.cpp +16 -16
- package/ReactCommon/jserrorhandler/StackTraceParser.h +1 -1
- package/ReactCommon/jserrorhandler/tests/StackTraceParserTest.cpp +252 -246
- package/ReactCommon/jsi/jsi/CMakeLists.txt +0 -3
- package/ReactCommon/jsi/jsi/JSIDynamic.cpp +1 -1
- package/ReactCommon/jsi/jsi/JSIDynamic.h +1 -1
- package/ReactCommon/jsi/jsi/decorator.h +61 -0
- package/ReactCommon/jsi/jsi/jsi-inl.h +4 -0
- package/ReactCommon/jsi/jsi/jsi.cpp +37 -0
- package/ReactCommon/jsi/jsi/jsi.h +81 -0
- package/ReactCommon/jsi/jsi/test/testlib.cpp +88 -0
- package/ReactCommon/jsiexecutor/jsireact/JSIExecutor.cpp +9 -9
- package/ReactCommon/jsinspector-modern/CMakeLists.txt +1 -1
- package/ReactCommon/jsinspector-modern/HostAgent.cpp +3 -7
- package/ReactCommon/jsinspector-modern/HostTarget.cpp +22 -1
- package/ReactCommon/jsinspector-modern/HostTarget.h +1 -1
- package/ReactCommon/jsinspector-modern/InspectorFlags.cpp +19 -4
- package/ReactCommon/jsinspector-modern/InspectorFlags.h +14 -0
- package/ReactCommon/jsinspector-modern/React-jsinspector.podspec +21 -10
- package/ReactCommon/jsinspector-modern/TracingAgent.cpp +12 -11
- package/ReactCommon/jsinspector-modern/tests/JsiIntegrationTest.cpp +2 -16
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.cpp +14 -14
- package/ReactCommon/jsinspector-modern/tests/ReactInstanceIntegrationTest.h +7 -13
- package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestGenericEngineAdapter.cpp +1 -1
- package/ReactCommon/jsinspector-modern/tests/engines/JsiIntegrationTestHermesEngineAdapter.cpp +1 -3
- package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.cpp +3 -3
- package/ReactCommon/jsinspector-modern/tests/utils/InspectorFlagOverridesGuard.h +1 -1
- package/ReactCommon/jsinspector-modern/tracing/CMakeLists.txt +26 -0
- package/ReactCommon/jsinspector-modern/tracing/CdpTracing.h +21 -0
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.cpp +187 -0
- package/ReactCommon/jsinspector-modern/tracing/PerformanceTracer.h +126 -0
- package/ReactCommon/jsinspector-modern/tracing/React-jsinspectortracing.podspec +56 -0
- package/ReactCommon/react/featureflags/CMakeLists.txt +3 -0
- package/ReactCommon/react/featureflags/React-featureflags.podspec +7 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.cpp +15 -15
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlags.h +18 -18
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.cpp +88 -88
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsAccessor.h +9 -9
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDefaults.h +17 -17
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsDynamicProvider.h +454 -0
- package/ReactCommon/react/featureflags/ReactNativeFeatureFlagsProvider.h +5 -5
- package/ReactCommon/react/featureflags/tests/ReactNativeFeatureFlagsDynamicProviderTest.cpp +78 -0
- package/ReactCommon/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +2 -3
- package/ReactCommon/react/nativemodule/core/platform/android/ReactCommon/JavaTurboModule.cpp +3 -3
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.h +1 -5
- package/ReactCommon/react/nativemodule/core/platform/ios/ReactCommon/RCTTurboModule.mm +13 -23
- package/ReactCommon/react/nativemodule/cputime/CPUTime.h +55 -0
- package/ReactCommon/react/nativemodule/cputime/NativeCPUTime.cpp +35 -0
- package/ReactCommon/react/nativemodule/cputime/NativeCPUTime.h +28 -0
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.cpp +18 -18
- package/ReactCommon/react/nativemodule/featureflags/NativeReactNativeFeatureFlags.h +8 -8
- package/ReactCommon/react/nativemodule/idlecallbacks/React-idlecallbacksnativemodule.podspec +1 -0
- package/ReactCommon/react/nativemodule/intersectionobserver/NativeIntersectionObserver.cpp +5 -8
- package/ReactCommon/react/nativemodule/mutationobserver/NativeMutationObserver.cpp +3 -3
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.cpp +22 -43
- package/ReactCommon/react/nativemodule/webperformance/NativePerformance.h +0 -15
- package/ReactCommon/react/performance/timeline/CMakeLists.txt +1 -0
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.cpp +22 -2
- package/ReactCommon/react/performance/timeline/PerformanceEntryReporter.h +9 -4
- package/ReactCommon/react/performance/timeline/React-performancetimeline.podspec +1 -0
- package/ReactCommon/react/renderer/animations/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationDriver.cpp +1 -1
- package/ReactCommon/react/renderer/animations/LayoutAnimationKeyFrameManager.cpp +25 -19
- package/ReactCommon/react/renderer/animations/primitives.h +1 -1
- package/ReactCommon/react/renderer/animations/utils.h +3 -4
- package/ReactCommon/react/renderer/attributedstring/ParagraphAttributes.cpp +31 -9
- package/ReactCommon/react/renderer/attributedstring/TextAttributes.cpp +81 -31
- package/ReactCommon/react/renderer/componentregistry/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.cpp +4 -1
- package/ReactCommon/react/renderer/components/image/ImageComponentDescriptor.h +2 -0
- package/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +2 -2
- package/ReactCommon/react/renderer/components/image/ImageProps.cpp +5 -5
- package/ReactCommon/react/renderer/components/image/ImageProps.h +1 -1
- package/ReactCommon/react/renderer/components/image/ImageShadowNode.cpp +38 -10
- package/ReactCommon/react/renderer/components/image/ImageShadowNode.h +1 -1
- package/ReactCommon/react/renderer/components/image/ImageState.cpp +2 -3
- package/ReactCommon/react/renderer/components/image/ImageState.h +9 -6
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarComponentDescriptor.h +0 -4
- package/ReactCommon/react/renderer/components/progressbar/android/react/renderer/components/progressbar/AndroidProgressBarShadowNode.h +7 -0
- package/ReactCommon/react/renderer/components/root/RootShadowNode.cpp +2 -2
- package/ReactCommon/react/renderer/components/scrollview/CMakeLists.txt +2 -2
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.cpp +33 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollEvent.h +17 -0
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.cpp +3 -2
- package/ReactCommon/react/renderer/components/scrollview/ScrollViewEventEmitter.h +2 -1
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchComponentDescriptor.h +0 -4
- package/ReactCommon/react/renderer/components/switch/androidswitch/react/renderer/components/androidswitch/AndroidSwitchShadowNode.h +7 -0
- package/ReactCommon/react/renderer/{uimanager/bindingUtils.h → components/text/ParagraphComponentDescriptor.cpp} +2 -8
- package/ReactCommon/react/renderer/components/text/ParagraphComponentDescriptor.h +10 -7
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.cpp +23 -0
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputProps.h +8 -1
- package/ReactCommon/react/renderer/components/textinput/BaseTextInputShadowNode.h +243 -0
- package/ReactCommon/react/renderer/components/textinput/TextInputState.cpp +71 -0
- package/ReactCommon/react/renderer/components/textinput/{platform/ios/react/renderer/components/iostextinput/TextInputState.h → TextInputState.h} +27 -7
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputComponentDescriptor.h +6 -13
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputProps.h +0 -2
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.cpp +145 -144
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputShadowNode.h +27 -29
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputComponentDescriptor.h +4 -5
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.cpp +0 -26
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputProps.h +0 -6
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.cpp +0 -147
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputShadowNode.h +5 -57
- package/ReactCommon/react/renderer/components/view/BaseViewProps.cpp +60 -70
- package/ReactCommon/react/renderer/components/view/BaseViewProps.h +3 -3
- package/ReactCommon/react/renderer/components/view/LayoutConformanceComponentDescriptor.h +18 -0
- package/ReactCommon/react/renderer/components/view/LayoutConformanceProps.h +36 -0
- package/ReactCommon/react/renderer/components/view/LayoutConformanceShadowNode.h +28 -0
- package/ReactCommon/react/renderer/components/view/ViewPropsInterpolation.h +4 -0
- package/ReactCommon/react/renderer/components/view/ViewShadowNode.cpp +0 -1
- package/ReactCommon/react/renderer/components/view/YogaLayoutableShadowNode.cpp +21 -22
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/YogaStylableProps.h +3 -1
- package/ReactCommon/react/renderer/components/view/conversions.h +117 -43
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.cpp +3 -2
- package/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewProps.h +3 -1
- package/ReactCommon/react/renderer/components/view/primitives.h +1 -1
- package/ReactCommon/react/renderer/components/view/tests/LayoutTest.cpp +12 -12
- package/ReactCommon/react/renderer/core/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/core/ComponentDescriptor.cpp +4 -2
- package/ReactCommon/react/renderer/core/ComponentDescriptor.h +4 -2
- package/ReactCommon/react/renderer/core/ConcreteComponentDescriptor.h +17 -2
- package/ReactCommon/react/renderer/core/DynamicPropsUtilities.cpp +26 -0
- package/ReactCommon/react/renderer/core/DynamicPropsUtilities.h +4 -0
- package/ReactCommon/react/renderer/core/EventEmitter.cpp +3 -3
- package/ReactCommon/react/renderer/core/Props.cpp +16 -5
- package/ReactCommon/react/renderer/core/Props.h +11 -4
- package/ReactCommon/react/renderer/core/RawProps.cpp +30 -5
- package/ReactCommon/react/renderer/core/RawProps.h +10 -1
- package/ReactCommon/react/renderer/core/RawPropsParser.cpp +7 -2
- package/ReactCommon/react/renderer/core/RawPropsParser.h +7 -1
- package/ReactCommon/react/renderer/core/RawPropsPrimitives.h +1 -0
- package/ReactCommon/react/renderer/core/RawValue.h +315 -22
- package/ReactCommon/react/renderer/core/tests/DynamicPropsUtilitiesTest.cpp +95 -4
- package/ReactCommon/react/renderer/debug/debugStringConvertibleUtils.h +19 -4
- package/ReactCommon/react/renderer/graphics/CMakeLists.txt +7 -1
- package/ReactCommon/react/renderer/graphics/React-graphics.podspec +7 -5
- package/ReactCommon/react/renderer/graphics/Transform.cpp +11 -2
- package/ReactCommon/react/renderer/graphics/Transform.h +2 -1
- package/ReactCommon/react/renderer/imagemanager/CMakeLists.txt +4 -2
- package/ReactCommon/react/renderer/imagemanager/ImageManager.h +7 -0
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.cpp +43 -0
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageFetcher.h +36 -0
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageManager.cpp +43 -0
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/ImageRequestParams.h +94 -0
- package/ReactCommon/react/renderer/imagemanager/platform/android/react/renderer/imagemanager/conversions.h +101 -0
- package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageManager.cpp +9 -1
- package/ReactCommon/react/renderer/imagemanager/platform/cxx/react/renderer/imagemanager/ImageRequestParams.h +30 -0
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageManager.mm +9 -0
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/ImageRequestParams.h +30 -0
- package/ReactCommon/react/renderer/imagemanager/platform/ios/react/renderer/imagemanager/RCTImageManager.mm +2 -2
- package/ReactCommon/react/renderer/mounting/Differentiator.cpp +187 -152
- package/ReactCommon/react/renderer/mounting/MountingCoordinator.cpp +4 -5
- package/ReactCommon/react/renderer/mounting/ShadowTree.cpp +10 -16
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.cpp +12 -12
- package/ReactCommon/react/renderer/mounting/ShadowViewMutation.h +44 -14
- package/ReactCommon/react/renderer/mounting/stubs/StubViewTree.cpp +8 -4
- package/ReactCommon/react/renderer/mounting/stubs/stubs.cpp +1 -1
- package/ReactCommon/react/renderer/mounting/tests/MountingTest.cpp +116 -193
- package/ReactCommon/react/renderer/mounting/tests/ShadowTreeLifeCycleTest.cpp +0 -3
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.cpp +7 -4
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserver.h +2 -1
- package/ReactCommon/react/renderer/observers/intersection/IntersectionObserverManager.cpp +7 -8
- package/ReactCommon/react/renderer/observers/mutation/MutationObserverManager.cpp +6 -6
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.cpp +3 -1
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler.h +2 -0
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Legacy.cpp +11 -11
- package/ReactCommon/react/renderer/runtimescheduler/RuntimeScheduler_Modern.cpp +14 -15
- package/ReactCommon/react/renderer/runtimescheduler/SchedulerPriorityUtils.h +4 -3
- package/ReactCommon/react/renderer/scheduler/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/scheduler/Scheduler.cpp +6 -37
- package/ReactCommon/react/renderer/scheduler/Scheduler.h +0 -3
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.cpp +15 -11
- package/ReactCommon/react/renderer/scheduler/SurfaceHandler.h +1 -0
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.cpp +56 -2
- package/ReactCommon/react/renderer/scheduler/SurfaceManager.h +23 -3
- package/ReactCommon/react/renderer/textlayoutmanager/CMakeLists.txt +1 -2
- package/ReactCommon/react/renderer/textlayoutmanager/TextLayoutManager.cpp +26 -0
- package/ReactCommon/react/renderer/textlayoutmanager/{platform/android/react/renderer/textlayoutmanager/TextLayoutManager.h → TextLayoutManager.h} +18 -17
- package/ReactCommon/react/renderer/textlayoutmanager/platform/android/react/renderer/textlayoutmanager/TextLayoutManager.cpp +77 -89
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.cpp +6 -10
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTAttributedTextUtils.mm +6 -2
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTFontUtils.mm +23 -1
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/RCTTextLayoutManager.mm +11 -32
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.mm +9 -23
- package/ReactCommon/react/renderer/uimanager/AppRegistryBinding.cpp +88 -0
- package/ReactCommon/react/renderer/uimanager/AppRegistryBinding.h +50 -0
- package/ReactCommon/react/renderer/uimanager/CMakeLists.txt +0 -1
- package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.h +3 -40
- package/ReactCommon/react/renderer/uimanager/UIManager.cpp +23 -18
- package/ReactCommon/react/renderer/uimanager/UIManager.h +2 -0
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp +2 -31
- package/ReactCommon/react/renderer/uimanager/UIManagerBinding.h +0 -4
- package/ReactCommon/react/renderer/uimanager/tests/PointerEventsProcessorTest.cpp +10 -10
- package/ReactCommon/react/runtime/CMakeLists.txt +0 -1
- package/ReactCommon/react/runtime/React-RuntimeHermes.podspec +1 -2
- package/ReactCommon/react/runtime/ReactInstance.cpp +43 -57
- package/ReactCommon/react/runtime/TimerManager.cpp +4 -4
- package/ReactCommon/react/runtime/hermes/HermesInstance.cpp +5 -1
- package/ReactCommon/react/runtime/hermes/HermesInstance.h +0 -2
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.h +2 -6
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHermesInstance.mm +6 -15
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTHost.mm +3 -1
- package/ReactCommon/react/runtime/platform/ios/ReactCommon/RCTInstance.mm +15 -15
- package/ReactCommon/react/runtime/tests/cxx/ReactInstanceTest.cpp +5 -4
- package/ReactCommon/react/test_utils/shadowTreeGeneration.h +0 -3
- package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.cpp +33 -17
- package/ReactCommon/reactperflogger/fusebox/FuseboxTracer.h +8 -2
- package/ReactCommon/reactperflogger/reactperflogger/{ReactPerfLogger.cpp → ReactPerfettoLogger.cpp} +25 -24
- package/ReactCommon/reactperflogger/reactperflogger/{ReactPerfLogger.h → ReactPerfettoLogger.h} +9 -9
- package/ReactCommon/yoga/yoga/YGEnums.cpp +6 -0
- package/ReactCommon/yoga/yoga/YGEnums.h +4 -1
- package/ReactCommon/yoga/yoga/YGNodeStyle.cpp +124 -24
- package/ReactCommon/yoga/yoga/YGNodeStyle.h +22 -1
- package/ReactCommon/yoga/yoga/YGValue.h +3 -0
- package/ReactCommon/yoga/yoga/algorithm/CalculateLayout.cpp +6 -6
- package/ReactCommon/yoga/yoga/algorithm/FlexLine.cpp +2 -2
- package/ReactCommon/yoga/yoga/algorithm/FlexLine.h +1 -1
- package/ReactCommon/yoga/yoga/algorithm/PixelGrid.cpp +9 -6
- package/ReactCommon/yoga/yoga/enums/Unit.h +4 -1
- package/ReactCommon/yoga/yoga/node/Node.cpp +8 -8
- package/ReactCommon/yoga/yoga/node/Node.h +5 -5
- package/ReactCommon/yoga/yoga/style/Style.h +14 -12
- package/ReactCommon/yoga/yoga/style/StyleLength.h +14 -7
- package/ReactCommon/yoga/yoga/style/StyleSizeLength.h +139 -0
- package/ReactCommon/yoga/yoga/style/StyleValueHandle.h +8 -0
- package/ReactCommon/yoga/yoga/style/StyleValuePool.h +60 -3
- package/gradle/libs.versions.toml +6 -2
- package/index.js +5 -0
- package/package.json +12 -13
- package/react-native.config.js +6 -0
- package/scripts/cocoapods/codegen_utils.rb +4 -4
- package/scripts/cocoapods/new_architecture.rb +3 -3
- package/scripts/cocoapods/utils.rb +4 -3
- package/scripts/codegen/generate-artifacts-executor.js +8 -4
- package/scripts/generate-codegen-artifacts.js +6 -1
- package/scripts/react-native-xcode.sh +1 -1
- package/scripts/react_native_pods.rb +3 -3
- package/scripts/xcode/ccache-clang++.sh +1 -1
- package/scripts/xcode/ccache-clang.sh +1 -1
- package/sdks/.hermesversion +1 -1
- package/sdks/hermes-engine/utils/build-hermes-xcode.sh +1 -1
- 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/animated/NativeAnimatedValidation.js +1 -1
- package/src/private/featureflags/README.md +5 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +33 -27
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +5 -5
- package/src/private/renderer/errorhandling/ErrorHandlers.js +12 -55
- package/src/private/specs/modules/{NativeJSCSamplingProfiler.js → NativeCPUTime.js} +7 -2
- package/src/private/specs/modules/NativeFantom.js +37 -0
- package/src/private/utilities/ensureInstance.js +21 -0
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +49 -6
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +17 -9
- package/src/private/webapis/intersectionobserver/IntersectionObserver.js +11 -11
- package/src/private/webapis/intersectionobserver/IntersectionObserverEntry.js +1 -1
- package/src/private/webapis/intersectionobserver/IntersectionObserverManager.js +1 -1
- package/src/private/webapis/intersectionobserver/specs/NativeIntersectionObserver.js +1 -0
- package/src/private/webapis/performance/Performance.js +0 -12
- package/src/private/webapis/performance/specs/NativePerformance.js +0 -11
- package/types/index.d.ts +1 -0
- package/types/public/ReactNativeTVTypes.d.ts +49 -51
- package/Libraries/HeapCapture/HeapCapture.js +0 -29
- package/Libraries/HeapCapture/NativeJSCHeapCapture.js +0 -13
- package/Libraries/Performance/NativeJSCSamplingProfiler.js +0 -13
- package/Libraries/Performance/SamplingProfiler.js +0 -39
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +0 -334
- package/React/Inspector/RCTInspectorPackagerConnection.m +0 -325
- package/ReactAndroid/src/main/java/com/facebook/react/bridge/GuardedResultAsyncTask.java +0 -50
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/InspectorPackagerConnection.java +0 -314
- package/ReactAndroid/src/main/java/com/facebook/react/devsupport/JSCHeapCapture.java +0 -76
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/EmptyReactNativeConfig.kt +0 -36
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/GuardedFrameCallback.kt +0 -33
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/ReactNativeConfig.kt +0 -54
- package/ReactAndroid/src/main/java/com/facebook/react/fabric/events/EventEmitterWrapper.java +0 -83
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskConfig.java +0 -121
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskContext.java +0 -214
- package/ReactAndroid/src/main/java/com/facebook/react/jstasks/HeadlessJsTaskRetryPolicy.java +0 -22
- package/ReactAndroid/src/main/java/com/facebook/react/modules/fresco/XmlFormat.kt +0 -143
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/CookieJarContainer.java +0 -17
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ForwardingCookieHandler.java +0 -124
- package/ReactAndroid/src/main/java/com/facebook/react/modules/network/ReactCookieJarContainer.java +0 -58
- package/ReactAndroid/src/main/java/com/facebook/react/modules/websocket/WebSocketModule.java +0 -422
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/FabricViewStateManager.java +0 -98
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactOverflowView.java +0 -25
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/ReactPointerEventsView.java +0 -20
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventCategoryDef.java +0 -45
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcher.java +0 -37
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherListener.java +0 -19
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/EventDispatcherProvider.java +0 -24
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/FabricEventDispatcher.java +0 -257
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/PointerEventHelper.java +0 -210
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTEventEmitter.java +0 -43
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/RCTModernEventEmitter.java +0 -39
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/ReactEventEmitter.java +0 -165
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchEventCoalescingKeyHelper.java +0 -85
- package/ReactAndroid/src/main/java/com/facebook/react/uimanager/events/TouchesHelper.java +0 -204
- package/ReactAndroid/src/main/java/com/facebook/react/views/scroll/ReactScrollViewAccessibilityDelegate.java +0 -161
- package/ReactAndroid/src/main/java/com/facebook/react/views/switchview/ReactSwitchManager.java +0 -232
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/frescosupport/FrescoBasedReactTextInlineImageViewManager.java +0 -70
- package/ReactAndroid/src/main/java/com/facebook/react/views/text/internal/span/LegacyLineHeightSpan.kt +0 -69
- package/ReactAndroid/src/main/java/com/facebook/react/views/view/ReactDrawableHelper.java +0 -114
- package/ReactAndroid/src/main/jni/first-party/fb/CMakeLists.txt +0 -31
- package/ReactAndroid/src/main/jni/first-party/fb/assert.cpp +0 -39
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ALog.h +0 -82
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Build.h +0 -31
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Countable.h +0 -45
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Doxyfile +0 -18
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/Environment.h +0 -93
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ProgramLocation.h +0 -58
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/RefPtr.h +0 -266
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/StaticInitialized.h +0 -37
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/ThreadLocal.h +0 -112
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/assert.h +0 -43
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/log.h +0 -350
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/noncopyable.h +0 -20
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/nonmovable.h +0 -20
- package/ReactAndroid/src/main/jni/first-party/fb/include/fb/visibility.h +0 -10
- package/ReactAndroid/src/main/jni/first-party/fb/log.cpp +0 -102
- package/ReactAndroid/src/main/jni/react/fabric/JEmptyReactNativeConfig.cpp +0 -47
- package/ReactAndroid/src/main/jni/react/fabric/JEmptyReactNativeConfig.h +0 -38
- package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.cpp +0 -41
- package/ReactAndroid/src/main/jni/react/fabric/ReactNativeConfigHolder.h +0 -35
- package/ReactAndroid/src/main/jni/react/perftests/OnLoad.cpp +0 -243
- package/ReactAndroid/src/main/jni/third-party/jsc/CMakeLists.txt +0 -15
- package/ReactCommon/React-nativeconfig.podspec +0 -36
- package/ReactCommon/cxxreact/tests/main.cpp +0 -15
- package/ReactCommon/react/config/CMakeLists.txt +0 -20
- package/ReactCommon/react/config/ReactNativeConfig.cpp +0 -28
- package/ReactCommon/react/config/ReactNativeConfig.h +0 -42
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.cpp +0 -95
- package/ReactCommon/react/renderer/components/textinput/platform/android/react/renderer/components/androidtextinput/AndroidTextInputState.h +0 -80
- package/ReactCommon/react/renderer/components/textinput/platform/ios/react/renderer/components/iostextinput/TextInputState.cpp +0 -10
- package/ReactCommon/react/renderer/textlayoutmanager/platform/cxx/TextLayoutManager.h +0 -78
- package/ReactCommon/react/renderer/textlayoutmanager/platform/ios/react/renderer/textlayoutmanager/TextLayoutManager.h +0 -69
- package/ReactCommon/react/renderer/uimanager/SurfaceRegistryBinding.cpp +0 -123
- package/ReactCommon/react/renderer/uimanager/bindingUtils.cpp +0 -79
- package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +0 -413
- package/src/private/webapis/intersectionobserver/specs/__mocks__/NativeIntersectionObserver.js +0 -181
- package/src/private/webapis/mutationobserver/specs/__mocks__/NativeMutationObserver.js +0 -327
- /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewComponentDescriptor.h → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewComponentDescriptor.h} +0 -0
- /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewShadowNode.cpp → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.cpp} +0 -0
- /package/ReactCommon/react/renderer/components/scrollview/{AndroidHorizontalScrollContentViewShadowNode.h → platform/android/react/renderer/components/scrollview/AndroidHorizontalScrollContentViewShadowNode.h} +0 -0
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
#include "Differentiator.h"
|
|
9
9
|
|
|
10
|
-
#include <cxxreact/
|
|
10
|
+
#include <cxxreact/TraceSection.h>
|
|
11
11
|
#include <react/debug/react_native_assert.h>
|
|
12
12
|
#include <react/featureflags/ReactNativeFeatureFlags.h>
|
|
13
13
|
#include <react/renderer/core/LayoutableShadowNode.h>
|
|
@@ -50,6 +50,33 @@ bool ShadowViewNodePair::operator!=(const ShadowViewNodePair& rhs) const {
|
|
|
50
50
|
return !(*this == rhs);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
+
#ifdef DEBUG_LOGS_DIFFER
|
|
54
|
+
static std::ostream& operator<<(
|
|
55
|
+
std::ostream& out,
|
|
56
|
+
const ShadowViewNodePair& pair) {
|
|
57
|
+
out << pair.shadowView.tag;
|
|
58
|
+
if (!pair.isConcreteView) {
|
|
59
|
+
out << '\'';
|
|
60
|
+
}
|
|
61
|
+
if (pair.flattened) {
|
|
62
|
+
out << '*';
|
|
63
|
+
}
|
|
64
|
+
return out;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
static std::ostream& operator<<(
|
|
68
|
+
std::ostream& out,
|
|
69
|
+
std::vector<ShadowViewNodePair*> vec) {
|
|
70
|
+
for (int i = 0; i < vec.size(); i++) {
|
|
71
|
+
if (i > 0) {
|
|
72
|
+
out << ", ";
|
|
73
|
+
}
|
|
74
|
+
out << *vec[i];
|
|
75
|
+
}
|
|
76
|
+
return out;
|
|
77
|
+
}
|
|
78
|
+
#endif
|
|
79
|
+
|
|
53
80
|
/*
|
|
54
81
|
* Extremely simple and naive implementation of a map.
|
|
55
82
|
* The map is simple but it's optimized for particular constraints that we have
|
|
@@ -182,6 +209,21 @@ class TinyMap final {
|
|
|
182
209
|
size_t erasedAtFront_{0};
|
|
183
210
|
};
|
|
184
211
|
|
|
212
|
+
#ifdef DEBUG_LOGS_DIFFER
|
|
213
|
+
template <typename KeyT, typename ValueT>
|
|
214
|
+
static std::ostream& operator<<(std::ostream& out, TinyMap<KeyT, ValueT>& map) {
|
|
215
|
+
auto it = map.begin();
|
|
216
|
+
if (it != map.end()) {
|
|
217
|
+
out << *it->second;
|
|
218
|
+
++it;
|
|
219
|
+
}
|
|
220
|
+
for (; it != map.end(); ++it) {
|
|
221
|
+
out << ", " << *it->second;
|
|
222
|
+
}
|
|
223
|
+
return out;
|
|
224
|
+
}
|
|
225
|
+
#endif
|
|
226
|
+
|
|
185
227
|
/*
|
|
186
228
|
* Sorting comparator for `reorderInPlaceIfNeeded`.
|
|
187
229
|
*/
|
|
@@ -365,7 +407,7 @@ static_assert(
|
|
|
365
407
|
static void calculateShadowViewMutations(
|
|
366
408
|
ViewNodePairScope& scope,
|
|
367
409
|
ShadowViewMutation::List& mutations,
|
|
368
|
-
|
|
410
|
+
Tag parentTag,
|
|
369
411
|
std::vector<ShadowViewNodePair*>&& oldChildPairs,
|
|
370
412
|
std::vector<ShadowViewNodePair*>&& newChildPairs);
|
|
371
413
|
|
|
@@ -384,7 +426,7 @@ static void updateMatchedPairSubtrees(
|
|
|
384
426
|
OrderedMutationInstructionContainer& mutationContainer,
|
|
385
427
|
TinyMap<Tag, ShadowViewNodePair*>& newRemainingPairs,
|
|
386
428
|
std::vector<ShadowViewNodePair*>& oldChildPairs,
|
|
387
|
-
|
|
429
|
+
Tag parentTag,
|
|
388
430
|
const ShadowViewNodePair& oldPair,
|
|
389
431
|
const ShadowViewNodePair& newPair);
|
|
390
432
|
|
|
@@ -392,7 +434,7 @@ static void updateMatchedPair(
|
|
|
392
434
|
OrderedMutationInstructionContainer& mutationContainer,
|
|
393
435
|
bool oldNodeFoundInOrder,
|
|
394
436
|
bool newNodeFoundInOrder,
|
|
395
|
-
|
|
437
|
+
Tag parentTag,
|
|
396
438
|
const ShadowViewNodePair& oldPair,
|
|
397
439
|
const ShadowViewNodePair& newPair);
|
|
398
440
|
|
|
@@ -400,9 +442,10 @@ static void calculateShadowViewMutationsFlattener(
|
|
|
400
442
|
ViewNodePairScope& scope,
|
|
401
443
|
ReparentMode reparentMode,
|
|
402
444
|
OrderedMutationInstructionContainer& mutationContainer,
|
|
403
|
-
|
|
445
|
+
Tag parentTag,
|
|
404
446
|
TinyMap<Tag, ShadowViewNodePair*>& unvisitedOtherNodes,
|
|
405
447
|
const ShadowViewNodePair& node,
|
|
448
|
+
Tag parentTagForUpdate,
|
|
406
449
|
TinyMap<Tag, ShadowViewNodePair*>* parentSubVisitedOtherNewNodes = nullptr,
|
|
407
450
|
TinyMap<Tag, ShadowViewNodePair*>* parentSubVisitedOtherOldNodes = nullptr);
|
|
408
451
|
|
|
@@ -419,7 +462,7 @@ static void updateMatchedPairSubtrees(
|
|
|
419
462
|
OrderedMutationInstructionContainer& mutationContainer,
|
|
420
463
|
TinyMap<Tag, ShadowViewNodePair*>& newRemainingPairs,
|
|
421
464
|
std::vector<ShadowViewNodePair*>& oldChildPairs,
|
|
422
|
-
|
|
465
|
+
Tag parentTag,
|
|
423
466
|
const ShadowViewNodePair& oldPair,
|
|
424
467
|
const ShadowViewNodePair& newPair) {
|
|
425
468
|
// Are we flattening or unflattening either one? If node was
|
|
@@ -431,11 +474,10 @@ static void updateMatchedPairSubtrees(
|
|
|
431
474
|
// We are either flattening or unflattening this node.
|
|
432
475
|
if (oldPair.flattened != newPair.flattened) {
|
|
433
476
|
DEBUG_LOGS({
|
|
434
|
-
LOG(ERROR)
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
<< parentShadowView.tag << "]";
|
|
477
|
+
LOG(ERROR) << "Differ: "
|
|
478
|
+
<< (newPair.flattened ? "flattening" : "unflattening")
|
|
479
|
+
<< " in updateMatchedPairSubtrees: " << oldPair << " and "
|
|
480
|
+
<< newPair << " with parent [" << parentTag << "]";
|
|
439
481
|
});
|
|
440
482
|
|
|
441
483
|
// Flattening
|
|
@@ -448,9 +490,10 @@ static void updateMatchedPairSubtrees(
|
|
|
448
490
|
scope,
|
|
449
491
|
ReparentMode::Flatten,
|
|
450
492
|
mutationContainer,
|
|
451
|
-
|
|
493
|
+
parentTag,
|
|
452
494
|
newRemainingPairs,
|
|
453
|
-
oldPair
|
|
495
|
+
oldPair,
|
|
496
|
+
oldPair.shadowView.tag);
|
|
454
497
|
}
|
|
455
498
|
// Unflattening
|
|
456
499
|
else {
|
|
@@ -478,9 +521,10 @@ static void updateMatchedPairSubtrees(
|
|
|
478
521
|
scope,
|
|
479
522
|
ReparentMode::Unflatten,
|
|
480
523
|
mutationContainer,
|
|
481
|
-
|
|
524
|
+
parentTag,
|
|
482
525
|
unvisitedOldChildPairs,
|
|
483
|
-
newPair
|
|
526
|
+
newPair,
|
|
527
|
+
parentTag);
|
|
484
528
|
|
|
485
529
|
// If old nodes were not visited, we know that we can delete
|
|
486
530
|
// them now. They will be removed from the hierarchy by the
|
|
@@ -519,7 +563,7 @@ static void updateMatchedPairSubtrees(
|
|
|
519
563
|
*(newGrandChildPairsSize != 0u
|
|
520
564
|
? &mutationContainer.downwardMutations
|
|
521
565
|
: &mutationContainer.destructiveDownwardMutations),
|
|
522
|
-
oldPair.shadowView,
|
|
566
|
+
oldPair.shadowView.tag,
|
|
523
567
|
std::move(oldGrandChildPairs),
|
|
524
568
|
std::move(newGrandChildPairs));
|
|
525
569
|
}
|
|
@@ -537,7 +581,7 @@ static void updateMatchedPair(
|
|
|
537
581
|
OrderedMutationInstructionContainer& mutationContainer,
|
|
538
582
|
bool oldNodeFoundInOrder,
|
|
539
583
|
bool newNodeFoundInOrder,
|
|
540
|
-
|
|
584
|
+
Tag parentTag,
|
|
541
585
|
const ShadowViewNodePair& oldPair,
|
|
542
586
|
const ShadowViewNodePair& newPair) {
|
|
543
587
|
oldPair.otherTreePair = &newPair;
|
|
@@ -550,7 +594,7 @@ static void updateMatchedPair(
|
|
|
550
594
|
if (newNodeFoundInOrder) {
|
|
551
595
|
mutationContainer.insertMutations.push_back(
|
|
552
596
|
ShadowViewMutation::InsertMutation(
|
|
553
|
-
|
|
597
|
+
parentTag,
|
|
554
598
|
newPair.shadowView,
|
|
555
599
|
static_cast<int>(newPair.mountIndex)));
|
|
556
600
|
}
|
|
@@ -560,7 +604,7 @@ static void updateMatchedPair(
|
|
|
560
604
|
if (oldNodeFoundInOrder) {
|
|
561
605
|
mutationContainer.removeMutations.push_back(
|
|
562
606
|
ShadowViewMutation::RemoveMutation(
|
|
563
|
-
|
|
607
|
+
parentTag,
|
|
564
608
|
oldPair.shadowView,
|
|
565
609
|
static_cast<int>(oldPair.mountIndex)));
|
|
566
610
|
}
|
|
@@ -573,7 +617,7 @@ static void updateMatchedPair(
|
|
|
573
617
|
if (oldNodeFoundInOrder && !newNodeFoundInOrder) {
|
|
574
618
|
mutationContainer.removeMutations.push_back(
|
|
575
619
|
ShadowViewMutation::RemoveMutation(
|
|
576
|
-
|
|
620
|
+
parentTag,
|
|
577
621
|
newPair.shadowView,
|
|
578
622
|
static_cast<int>(oldPair.mountIndex)));
|
|
579
623
|
}
|
|
@@ -584,7 +628,7 @@ static void updateMatchedPair(
|
|
|
584
628
|
if (oldPair.shadowView != newPair.shadowView) {
|
|
585
629
|
mutationContainer.updateMutations.push_back(
|
|
586
630
|
ShadowViewMutation::UpdateMutation(
|
|
587
|
-
oldPair.shadowView, newPair.shadowView,
|
|
631
|
+
oldPair.shadowView, newPair.shadowView, parentTag));
|
|
588
632
|
}
|
|
589
633
|
}
|
|
590
634
|
}
|
|
@@ -621,52 +665,32 @@ static void updateMatchedPair(
|
|
|
621
665
|
* performed in the subtree. If it *is* in the map, it means the node is not
|
|
622
666
|
* in the Tree, and should be Deleted/Created **after this function is
|
|
623
667
|
* called**, by the caller.
|
|
668
|
+
*
|
|
669
|
+
* @param parentTag parent under which nodes should be mounted/unmounted
|
|
670
|
+
* @param parentTagForUpdate current parent in which node is mounted,
|
|
671
|
+
* used for update mutations
|
|
624
672
|
*/
|
|
625
673
|
static void calculateShadowViewMutationsFlattener(
|
|
626
674
|
ViewNodePairScope& scope,
|
|
627
675
|
ReparentMode reparentMode,
|
|
628
676
|
OrderedMutationInstructionContainer& mutationContainer,
|
|
629
|
-
|
|
677
|
+
Tag parentTag,
|
|
630
678
|
TinyMap<Tag, ShadowViewNodePair*>& unvisitedOtherNodes,
|
|
631
679
|
const ShadowViewNodePair& node,
|
|
680
|
+
Tag parentTagForUpdate,
|
|
632
681
|
TinyMap<Tag, ShadowViewNodePair*>* parentSubVisitedOtherNewNodes,
|
|
633
682
|
TinyMap<Tag, ShadowViewNodePair*>* parentSubVisitedOtherOldNodes) {
|
|
634
|
-
DEBUG_LOGS({
|
|
635
|
-
LOG(ERROR) << "Differ Flattener 1: "
|
|
636
|
-
<< (reparentMode == ReparentMode::Unflatten ? "Unflattening"
|
|
637
|
-
: "Flattening")
|
|
638
|
-
<< " [" << node.shadowView.tag << "]";
|
|
639
|
-
});
|
|
640
|
-
|
|
641
683
|
// Step 1: iterate through entire tree
|
|
642
684
|
std::vector<ShadowViewNodePair*> treeChildren =
|
|
643
685
|
sliceChildShadowNodeViewPairsFromViewNodePair(node, scope);
|
|
644
686
|
|
|
645
687
|
DEBUG_LOGS({
|
|
646
|
-
LOG(ERROR) << "Differ Flattener
|
|
688
|
+
LOG(ERROR) << "Differ Flattener: "
|
|
647
689
|
<< (reparentMode == ReparentMode::Unflatten ? "Unflattening"
|
|
648
690
|
: "Flattening")
|
|
649
691
|
<< " [" << node.shadowView.tag << "]";
|
|
650
|
-
LOG(ERROR) << "
|
|
651
|
-
|
|
652
|
-
for (size_t k = 0; k < treeChildren.size(); k++) {
|
|
653
|
-
strTreeChildPairs.append(std::to_string(treeChildren[k]->shadowView.tag));
|
|
654
|
-
strTreeChildPairs.append(treeChildren[k]->isConcreteView ? "" : "'");
|
|
655
|
-
strTreeChildPairs.append(treeChildren[k]->flattened ? "*" : "");
|
|
656
|
-
strTreeChildPairs.append(", ");
|
|
657
|
-
}
|
|
658
|
-
std::string strListChildPairs;
|
|
659
|
-
for (auto& unvisitedNode : unvisitedOtherNodes) {
|
|
660
|
-
strListChildPairs.append(
|
|
661
|
-
std::to_string(unvisitedNode.second->shadowView.tag));
|
|
662
|
-
strListChildPairs.append(unvisitedNode.second->isConcreteView ? "" : "'");
|
|
663
|
-
strListChildPairs.append(unvisitedNode.second->flattened ? "*" : "");
|
|
664
|
-
strListChildPairs.append(", ");
|
|
665
|
-
}
|
|
666
|
-
LOG(ERROR) << "Differ Flattener Entry: Tree Child Pairs: "
|
|
667
|
-
<< strTreeChildPairs;
|
|
668
|
-
LOG(ERROR) << "Differ Flattener Entry: List Child Pairs: "
|
|
669
|
-
<< strListChildPairs;
|
|
692
|
+
LOG(ERROR) << "> Tree Child Pairs: " << treeChildren;
|
|
693
|
+
LOG(ERROR) << "> List Child Pairs: " << unvisitedOtherNodes;
|
|
670
694
|
});
|
|
671
695
|
|
|
672
696
|
// Views in other tree that are visited by sub-flattening or
|
|
@@ -777,13 +801,13 @@ static void calculateShadowViewMutationsFlattener(
|
|
|
777
801
|
treeChildPair.otherTreePair->isConcreteView) {
|
|
778
802
|
mutationContainer.removeMutations.push_back(
|
|
779
803
|
ShadowViewMutation::RemoveMutation(
|
|
780
|
-
node.shadowView,
|
|
804
|
+
node.shadowView.tag,
|
|
781
805
|
treeChildPair.otherTreePair->shadowView,
|
|
782
806
|
static_cast<int>(treeChildPair.mountIndex)));
|
|
783
807
|
} else {
|
|
784
808
|
mutationContainer.removeMutations.push_back(
|
|
785
809
|
ShadowViewMutation::RemoveMutation(
|
|
786
|
-
node.shadowView,
|
|
810
|
+
node.shadowView.tag,
|
|
787
811
|
treeChildPair.shadowView,
|
|
788
812
|
static_cast<int>(treeChildPair.mountIndex)));
|
|
789
813
|
}
|
|
@@ -792,7 +816,7 @@ static void calculateShadowViewMutationsFlattener(
|
|
|
792
816
|
// we can safely insert it without checking in the other tree
|
|
793
817
|
mutationContainer.insertMutations.push_back(
|
|
794
818
|
ShadowViewMutation::InsertMutation(
|
|
795
|
-
node.shadowView,
|
|
819
|
+
node.shadowView.tag,
|
|
796
820
|
treeChildPair.shadowView,
|
|
797
821
|
static_cast<int>(treeChildPair.mountIndex)));
|
|
798
822
|
}
|
|
@@ -838,11 +862,18 @@ static void calculateShadowViewMutationsFlattener(
|
|
|
838
862
|
// ShadowNode.
|
|
839
863
|
if (newTreeNodePair.shadowView != oldTreeNodePair.shadowView &&
|
|
840
864
|
newTreeNodePair.isConcreteView && oldTreeNodePair.isConcreteView) {
|
|
865
|
+
// We execute updates before creates, so pass the current parent in when
|
|
866
|
+
// unflattening.
|
|
867
|
+
// TODO: whenever we insert, we already update the relevant properties,
|
|
868
|
+
// so this update is redundant. We should remove this.
|
|
841
869
|
mutationContainer.updateMutations.push_back(
|
|
842
870
|
ShadowViewMutation::UpdateMutation(
|
|
843
871
|
oldTreeNodePair.shadowView,
|
|
844
872
|
newTreeNodePair.shadowView,
|
|
845
|
-
|
|
873
|
+
ReactNativeFeatureFlags::
|
|
874
|
+
fixDifferentiatorEmittingUpdatesWithWrongParentTag()
|
|
875
|
+
? parentTagForUpdate
|
|
876
|
+
: node.shadowView.tag));
|
|
846
877
|
}
|
|
847
878
|
|
|
848
879
|
// Update children if appropriate.
|
|
@@ -852,7 +883,7 @@ static void calculateShadowViewMutationsFlattener(
|
|
|
852
883
|
calculateShadowViewMutations(
|
|
853
884
|
innerScope,
|
|
854
885
|
mutationContainer.downwardMutations,
|
|
855
|
-
newTreeNodePair.shadowView,
|
|
886
|
+
newTreeNodePair.shadowView.tag,
|
|
856
887
|
sliceChildShadowNodeViewPairsFromViewNodePair(
|
|
857
888
|
oldTreeNodePair, innerScope),
|
|
858
889
|
sliceChildShadowNodeViewPairsFromViewNodePair(
|
|
@@ -873,10 +904,13 @@ static void calculateShadowViewMutationsFlattener(
|
|
|
873
904
|
childReparentMode,
|
|
874
905
|
mutationContainer,
|
|
875
906
|
(reparentMode == ReparentMode::Flatten
|
|
876
|
-
?
|
|
877
|
-
: newTreeNodePair.shadowView),
|
|
907
|
+
? parentTag
|
|
908
|
+
: newTreeNodePair.shadowView.tag),
|
|
878
909
|
unvisitedOtherNodes,
|
|
879
910
|
treeChildPair,
|
|
911
|
+
(reparentMode == ReparentMode::Flatten
|
|
912
|
+
? oldTreeNodePair.shadowView.tag
|
|
913
|
+
: parentTag),
|
|
880
914
|
subVisitedNewMap,
|
|
881
915
|
subVisitedOldMap);
|
|
882
916
|
} else {
|
|
@@ -914,10 +948,13 @@ static void calculateShadowViewMutationsFlattener(
|
|
|
914
948
|
ReparentMode::Flatten,
|
|
915
949
|
mutationContainer,
|
|
916
950
|
(reparentMode == ReparentMode::Flatten
|
|
917
|
-
?
|
|
918
|
-
: newTreeNodePair.shadowView),
|
|
951
|
+
? parentTag
|
|
952
|
+
: newTreeNodePair.shadowView.tag),
|
|
919
953
|
unvisitedRecursiveChildPairs,
|
|
920
954
|
oldTreeNodePair,
|
|
955
|
+
(reparentMode == ReparentMode::Flatten
|
|
956
|
+
? oldTreeNodePair.shadowView.tag
|
|
957
|
+
: parentTag),
|
|
921
958
|
subVisitedNewMap,
|
|
922
959
|
subVisitedOldMap);
|
|
923
960
|
}
|
|
@@ -929,10 +966,13 @@ static void calculateShadowViewMutationsFlattener(
|
|
|
929
966
|
ReparentMode::Unflatten,
|
|
930
967
|
mutationContainer,
|
|
931
968
|
(reparentMode == ReparentMode::Flatten
|
|
932
|
-
?
|
|
933
|
-
: newTreeNodePair.shadowView),
|
|
969
|
+
? parentTag
|
|
970
|
+
: newTreeNodePair.shadowView.tag),
|
|
934
971
|
unvisitedRecursiveChildPairs,
|
|
935
972
|
newTreeNodePair,
|
|
973
|
+
(reparentMode == ReparentMode::Flatten
|
|
974
|
+
? oldTreeNodePair.shadowView.tag
|
|
975
|
+
: parentTag),
|
|
936
976
|
subVisitedNewMap,
|
|
937
977
|
subVisitedOldMap);
|
|
938
978
|
|
|
@@ -1028,7 +1068,7 @@ static void calculateShadowViewMutationsFlattener(
|
|
|
1028
1068
|
calculateShadowViewMutations(
|
|
1029
1069
|
innerScope,
|
|
1030
1070
|
mutationContainer.destructiveDownwardMutations,
|
|
1031
|
-
treeChildPair.shadowView,
|
|
1071
|
+
treeChildPair.shadowView.tag,
|
|
1032
1072
|
sliceChildShadowNodeViewPairsFromViewNodePair(
|
|
1033
1073
|
treeChildPair, innerScope),
|
|
1034
1074
|
{});
|
|
@@ -1042,7 +1082,7 @@ static void calculateShadowViewMutationsFlattener(
|
|
|
1042
1082
|
calculateShadowViewMutations(
|
|
1043
1083
|
innerScope,
|
|
1044
1084
|
mutationContainer.downwardMutations,
|
|
1045
|
-
treeChildPair.shadowView,
|
|
1085
|
+
treeChildPair.shadowView.tag,
|
|
1046
1086
|
{},
|
|
1047
1087
|
sliceChildShadowNodeViewPairsFromViewNodePair(
|
|
1048
1088
|
treeChildPair, innerScope));
|
|
@@ -1054,7 +1094,7 @@ static void calculateShadowViewMutationsFlattener(
|
|
|
1054
1094
|
static void calculateShadowViewMutations(
|
|
1055
1095
|
ViewNodePairScope& scope,
|
|
1056
1096
|
ShadowViewMutation::List& mutations,
|
|
1057
|
-
|
|
1097
|
+
Tag parentTag,
|
|
1058
1098
|
std::vector<ShadowViewNodePair*>&& oldChildPairs,
|
|
1059
1099
|
std::vector<ShadowViewNodePair*>&& newChildPairs) {
|
|
1060
1100
|
if (oldChildPairs.empty() && newChildPairs.empty()) {
|
|
@@ -1067,28 +1107,9 @@ static void calculateShadowViewMutations(
|
|
|
1067
1107
|
auto mutationContainer = OrderedMutationInstructionContainer{};
|
|
1068
1108
|
|
|
1069
1109
|
DEBUG_LOGS({
|
|
1070
|
-
LOG(ERROR) << "Differ Entry: Child Pairs of node: [" <<
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
for (size_t oldIndex = 0; oldIndex < oldChildPairs.size(); oldIndex++) {
|
|
1074
|
-
strOldChildPairs.append(
|
|
1075
|
-
std::to_string(oldChildPairs[oldIndex]->shadowView.tag));
|
|
1076
|
-
strOldChildPairs.append(
|
|
1077
|
-
oldChildPairs[oldIndex]->isConcreteView ? "" : "'");
|
|
1078
|
-
strOldChildPairs.append(oldChildPairs[oldIndex]->flattened ? "*" : "");
|
|
1079
|
-
strOldChildPairs.append(", ");
|
|
1080
|
-
}
|
|
1081
|
-
std::string strNewChildPairs;
|
|
1082
|
-
for (size_t newIndex = 0; newIndex < newChildPairs.size(); newIndex++) {
|
|
1083
|
-
strNewChildPairs.append(
|
|
1084
|
-
std::to_string(newChildPairs[newIndex]->shadowView.tag));
|
|
1085
|
-
strNewChildPairs.append(
|
|
1086
|
-
newChildPairs[newIndex]->isConcreteView ? "" : "'");
|
|
1087
|
-
strNewChildPairs.append(newChildPairs[newIndex]->flattened ? "*" : "");
|
|
1088
|
-
strNewChildPairs.append(", ");
|
|
1089
|
-
}
|
|
1090
|
-
LOG(ERROR) << "Differ Entry: Old Child Pairs: " << strOldChildPairs;
|
|
1091
|
-
LOG(ERROR) << "Differ Entry: New Child Pairs: " << strNewChildPairs;
|
|
1110
|
+
LOG(ERROR) << "Differ Entry: Child Pairs of node: [" << parentTag << "]";
|
|
1111
|
+
LOG(ERROR) << "> Old Child Pairs: " << oldChildPairs;
|
|
1112
|
+
LOG(ERROR) << "> New Child Pairs: " << newChildPairs;
|
|
1092
1113
|
});
|
|
1093
1114
|
|
|
1094
1115
|
// Stage 1: Collecting `Update` mutations
|
|
@@ -1102,7 +1123,7 @@ static void calculateShadowViewMutations(
|
|
|
1102
1123
|
LOG(ERROR) << "Differ Branch 1.1: Tags Different: ["
|
|
1103
1124
|
<< oldChildPair.shadowView.tag << "] ["
|
|
1104
1125
|
<< newChildPair.shadowView.tag << "]" << " with parent: ["
|
|
1105
|
-
<<
|
|
1126
|
+
<< parentTag << "]";
|
|
1106
1127
|
});
|
|
1107
1128
|
|
|
1108
1129
|
// Totally different nodes, updating is impossible.
|
|
@@ -1117,23 +1138,16 @@ static void calculateShadowViewMutations(
|
|
|
1117
1138
|
}
|
|
1118
1139
|
|
|
1119
1140
|
DEBUG_LOGS({
|
|
1120
|
-
LOG(ERROR) << "Differ Branch 1.2: Same tags, update and recurse:
|
|
1121
|
-
<< oldChildPair
|
|
1122
|
-
<<
|
|
1123
|
-
<< (oldChildPair.isConcreteView ? " (concrete)" : "") << "["
|
|
1124
|
-
<< newChildPair.shadowView.tag << "]"
|
|
1125
|
-
<< (newChildPair.flattened ? " (flattened)" : "")
|
|
1126
|
-
<< (newChildPair.isConcreteView ? " (concrete)" : "")
|
|
1127
|
-
<< " with parent: [" << parentShadowView.tag << "]";
|
|
1141
|
+
LOG(ERROR) << "Differ Branch 1.2: Same tags, update and recurse: "
|
|
1142
|
+
<< oldChildPair << " and " << newChildPair << " with parent: ["
|
|
1143
|
+
<< parentTag << "]";
|
|
1128
1144
|
});
|
|
1129
1145
|
|
|
1130
1146
|
if (newChildPair.isConcreteView &&
|
|
1131
1147
|
oldChildPair.shadowView != newChildPair.shadowView) {
|
|
1132
1148
|
mutationContainer.updateMutations.push_back(
|
|
1133
1149
|
ShadowViewMutation::UpdateMutation(
|
|
1134
|
-
oldChildPair.shadowView,
|
|
1135
|
-
newChildPair.shadowView,
|
|
1136
|
-
parentShadowView));
|
|
1150
|
+
oldChildPair.shadowView, newChildPair.shadowView, parentTag));
|
|
1137
1151
|
}
|
|
1138
1152
|
|
|
1139
1153
|
// Recursively update tree if ShadowNode pointers are not equal
|
|
@@ -1150,7 +1164,7 @@ static void calculateShadowViewMutations(
|
|
|
1150
1164
|
*(newGrandChildPairsSize != 0u
|
|
1151
1165
|
? &mutationContainer.downwardMutations
|
|
1152
1166
|
: &mutationContainer.destructiveDownwardMutations),
|
|
1153
|
-
oldChildPair.shadowView,
|
|
1167
|
+
oldChildPair.shadowView.tag,
|
|
1154
1168
|
std::move(oldGrandChildPairs),
|
|
1155
1169
|
std::move(newGrandChildPairs));
|
|
1156
1170
|
}
|
|
@@ -1165,9 +1179,8 @@ static void calculateShadowViewMutations(
|
|
|
1165
1179
|
const auto& oldChildPair = *oldChildPairs[index];
|
|
1166
1180
|
|
|
1167
1181
|
DEBUG_LOGS({
|
|
1168
|
-
LOG(ERROR) << "Differ Branch 2: Deleting Tag/Tree:
|
|
1169
|
-
<<
|
|
1170
|
-
<< parentShadowView.tag << "]";
|
|
1182
|
+
LOG(ERROR) << "Differ Branch 2: Deleting Tag/Tree: " << oldChildPair
|
|
1183
|
+
<< " with parent: [" << parentTag << "]";
|
|
1171
1184
|
});
|
|
1172
1185
|
|
|
1173
1186
|
if (!oldChildPair.isConcreteView) {
|
|
@@ -1178,7 +1191,7 @@ static void calculateShadowViewMutations(
|
|
|
1178
1191
|
ShadowViewMutation::DeleteMutation(oldChildPair.shadowView));
|
|
1179
1192
|
mutationContainer.removeMutations.push_back(
|
|
1180
1193
|
ShadowViewMutation::RemoveMutation(
|
|
1181
|
-
|
|
1194
|
+
parentTag,
|
|
1182
1195
|
oldChildPair.shadowView,
|
|
1183
1196
|
static_cast<int>(oldChildPair.mountIndex)));
|
|
1184
1197
|
|
|
@@ -1188,7 +1201,7 @@ static void calculateShadowViewMutations(
|
|
|
1188
1201
|
calculateShadowViewMutations(
|
|
1189
1202
|
innerScope,
|
|
1190
1203
|
mutationContainer.destructiveDownwardMutations,
|
|
1191
|
-
oldChildPair.shadowView,
|
|
1204
|
+
oldChildPair.shadowView.tag,
|
|
1192
1205
|
sliceChildShadowNodeViewPairsFromViewNodePair(
|
|
1193
1206
|
oldChildPair, innerScope),
|
|
1194
1207
|
{});
|
|
@@ -1200,9 +1213,8 @@ static void calculateShadowViewMutations(
|
|
|
1200
1213
|
const auto& newChildPair = *newChildPairs[index];
|
|
1201
1214
|
|
|
1202
1215
|
DEBUG_LOGS({
|
|
1203
|
-
LOG(ERROR) << "Differ Branch 3: Creating Tag/Tree:
|
|
1204
|
-
<<
|
|
1205
|
-
<< parentShadowView.tag << "]";
|
|
1216
|
+
LOG(ERROR) << "Differ Branch 3: Creating Tag/Tree: " << newChildPair
|
|
1217
|
+
<< " with parent: [" << parentTag << "]";
|
|
1206
1218
|
});
|
|
1207
1219
|
|
|
1208
1220
|
if (!newChildPair.isConcreteView) {
|
|
@@ -1211,7 +1223,7 @@ static void calculateShadowViewMutations(
|
|
|
1211
1223
|
|
|
1212
1224
|
mutationContainer.insertMutations.push_back(
|
|
1213
1225
|
ShadowViewMutation::InsertMutation(
|
|
1214
|
-
|
|
1226
|
+
parentTag,
|
|
1215
1227
|
newChildPair.shadowView,
|
|
1216
1228
|
static_cast<int>(newChildPair.mountIndex)));
|
|
1217
1229
|
mutationContainer.createMutations.push_back(
|
|
@@ -1221,7 +1233,7 @@ static void calculateShadowViewMutations(
|
|
|
1221
1233
|
calculateShadowViewMutations(
|
|
1222
1234
|
innerScope,
|
|
1223
1235
|
mutationContainer.downwardMutations,
|
|
1224
|
-
newChildPair.shadowView,
|
|
1236
|
+
newChildPair.shadowView.tag,
|
|
1225
1237
|
{},
|
|
1226
1238
|
sliceChildShadowNodeViewPairsFromViewNodePair(
|
|
1227
1239
|
newChildPair, innerScope));
|
|
@@ -1257,22 +1269,17 @@ static void calculateShadowViewMutations(
|
|
|
1257
1269
|
|
|
1258
1270
|
if (newTag == oldTag) {
|
|
1259
1271
|
DEBUG_LOGS({
|
|
1260
|
-
LOG(ERROR) << "Differ Branch
|
|
1261
|
-
<< oldIndex << " " << newIndex << ":
|
|
1262
|
-
<< oldChildPair
|
|
1263
|
-
<<
|
|
1264
|
-
<< (oldChildPair.isConcreteView ? "(concrete)" : "")
|
|
1265
|
-
<< " [" << newChildPair.shadowView.tag << "]"
|
|
1266
|
-
<< (newChildPair.flattened ? "(flattened)" : "")
|
|
1267
|
-
<< (newChildPair.isConcreteView ? "(concrete)" : "")
|
|
1268
|
-
<< " with parent: [" << parentShadowView.tag << "]";
|
|
1272
|
+
LOG(ERROR) << "Differ Branch 4: Matched Tags at indices: "
|
|
1273
|
+
<< oldIndex << " and " << newIndex << ": "
|
|
1274
|
+
<< oldChildPair << " and " << newChildPair
|
|
1275
|
+
<< " with parent: [" << parentTag << "]";
|
|
1269
1276
|
});
|
|
1270
1277
|
|
|
1271
1278
|
updateMatchedPair(
|
|
1272
1279
|
mutationContainer,
|
|
1273
1280
|
true,
|
|
1274
1281
|
true,
|
|
1275
|
-
|
|
1282
|
+
parentTag,
|
|
1276
1283
|
oldChildPair,
|
|
1277
1284
|
newChildPair);
|
|
1278
1285
|
|
|
@@ -1281,7 +1288,7 @@ static void calculateShadowViewMutations(
|
|
|
1281
1288
|
mutationContainer,
|
|
1282
1289
|
newRemainingPairs,
|
|
1283
1290
|
oldChildPairs,
|
|
1284
|
-
|
|
1291
|
+
parentTag,
|
|
1285
1292
|
oldChildPair,
|
|
1286
1293
|
newChildPair);
|
|
1287
1294
|
|
|
@@ -1306,11 +1313,17 @@ static void calculateShadowViewMutations(
|
|
|
1306
1313
|
if (insertedIt != newInsertedPairs.end()) {
|
|
1307
1314
|
const auto& newChildPair = *insertedIt->second;
|
|
1308
1315
|
|
|
1316
|
+
DEBUG_LOGS({
|
|
1317
|
+
LOG(ERROR) << "Differ Branch 5: Founded reordered tags at indices: "
|
|
1318
|
+
<< oldIndex << ": " << oldChildPair << " and "
|
|
1319
|
+
<< newChildPair << " with parent: [" << parentTag << "]";
|
|
1320
|
+
});
|
|
1321
|
+
|
|
1309
1322
|
updateMatchedPair(
|
|
1310
1323
|
mutationContainer,
|
|
1311
1324
|
true,
|
|
1312
1325
|
false,
|
|
1313
|
-
|
|
1326
|
+
parentTag,
|
|
1314
1327
|
oldChildPair,
|
|
1315
1328
|
newChildPair);
|
|
1316
1329
|
|
|
@@ -1319,7 +1332,7 @@ static void calculateShadowViewMutations(
|
|
|
1319
1332
|
mutationContainer,
|
|
1320
1333
|
newRemainingPairs,
|
|
1321
1334
|
oldChildPairs,
|
|
1322
|
-
|
|
1335
|
+
parentTag,
|
|
1323
1336
|
oldChildPair,
|
|
1324
1337
|
newChildPair);
|
|
1325
1338
|
|
|
@@ -1345,13 +1358,10 @@ static void calculateShadowViewMutations(
|
|
|
1345
1358
|
|
|
1346
1359
|
DEBUG_LOGS({
|
|
1347
1360
|
LOG(ERROR)
|
|
1348
|
-
<< "Differ Branch
|
|
1349
|
-
<<
|
|
1350
|
-
<< (oldChildPair.
|
|
1351
|
-
<<
|
|
1352
|
-
<< " with parent: [" << parentShadowView.tag << "] "
|
|
1353
|
-
<< "node is in other tree? "
|
|
1354
|
-
<< (oldChildPair.inOtherTree() ? "yes" : "no");
|
|
1361
|
+
<< "Differ Branch 6: Removing tag that was not re-inserted: "
|
|
1362
|
+
<< oldChildPair << " with parent: [" << parentTag
|
|
1363
|
+
<< "], which is " << (oldChildPair.inOtherTree() ? "" : "not ")
|
|
1364
|
+
<< "in other tree";
|
|
1355
1365
|
});
|
|
1356
1366
|
|
|
1357
1367
|
// Edge case: node is not found in `newRemainingPairs`, due to
|
|
@@ -1373,7 +1383,7 @@ static void calculateShadowViewMutations(
|
|
|
1373
1383
|
// hierarchy.
|
|
1374
1384
|
mutationContainer.removeMutations.push_back(
|
|
1375
1385
|
ShadowViewMutation::RemoveMutation(
|
|
1376
|
-
|
|
1386
|
+
parentTag,
|
|
1377
1387
|
otherTreeView,
|
|
1378
1388
|
static_cast<int>(oldChildPair.mountIndex)));
|
|
1379
1389
|
continue;
|
|
@@ -1381,7 +1391,7 @@ static void calculateShadowViewMutations(
|
|
|
1381
1391
|
|
|
1382
1392
|
mutationContainer.removeMutations.push_back(
|
|
1383
1393
|
ShadowViewMutation::RemoveMutation(
|
|
1384
|
-
|
|
1394
|
+
parentTag,
|
|
1385
1395
|
oldChildPair.shadowView,
|
|
1386
1396
|
static_cast<int>(oldChildPair.mountIndex)));
|
|
1387
1397
|
|
|
@@ -1398,17 +1408,14 @@ static void calculateShadowViewMutations(
|
|
|
1398
1408
|
auto& newChildPair = *newChildPairs[newIndex];
|
|
1399
1409
|
DEBUG_LOGS({
|
|
1400
1410
|
LOG(ERROR)
|
|
1401
|
-
<< "Differ Branch
|
|
1402
|
-
<<
|
|
1403
|
-
<<
|
|
1404
|
-
<< (newChildPair.flattened ? " (flattened)" : "")
|
|
1405
|
-
<< (newChildPair.isConcreteView ? " (concrete)" : "")
|
|
1406
|
-
<< " with parent: [" << parentShadowView.tag << "]";
|
|
1411
|
+
<< "Differ Branch 7: Inserting tag/tree that was not (yet?) removed from hierarchy: "
|
|
1412
|
+
<< newChildPair << " @ " << newIndex << "/" << newSize
|
|
1413
|
+
<< " with parent: [" << parentTag << "]";
|
|
1407
1414
|
});
|
|
1408
1415
|
if (newChildPair.isConcreteView) {
|
|
1409
1416
|
mutationContainer.insertMutations.push_back(
|
|
1410
1417
|
ShadowViewMutation::InsertMutation(
|
|
1411
|
-
|
|
1418
|
+
parentTag,
|
|
1412
1419
|
newChildPair.shadowView,
|
|
1413
1420
|
static_cast<int>(newChildPair.mountIndex)));
|
|
1414
1421
|
}
|
|
@@ -1438,12 +1445,10 @@ static void calculateShadowViewMutations(
|
|
|
1438
1445
|
|
|
1439
1446
|
DEBUG_LOGS({
|
|
1440
1447
|
LOG(ERROR)
|
|
1441
|
-
<< "Differ Branch
|
|
1442
|
-
<<
|
|
1443
|
-
<< (oldChildPair.flattened ? "(flattened)" : "")
|
|
1444
|
-
<< (oldChildPair.isConcreteView ? "(concrete)" : "")
|
|
1448
|
+
<< "Differ Branch 8: Deleting tag/tree that was not in new hierarchy: "
|
|
1449
|
+
<< oldChildPair
|
|
1445
1450
|
<< (oldChildPair.inOtherTree() ? "(in other tree)" : "")
|
|
1446
|
-
<< " with parent: [" <<
|
|
1451
|
+
<< " with parent: [" << parentTag << "] ##"
|
|
1447
1452
|
<< std::hash<ShadowView>{}(oldChildPair.shadowView);
|
|
1448
1453
|
});
|
|
1449
1454
|
|
|
@@ -1458,7 +1463,7 @@ static void calculateShadowViewMutations(
|
|
|
1458
1463
|
calculateShadowViewMutations(
|
|
1459
1464
|
innerScope,
|
|
1460
1465
|
mutationContainer.destructiveDownwardMutations,
|
|
1461
|
-
oldChildPair.shadowView,
|
|
1466
|
+
oldChildPair.shadowView.tag,
|
|
1462
1467
|
sliceChildShadowNodeViewPairsFromViewNodePair(
|
|
1463
1468
|
oldChildPair, innerScope),
|
|
1464
1469
|
{});
|
|
@@ -1480,12 +1485,10 @@ static void calculateShadowViewMutations(
|
|
|
1480
1485
|
|
|
1481
1486
|
DEBUG_LOGS({
|
|
1482
1487
|
LOG(ERROR)
|
|
1483
|
-
<< "Differ Branch
|
|
1484
|
-
<<
|
|
1485
|
-
<< (newChildPair.flattened ? "(flattened)" : "")
|
|
1486
|
-
<< (newChildPair.isConcreteView ? "(concrete)" : "")
|
|
1488
|
+
<< "Differ Branch 9: Inserting tag/tree that was not in old hierarchy: "
|
|
1489
|
+
<< newChildPair
|
|
1487
1490
|
<< (newChildPair.inOtherTree() ? "(in other tree)" : "")
|
|
1488
|
-
<< " with parent: [" <<
|
|
1491
|
+
<< " with parent: [" << parentTag << "]";
|
|
1489
1492
|
});
|
|
1490
1493
|
|
|
1491
1494
|
if (!newChildPair.isConcreteView) {
|
|
@@ -1502,7 +1505,7 @@ static void calculateShadowViewMutations(
|
|
|
1502
1505
|
calculateShadowViewMutations(
|
|
1503
1506
|
innerScope,
|
|
1504
1507
|
mutationContainer.downwardMutations,
|
|
1505
|
-
newChildPair.shadowView,
|
|
1508
|
+
newChildPair.shadowView.tag,
|
|
1506
1509
|
{},
|
|
1507
1510
|
sliceChildShadowNodeViewPairsFromViewNodePair(
|
|
1508
1511
|
newChildPair, innerScope));
|
|
@@ -1543,7 +1546,7 @@ static void calculateShadowViewMutations(
|
|
|
1543
1546
|
ShadowViewMutation::List calculateShadowViewMutations(
|
|
1544
1547
|
const ShadowNode& oldRootShadowNode,
|
|
1545
1548
|
const ShadowNode& newRootShadowNode) {
|
|
1546
|
-
|
|
1549
|
+
TraceSection s("calculateShadowViewMutations");
|
|
1547
1550
|
|
|
1548
1551
|
// Root shadow nodes must be belong the same family.
|
|
1549
1552
|
react_native_assert(
|
|
@@ -1567,7 +1570,7 @@ ShadowViewMutation::List calculateShadowViewMutations(
|
|
|
1567
1570
|
calculateShadowViewMutations(
|
|
1568
1571
|
innerViewNodePairScope,
|
|
1569
1572
|
mutations,
|
|
1570
|
-
|
|
1573
|
+
oldRootShadowNode.getTag(),
|
|
1571
1574
|
sliceChildShadowNodeViewPairs(
|
|
1572
1575
|
ShadowViewNodePair{.shadowNode = &oldRootShadowNode},
|
|
1573
1576
|
viewNodePairScope),
|
|
@@ -1575,6 +1578,38 @@ ShadowViewMutation::List calculateShadowViewMutations(
|
|
|
1575
1578
|
ShadowViewNodePair{.shadowNode = &newRootShadowNode},
|
|
1576
1579
|
viewNodePairScope));
|
|
1577
1580
|
|
|
1581
|
+
DEBUG_LOGS({
|
|
1582
|
+
LOG(ERROR) << "Differ Completed: " << mutations.size() << " mutations";
|
|
1583
|
+
for (size_t i = 0; i < mutations.size(); i++) {
|
|
1584
|
+
auto& mutation = mutations[i];
|
|
1585
|
+
switch (mutation.type) {
|
|
1586
|
+
case ShadowViewMutation::Type::Create:
|
|
1587
|
+
LOG(ERROR) << "[" << i << "] CREATE "
|
|
1588
|
+
<< mutation.newChildShadowView.tag;
|
|
1589
|
+
break;
|
|
1590
|
+
case ShadowViewMutation::Type::Delete:
|
|
1591
|
+
LOG(ERROR) << "[" << i << "] DELETE "
|
|
1592
|
+
<< mutation.oldChildShadowView.tag;
|
|
1593
|
+
break;
|
|
1594
|
+
case ShadowViewMutation::Type::Insert:
|
|
1595
|
+
LOG(ERROR) << "[" << i << "] INSERT "
|
|
1596
|
+
<< mutation.newChildShadowView.tag << " INTO "
|
|
1597
|
+
<< mutation.parentTag << " @ " << mutation.index;
|
|
1598
|
+
break;
|
|
1599
|
+
case ShadowViewMutation::Type::Remove:
|
|
1600
|
+
LOG(ERROR) << "[" << i << "] REMOVE "
|
|
1601
|
+
<< mutation.oldChildShadowView.tag << " FROM "
|
|
1602
|
+
<< mutation.parentTag << " @ " << mutation.index;
|
|
1603
|
+
break;
|
|
1604
|
+
case ShadowViewMutation::Type::Update:
|
|
1605
|
+
LOG(ERROR) << "[" << i << "] UPDATE "
|
|
1606
|
+
<< mutation.newChildShadowView.tag << " IN "
|
|
1607
|
+
<< mutation.parentTag;
|
|
1608
|
+
break;
|
|
1609
|
+
}
|
|
1610
|
+
}
|
|
1611
|
+
});
|
|
1612
|
+
|
|
1578
1613
|
return mutations;
|
|
1579
1614
|
}
|
|
1580
1615
|
|