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
|
@@ -21,9 +21,6 @@ elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC")
|
|
|
21
21
|
# when they go out of scope due to exceptions.
|
|
22
22
|
list(APPEND jsi_compile_flags "/EHsc")
|
|
23
23
|
endif()
|
|
24
|
-
if (HERMES_ENABLE_BITCODE)
|
|
25
|
-
list(APPEND jsi_compile_flags "-fembed-bitcode")
|
|
26
|
-
endif ()
|
|
27
24
|
target_compile_options(jsi PRIVATE ${jsi_compile_flags})
|
|
28
25
|
|
|
29
26
|
install(DIRECTORY "${PROJECT_SOURCE_DIR}/API/jsi/" DESTINATION include
|
|
@@ -153,7 +153,7 @@ void dynamicFromValueShallow(
|
|
|
153
153
|
folly::dynamic dynamicFromValue(
|
|
154
154
|
Runtime& runtime,
|
|
155
155
|
const Value& valueInput,
|
|
156
|
-
std::function<bool(const std::string&)
|
|
156
|
+
const std::function<bool(const std::string&)>& filterObjectKeys) {
|
|
157
157
|
std::vector<FromValue> stack;
|
|
158
158
|
folly::dynamic ret;
|
|
159
159
|
|
|
@@ -20,7 +20,7 @@ facebook::jsi::Value valueFromDynamic(
|
|
|
20
20
|
folly::dynamic dynamicFromValue(
|
|
21
21
|
facebook::jsi::Runtime& runtime,
|
|
22
22
|
const facebook::jsi::Value& value,
|
|
23
|
-
std::function<bool(const std::string&)
|
|
23
|
+
const std::function<bool(const std::string&)>& filterObjectKeys = nullptr);
|
|
24
24
|
|
|
25
25
|
} // namespace jsi
|
|
26
26
|
} // namespace facebook
|
|
@@ -232,6 +232,26 @@ class RuntimeDecorator : public Base, private jsi::Instrumentation {
|
|
|
232
232
|
return plain_.utf16(sym);
|
|
233
233
|
}
|
|
234
234
|
|
|
235
|
+
void getStringData(
|
|
236
|
+
const jsi::String& str,
|
|
237
|
+
void* ctx,
|
|
238
|
+
void (
|
|
239
|
+
*cb)(void* ctx, bool ascii, const void* data, size_t num)) override {
|
|
240
|
+
plain_.getStringData(str, ctx, cb);
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
void getPropNameIdData(
|
|
244
|
+
const jsi::PropNameID& sym,
|
|
245
|
+
void* ctx,
|
|
246
|
+
void (
|
|
247
|
+
*cb)(void* ctx, bool ascii, const void* data, size_t num)) override {
|
|
248
|
+
plain_.getPropNameIdData(sym, ctx, cb);
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
Object createObjectWithPrototype(const Value& prototype) override {
|
|
252
|
+
return plain_.createObjectWithPrototype(prototype);
|
|
253
|
+
}
|
|
254
|
+
|
|
235
255
|
Object createObject() override {
|
|
236
256
|
return plain_.createObject();
|
|
237
257
|
};
|
|
@@ -266,6 +286,14 @@ class RuntimeDecorator : public Base, private jsi::Instrumentation {
|
|
|
266
286
|
plain_.setExternalMemoryPressure(obj, amt);
|
|
267
287
|
}
|
|
268
288
|
|
|
289
|
+
void setPrototypeOf(const Object& object, const Value& prototype) override {
|
|
290
|
+
plain_.setPrototypeOf(object, prototype);
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
Value getPrototypeOf(const Object& object) override {
|
|
294
|
+
return plain_.getPrototypeOf(object);
|
|
295
|
+
}
|
|
296
|
+
|
|
269
297
|
Value getProperty(const Object& o, const PropNameID& name) override {
|
|
270
298
|
return plain_.getProperty(o, name);
|
|
271
299
|
};
|
|
@@ -690,11 +718,34 @@ class WithRuntimeDecorator : public RuntimeDecorator<Plain, Base> {
|
|
|
690
718
|
return RD::utf16(sym);
|
|
691
719
|
}
|
|
692
720
|
|
|
721
|
+
void getStringData(
|
|
722
|
+
const jsi::String& str,
|
|
723
|
+
void* ctx,
|
|
724
|
+
void (
|
|
725
|
+
*cb)(void* ctx, bool ascii, const void* data, size_t num)) override {
|
|
726
|
+
Around around{with_};
|
|
727
|
+
RD::getStringData(str, ctx, cb);
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
void getPropNameIdData(
|
|
731
|
+
const jsi::PropNameID& sym,
|
|
732
|
+
void* ctx,
|
|
733
|
+
void (
|
|
734
|
+
*cb)(void* ctx, bool ascii, const void* data, size_t num)) override {
|
|
735
|
+
Around around{with_};
|
|
736
|
+
RD::getPropNameIdData(sym, ctx, cb);
|
|
737
|
+
}
|
|
738
|
+
|
|
693
739
|
Value createValueFromJsonUtf8(const uint8_t* json, size_t length) override {
|
|
694
740
|
Around around{with_};
|
|
695
741
|
return RD::createValueFromJsonUtf8(json, length);
|
|
696
742
|
};
|
|
697
743
|
|
|
744
|
+
Object createObjectWithPrototype(const Value& prototype) override {
|
|
745
|
+
Around around{with_};
|
|
746
|
+
return RD::createObjectWithPrototype(prototype);
|
|
747
|
+
}
|
|
748
|
+
|
|
698
749
|
Object createObject() override {
|
|
699
750
|
Around around{with_};
|
|
700
751
|
return RD::createObject();
|
|
@@ -726,6 +777,16 @@ class WithRuntimeDecorator : public RuntimeDecorator<Plain, Base> {
|
|
|
726
777
|
RD::setNativeState(o, state);
|
|
727
778
|
};
|
|
728
779
|
|
|
780
|
+
void setPrototypeOf(const Object& object, const Value& prototype) override {
|
|
781
|
+
Around around{with_};
|
|
782
|
+
RD::setPrototypeOf(object, prototype);
|
|
783
|
+
}
|
|
784
|
+
|
|
785
|
+
Value getPrototypeOf(const Object& object) override {
|
|
786
|
+
Around around{with_};
|
|
787
|
+
return RD::getPrototypeOf(object);
|
|
788
|
+
}
|
|
789
|
+
|
|
729
790
|
Value getProperty(const Object& o, const PropNameID& name) override {
|
|
730
791
|
Around around{with_};
|
|
731
792
|
return RD::getProperty(o, name);
|
|
@@ -84,6 +84,10 @@ inline const Runtime::PointerValue* Runtime::getPointerValue(
|
|
|
84
84
|
return value.data_.pointer.ptr_;
|
|
85
85
|
}
|
|
86
86
|
|
|
87
|
+
Value Object::getPrototype(Runtime& runtime) const {
|
|
88
|
+
return runtime.getPrototypeOf(*this);
|
|
89
|
+
}
|
|
90
|
+
|
|
87
91
|
inline Value Object::getProperty(Runtime& runtime, const char* name) const {
|
|
88
92
|
return getProperty(runtime, String::createFromAscii(runtime, name));
|
|
89
93
|
}
|
|
@@ -258,6 +258,43 @@ std::u16string Runtime::utf16(const String& str) {
|
|
|
258
258
|
return convertUTF8ToUTF16(utf8Str);
|
|
259
259
|
}
|
|
260
260
|
|
|
261
|
+
void Runtime::getStringData(
|
|
262
|
+
const jsi::String& str,
|
|
263
|
+
void* ctx,
|
|
264
|
+
void (*cb)(void* ctx, bool ascii, const void* data, size_t num)) {
|
|
265
|
+
auto utf16Str = utf16(str);
|
|
266
|
+
cb(ctx, false, utf16Str.data(), utf16Str.size());
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
void Runtime::getPropNameIdData(
|
|
270
|
+
const jsi::PropNameID& sym,
|
|
271
|
+
void* ctx,
|
|
272
|
+
void (*cb)(void* ctx, bool ascii, const void* data, size_t num)) {
|
|
273
|
+
auto utf16Str = utf16(sym);
|
|
274
|
+
cb(ctx, false, utf16Str.data(), utf16Str.size());
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
void Runtime::setPrototypeOf(const Object& object, const Value& prototype) {
|
|
278
|
+
auto setPrototypeOfFn = global()
|
|
279
|
+
.getPropertyAsObject(*this, "Object")
|
|
280
|
+
.getPropertyAsFunction(*this, "setPrototypeOf");
|
|
281
|
+
setPrototypeOfFn.call(*this, object, prototype).asObject(*this);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
Value Runtime::getPrototypeOf(const Object& object) {
|
|
285
|
+
auto setPrototypeOfFn = global()
|
|
286
|
+
.getPropertyAsObject(*this, "Object")
|
|
287
|
+
.getPropertyAsFunction(*this, "getPrototypeOf");
|
|
288
|
+
return setPrototypeOfFn.call(*this, object);
|
|
289
|
+
}
|
|
290
|
+
|
|
291
|
+
Object Runtime::createObjectWithPrototype(const Value& prototype) {
|
|
292
|
+
auto createFn = global()
|
|
293
|
+
.getPropertyAsObject(*this, "Object")
|
|
294
|
+
.getPropertyAsFunction(*this, "create");
|
|
295
|
+
return createFn.call(*this, prototype).asObject(*this);
|
|
296
|
+
}
|
|
297
|
+
|
|
261
298
|
Pointer& Pointer::operator=(Pointer&& other) noexcept {
|
|
262
299
|
if (ptr_) {
|
|
263
300
|
ptr_->invalidate();
|
|
@@ -333,12 +333,18 @@ class JSI_EXPORT Runtime {
|
|
|
333
333
|
virtual std::shared_ptr<HostObject> getHostObject(const jsi::Object&) = 0;
|
|
334
334
|
virtual HostFunctionType& getHostFunction(const jsi::Function&) = 0;
|
|
335
335
|
|
|
336
|
+
// Creates a new Object with the custom prototype
|
|
337
|
+
virtual Object createObjectWithPrototype(const Value& prototype);
|
|
338
|
+
|
|
336
339
|
virtual bool hasNativeState(const jsi::Object&) = 0;
|
|
337
340
|
virtual std::shared_ptr<NativeState> getNativeState(const jsi::Object&) = 0;
|
|
338
341
|
virtual void setNativeState(
|
|
339
342
|
const jsi::Object&,
|
|
340
343
|
std::shared_ptr<NativeState> state) = 0;
|
|
341
344
|
|
|
345
|
+
virtual void setPrototypeOf(const Object& object, const Value& prototype);
|
|
346
|
+
virtual Value getPrototypeOf(const Object& object);
|
|
347
|
+
|
|
342
348
|
virtual Value getProperty(const Object&, const PropNameID& name) = 0;
|
|
343
349
|
virtual Value getProperty(const Object&, const String& name) = 0;
|
|
344
350
|
virtual bool hasProperty(const Object&, const PropNameID& name) = 0;
|
|
@@ -402,6 +408,34 @@ class JSI_EXPORT Runtime {
|
|
|
402
408
|
virtual std::u16string utf16(const String& str);
|
|
403
409
|
virtual std::u16string utf16(const PropNameID& sym);
|
|
404
410
|
|
|
411
|
+
/// Invokes the provided callback \p cb with the String content in \p str.
|
|
412
|
+
/// The callback must take in three arguments: bool ascii, const void* data,
|
|
413
|
+
/// and size_t num, respectively. \p ascii indicates whether the \p data
|
|
414
|
+
/// passed to the callback should be interpreted as a pointer to a sequence of
|
|
415
|
+
/// \p num ASCII characters or UTF16 characters. Depending on the internal
|
|
416
|
+
/// representation of the string, the function may invoke the callback
|
|
417
|
+
/// multiple times, with a different format on each invocation. The callback
|
|
418
|
+
/// must not access runtime functionality, as any operation on the runtime may
|
|
419
|
+
/// invalidate the data pointers.
|
|
420
|
+
virtual void getStringData(
|
|
421
|
+
const jsi::String& str,
|
|
422
|
+
void* ctx,
|
|
423
|
+
void (*cb)(void* ctx, bool ascii, const void* data, size_t num));
|
|
424
|
+
|
|
425
|
+
/// Invokes the provided callback \p cb with the PropNameID content in \p sym.
|
|
426
|
+
/// The callback must take in three arguments: bool ascii, const void* data,
|
|
427
|
+
/// and size_t num, respectively. \p ascii indicates whether the \p data
|
|
428
|
+
/// passed to the callback should be interpreted as a pointer to a sequence of
|
|
429
|
+
/// \p num ASCII characters or UTF16 characters. Depending on the internal
|
|
430
|
+
/// representation of the string, the function may invoke the callback
|
|
431
|
+
/// multiple times, with a different format on each invocation. The callback
|
|
432
|
+
/// must not access runtime functionality, as any operation on the runtime may
|
|
433
|
+
/// invalidate the data pointers.
|
|
434
|
+
virtual void getPropNameIdData(
|
|
435
|
+
const jsi::PropNameID& sym,
|
|
436
|
+
void* ctx,
|
|
437
|
+
void (*cb)(void* ctx, bool ascii, const void* data, size_t num));
|
|
438
|
+
|
|
405
439
|
// These exist so derived classes can access the private parts of
|
|
406
440
|
// Value, Symbol, String, and Object, which are all friends of Runtime.
|
|
407
441
|
template <typename T>
|
|
@@ -509,6 +543,22 @@ class JSI_EXPORT PropNameID : public Pointer {
|
|
|
509
543
|
return runtime.utf16(*this);
|
|
510
544
|
}
|
|
511
545
|
|
|
546
|
+
/// Invokes the user provided callback to process the content in PropNameId.
|
|
547
|
+
/// The callback must take in three arguments: bool ascii, const void* data,
|
|
548
|
+
/// and size_t num, respectively. \p ascii indicates whether the \p data
|
|
549
|
+
/// passed to the callback should be interpreted as a pointer to a sequence of
|
|
550
|
+
/// \p num ASCII characters or UTF16 characters. The function may invoke the
|
|
551
|
+
/// callback multiple times, with a different format on each invocation. The
|
|
552
|
+
/// callback must not access runtime functionality, as any operation on the
|
|
553
|
+
/// runtime may invalidate the data pointers.
|
|
554
|
+
template <typename CB>
|
|
555
|
+
void getPropNameIdData(Runtime& runtime, CB& cb) const {
|
|
556
|
+
runtime.getPropNameIdData(
|
|
557
|
+
*this, &cb, [](void* ctx, bool ascii, const void* data, size_t num) {
|
|
558
|
+
(*((CB*)ctx))(ascii, data, num);
|
|
559
|
+
});
|
|
560
|
+
}
|
|
561
|
+
|
|
512
562
|
static bool compare(
|
|
513
563
|
Runtime& runtime,
|
|
514
564
|
const jsi::PropNameID& a,
|
|
@@ -664,6 +714,22 @@ class JSI_EXPORT String : public Pointer {
|
|
|
664
714
|
return runtime.utf16(*this);
|
|
665
715
|
}
|
|
666
716
|
|
|
717
|
+
/// Invokes the user provided callback to process content in String. The
|
|
718
|
+
/// callback must take in three arguments: bool ascii, const void* data, and
|
|
719
|
+
/// size_t num, respectively. \p ascii indicates whether the \p data passed to
|
|
720
|
+
/// the callback should be interpreted as a pointer to a sequence of \p num
|
|
721
|
+
/// ASCII characters or UTF16 characters. The function may invoke the callback
|
|
722
|
+
/// multiple times, with a different format on each invocation. The callback
|
|
723
|
+
/// must not access runtime functionality, as any operation on the runtime may
|
|
724
|
+
/// invalidate the data pointers.
|
|
725
|
+
template <typename CB>
|
|
726
|
+
void getStringData(Runtime& runtime, CB& cb) const {
|
|
727
|
+
runtime.getStringData(
|
|
728
|
+
*this, &cb, [](void* ctx, bool ascii, const void* data, size_t num) {
|
|
729
|
+
(*((CB*)ctx))(ascii, data, num);
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
|
|
667
733
|
friend class Runtime;
|
|
668
734
|
friend class Value;
|
|
669
735
|
};
|
|
@@ -688,6 +754,11 @@ class JSI_EXPORT Object : public Pointer {
|
|
|
688
754
|
return runtime.createObject(ho);
|
|
689
755
|
}
|
|
690
756
|
|
|
757
|
+
/// Creates a new Object with the custom prototype
|
|
758
|
+
static Object create(Runtime& runtime, const Value& prototype) {
|
|
759
|
+
return runtime.createObjectWithPrototype(prototype);
|
|
760
|
+
}
|
|
761
|
+
|
|
691
762
|
/// \return whether this and \c obj are the same JSObject or not.
|
|
692
763
|
static bool strictEquals(Runtime& runtime, const Object& a, const Object& b) {
|
|
693
764
|
return runtime.strictEquals(a, b);
|
|
@@ -698,6 +769,16 @@ class JSI_EXPORT Object : public Pointer {
|
|
|
698
769
|
return rt.instanceOf(*this, ctor);
|
|
699
770
|
}
|
|
700
771
|
|
|
772
|
+
/// Sets \p prototype as the prototype of the object. The prototype must be
|
|
773
|
+
/// either an Object or null. If the prototype was not set successfully, this
|
|
774
|
+
/// method will throw.
|
|
775
|
+
void setPrototype(Runtime& runtime, const Value& prototype) const {
|
|
776
|
+
return runtime.setPrototypeOf(*this, prototype);
|
|
777
|
+
}
|
|
778
|
+
|
|
779
|
+
/// \return the prototype of the object
|
|
780
|
+
inline Value getPrototype(Runtime& runtime) const;
|
|
781
|
+
|
|
701
782
|
/// \return the property of the object with the given ascii name.
|
|
702
783
|
/// If the name isn't a property on the object, returns the
|
|
703
784
|
/// undefined value.
|
|
@@ -1635,6 +1635,94 @@ TEST_P(JSITest, UTF16Test) {
|
|
|
1635
1635
|
EXPECT_EQ(str.utf16(rd), u"\uFFFD\u007A");
|
|
1636
1636
|
}
|
|
1637
1637
|
|
|
1638
|
+
TEST_P(JSITest, GetStringDataTest) {
|
|
1639
|
+
// This Runtime Decorator is used to test the default getStringData
|
|
1640
|
+
// implementation for VMs that do not provide their own implementation
|
|
1641
|
+
class RD : public RuntimeDecorator<Runtime, Runtime> {
|
|
1642
|
+
public:
|
|
1643
|
+
RD(Runtime& rt) : RuntimeDecorator(rt) {}
|
|
1644
|
+
|
|
1645
|
+
void getStringData(
|
|
1646
|
+
const String& str,
|
|
1647
|
+
void* ctx,
|
|
1648
|
+
void (*cb)(void* ctx, bool ascii, const void* data, size_t num))
|
|
1649
|
+
override {
|
|
1650
|
+
Runtime::getStringData(str, ctx, cb);
|
|
1651
|
+
}
|
|
1652
|
+
};
|
|
1653
|
+
|
|
1654
|
+
RD rd = RD(rt);
|
|
1655
|
+
String str = String::createFromUtf8(rd, "hello👋");
|
|
1656
|
+
|
|
1657
|
+
std::u16string buf;
|
|
1658
|
+
auto cb = [&buf](bool ascii, const void* data, size_t num) {
|
|
1659
|
+
assert(!ascii && "Default implementation is always utf16");
|
|
1660
|
+
buf.append((const char16_t*)data, num);
|
|
1661
|
+
};
|
|
1662
|
+
|
|
1663
|
+
str.getStringData(rd, cb);
|
|
1664
|
+
EXPECT_EQ(buf, str.utf16(rd));
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
TEST_P(JSITest, ObjectSetPrototype) {
|
|
1668
|
+
// This Runtime Decorator is used to test the default implementation of
|
|
1669
|
+
// Object.setPrototypeOf
|
|
1670
|
+
class RD : public RuntimeDecorator<Runtime, Runtime> {
|
|
1671
|
+
public:
|
|
1672
|
+
explicit RD(Runtime& rt) : RuntimeDecorator(rt) {}
|
|
1673
|
+
|
|
1674
|
+
void setPrototypeOf(const Object& object, const Value& prototype) override {
|
|
1675
|
+
return Runtime::setPrototypeOf(object, prototype);
|
|
1676
|
+
}
|
|
1677
|
+
|
|
1678
|
+
Value getPrototypeOf(const Object& object) override {
|
|
1679
|
+
return Runtime::getPrototypeOf(object);
|
|
1680
|
+
}
|
|
1681
|
+
};
|
|
1682
|
+
|
|
1683
|
+
RD rd = RD(rt);
|
|
1684
|
+
Object child(rd);
|
|
1685
|
+
|
|
1686
|
+
// Tests null value as prototype
|
|
1687
|
+
child.setPrototype(rd, Value::null());
|
|
1688
|
+
EXPECT_TRUE(child.getPrototype(rd).isNull());
|
|
1689
|
+
|
|
1690
|
+
Object prototypeObj(rd);
|
|
1691
|
+
prototypeObj.setProperty(rd, "someProperty", 123);
|
|
1692
|
+
Value prototype(rd, prototypeObj);
|
|
1693
|
+
|
|
1694
|
+
child.setPrototype(rd, prototype);
|
|
1695
|
+
EXPECT_EQ(child.getProperty(rd, "someProperty").getNumber(), 123);
|
|
1696
|
+
|
|
1697
|
+
auto getPrototypeRes = child.getPrototype(rd).asObject(rd);
|
|
1698
|
+
EXPECT_EQ(getPrototypeRes.getProperty(rd, "someProperty").getNumber(), 123);
|
|
1699
|
+
}
|
|
1700
|
+
|
|
1701
|
+
TEST_P(JSITest, ObjectCreateWithPrototype) {
|
|
1702
|
+
// This Runtime Decorator is used to test the default implementation of
|
|
1703
|
+
// Object.create(prototype)
|
|
1704
|
+
class RD : public RuntimeDecorator<Runtime, Runtime> {
|
|
1705
|
+
public:
|
|
1706
|
+
RD(Runtime& rt) : RuntimeDecorator(rt) {}
|
|
1707
|
+
|
|
1708
|
+
Object createObjectWithPrototype(const Value& prototype) override {
|
|
1709
|
+
return Runtime::createObjectWithPrototype(prototype);
|
|
1710
|
+
}
|
|
1711
|
+
};
|
|
1712
|
+
|
|
1713
|
+
RD rd = RD(rt);
|
|
1714
|
+
Object prototypeObj(rd);
|
|
1715
|
+
prototypeObj.setProperty(rd, "someProperty", 123);
|
|
1716
|
+
Value prototype(rd, prototypeObj);
|
|
1717
|
+
|
|
1718
|
+
Object child = Object::create(rd, prototype);
|
|
1719
|
+
EXPECT_EQ(child.getProperty(rd, "someProperty").getNumber(), 123);
|
|
1720
|
+
|
|
1721
|
+
// Tests null value as prototype
|
|
1722
|
+
child = Object::create(rd, Value::null());
|
|
1723
|
+
EXPECT_TRUE(child.getPrototype(rd).isNull());
|
|
1724
|
+
}
|
|
1725
|
+
|
|
1638
1726
|
INSTANTIATE_TEST_CASE_P(
|
|
1639
1727
|
Runtimes,
|
|
1640
1728
|
JSITest,
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
#include <cxxreact/JSBigString.h>
|
|
12
12
|
#include <cxxreact/ModuleRegistry.h>
|
|
13
13
|
#include <cxxreact/ReactMarker.h>
|
|
14
|
-
#include <cxxreact/
|
|
14
|
+
#include <cxxreact/TraceSection.h>
|
|
15
15
|
#include <folly/Conv.h>
|
|
16
16
|
#include <folly/json.h>
|
|
17
17
|
#include <glog/logging.h>
|
|
@@ -80,7 +80,7 @@ JSIExecutor::JSIExecutor(
|
|
|
80
80
|
}
|
|
81
81
|
|
|
82
82
|
void JSIExecutor::initializeRuntime() {
|
|
83
|
-
|
|
83
|
+
TraceSection s("JSIExecutor::initializeRuntime");
|
|
84
84
|
|
|
85
85
|
bindNativePerformanceNow(*runtime_);
|
|
86
86
|
|
|
@@ -152,7 +152,7 @@ void JSIExecutor::initializeRuntime() {
|
|
|
152
152
|
void JSIExecutor::loadBundle(
|
|
153
153
|
std::unique_ptr<const JSBigString> script,
|
|
154
154
|
std::string sourceURL) {
|
|
155
|
-
|
|
155
|
+
TraceSection s("JSIExecutor::loadBundle");
|
|
156
156
|
bool hasLogger = false;
|
|
157
157
|
{
|
|
158
158
|
std::shared_lock lock(ReactMarker::logTaggedMarkerImplMutex);
|
|
@@ -218,7 +218,7 @@ void JSIExecutor::callFunction(
|
|
|
218
218
|
const std::string& moduleId,
|
|
219
219
|
const std::string& methodId,
|
|
220
220
|
const folly::dynamic& arguments) {
|
|
221
|
-
|
|
221
|
+
TraceSection s(
|
|
222
222
|
"JSIExecutor::callFunction", "moduleId", moduleId, "methodId", methodId);
|
|
223
223
|
if (!callFunctionReturnFlushedQueue_) {
|
|
224
224
|
bindBridge();
|
|
@@ -255,7 +255,7 @@ void JSIExecutor::callFunction(
|
|
|
255
255
|
void JSIExecutor::invokeCallback(
|
|
256
256
|
const double callbackId,
|
|
257
257
|
const folly::dynamic& arguments) {
|
|
258
|
-
|
|
258
|
+
TraceSection s("JSIExecutor::invokeCallback", "callbackId", callbackId);
|
|
259
259
|
if (!invokeCallbackAndReturnFlushedQueue_) {
|
|
260
260
|
bindBridge();
|
|
261
261
|
}
|
|
@@ -274,7 +274,7 @@ void JSIExecutor::invokeCallback(
|
|
|
274
274
|
void JSIExecutor::setGlobalVariable(
|
|
275
275
|
std::string propName,
|
|
276
276
|
std::unique_ptr<const JSBigString> jsonValue) {
|
|
277
|
-
|
|
277
|
+
TraceSection s("JSIExecutor::setGlobalVariable", "propName", propName);
|
|
278
278
|
runtime_->global().setProperty(
|
|
279
279
|
*runtime_,
|
|
280
280
|
propName.c_str(),
|
|
@@ -366,7 +366,7 @@ void JSIExecutor::handleMemoryPressure(int pressureLevel) {
|
|
|
366
366
|
|
|
367
367
|
void JSIExecutor::bindBridge() {
|
|
368
368
|
std::call_once(bindFlag_, [this] {
|
|
369
|
-
|
|
369
|
+
TraceSection s("JSIExecutor::bindBridge (once)");
|
|
370
370
|
Value batchedBridgeValue =
|
|
371
371
|
runtime_->global().getProperty(*runtime_, "__fbBatchedBridge");
|
|
372
372
|
if (batchedBridgeValue.isUndefined() || !batchedBridgeValue.isObject()) {
|
|
@@ -385,7 +385,7 @@ void JSIExecutor::bindBridge() {
|
|
|
385
385
|
}
|
|
386
386
|
|
|
387
387
|
void JSIExecutor::callNativeModules(const Value& queue, bool isEndOfBatch) {
|
|
388
|
-
|
|
388
|
+
TraceSection s("JSIExecutor::callNativeModules");
|
|
389
389
|
// If this fails, you need to pass a fully functional delegate with a
|
|
390
390
|
// module registry to the factory/ctor.
|
|
391
391
|
CHECK(delegate_) << "Attempting to use native modules without a delegate";
|
|
@@ -401,7 +401,7 @@ void JSIExecutor::callNativeModules(const Value& queue, bool isEndOfBatch) {
|
|
|
401
401
|
}
|
|
402
402
|
|
|
403
403
|
void JSIExecutor::flush() {
|
|
404
|
-
|
|
404
|
+
TraceSection s("JSIExecutor::flush");
|
|
405
405
|
if (flushedQueue_) {
|
|
406
406
|
Value ret = flushedQueue_->call(*runtime_);
|
|
407
407
|
callNativeModules(ret, true);
|
|
@@ -125,21 +125,17 @@ void HostAgent::handleRequest(const cdp::PreparsedRequest& req) {
|
|
|
125
125
|
|
|
126
126
|
shouldSendOKResponse = true;
|
|
127
127
|
isFinishedHandlingRequest = true;
|
|
128
|
-
} else if (req.method == "
|
|
128
|
+
} else if (req.method == "ReactNativeApplication.enable") {
|
|
129
|
+
sessionState_.isReactNativeApplicationDomainEnabled = true;
|
|
129
130
|
fuseboxClientType_ = FuseboxClientType::Fusebox;
|
|
130
131
|
|
|
131
132
|
if (sessionState_.isLogDomainEnabled) {
|
|
132
133
|
sendFuseboxNotice();
|
|
133
134
|
}
|
|
134
135
|
|
|
135
|
-
shouldSendOKResponse = true;
|
|
136
|
-
isFinishedHandlingRequest = true;
|
|
137
|
-
} else if (req.method == "ReactNativeApplication.enable") {
|
|
138
|
-
sessionState_.isReactNativeApplicationDomainEnabled = true;
|
|
139
|
-
|
|
140
136
|
frontendChannel_(cdp::jsonNotification(
|
|
141
137
|
"ReactNativeApplication.metadataUpdated",
|
|
142
|
-
|
|
138
|
+
createHostMetadataPayload(hostMetadata_)));
|
|
143
139
|
|
|
144
140
|
shouldSendOKResponse = true;
|
|
145
141
|
isFinishedHandlingRequest = true;
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
#include "InstanceTarget.h"
|
|
14
14
|
#include "SessionState.h"
|
|
15
15
|
|
|
16
|
+
#include <jsinspector-modern/InspectorFlags.h>
|
|
17
|
+
|
|
16
18
|
#include <folly/dynamic.h>
|
|
17
19
|
#include <folly/json.h>
|
|
18
20
|
|
|
@@ -232,7 +234,22 @@ bool HostTargetController::decrementPauseOverlayCounter() {
|
|
|
232
234
|
return true;
|
|
233
235
|
}
|
|
234
236
|
|
|
235
|
-
|
|
237
|
+
namespace {
|
|
238
|
+
|
|
239
|
+
struct StaticHostTargetMetadata {
|
|
240
|
+
std::optional<bool> isProfilingBuild;
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
StaticHostTargetMetadata getStaticHostMetadata() {
|
|
244
|
+
auto& inspectorFlags = jsinspector_modern::InspectorFlags::getInstance();
|
|
245
|
+
|
|
246
|
+
return {.isProfilingBuild = inspectorFlags.getIsProfilingBuild()};
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
} // namespace
|
|
250
|
+
|
|
251
|
+
folly::dynamic createHostMetadataPayload(const HostTargetMetadata& metadata) {
|
|
252
|
+
auto staticMetadata = getStaticHostMetadata();
|
|
236
253
|
folly::dynamic result = folly::dynamic::object;
|
|
237
254
|
|
|
238
255
|
if (metadata.appDisplayName) {
|
|
@@ -253,6 +270,10 @@ folly::dynamic hostMetadataToDynamic(const HostTargetMetadata& metadata) {
|
|
|
253
270
|
if (metadata.reactNativeVersion) {
|
|
254
271
|
result["reactNativeVersion"] = metadata.reactNativeVersion.value();
|
|
255
272
|
}
|
|
273
|
+
if (staticMetadata.isProfilingBuild) {
|
|
274
|
+
result["unstable_isProfilingBuild"] =
|
|
275
|
+
staticMetadata.isProfilingBuild.value();
|
|
276
|
+
}
|
|
256
277
|
|
|
257
278
|
return result;
|
|
258
279
|
}
|
|
@@ -271,6 +271,6 @@ class JSINSPECTOR_EXPORT HostTarget
|
|
|
271
271
|
friend class HostTargetController;
|
|
272
272
|
};
|
|
273
273
|
|
|
274
|
-
folly::dynamic
|
|
274
|
+
folly::dynamic createHostMetadataPayload(const HostTargetMetadata& metadata);
|
|
275
275
|
|
|
276
276
|
} // namespace facebook::react::jsinspector_modern
|
|
@@ -18,13 +18,25 @@ InspectorFlags& InspectorFlags::getInstance() {
|
|
|
18
18
|
}
|
|
19
19
|
|
|
20
20
|
bool InspectorFlags::getFuseboxEnabled() const {
|
|
21
|
+
if (fuseboxDisabledForTest_) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
|
|
21
25
|
return loadFlagsAndAssertUnchanged().fuseboxEnabled;
|
|
22
26
|
}
|
|
23
27
|
|
|
28
|
+
bool InspectorFlags::getIsProfilingBuild() const {
|
|
29
|
+
return loadFlagsAndAssertUnchanged().isProfilingBuild;
|
|
30
|
+
}
|
|
31
|
+
|
|
24
32
|
void InspectorFlags::dangerouslyResetFlags() {
|
|
25
33
|
*this = InspectorFlags{};
|
|
26
34
|
}
|
|
27
35
|
|
|
36
|
+
void InspectorFlags::dangerouslyDisableFuseboxForTest() {
|
|
37
|
+
fuseboxDisabledForTest_ = true;
|
|
38
|
+
}
|
|
39
|
+
|
|
28
40
|
#if defined(REACT_NATIVE_FORCE_ENABLE_FUSEBOX) && \
|
|
29
41
|
defined(REACT_NATIVE_FORCE_DISABLE_FUSEBOX)
|
|
30
42
|
#error \
|
|
@@ -39,15 +51,18 @@ const InspectorFlags::Values& InspectorFlags::loadFlagsAndAssertUnchanged()
|
|
|
39
51
|
true,
|
|
40
52
|
#elif defined(REACT_NATIVE_FORCE_DISABLE_FUSEBOX)
|
|
41
53
|
false,
|
|
42
|
-
#elif defined(HERMES_ENABLE_DEBUGGER) && \
|
|
43
|
-
defined(REACT_NATIVE_ENABLE_FUSEBOX_DEBUG)
|
|
44
|
-
true,
|
|
45
54
|
#elif defined(HERMES_ENABLE_DEBUGGER)
|
|
46
|
-
|
|
55
|
+
true,
|
|
47
56
|
#elif defined(REACT_NATIVE_ENABLE_FUSEBOX_RELEASE)
|
|
48
57
|
true,
|
|
49
58
|
#else
|
|
50
59
|
ReactNativeFeatureFlags::fuseboxEnabledRelease(),
|
|
60
|
+
#endif
|
|
61
|
+
.isProfilingBuild =
|
|
62
|
+
#if defined(REACT_NATIVE_ENABLE_FUSEBOX_RELEASE)
|
|
63
|
+
true,
|
|
64
|
+
#else
|
|
65
|
+
false,
|
|
51
66
|
#endif
|
|
52
67
|
};
|
|
53
68
|
|
|
@@ -24,6 +24,18 @@ class InspectorFlags {
|
|
|
24
24
|
*/
|
|
25
25
|
bool getFuseboxEnabled() const;
|
|
26
26
|
|
|
27
|
+
/**
|
|
28
|
+
* Flag determining if this is a profiling build
|
|
29
|
+
* (react_native.enable_fusebox_release).
|
|
30
|
+
*/
|
|
31
|
+
bool getIsProfilingBuild() const;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Forcibly disable the main `getFuseboxEnabled()` flag. This should ONLY be
|
|
35
|
+
* used by `ReactInstanceIntegrationTest`.
|
|
36
|
+
*/
|
|
37
|
+
void dangerouslyDisableFuseboxForTest();
|
|
38
|
+
|
|
27
39
|
/**
|
|
28
40
|
* Reset flags to their upstream values. The caller must ensure any resources
|
|
29
41
|
* that have read previous flag values have been cleaned up.
|
|
@@ -33,6 +45,7 @@ class InspectorFlags {
|
|
|
33
45
|
private:
|
|
34
46
|
struct Values {
|
|
35
47
|
bool fuseboxEnabled;
|
|
48
|
+
bool isProfilingBuild;
|
|
36
49
|
bool operator==(const Values&) const = default;
|
|
37
50
|
};
|
|
38
51
|
|
|
@@ -43,6 +56,7 @@ class InspectorFlags {
|
|
|
43
56
|
|
|
44
57
|
mutable std::optional<Values> cachedValues_;
|
|
45
58
|
mutable bool inconsistentFlagsStateLogged_{false};
|
|
59
|
+
bool fuseboxDisabledForTest_{false};
|
|
46
60
|
|
|
47
61
|
const Values& loadFlagsAndAssertUnchanged() const;
|
|
48
62
|
};
|