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
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#pragma once
|
|
9
|
-
#include <fb/RefPtr.h>
|
|
10
|
-
#include <fb/assert.h>
|
|
11
|
-
#include <fb/noncopyable.h>
|
|
12
|
-
#include <fb/nonmovable.h>
|
|
13
|
-
#include <atomic>
|
|
14
|
-
|
|
15
|
-
namespace facebook {
|
|
16
|
-
|
|
17
|
-
class Countable : public noncopyable, public nonmovable {
|
|
18
|
-
public:
|
|
19
|
-
// RefPtr expects refcount to start at 0
|
|
20
|
-
Countable() : m_refcount(0) {}
|
|
21
|
-
virtual ~Countable() {
|
|
22
|
-
FBASSERT(m_refcount == 0);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
private:
|
|
26
|
-
void ref() {
|
|
27
|
-
++m_refcount;
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
void unref() {
|
|
31
|
-
if (0 == --m_refcount) {
|
|
32
|
-
delete this;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
bool hasOnlyOneRef() const {
|
|
37
|
-
return m_refcount == 1;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
template <typename T>
|
|
41
|
-
friend class RefPtr;
|
|
42
|
-
std::atomic<int> m_refcount;
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
} // namespace facebook
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
PROJECT_NAME = "Facebook JNI"
|
|
2
|
-
PROJECT_BRIEF = "Helper library to provide safe and convenient access to JNI with very low overhead"
|
|
3
|
-
JAVADOC_AUTOBRIEF = YES
|
|
4
|
-
EXTRACT_ALL = YES
|
|
5
|
-
RECURSIVE = YES
|
|
6
|
-
EXCLUDE = tests Asserts.h Countable.h GlobalReference.h LocalReference.h LocalString.h Registration.h WeakReference.h jni_helpers.h Environment.h
|
|
7
|
-
EXCLUDE_PATTERNS = *-inl.h *.cpp
|
|
8
|
-
GENERATE_HTML = YES
|
|
9
|
-
GENERATE_LATEX = NO
|
|
10
|
-
ENABLE_PREPROCESSING = YES
|
|
11
|
-
HIDE_UNDOC_MEMBERS = YES
|
|
12
|
-
HIDE_SCOPE_NAMES = YES
|
|
13
|
-
HIDE_FRIEND_COMPOUNDS = YES
|
|
14
|
-
HIDE_UNDOC_CLASSES = YES
|
|
15
|
-
SHOW_INCLUDE_FILES = NO
|
|
16
|
-
PREDEFINED = LOG_TAG=fbjni
|
|
17
|
-
EXAMPLE_PATH = samples
|
|
18
|
-
#ENABLED_SECTIONS = INTERNAL
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#pragma once
|
|
9
|
-
#include <jni.h>
|
|
10
|
-
#include <functional>
|
|
11
|
-
#include <string>
|
|
12
|
-
|
|
13
|
-
#include <fb/visibility.h>
|
|
14
|
-
|
|
15
|
-
namespace facebook {
|
|
16
|
-
namespace jni {
|
|
17
|
-
|
|
18
|
-
namespace internal {
|
|
19
|
-
struct CacheEnvTag {};
|
|
20
|
-
} // namespace internal
|
|
21
|
-
|
|
22
|
-
// Keeps a thread-local reference to the current thread's JNIEnv.
|
|
23
|
-
struct Environment {
|
|
24
|
-
// May be null if this thread isn't attached to the JVM
|
|
25
|
-
FBEXPORT static JNIEnv* current();
|
|
26
|
-
static void initialize(JavaVM* vm);
|
|
27
|
-
|
|
28
|
-
// There are subtle issues with calling the next functions directly. It is
|
|
29
|
-
// much better to always use a ThreadScope to manage attaching/detaching for
|
|
30
|
-
// you.
|
|
31
|
-
FBEXPORT static JNIEnv* ensureCurrentThreadIsAttached();
|
|
32
|
-
FBEXPORT static void detachCurrentThread();
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* RAII Object that attaches a thread to the JVM. Failing to detach from a
|
|
37
|
-
* thread before it exits will cause a crash, as will calling Detach an extra
|
|
38
|
-
* time, and this guard class helps keep that straight. In addition, it
|
|
39
|
-
* remembers whether it performed the attach or not, so it is safe to nest it
|
|
40
|
-
* with itself or with non-fbjni code that manages the attachment correctly.
|
|
41
|
-
*
|
|
42
|
-
* Potential concerns:
|
|
43
|
-
* - Attaching to the JVM is fast (~100us on MotoG), but ideally you would
|
|
44
|
-
* attach while the app is not busy.
|
|
45
|
-
* - Having a thread detach at arbitrary points is not safe in Dalvik; you need
|
|
46
|
-
* to be sure that there is no Java code on the current stack or you run the
|
|
47
|
-
* risk of a crash like: ERROR: detaching thread with interp frames (count=18)
|
|
48
|
-
* (More detail at
|
|
49
|
-
* https://groups.google.com/forum/#!topic/android-ndk/2H8z5grNqjo) ThreadScope
|
|
50
|
-
* won't do a detach if the thread was already attached before the guard is
|
|
51
|
-
* instantiated, but there's probably some usage that could trip this up.
|
|
52
|
-
* - Newly attached C++ threads only get the bootstrap class loader -- i.e.
|
|
53
|
-
* java language classes, not any of our application's classes. This will be
|
|
54
|
-
* different behavior than threads that were initiated on the Java side. A
|
|
55
|
-
* workaround is to pass a global reference for a class or instance to the new
|
|
56
|
-
* thread; this bypasses the need for the class loader. (See
|
|
57
|
-
* http://docs.oracle.com/javase/7/docs/technotes/guides/jni/spec/invocation.html#attach_current_thread)
|
|
58
|
-
* If you need access to the application's classes, you can use
|
|
59
|
-
* ThreadScope::WithClassLoader.
|
|
60
|
-
*/
|
|
61
|
-
class FBEXPORT ThreadScope {
|
|
62
|
-
public:
|
|
63
|
-
ThreadScope();
|
|
64
|
-
ThreadScope(ThreadScope&) = delete;
|
|
65
|
-
ThreadScope(ThreadScope&&) = default;
|
|
66
|
-
ThreadScope& operator=(ThreadScope&) = delete;
|
|
67
|
-
ThreadScope& operator=(ThreadScope&&) = delete;
|
|
68
|
-
~ThreadScope();
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* This runs the closure in a scope with fbjni's classloader. This should be
|
|
72
|
-
* the same classloader as the rest of the application and thus anything
|
|
73
|
-
* running in the closure will have access to the same classes as in a normal
|
|
74
|
-
* java-create thread.
|
|
75
|
-
*/
|
|
76
|
-
static void WithClassLoader(std::function<void()>&& runnable);
|
|
77
|
-
|
|
78
|
-
static void OnLoad();
|
|
79
|
-
|
|
80
|
-
// This constructor is only used internally by fbjni.
|
|
81
|
-
ThreadScope(JNIEnv*, internal::CacheEnvTag);
|
|
82
|
-
|
|
83
|
-
private:
|
|
84
|
-
friend struct Environment;
|
|
85
|
-
ThreadScope* previous_;
|
|
86
|
-
// If the JNIEnv* is set, it is guaranteed to be valid at least through the
|
|
87
|
-
// lifetime of this ThreadScope. The only case where that guarantee can be
|
|
88
|
-
// made is when there is a java frame in the stack below this.
|
|
89
|
-
JNIEnv* env_;
|
|
90
|
-
bool attachedWithThisScope_;
|
|
91
|
-
};
|
|
92
|
-
} // namespace jni
|
|
93
|
-
} // namespace facebook
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#pragma once
|
|
9
|
-
#include <cstring>
|
|
10
|
-
#include <sstream>
|
|
11
|
-
#include <string>
|
|
12
|
-
|
|
13
|
-
namespace facebook {
|
|
14
|
-
|
|
15
|
-
#define FROM_HERE facebook::ProgramLocation(__FUNCTION__, __FILE__, __LINE__)
|
|
16
|
-
|
|
17
|
-
class ProgramLocation {
|
|
18
|
-
public:
|
|
19
|
-
ProgramLocation()
|
|
20
|
-
: m_functionName("Unspecified"),
|
|
21
|
-
m_fileName("Unspecified"),
|
|
22
|
-
m_lineNumber(0) {}
|
|
23
|
-
|
|
24
|
-
ProgramLocation(const char* functionName, const char* fileName, int line)
|
|
25
|
-
: m_functionName(functionName),
|
|
26
|
-
m_fileName(fileName),
|
|
27
|
-
m_lineNumber(line) {}
|
|
28
|
-
|
|
29
|
-
const char* functionName() const {
|
|
30
|
-
return m_functionName;
|
|
31
|
-
}
|
|
32
|
-
const char* fileName() const {
|
|
33
|
-
return m_fileName;
|
|
34
|
-
}
|
|
35
|
-
int lineNumber() const {
|
|
36
|
-
return m_lineNumber;
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
std::string asFormattedString() const {
|
|
40
|
-
std::stringstream str;
|
|
41
|
-
str << "Function " << m_functionName << " in file " << m_fileName << ":"
|
|
42
|
-
<< m_lineNumber;
|
|
43
|
-
return str.str();
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
bool operator==(const ProgramLocation& other) const {
|
|
47
|
-
// Assumes that the strings are static
|
|
48
|
-
return (m_functionName == other.m_functionName) &&
|
|
49
|
-
(m_fileName == other.m_fileName) && m_lineNumber == other.m_lineNumber;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
private:
|
|
53
|
-
const char* m_functionName;
|
|
54
|
-
const char* m_fileName;
|
|
55
|
-
int m_lineNumber;
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
} // namespace facebook
|
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#pragma once
|
|
9
|
-
#include <fb/assert.h>
|
|
10
|
-
#include <utility>
|
|
11
|
-
|
|
12
|
-
namespace facebook {
|
|
13
|
-
|
|
14
|
-
// Reference counting smart pointer. This is designed to work with the
|
|
15
|
-
// Countable class or other implementations in the future. It is designed in a
|
|
16
|
-
// way to be both efficient and difficult to misuse. Typical usage is very
|
|
17
|
-
// simple once you learn the patterns (and the compiler will help!):
|
|
18
|
-
//
|
|
19
|
-
// By default, the internal pointer is null.
|
|
20
|
-
// RefPtr<Foo> ref;
|
|
21
|
-
//
|
|
22
|
-
// Object creation requires explicit construction:
|
|
23
|
-
// RefPtr<Foo> ref = createNew<Foo>(...);
|
|
24
|
-
//
|
|
25
|
-
// Or if the constructor is not public:
|
|
26
|
-
// RefPtr<Foo> ref = adoptRef(new Foo(...));
|
|
27
|
-
//
|
|
28
|
-
// But you can implicitly create from nullptr:
|
|
29
|
-
// RefPtr<Foo> maybeRef = cond ? ref : nullptr;
|
|
30
|
-
//
|
|
31
|
-
// Move/Copy Construction/Assignment are straightforward:
|
|
32
|
-
// RefPtr<Foo> ref2 = ref;
|
|
33
|
-
// ref = std::move(ref2);
|
|
34
|
-
//
|
|
35
|
-
// Destruction automatically drops the RefPtr's reference as expected.
|
|
36
|
-
//
|
|
37
|
-
// Upcasting is implicit but downcasting requires an explicit cast:
|
|
38
|
-
// struct Bar : public Foo {};
|
|
39
|
-
// RefPtr<Bar> barRef = static_cast<RefPtr<Bar>>(ref);
|
|
40
|
-
// ref = barRef;
|
|
41
|
-
//
|
|
42
|
-
template <class T>
|
|
43
|
-
class RefPtr {
|
|
44
|
-
public:
|
|
45
|
-
constexpr RefPtr() : m_ptr(nullptr) {}
|
|
46
|
-
|
|
47
|
-
// Allow implicit construction from a pointer only from nullptr
|
|
48
|
-
constexpr RefPtr(std::nullptr_t ptr) : m_ptr(nullptr) {}
|
|
49
|
-
|
|
50
|
-
RefPtr(const RefPtr<T>& ref) : m_ptr(ref.m_ptr) {
|
|
51
|
-
refIfNecessary(m_ptr);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
// Only allow implicit upcasts. A downcast will result in a compile error
|
|
55
|
-
// unless you use static_cast (which will end up invoking the explicit
|
|
56
|
-
// operator below).
|
|
57
|
-
template <typename U>
|
|
58
|
-
RefPtr(
|
|
59
|
-
const RefPtr<U>& ref,
|
|
60
|
-
typename std::enable_if<std::is_base_of<T, U>::value, U>::type* = nullptr)
|
|
61
|
-
: m_ptr(ref.get()) {
|
|
62
|
-
refIfNecessary(m_ptr);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
RefPtr(RefPtr<T>&& ref) : m_ptr(nullptr) {
|
|
66
|
-
*this = std::move(ref);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Only allow implicit upcasts. A downcast will result in a compile error
|
|
70
|
-
// unless you use static_cast (which will end up invoking the explicit
|
|
71
|
-
// operator below).
|
|
72
|
-
template <typename U>
|
|
73
|
-
RefPtr(
|
|
74
|
-
RefPtr<U>&& ref,
|
|
75
|
-
typename std::enable_if<std::is_base_of<T, U>::value, U>::type* = nullptr)
|
|
76
|
-
: m_ptr(nullptr) {
|
|
77
|
-
*this = std::move(ref);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
~RefPtr() {
|
|
81
|
-
unrefIfNecessary(m_ptr);
|
|
82
|
-
m_ptr = nullptr;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
RefPtr<T>& operator=(const RefPtr<T>& ref) {
|
|
86
|
-
if (m_ptr != ref.m_ptr) {
|
|
87
|
-
unrefIfNecessary(m_ptr);
|
|
88
|
-
m_ptr = ref.m_ptr;
|
|
89
|
-
refIfNecessary(m_ptr);
|
|
90
|
-
}
|
|
91
|
-
return *this;
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// The STL assumes rvalue references are unique and for simplicity's sake, we
|
|
95
|
-
// make the same assumption here, that &ref != this.
|
|
96
|
-
RefPtr<T>& operator=(RefPtr<T>&& ref) {
|
|
97
|
-
unrefIfNecessary(m_ptr);
|
|
98
|
-
m_ptr = ref.m_ptr;
|
|
99
|
-
ref.m_ptr = nullptr;
|
|
100
|
-
return *this;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
template <typename U>
|
|
104
|
-
RefPtr<T>& operator=(RefPtr<U>&& ref) {
|
|
105
|
-
unrefIfNecessary(m_ptr);
|
|
106
|
-
m_ptr = ref.m_ptr;
|
|
107
|
-
ref.m_ptr = nullptr;
|
|
108
|
-
return *this;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
void reset() {
|
|
112
|
-
unrefIfNecessary(m_ptr);
|
|
113
|
-
m_ptr = nullptr;
|
|
114
|
-
}
|
|
115
|
-
|
|
116
|
-
T* get() const {
|
|
117
|
-
return m_ptr;
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
T* operator->() const {
|
|
121
|
-
return m_ptr;
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
T& operator*() const {
|
|
125
|
-
return *m_ptr;
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
template <typename U>
|
|
129
|
-
explicit operator RefPtr<U>() const;
|
|
130
|
-
|
|
131
|
-
explicit operator bool() const {
|
|
132
|
-
return m_ptr ? true : false;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
bool isTheLastRef() const {
|
|
136
|
-
FBASSERT(m_ptr);
|
|
137
|
-
return m_ptr->hasOnlyOneRef();
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
// Creates a strong reference from a raw pointer, assuming that is already
|
|
141
|
-
// referenced from some other RefPtr. This should be used sparingly.
|
|
142
|
-
static inline RefPtr<T> assumeAlreadyReffed(T* ptr) {
|
|
143
|
-
return RefPtr<T>(ptr, ConstructionMode::External);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
// Creates a strong reference from a raw pointer, assuming that it points to a
|
|
147
|
-
// freshly-created object. See the documentation for RefPtr for usage.
|
|
148
|
-
static inline RefPtr<T> adoptRef(T* ptr) {
|
|
149
|
-
return RefPtr<T>(ptr, ConstructionMode::Adopted);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
private:
|
|
153
|
-
enum class ConstructionMode { Adopted, External };
|
|
154
|
-
|
|
155
|
-
RefPtr(T* ptr, ConstructionMode mode) : m_ptr(ptr) {
|
|
156
|
-
FBASSERTMSGF(
|
|
157
|
-
ptr,
|
|
158
|
-
"Got null pointer in %s construction mode",
|
|
159
|
-
mode == ConstructionMode::Adopted ? "adopted" : "external");
|
|
160
|
-
ptr->ref();
|
|
161
|
-
if (mode == ConstructionMode::Adopted) {
|
|
162
|
-
FBASSERT(ptr->hasOnlyOneRef());
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
|
|
166
|
-
static inline void refIfNecessary(T* ptr) {
|
|
167
|
-
if (ptr) {
|
|
168
|
-
ptr->ref();
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
static inline void unrefIfNecessary(T* ptr) {
|
|
172
|
-
if (ptr) {
|
|
173
|
-
ptr->unref();
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
|
|
177
|
-
template <typename U>
|
|
178
|
-
friend class RefPtr;
|
|
179
|
-
|
|
180
|
-
T* m_ptr;
|
|
181
|
-
};
|
|
182
|
-
|
|
183
|
-
// Creates a strong reference from a raw pointer, assuming that is already
|
|
184
|
-
// referenced from some other RefPtr and that it is non-null. This should be
|
|
185
|
-
// used sparingly.
|
|
186
|
-
template <typename T>
|
|
187
|
-
static inline RefPtr<T> assumeAlreadyReffed(T* ptr) {
|
|
188
|
-
return RefPtr<T>::assumeAlreadyReffed(ptr);
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
// As above, but tolerant of nullptr.
|
|
192
|
-
template <typename T>
|
|
193
|
-
static inline RefPtr<T> assumeAlreadyReffedOrNull(T* ptr) {
|
|
194
|
-
return ptr ? RefPtr<T>::assumeAlreadyReffed(ptr) : nullptr;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
// Creates a strong reference from a raw pointer, assuming that it points to a
|
|
198
|
-
// freshly-created object. See the documentation for RefPtr for usage.
|
|
199
|
-
template <typename T>
|
|
200
|
-
static inline RefPtr<T> adoptRef(T* ptr) {
|
|
201
|
-
return RefPtr<T>::adoptRef(ptr);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
template <typename T, typename... Args>
|
|
205
|
-
static inline RefPtr<T> createNew(Args&&... arguments) {
|
|
206
|
-
return RefPtr<T>::adoptRef(new T(std::forward<Args>(arguments)...));
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
template <typename T>
|
|
210
|
-
template <typename U>
|
|
211
|
-
RefPtr<T>::operator RefPtr<U>() const {
|
|
212
|
-
static_assert(std::is_base_of<T, U>::value, "Invalid static cast");
|
|
213
|
-
return assumeAlreadyReffedOrNull<U>(static_cast<U*>(m_ptr));
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
template <typename T, typename U>
|
|
217
|
-
inline bool operator==(const RefPtr<T>& a, const RefPtr<U>& b) {
|
|
218
|
-
return a.get() == b.get();
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
template <typename T, typename U>
|
|
222
|
-
inline bool operator!=(const RefPtr<T>& a, const RefPtr<U>& b) {
|
|
223
|
-
return a.get() != b.get();
|
|
224
|
-
}
|
|
225
|
-
|
|
226
|
-
template <typename T, typename U>
|
|
227
|
-
inline bool operator==(const RefPtr<T>& ref, U* ptr) {
|
|
228
|
-
return ref.get() == ptr;
|
|
229
|
-
}
|
|
230
|
-
|
|
231
|
-
template <typename T, typename U>
|
|
232
|
-
inline bool operator!=(const RefPtr<T>& ref, U* ptr) {
|
|
233
|
-
return ref.get() != ptr;
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
template <typename T, typename U>
|
|
237
|
-
inline bool operator==(U* ptr, const RefPtr<T>& ref) {
|
|
238
|
-
return ref.get() == ptr;
|
|
239
|
-
}
|
|
240
|
-
|
|
241
|
-
template <typename T, typename U>
|
|
242
|
-
inline bool operator!=(U* ptr, const RefPtr<T>& ref) {
|
|
243
|
-
return ref.get() != ptr;
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
template <typename T>
|
|
247
|
-
inline bool operator==(const RefPtr<T>& ref, std::nullptr_t ptr) {
|
|
248
|
-
return ref.get() == ptr;
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
template <typename T>
|
|
252
|
-
inline bool operator!=(const RefPtr<T>& ref, std::nullptr_t ptr) {
|
|
253
|
-
return ref.get() != ptr;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
template <typename T>
|
|
257
|
-
inline bool operator==(std::nullptr_t ptr, const RefPtr<T>& ref) {
|
|
258
|
-
return ref.get() == ptr;
|
|
259
|
-
}
|
|
260
|
-
|
|
261
|
-
template <typename T>
|
|
262
|
-
inline bool operator!=(std::nullptr_t ptr, const RefPtr<T>& ref) {
|
|
263
|
-
return ref.get() != ptr;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
} // namespace facebook
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#pragma once
|
|
9
|
-
#include <fb/assert.h>
|
|
10
|
-
#include <utility>
|
|
11
|
-
|
|
12
|
-
namespace facebook {
|
|
13
|
-
|
|
14
|
-
// Class that lets you declare a global but does not add a static constructor
|
|
15
|
-
// to the binary. Eventually I'd like to have this auto-initialize in a
|
|
16
|
-
// multithreaded environment but for now it's easiest just to use manual
|
|
17
|
-
// initialization.
|
|
18
|
-
template <typename T>
|
|
19
|
-
class StaticInitialized {
|
|
20
|
-
public:
|
|
21
|
-
constexpr StaticInitialized() : m_instance(nullptr) {}
|
|
22
|
-
|
|
23
|
-
template <typename... Args>
|
|
24
|
-
void initialize(Args&&... arguments) {
|
|
25
|
-
FBASSERT(!m_instance);
|
|
26
|
-
m_instance = new T(std::forward<Args>(arguments)...);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
T* operator->() const {
|
|
30
|
-
return m_instance;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
private:
|
|
34
|
-
T* m_instance;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
} // namespace facebook
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#pragma once
|
|
9
|
-
|
|
10
|
-
#include <errno.h>
|
|
11
|
-
#include <pthread.h>
|
|
12
|
-
|
|
13
|
-
#include <fb/assert.h>
|
|
14
|
-
|
|
15
|
-
namespace facebook {
|
|
16
|
-
|
|
17
|
-
///////////////////////////////////////////////////////////////////////////////
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* A thread-local object is a "global" object within a thread. This is useful
|
|
21
|
-
* for writing apartment-threaded code, where nothing is actullay shared
|
|
22
|
-
* between different threads (hence no locking) but those variables are not
|
|
23
|
-
* on stack in local scope. To use it, just do something like this,
|
|
24
|
-
*
|
|
25
|
-
* ThreadLocal<MyClass> static_object;
|
|
26
|
-
* static_object->data_ = ...;
|
|
27
|
-
* static_object->doSomething();
|
|
28
|
-
*
|
|
29
|
-
* ThreadLocal<int> static_number;
|
|
30
|
-
* int value = *static_number;
|
|
31
|
-
*
|
|
32
|
-
* So, syntax-wise it's similar to pointers. T can be primitive types, and if
|
|
33
|
-
* it's a class, there has to be a default constructor.
|
|
34
|
-
*/
|
|
35
|
-
template <typename T>
|
|
36
|
-
class ThreadLocal {
|
|
37
|
-
public:
|
|
38
|
-
/**
|
|
39
|
-
* Constructor that has to be called from a thread-neutral place.
|
|
40
|
-
*/
|
|
41
|
-
ThreadLocal() : m_key(0), m_cleanup(OnThreadExit) {
|
|
42
|
-
initialize();
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* As above but with a custom cleanup function
|
|
47
|
-
*/
|
|
48
|
-
typedef void (*CleanupFunction)(void* obj);
|
|
49
|
-
explicit ThreadLocal(CleanupFunction cleanup) : m_key(0), m_cleanup(cleanup) {
|
|
50
|
-
FBASSERT(cleanup);
|
|
51
|
-
initialize();
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Access object's member or method through this operator overload.
|
|
56
|
-
*/
|
|
57
|
-
T* operator->() const {
|
|
58
|
-
return get();
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
T& operator*() const {
|
|
62
|
-
return *get();
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
T* get() const {
|
|
66
|
-
return (T*)pthread_getspecific(m_key);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
T* release() {
|
|
70
|
-
T* obj = get();
|
|
71
|
-
pthread_setspecific(m_key, NULL);
|
|
72
|
-
return obj;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
void reset(T* other = NULL) {
|
|
76
|
-
T* old = (T*)pthread_getspecific(m_key);
|
|
77
|
-
if (old != other) {
|
|
78
|
-
FBASSERT(m_cleanup);
|
|
79
|
-
m_cleanup(old);
|
|
80
|
-
pthread_setspecific(m_key, other);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
private:
|
|
85
|
-
void initialize() {
|
|
86
|
-
int ret = pthread_key_create(&m_key, m_cleanup);
|
|
87
|
-
if (ret != 0) {
|
|
88
|
-
const char* msg = "(unknown error)";
|
|
89
|
-
switch (ret) {
|
|
90
|
-
case EAGAIN:
|
|
91
|
-
msg = "PTHREAD_KEYS_MAX (1024) is exceeded";
|
|
92
|
-
break;
|
|
93
|
-
case ENOMEM:
|
|
94
|
-
msg = "Out-of-memory";
|
|
95
|
-
break;
|
|
96
|
-
}
|
|
97
|
-
(void)msg;
|
|
98
|
-
FBASSERTMSGF(0, "pthread_key_create failed: %d %s", ret, msg);
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
static void OnThreadExit(void* obj) {
|
|
103
|
-
if (NULL != obj) {
|
|
104
|
-
delete (T*)obj;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
pthread_key_t m_key;
|
|
109
|
-
CleanupFunction m_cleanup;
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
} // namespace facebook
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
-
*
|
|
4
|
-
* This source code is licensed under the MIT license found in the
|
|
5
|
-
* LICENSE file in the root directory of this source tree.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
#ifndef FBASSERT_H
|
|
9
|
-
#define FBASSERT_H
|
|
10
|
-
|
|
11
|
-
#include <fb/visibility.h>
|
|
12
|
-
|
|
13
|
-
namespace facebook {
|
|
14
|
-
#define ENABLE_FBASSERT 1
|
|
15
|
-
|
|
16
|
-
#if ENABLE_FBASSERT
|
|
17
|
-
#define FBASSERTMSGF(expr, msg, ...) \
|
|
18
|
-
!(expr) ? facebook::assertInternal( \
|
|
19
|
-
"Assert (%s:%d): " msg, __FILE__, __LINE__, ##__VA_ARGS__) \
|
|
20
|
-
: (void)0
|
|
21
|
-
#else
|
|
22
|
-
#define FBASSERTMSGF(expr, msg, ...)
|
|
23
|
-
#endif // ENABLE_FBASSERT
|
|
24
|
-
|
|
25
|
-
#define FBASSERT(expr) FBASSERTMSGF(expr, "%s", #expr)
|
|
26
|
-
|
|
27
|
-
#define FBCRASH(msg, ...) \
|
|
28
|
-
facebook::assertInternal( \
|
|
29
|
-
"Fatal error (%s:%d): " msg, __FILE__, __LINE__, ##__VA_ARGS__)
|
|
30
|
-
#define FBUNREACHABLE() \
|
|
31
|
-
facebook::assertInternal( \
|
|
32
|
-
"This code should be unreachable (%s:%d)", __FILE__, __LINE__)
|
|
33
|
-
|
|
34
|
-
FBEXPORT void assertInternal(const char* formatstr, ...)
|
|
35
|
-
__attribute__((noreturn));
|
|
36
|
-
|
|
37
|
-
// This allows storing the assert message before the current process terminates
|
|
38
|
-
// due to a crash
|
|
39
|
-
typedef void (*AssertHandler)(const char* message);
|
|
40
|
-
void setAssertHandler(AssertHandler assertHandler);
|
|
41
|
-
|
|
42
|
-
} // namespace facebook
|
|
43
|
-
#endif // FBASSERT_H
|