react-native-windows 0.74.11 → 0.75.0-preview.1
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/.flowconfig +8 -2
- package/Common/Common.vcxproj +8 -0
- package/Common/Utilities.cpp +2 -2
- package/Directory.Build.targets +5 -0
- package/Folly/Folly.vcxproj +10 -2
- package/Folly/Folly.vcxproj.filters +0 -7
- package/Folly/TEMP_UntilFollyUpdate/ConstexprMath.h +970 -0
- package/Folly/TEMP_UntilFollyUpdate/json.cpp +1110 -0
- package/Folly/TEMP_UntilFollyUpdate/lang/ToAscii.cpp +4 -2
- package/Libraries/Animated/AnimatedImplementation.js +2 -0
- package/Libraries/Animated/NativeAnimatedHelper.js +4 -0
- package/Libraries/Animated/createAnimatedComponent.js +10 -4
- package/Libraries/Animated/useAnimatedProps.js +56 -28
- package/Libraries/BatchedBridge/MessageQueue.js +1 -0
- package/Libraries/Components/Button.js +10 -5
- package/Libraries/Components/DrawerAndroid/DrawerLayoutAndroid.android.js +11 -2
- package/Libraries/Components/Flyout/Flyout.js +10 -10
- package/Libraries/Components/Flyout/FlyoutNativeComponent.js +8 -7
- package/Libraries/Components/Pressable/Pressable.js +13 -6
- package/Libraries/Components/Pressable/Pressable.windows.js +13 -6
- package/Libraries/Components/ScrollView/AndroidHorizontalScrollViewNativeComponent.js +4 -0
- package/Libraries/Components/ScrollView/ScrollView.js +109 -29
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.js +6 -0
- package/Libraries/Components/ScrollView/ScrollViewNativeComponent.windows.js +6 -0
- package/Libraries/Components/ScrollView/ScrollViewStickyHeader.js +13 -1
- package/Libraries/Components/StatusBar/StatusBar.js +1 -21
- package/Libraries/Components/Switch/Switch.windows.js +2 -0
- package/Libraries/Components/TextInput/AndroidTextInputNativeComponent.js +0 -15
- package/Libraries/Components/TextInput/InputAccessoryView.js +10 -1
- package/Libraries/Components/TextInput/RCTTextInputViewConfig.js +0 -12
- package/Libraries/Components/TextInput/TextInput.d.ts +0 -19
- package/Libraries/Components/TextInput/TextInput.js +14 -70
- package/Libraries/Components/TextInput/TextInput.windows.js +15 -72
- package/Libraries/Components/TextInput/WindowsTextInputNativeComponent.js +27 -12
- package/Libraries/Components/Touchable/Touchable.js +2 -2
- package/Libraries/Components/Touchable/TouchableHighlight.d.ts +4 -10
- package/Libraries/Components/Touchable/TouchableHighlight.js +3 -1
- package/Libraries/Components/Touchable/TouchableHighlight.windows.js +3 -1
- package/Libraries/Components/Touchable/TouchableOpacity.d.ts +4 -32
- package/Libraries/Components/Touchable/TouchableOpacity.js +3 -1
- package/Libraries/Components/Touchable/TouchableOpacity.windows.js +3 -1
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.d.ts +8 -0
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.js +117 -111
- package/Libraries/Components/Touchable/TouchableWithoutFeedback.windows.js +129 -110
- package/Libraries/Components/View/ReactNativeStyleAttributes.js +6 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.js +1 -0
- package/Libraries/Components/View/ReactNativeViewAttributes.windows.js +1 -0
- package/Libraries/Components/View/View.js +0 -11
- package/Libraries/Components/View/View.windows.js +0 -11
- package/Libraries/Components/View/ViewAccessibility.js +4 -4
- package/Libraries/Components/View/ViewAccessibility.windows.js +4 -4
- package/Libraries/Components/View/ViewPropTypes.d.ts +21 -59
- package/Libraries/Components/View/ViewPropTypes.js +7 -0
- package/Libraries/Components/View/ViewPropTypes.windows.js +7 -0
- package/Libraries/Core/Devtools/loadBundleFromServer.js +3 -3
- package/Libraries/Core/Devtools/loadBundleFromServer.windows.js +153 -0
- package/Libraries/Core/Devtools/parseErrorStack.js +5 -5
- package/Libraries/Core/Devtools/parseHermesStack.js +22 -16
- package/Libraries/Core/ErrorHandlers.js +116 -0
- package/Libraries/Core/ExceptionsManager.js +2 -2
- package/Libraries/Core/ReactNativeVersion.js +3 -3
- package/Libraries/Core/setUpDeveloperTools.js +3 -1
- package/Libraries/Core/setUpPerformance.js +6 -4
- package/Libraries/Core/setUpReactDevTools.js +70 -10
- package/Libraries/Core/setUpTimers.js +50 -31
- package/Libraries/Debugging/DebuggingOverlayRegistry.js +1 -1
- package/Libraries/Image/Image.android.js +23 -13
- package/Libraries/Image/Image.d.ts +14 -15
- package/Libraries/Image/Image.ios.js +21 -11
- package/Libraries/Image/Image.windows.js +21 -11
- package/Libraries/Image/ImageProps.js +16 -5
- package/Libraries/Image/ImageTypes.flow.js +7 -2
- package/Libraries/Image/ImageUtils.js +1 -0
- package/Libraries/Image/ImageViewNativeComponent.js +2 -1
- package/Libraries/Inspector/ElementBox.js +6 -3
- package/Libraries/Inspector/ElementProperties.js +1 -1
- package/Libraries/Interaction/TouchHistoryMath.js +4 -4
- package/Libraries/IntersectionObserver/IntersectionObserverManager.js +6 -26
- package/Libraries/JSInspector/NetworkAgent.js +1 -1
- package/Libraries/LogBox/Data/LogBoxData.js +39 -29
- package/Libraries/LogBox/Data/LogBoxLog.js +114 -2
- package/Libraries/LogBox/Data/parseLogBoxLog.js +168 -53
- package/Libraries/LogBox/LogBox.js +29 -12
- package/Libraries/LogBox/LogBoxNotificationContainer.js +4 -0
- package/Libraries/LogBox/UI/LogBoxInspector.js +8 -70
- package/Libraries/LogBox/UI/LogBoxInspectorBody.js +87 -0
- package/Libraries/LogBox/UI/LogBoxInspectorFooter.js +6 -42
- package/Libraries/LogBox/UI/LogBoxInspectorFooterButton.js +58 -0
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.js +5 -66
- package/Libraries/LogBox/UI/LogBoxInspectorHeader.windows.js +5 -66
- package/Libraries/LogBox/UI/LogBoxInspectorHeaderButton.js +76 -0
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.js +8 -5
- package/Libraries/LogBox/UI/LogBoxInspectorReactFrames.windows.js +8 -5
- package/Libraries/LogBox/UI/LogBoxNotification.js +13 -152
- package/Libraries/LogBox/UI/LogBoxNotificationCountBadge.js +63 -0
- package/Libraries/LogBox/UI/LogBoxNotificationDismissButton.js +67 -0
- package/Libraries/LogBox/UI/LogBoxNotificationMessage.js +57 -0
- package/Libraries/NativeComponent/BaseViewConfig.android.js +5 -0
- package/Libraries/NativeComponent/BaseViewConfig.ios.js +5 -0
- package/Libraries/NativeComponent/BaseViewConfig.windows.js +5 -0
- package/Libraries/NativeComponent/NativeComponentRegistry.js +12 -5
- package/Libraries/NativeComponent/StaticViewConfigValidator.js +3 -0
- package/Libraries/Network/XMLHttpRequest.js +5 -1
- package/Libraries/NewAppScreen/components/LearnMoreLinks.js +3 -3
- package/Libraries/Pressability/Pressability.js +3 -51
- package/Libraries/Pressability/Pressability.windows.js +3 -51
- package/Libraries/ReactNative/AppRegistry.d.ts +4 -0
- package/Libraries/ReactNative/AppRegistry.js +2 -4
- package/Libraries/ReactNative/BridgelessUIManager.js +1 -21
- package/Libraries/ReactNative/FabricUIManager.js +0 -51
- package/Libraries/ReactNative/ReactFabricPublicInstance/warnForStyleProps.js +1 -0
- package/Libraries/ReactNative/RendererImplementation.js +20 -2
- package/Libraries/ReactNative/UIManager.d.ts +0 -21
- package/Libraries/ReactNative/UIManagerProperties.js +0 -3
- package/Libraries/ReactNative/__mocks__/FabricUIManager.js +5 -341
- package/Libraries/ReactNative/getNativeComponentAttributes.js +8 -8
- package/Libraries/Renderer/implementations/ReactFabric-dev.js +15682 -27088
- package/Libraries/Renderer/implementations/ReactFabric-prod.js +5082 -4381
- package/Libraries/Renderer/implementations/ReactFabric-profiling.js +3480 -2571
- package/Libraries/Renderer/implementations/ReactNativeRenderer-dev.js +15943 -27543
- package/Libraries/Renderer/implementations/ReactNativeRenderer-prod.js +5303 -4606
- package/Libraries/Renderer/implementations/ReactNativeRenderer-profiling.js +3450 -2572
- package/Libraries/Renderer/shims/ReactFabric.js +2 -2
- package/Libraries/Renderer/shims/ReactFeatureFlags.js +2 -2
- package/Libraries/Renderer/shims/ReactNative.js +2 -3
- package/Libraries/Renderer/shims/ReactNativeTypes.js +24 -3
- package/Libraries/Renderer/shims/ReactNativeViewConfigRegistry.js +2 -2
- package/Libraries/Renderer/shims/createReactNativeComponentClass.js +2 -2
- package/Libraries/Share/Share.d.ts +16 -10
- package/Libraries/Share/Share.js +14 -15
- package/Libraries/StyleSheet/StyleSheet.d.ts +1 -1
- package/Libraries/StyleSheet/StyleSheet.js +3 -10
- package/Libraries/StyleSheet/StyleSheetTypes.d.ts +21 -21
- package/Libraries/StyleSheet/StyleSheetTypes.js +24 -18
- package/Libraries/StyleSheet/flattenStyle.js +1 -0
- package/Libraries/StyleSheet/processFilter.js +132 -0
- package/Libraries/StyleSheet/processTransform.js +18 -3
- package/Libraries/Text/Text.js +151 -128
- package/Libraries/Text/Text.windows.js +144 -127
- package/Libraries/Text/TextNativeComponent.js +5 -4
- package/Libraries/Text/TextProps.js +6 -6
- package/Libraries/Text/TextProps.windows.js +6 -6
- package/Libraries/TurboModule/TurboModuleRegistry.js +2 -1
- package/Libraries/Types/CodegenTypes.js +3 -0
- package/Libraries/Utilities/{LoadingView.android.js → DevLoadingView.js} +33 -11
- package/Libraries/Utilities/Dimensions.js +1 -0
- package/Libraries/Utilities/HMRClient.js +36 -8
- package/Libraries/Utilities/HMRClientProdShim.js +1 -0
- package/Libraries/Utilities/NativePlatformConstantsWin.js +2 -2
- package/Libraries/Utilities/Platform.android.js +4 -4
- package/Libraries/Utilities/RCTLog.js +1 -0
- package/Libraries/Utilities/ReactNativeTestTools.js +12 -24
- package/Libraries/Utilities/verifyComponentAttributeEquivalence.js +11 -6
- package/Libraries/__tests__/ViewWindows-test.js +6 -6
- package/Libraries/promiseRejectionTrackingOptions.js +1 -0
- package/Microsoft.ReactNative/Base/FollyIncludes.h +1 -1
- package/Microsoft.ReactNative/ComponentView.idl +0 -17
- package/Microsoft.ReactNative/Fabric/AbiState.cpp +3 -45
- package/Microsoft.ReactNative/Fabric/AbiState.h +0 -6
- package/Microsoft.ReactNative/Fabric/Composition/CompositionViewComponentView.cpp +1 -4
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.cpp +10 -6
- package/Microsoft.ReactNative/Fabric/Composition/ImageComponentView.h +4 -4
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.cpp +0 -10
- package/Microsoft.ReactNative/Fabric/Composition/ParagraphComponentView.h +0 -3
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.cpp +29 -45
- package/Microsoft.ReactNative/Fabric/Composition/ReactNativeIsland.h +1 -3
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +7 -12
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputShadowNode.cpp +1 -2
- package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.cpp +9 -3
- package/Microsoft.ReactNative/Fabric/Composition/UriImageManager.h +1 -1
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.cpp +11 -18
- package/Microsoft.ReactNative/Fabric/FabricUIManagerModule.h +3 -5
- package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +23 -16
- package/Microsoft.ReactNative/Fabric/WindowsImageManager.h +5 -2
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/components/view/HostPlatformViewEventEmitter.cpp +2 -10
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.cpp +107 -36
- package/Microsoft.ReactNative/Fabric/platform/react/renderer/textlayoutmanager/TextLayoutManager.h +18 -12
- package/Microsoft.ReactNative/Modules/DevSettingsModule.cpp +4 -0
- package/Microsoft.ReactNative/Modules/DevSettingsModule.h +1 -0
- package/Microsoft.ReactNative/Modules/ImageViewManagerModule.cpp +1 -2
- package/Microsoft.ReactNative/Modules/NativeUIManager.cpp +7 -4
- package/Microsoft.ReactNative/Modules/NativeUIManager.h +1 -1
- package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.cpp +2 -2
- package/Microsoft.ReactNative/Modules/PlatformConstantsWinModule.h +3 -3
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.cpp +11 -17
- package/Microsoft.ReactNative/ReactHost/ReactInstanceWin.h +1 -1
- package/Microsoft.ReactNative/Timer.idl +1 -3
- package/Microsoft.ReactNative/Utils/BatchingEventEmitter.cpp +1 -1
- package/Microsoft.ReactNative/Utils/LocalBundleReader.cpp +2 -3
- package/Microsoft.ReactNative/Utils/ValueUtils.cpp +1 -1
- package/Microsoft.ReactNative/Views/DynamicAutomationPeer.cpp +2 -2
- package/Microsoft.ReactNative/Views/TextInputViewManager.cpp +1 -1
- package/Microsoft.ReactNative/packages.lock.json +45 -72
- package/Microsoft.ReactNative.Cxx/JSI/LongLivedJsiValue.h +1 -1
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems +5 -0
- package/Microsoft.ReactNative.Cxx/Microsoft.ReactNative.Cxx.vcxitems.filters +1 -0
- package/Microsoft.ReactNative.Cxx/TurboModuleProvider.cpp +14 -6
- package/Microsoft.ReactNative.Cxx/TurboModuleProvider.h +2 -2
- package/Microsoft.ReactNative.Managed/Microsoft.ReactNative.Managed.csproj +1 -1
- package/Microsoft.ReactNative.Managed/packages.lock.json +3 -3
- package/PropertySheets/ARM64EC.props +13 -0
- package/PropertySheets/Application/ARM64EC.props +13 -0
- package/PropertySheets/DynamicLibrary/ARM64EC.props +13 -0
- package/PropertySheets/External/Microsoft.ReactNative.WindowsSdk.Default.props +4 -4
- package/PropertySheets/Generated/PackageVersion.g.props +4 -4
- package/PropertySheets/JSEngine.props +2 -0
- package/PropertySheets/StaticLibrary/ARM64EC.props +13 -0
- package/README.md +21 -21
- package/ReactCommon/ReactCommon.vcxproj +11 -1
- package/ReactCommon/ReactCommon.vcxproj.filters +19 -12
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.cpp +67 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/JSExecutor.h +180 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/cxxreact/NativeToJsBridge.cpp +351 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/jsi/jsi/test/testlib.cpp +6 -3
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Base.h +152 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Bridging.h +2 -1
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/CallbackWrapper.h +13 -15
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/EventEmitter.h +137 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/bridging/Function.h +283 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.cpp +7 -10
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModule.h +162 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleUtils.h +2 -4
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/renderer/components/scrollview/ScrollViewProps.cpp +33 -8
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.cpp +45 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/JSRuntimeFactory.h +67 -0
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/runtime/ReactInstance.cpp +104 -74
- package/Scripts/StripAdditionalPlatformsFromNuspec.ps1 +1 -1
- package/Scripts/Tfs/Layout-MSRN-Headers.ps1 +4 -0
- package/Scripts/rnw-dependencies.ps1 +36 -23
- package/Shared/HermesRuntimeHolder.cpp +19 -1
- package/Shared/HermesRuntimeHolder.h +8 -1
- package/Shared/HermesSamplingProfiler.cpp +1 -2
- package/Shared/Networking/WinRTWebSocketResource.cpp +3 -3
- package/Shared/OInstance.cpp +1 -2
- package/Shared/Shared.vcxitems +21 -15
- package/Shared/Shared.vcxitems.filters +8 -3
- package/Shared/Threading/BatchingQueueThread.cpp +6 -2
- package/Shared/Threading/BatchingQueueThread.h +2 -2
- package/Shared/Utils/CppWinrtLessExceptions.h +2 -2
- package/codegen/NativeAppStateSpec.g.h +8 -8
- package/codegen/NativeBlobModuleSpec.g.h +0 -10
- package/codegen/NativeDOMSpec.g.h +136 -0
- package/codegen/NativeDevSettingsSpec.g.h +11 -5
- package/codegen/NativeIdleCallbacksSpec.g.h +64 -0
- package/codegen/NativeIntersectionObserverSpec.g.h +14 -14
- package/codegen/NativeMicrotasksSpec.g.h +34 -0
- package/codegen/NativePerformanceSpec.g.h +35 -7
- package/codegen/NativePlatformConstantsWindowsSpec.g.h +81 -0
- package/codegen/NativePushNotificationManagerIOSSpec.g.h +15 -19
- package/codegen/NativeReactNativeFeatureFlagsSpec.g.h +111 -39
- package/codegen/NativeUIManagerSpec.g.h +5 -17
- package/codegen/react/components/rnwcore/Props.cpp +1 -1
- package/codegen/react/components/rnwcore/Props.h +16 -12
- package/codegen/react/components/rnwcore/States.h +0 -26
- package/codegen/rnwcoreJSI-generated.cpp +688 -463
- package/codegen/rnwcoreJSI.h +1374 -2867
- package/fmt/TEMP_UntilFmtUpdate/core.h +2925 -0
- package/fmt/fmt.vcxproj +10 -2
- package/jest/mockComponent.js +7 -0
- package/jest/renderer.js +25 -14
- package/jest/setup.js +19 -13
- package/package.json +29 -27
- package/rn-get-polyfills.js +1 -0
- package/src/private/core/composeStyles.js +27 -0
- package/src/private/featureflags/ReactNativeFeatureFlags.js +93 -33
- package/src/private/featureflags/ReactNativeFeatureFlagsBase.js +23 -4
- package/src/private/featureflags/specs/NativeReactNativeFeatureFlags.js +56 -0
- package/src/private/fusebox/setUpFuseboxReactDevToolsDispatcher.js +108 -0
- package/src/private/specs/modules/NativeBlobModule.js +4 -2
- package/src/private/specs/modules/NativeDevSettings.js +1 -0
- package/src/private/specs/modules/NativePushNotificationManagerIOS.js +0 -4
- package/src/private/specs/modules/NativeUIManager.js +0 -7
- package/src/private/webapis/dom/geometry/DOMRectReadOnly.js +24 -24
- package/src/private/webapis/dom/nodes/ReactNativeElement.js +11 -14
- package/src/private/webapis/dom/nodes/ReadOnlyCharacterData.js +2 -3
- package/src/private/webapis/dom/nodes/ReadOnlyElement.js +24 -54
- package/src/private/webapis/dom/nodes/ReadOnlyNode.js +5 -13
- package/src/private/webapis/dom/nodes/specs/NativeDOM.js +468 -0
- package/src/private/webapis/dom/nodes/specs/__mocks__/NativeDOMMock.js +413 -0
- package/src/private/webapis/dom/oldstylecollections/DOMRectList.js +4 -4
- package/src/private/webapis/dom/oldstylecollections/HTMLCollection.js +4 -4
- package/src/private/webapis/dom/oldstylecollections/NodeList.js +5 -5
- package/src/private/webapis/idlecallbacks/specs/NativeIdleCallbacks.js +34 -0
- package/src/private/webapis/microtasks/specs/NativeMicrotasks.js +21 -0
- package/src/private/webapis/performance/EventCounts.js +1 -1
- package/src/private/webapis/performance/MemoryInfo.js +9 -9
- package/src/private/webapis/performance/Performance.js +10 -56
- package/src/private/webapis/performance/PerformanceObserver.js +30 -22
- package/src/private/webapis/performance/RawPerformanceEntry.js +2 -7
- package/src/private/webapis/performance/ReactNativeStartupTiming.js +18 -18
- package/src/private/webapis/performance/UserTiming.js +63 -0
- package/src/private/webapis/performance/{NativePerformance.js → specs/NativePerformance.js} +3 -2
- package/src/private/webapis/performance/{NativePerformanceObserver.js → specs/NativePerformanceObserver.js} +2 -2
- package/src/private/webapis/performance/{__mocks__ → specs/__mocks__}/NativePerformance.js +1 -1
- package/src/private/webapis/performance/{__mocks__ → specs/__mocks__}/NativePerformanceObserver.js +3 -4
- package/stubs/glog/logging.h +1 -0
- package/template/cpp-lib/proj/MyLib.vcxproj +1 -1
- package/template/cs-lib/proj/MyLib.csproj +1 -1
- package/template/metro.config.js +13 -2
- package/templates/cpp-app/template.config.js +1 -1
- package/templates/cpp-lib/example/metro.config.js +2 -2
- package/templates/cpp-lib/template.config.js +1 -1
- package/templates/old/generateWrapper.js +4 -1
- package/types/modules/globals.d.ts +4 -0
- package/Libraries/Lists/FlatList.windows.js +0 -717
- package/Libraries/NativeModules/specs/NativeAnimationsDebugModule.js +0 -13
- package/Libraries/Utilities/LoadingView.ios.js +0 -50
- package/Libraries/Utilities/LoadingView.js +0 -16
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/nativemodule/core/ReactCommon/TurboModuleBinding.cpp +0 -178
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.cpp +0 -39
- package/ReactCommon/TEMP_UntilReactCommonUpdate/react/utils/jsi-utils.h +0 -31
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/YGEnums.h +0 -137
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/algorithm/CalculateLayout.cpp +0 -2377
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.cpp +0 -140
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/config/Config.h +0 -92
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/enums/ExperimentalFeature.h +0 -40
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.cpp +0 -48
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/LayoutResults.h +0 -122
- package/ReactCommon/TEMP_UntilReactCommonUpdate/yoga/yoga/node/Node.cpp +0 -366
- package/codegen/NativeAnimationsDebugModuleSpec.g.h +0 -40
- package/codegen/NativePlatformConstantsWinSpec.g.h +0 -81
- package/jest/ReactNativeInternalFeatureFlagsMock.js +0 -13
- package/src/private/featureflags/NativeReactNativeFeatureFlags.js +0 -44
- package/src/private/featureflags/__tests__/ReactNativeFeatureFlags-test.js +0 -92
- package/src/private/specs/modules/NativeAnimationsDebugModule.js +0 -20
- package/src/private/webapis/dom/oldstylecollections/__tests__/DOMRectList-test.js +0 -85
- package/src/private/webapis/dom/oldstylecollections/__tests__/HTMLCollection-test.js +0 -80
- package/src/private/webapis/dom/oldstylecollections/__tests__/NodeList-test.js +0 -161
- package/src/private/webapis/performance/__tests__/EventCounts-test.js +0 -116
- package/src/private/webapis/performance/__tests__/NativePerformanceMock-test.js +0 -82
- package/src/private/webapis/performance/__tests__/NativePerformanceObserverMock-test.js +0 -108
- package/src/private/webapis/performance/__tests__/Performance-test.js +0 -117
- package/src/private/webapis/performance/__tests__/PerformanceObserver-test.js +0 -208
- package/template/metro.devMode.config.js +0 -56
- /package/src/private/specs/modules/{NativePlatformConstantsWin.js → NativePlatformConstantsWindows.js} +0 -0
|
@@ -26,6 +26,7 @@ let hmrUnavailableReason: string | null = null;
|
|
|
26
26
|
let currentCompileErrorMessage: string | null = null;
|
|
27
27
|
let didConnect: boolean = false;
|
|
28
28
|
let pendingLogs: Array<[LogLevel, $ReadOnlyArray<mixed>]> = [];
|
|
29
|
+
let pendingFuseboxConsoleNotification = false;
|
|
29
30
|
|
|
30
31
|
type LogLevel =
|
|
31
32
|
| 'trace'
|
|
@@ -51,6 +52,7 @@ export type HMRClientNativeInterface = {|
|
|
|
51
52
|
isEnabled: boolean,
|
|
52
53
|
scheme?: string,
|
|
53
54
|
): void,
|
|
55
|
+
unstable_notifyFuseboxConsoleEnabled(): void,
|
|
54
56
|
|};
|
|
55
57
|
|
|
56
58
|
/**
|
|
@@ -68,7 +70,7 @@ const HMRClient: HMRClientNativeInterface = {
|
|
|
68
70
|
}
|
|
69
71
|
|
|
70
72
|
invariant(hmrClient, 'Expected HMRClient.setup() call at startup.');
|
|
71
|
-
const
|
|
73
|
+
const DevLoadingView = require('./DevLoadingView');
|
|
72
74
|
|
|
73
75
|
// We use this for internal logging only.
|
|
74
76
|
// It doesn't affect the logic.
|
|
@@ -79,13 +81,13 @@ const HMRClient: HMRClientNativeInterface = {
|
|
|
79
81
|
const hasUpdates = hmrClient.hasPendingUpdates();
|
|
80
82
|
|
|
81
83
|
if (hasUpdates) {
|
|
82
|
-
|
|
84
|
+
DevLoadingView.showMessage('Refreshing...', 'refresh');
|
|
83
85
|
}
|
|
84
86
|
try {
|
|
85
87
|
hmrClient.enable();
|
|
86
88
|
} finally {
|
|
87
89
|
if (hasUpdates) {
|
|
88
|
-
|
|
90
|
+
DevLoadingView.hide();
|
|
89
91
|
}
|
|
90
92
|
}
|
|
91
93
|
|
|
@@ -140,6 +142,29 @@ const HMRClient: HMRClientNativeInterface = {
|
|
|
140
142
|
}
|
|
141
143
|
},
|
|
142
144
|
|
|
145
|
+
unstable_notifyFuseboxConsoleEnabled() {
|
|
146
|
+
if (!hmrClient) {
|
|
147
|
+
pendingFuseboxConsoleNotification = true;
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
hmrClient.send(
|
|
151
|
+
JSON.stringify({
|
|
152
|
+
type: 'log',
|
|
153
|
+
level: 'info',
|
|
154
|
+
data: [
|
|
155
|
+
'\n' +
|
|
156
|
+
'\x1b[7m' +
|
|
157
|
+
' \x1b[1mJavaScript logs have moved!\x1b[22m They will now appear in the debugger console. ' +
|
|
158
|
+
'Tip: Type \x1b[1mj\x1b[22m in the terminal to open the debugger (requires Google Chrome ' +
|
|
159
|
+
'or Microsoft Edge).' +
|
|
160
|
+
'\x1b[27m' +
|
|
161
|
+
'\n',
|
|
162
|
+
],
|
|
163
|
+
}),
|
|
164
|
+
);
|
|
165
|
+
pendingFuseboxConsoleNotification = false;
|
|
166
|
+
},
|
|
167
|
+
|
|
143
168
|
// Called once by the bridge on startup, even if Fast Refresh is off.
|
|
144
169
|
// It creates the HMR client but doesn't actually set up the socket yet.
|
|
145
170
|
setup(
|
|
@@ -156,7 +181,7 @@ const HMRClient: HMRClientNativeInterface = {
|
|
|
156
181
|
invariant(!hmrClient, 'Cannot initialize hmrClient twice');
|
|
157
182
|
|
|
158
183
|
// Moving to top gives errors due to NativeModules not being initialized
|
|
159
|
-
const
|
|
184
|
+
const DevLoadingView = require('./DevLoadingView');
|
|
160
185
|
|
|
161
186
|
const serverHost = port !== null && port !== '' ? `${host}:${port}` : host;
|
|
162
187
|
|
|
@@ -205,7 +230,7 @@ Error: ${e.message}`;
|
|
|
205
230
|
didConnect = true;
|
|
206
231
|
|
|
207
232
|
if (client.isEnabled() && !isInitialUpdate) {
|
|
208
|
-
|
|
233
|
+
DevLoadingView.showMessage('Refreshing...', 'refresh');
|
|
209
234
|
}
|
|
210
235
|
});
|
|
211
236
|
|
|
@@ -217,11 +242,11 @@ Error: ${e.message}`;
|
|
|
217
242
|
});
|
|
218
243
|
|
|
219
244
|
client.on('update-done', () => {
|
|
220
|
-
|
|
245
|
+
DevLoadingView.hide();
|
|
221
246
|
});
|
|
222
247
|
|
|
223
248
|
client.on('error', data => {
|
|
224
|
-
|
|
249
|
+
DevLoadingView.hide();
|
|
225
250
|
|
|
226
251
|
if (data.type === 'GraphNotFoundError') {
|
|
227
252
|
client.close();
|
|
@@ -242,7 +267,7 @@ Error: ${e.message}`;
|
|
|
242
267
|
});
|
|
243
268
|
|
|
244
269
|
client.on('close', closeEvent => {
|
|
245
|
-
|
|
270
|
+
DevLoadingView.hide();
|
|
246
271
|
|
|
247
272
|
// https://www.rfc-editor.org/rfc/rfc6455.html#section-7.4.1
|
|
248
273
|
// https://www.rfc-editor.org/rfc/rfc6455.html#section-7.1.5
|
|
@@ -316,6 +341,9 @@ function flushEarlyLogs(client: MetroHMRClient) {
|
|
|
316
341
|
pendingLogs.forEach(([level, data]) => {
|
|
317
342
|
HMRClient.log(level, data);
|
|
318
343
|
});
|
|
344
|
+
if (pendingFuseboxConsoleNotification) {
|
|
345
|
+
HMRClient.unstable_notifyFuseboxConsoleEnabled();
|
|
346
|
+
}
|
|
319
347
|
} finally {
|
|
320
348
|
pendingLogs.length = 0;
|
|
321
349
|
}
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
* @flow strict
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
export * from '../../src/private/specs/modules/
|
|
10
|
-
import NativePlatformConstantsWin from '../../src/private/specs/modules/
|
|
9
|
+
export * from '../../src/private/specs/modules/NativePlatformConstantsWindows';
|
|
10
|
+
import NativePlatformConstantsWin from '../../src/private/specs/modules/NativePlatformConstantsWindows';
|
|
11
11
|
export default NativePlatformConstantsWin;
|
|
@@ -78,10 +78,10 @@ const Platform: PlatformType = {
|
|
|
78
78
|
? // $FlowFixMe[incompatible-return]
|
|
79
79
|
spec.android
|
|
80
80
|
: 'native' in spec
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
? // $FlowFixMe[incompatible-return]
|
|
82
|
+
spec.native
|
|
83
|
+
: // $FlowFixMe[incompatible-return]
|
|
84
|
+
spec.default,
|
|
85
85
|
};
|
|
86
86
|
|
|
87
87
|
module.exports = Platform;
|
|
@@ -12,20 +12,16 @@
|
|
|
12
12
|
|
|
13
13
|
import type {ReactTestRenderer as ReactTestRendererType} from 'react-test-renderer';
|
|
14
14
|
|
|
15
|
+
import TouchableWithoutFeedback from '../Components/Touchable/TouchableWithoutFeedback';
|
|
16
|
+
|
|
15
17
|
const Switch = require('../Components/Switch/Switch').default;
|
|
16
18
|
const TextInput = require('../Components/TextInput/TextInput');
|
|
17
19
|
const View = require('../Components/View/View');
|
|
18
20
|
const Text = require('../Text/Text');
|
|
19
21
|
const {VirtualizedList} = require('@react-native/virtualized-lists');
|
|
20
22
|
const React = require('react');
|
|
21
|
-
const ShallowRenderer = require('react-shallow-renderer');
|
|
22
23
|
const ReactTestRenderer = require('react-test-renderer');
|
|
23
24
|
|
|
24
|
-
/* $FlowFixMe[not-a-function] (>=0.125.1 site=react_native_fb) This comment
|
|
25
|
-
* suppresses an error found when Flow v0.125.1 was deployed. To see the error,
|
|
26
|
-
* delete this comment and run Flow. */
|
|
27
|
-
// $FlowFixMe[invalid-constructor]
|
|
28
|
-
const shallowRenderer = new ShallowRenderer();
|
|
29
25
|
export type ReactTestInstance = $PropertyType<ReactTestRendererType, 'root'>;
|
|
30
26
|
export type Predicate = (node: ReactTestInstance) => boolean;
|
|
31
27
|
/* $FlowFixMe[value-as-type] (>=0.125.1 site=react_native_fb) This comment
|
|
@@ -49,6 +45,9 @@ function byClickable(): Predicate {
|
|
|
49
45
|
(node.type === Switch && node.props && node.props.disabled !== true) ||
|
|
50
46
|
(node.type === View &&
|
|
51
47
|
node?.props?.onStartShouldSetResponder?.testOnly_pressabilityConfig) ||
|
|
48
|
+
(node.type === TouchableWithoutFeedback &&
|
|
49
|
+
node.props &&
|
|
50
|
+
typeof node.props.onPress === 'function') ||
|
|
52
51
|
// HACK: Find components that use `Pressability`.
|
|
53
52
|
node.instance?.state?.pressability != null ||
|
|
54
53
|
// TODO: Remove this after deleting `Touchable`.
|
|
@@ -114,7 +113,7 @@ function expectNoConsoleError() {
|
|
|
114
113
|
});
|
|
115
114
|
}
|
|
116
115
|
|
|
117
|
-
function expectRendersMatchingSnapshot(
|
|
116
|
+
async function expectRendersMatchingSnapshot(
|
|
118
117
|
name: string,
|
|
119
118
|
ComponentProvider: () => React.Element<any>,
|
|
120
119
|
unmockComponent: () => mixed,
|
|
@@ -123,7 +122,9 @@ function expectRendersMatchingSnapshot(
|
|
|
123
122
|
|
|
124
123
|
jest.resetAllMocks();
|
|
125
124
|
|
|
126
|
-
|
|
125
|
+
await ReactTestRenderer.act(() => {
|
|
126
|
+
instance = ReactTestRenderer.create(<ComponentProvider />);
|
|
127
|
+
});
|
|
127
128
|
expect(instance).toMatchSnapshot(
|
|
128
129
|
'should deep render when mocked (please verify output manually)',
|
|
129
130
|
);
|
|
@@ -131,22 +132,9 @@ function expectRendersMatchingSnapshot(
|
|
|
131
132
|
jest.resetAllMocks();
|
|
132
133
|
unmockComponent();
|
|
133
134
|
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
);
|
|
138
|
-
|
|
139
|
-
jest.resetAllMocks();
|
|
140
|
-
|
|
141
|
-
instance = shallowRenderer.render(<ComponentProvider />);
|
|
142
|
-
expect(instance).toMatchSnapshot(
|
|
143
|
-
`should shallow render as <${name} /> when mocked`,
|
|
144
|
-
);
|
|
145
|
-
|
|
146
|
-
jest.resetAllMocks();
|
|
147
|
-
unmockComponent();
|
|
148
|
-
|
|
149
|
-
instance = ReactTestRenderer.create(<ComponentProvider />);
|
|
135
|
+
await ReactTestRenderer.act(() => {
|
|
136
|
+
instance = ReactTestRenderer.create(<ComponentProvider />);
|
|
137
|
+
});
|
|
150
138
|
expect(instance).toMatchSnapshot(
|
|
151
139
|
'should deep render when not mocked (please verify output manually)',
|
|
152
140
|
);
|
|
@@ -104,16 +104,21 @@ export function getConfigWithoutViewProps(
|
|
|
104
104
|
viewConfig: ViewConfig,
|
|
105
105
|
propName: string,
|
|
106
106
|
): {...} {
|
|
107
|
+
// $FlowFixMe[invalid-computed-prop]
|
|
107
108
|
if (!viewConfig[propName]) {
|
|
108
109
|
return {};
|
|
109
110
|
}
|
|
110
111
|
|
|
111
|
-
return
|
|
112
|
-
.
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
112
|
+
return (
|
|
113
|
+
Object.keys(viewConfig[propName])
|
|
114
|
+
// $FlowFixMe[invalid-computed-prop]
|
|
115
|
+
.filter(prop => !PlatformBaseViewConfig[propName][prop])
|
|
116
|
+
.reduce<{[string]: any}>((obj, prop) => {
|
|
117
|
+
// $FlowFixMe[invalid-computed-prop]
|
|
118
|
+
obj[prop] = viewConfig[propName][prop];
|
|
119
|
+
return obj;
|
|
120
|
+
}, {})
|
|
121
|
+
);
|
|
117
122
|
}
|
|
118
123
|
|
|
119
124
|
export function stringifyViewConfig(viewConfig: any): string {
|
|
@@ -2,15 +2,15 @@
|
|
|
2
2
|
'use strict';
|
|
3
3
|
|
|
4
4
|
const React = require('react');
|
|
5
|
-
const
|
|
6
|
-
|
|
5
|
+
const renderer = require('react-native/jest/renderer');
|
|
7
6
|
const View = require('../Components/View/View');
|
|
8
7
|
|
|
9
8
|
describe('View', () => {
|
|
10
|
-
it('renders basic view', () => {
|
|
11
|
-
|
|
9
|
+
it('renders basic view', async () => {
|
|
10
|
+
expect(
|
|
11
|
+
await renderer.create(
|
|
12
12
|
<View/>
|
|
13
|
-
)
|
|
14
|
-
|
|
13
|
+
),
|
|
14
|
+
).toMatchSnapshot();
|
|
15
15
|
});
|
|
16
16
|
});
|
|
@@ -20,21 +20,6 @@ namespace Microsoft.ReactNative
|
|
|
20
20
|
[experimental]
|
|
21
21
|
delegate Object StateUpdateMutation(Object props);
|
|
22
22
|
|
|
23
|
-
[webhosthidden]
|
|
24
|
-
[experimental]
|
|
25
|
-
enum EventPriority
|
|
26
|
-
{
|
|
27
|
-
SynchronousUnbatched,
|
|
28
|
-
SynchronousBatched,
|
|
29
|
-
AsynchronousUnbatched,
|
|
30
|
-
AsynchronousBatched,
|
|
31
|
-
|
|
32
|
-
Sync = SynchronousUnbatched,
|
|
33
|
-
Work = SynchronousBatched,
|
|
34
|
-
Interactive = AsynchronousUnbatched,
|
|
35
|
-
Deferred = AsynchronousBatched
|
|
36
|
-
};
|
|
37
|
-
|
|
38
23
|
[flags]
|
|
39
24
|
[webhosthidden]
|
|
40
25
|
[experimental]
|
|
@@ -55,9 +40,7 @@ namespace Microsoft.ReactNative
|
|
|
55
40
|
{
|
|
56
41
|
Object Data { get; };
|
|
57
42
|
void UpdateState(Object data);
|
|
58
|
-
void UpdateStateWithPriority(Object data, EventPriority priority);
|
|
59
43
|
void UpdateStateWithMutation(StateUpdateMutation mutation);
|
|
60
|
-
void UpdateStateWithMutationAndPriority(StateUpdateMutation mutation, EventPriority priority);
|
|
61
44
|
};
|
|
62
45
|
|
|
63
46
|
[experimental]
|
|
@@ -19,53 +19,11 @@ void AbiComponentState::UpdateState(const winrt::Windows::Foundation::IInspectab
|
|
|
19
19
|
m_state->updateState(std::move(state));
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
// Verify winrt::Microsoft::ReactNative::EventPriority and facebook::react::EventPriority are in sync
|
|
23
|
-
static_assert(
|
|
24
|
-
winrt::Microsoft::ReactNative::EventPriority::SynchronousUnbatched ==
|
|
25
|
-
static_cast<winrt::Microsoft::ReactNative::EventPriority>(facebook::react::EventPriority::SynchronousUnbatched));
|
|
26
|
-
static_assert(
|
|
27
|
-
winrt::Microsoft::ReactNative::EventPriority::SynchronousBatched ==
|
|
28
|
-
static_cast<winrt::Microsoft::ReactNative::EventPriority>(facebook::react::EventPriority::SynchronousBatched));
|
|
29
|
-
static_assert(
|
|
30
|
-
winrt::Microsoft::ReactNative::EventPriority::AsynchronousUnbatched ==
|
|
31
|
-
static_cast<winrt::Microsoft::ReactNative::EventPriority>(facebook::react::EventPriority::AsynchronousUnbatched));
|
|
32
|
-
static_assert(
|
|
33
|
-
winrt::Microsoft::ReactNative::EventPriority::AsynchronousBatched ==
|
|
34
|
-
static_cast<winrt::Microsoft::ReactNative::EventPriority>(facebook::react::EventPriority::AsynchronousBatched));
|
|
35
|
-
static_assert(
|
|
36
|
-
winrt::Microsoft::ReactNative::EventPriority::Sync ==
|
|
37
|
-
static_cast<winrt::Microsoft::ReactNative::EventPriority>(facebook::react::EventPriority::Sync));
|
|
38
|
-
static_assert(
|
|
39
|
-
winrt::Microsoft::ReactNative::EventPriority::Work ==
|
|
40
|
-
static_cast<winrt::Microsoft::ReactNative::EventPriority>(facebook::react::EventPriority::Work));
|
|
41
|
-
static_assert(
|
|
42
|
-
winrt::Microsoft::ReactNative::EventPriority::Interactive ==
|
|
43
|
-
static_cast<winrt::Microsoft::ReactNative::EventPriority>(facebook::react::EventPriority::Interactive));
|
|
44
|
-
static_assert(
|
|
45
|
-
winrt::Microsoft::ReactNative::EventPriority::Deferred ==
|
|
46
|
-
static_cast<winrt::Microsoft::ReactNative::EventPriority>(facebook::react::EventPriority::Deferred));
|
|
47
|
-
|
|
48
|
-
void AbiComponentState::UpdateStateWithPriority(
|
|
49
|
-
const winrt::Windows::Foundation::IInspectable &data,
|
|
50
|
-
winrt::Microsoft::ReactNative::EventPriority priority) noexcept {
|
|
51
|
-
AbiStateData state;
|
|
52
|
-
state.userdata = data;
|
|
53
|
-
m_state->updateState(std::move(state), static_cast<facebook::react::EventPriority>(priority));
|
|
54
|
-
}
|
|
55
|
-
|
|
56
22
|
void AbiComponentState::UpdateStateWithMutation(
|
|
57
23
|
const winrt::Microsoft::ReactNative::StateUpdateMutation &mutation) noexcept {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
void AbiComponentState::UpdateStateWithMutationAndPriority(
|
|
62
|
-
const winrt::Microsoft::ReactNative::StateUpdateMutation &mutation,
|
|
63
|
-
winrt::Microsoft::ReactNative::EventPriority priority) noexcept {
|
|
64
|
-
m_state->updateState(
|
|
65
|
-
[mutation](const AbiStateData &oldData) {
|
|
66
|
-
return std::make_shared<AbiStateData const>(mutation(oldData.userdata));
|
|
67
|
-
},
|
|
68
|
-
static_cast<facebook::react::EventPriority>(priority));
|
|
24
|
+
m_state->updateState([mutation](const AbiStateData &oldData) {
|
|
25
|
+
return std::make_shared<AbiStateData const>(mutation(oldData.userdata));
|
|
26
|
+
});
|
|
69
27
|
}
|
|
70
28
|
|
|
71
29
|
} // namespace Microsoft::ReactNative
|
|
@@ -23,13 +23,7 @@ struct AbiComponentState : winrt::implements<AbiComponentState, winrt::Microsoft
|
|
|
23
23
|
|
|
24
24
|
winrt::Windows::Foundation::IInspectable Data() noexcept;
|
|
25
25
|
void UpdateState(const winrt::Windows::Foundation::IInspectable &data) noexcept;
|
|
26
|
-
void UpdateStateWithPriority(
|
|
27
|
-
const winrt::Windows::Foundation::IInspectable &data,
|
|
28
|
-
winrt::Microsoft::ReactNative::EventPriority priority) noexcept;
|
|
29
26
|
void UpdateStateWithMutation(const winrt::Microsoft::ReactNative::StateUpdateMutation &mutation) noexcept;
|
|
30
|
-
void UpdateStateWithMutationAndPriority(
|
|
31
|
-
const winrt::Microsoft::ReactNative::StateUpdateMutation &mutation,
|
|
32
|
-
winrt::Microsoft::ReactNative::EventPriority priority) noexcept;
|
|
33
27
|
|
|
34
28
|
private:
|
|
35
29
|
std::shared_ptr<facebook::react::ConcreteState<AbiStateData> const> m_state;
|
|
@@ -602,8 +602,6 @@ void SetBorderLayerPropertiesCommon(
|
|
|
602
602
|
facebook::react::BorderStyle borderStyle) {
|
|
603
603
|
layer.Offset({anchorOffset.x, anchorOffset.y, 0}, {anchorPoint.x, anchorPoint.y, 0});
|
|
604
604
|
layer.RelativeSizeWithOffset(size, relativeSizeAdjustment);
|
|
605
|
-
layer.as<::Microsoft::ReactNative::Composition::Experimental::IVisualInterop>()->SetClippingPath(nullptr);
|
|
606
|
-
|
|
607
605
|
if ((textureRect.right - textureRect.left) <= 0 || (textureRect.bottom - textureRect.top) <= 0)
|
|
608
606
|
return;
|
|
609
607
|
|
|
@@ -705,8 +703,7 @@ void SetBorderLayerProperties(
|
|
|
705
703
|
// if (VisualVersion::IsUseWinCompClippingRegionEnabled())
|
|
706
704
|
{
|
|
707
705
|
layer.Offset({anchorOffset.x, anchorOffset.y, 0}, {anchorPoint.x, anchorPoint.y, 0});
|
|
708
|
-
layer.
|
|
709
|
-
{textureRect.right - textureRect.left, textureRect.bottom - textureRect.top}, {0.0f, 0.0f});
|
|
706
|
+
layer.Size({textureRect.right - textureRect.left, textureRect.bottom - textureRect.top});
|
|
710
707
|
|
|
711
708
|
layer.Brush(theme->Brush(*borderColor));
|
|
712
709
|
|
|
@@ -34,7 +34,8 @@ ImageComponentView::WindowsImageResponseObserver::WindowsImageResponseObserver(I
|
|
|
34
34
|
m_image.copy_from(&image);
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
void ImageComponentView::WindowsImageResponseObserver::didReceiveProgress(float progress
|
|
37
|
+
void ImageComponentView::WindowsImageResponseObserver::didReceiveProgress(float progress, int64_t loaded, int64_t total)
|
|
38
|
+
const {
|
|
38
39
|
// TODO progress?
|
|
39
40
|
}
|
|
40
41
|
|
|
@@ -45,8 +46,9 @@ void ImageComponentView::WindowsImageResponseObserver::didReceiveImage(
|
|
|
45
46
|
[imageResponseImage, image = m_image]() { image->didReceiveImage(imageResponseImage); });
|
|
46
47
|
}
|
|
47
48
|
|
|
48
|
-
void ImageComponentView::WindowsImageResponseObserver::didReceiveFailure(
|
|
49
|
-
|
|
49
|
+
void ImageComponentView::WindowsImageResponseObserver::didReceiveFailure(
|
|
50
|
+
facebook::react::ImageLoadError const &error) const {
|
|
51
|
+
m_image->didReceiveFailureFromObserver(error);
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
facebook::react::SharedViewProps ImageComponentView::defaultProps() noexcept {
|
|
@@ -92,7 +94,7 @@ void ImageComponentView::didReceiveImage(const std::shared_ptr<ImageResponseImag
|
|
|
92
94
|
|
|
93
95
|
auto imageEventEmitter = std::static_pointer_cast<facebook::react::ImageEventEmitter const>(m_eventEmitter);
|
|
94
96
|
if (imageEventEmitter) {
|
|
95
|
-
imageEventEmitter->onLoad();
|
|
97
|
+
imageEventEmitter->onLoad(m_state->getData().getImageSource());
|
|
96
98
|
imageEventEmitter->onLoadEnd();
|
|
97
99
|
}
|
|
98
100
|
|
|
@@ -107,10 +109,12 @@ void ImageComponentView::didReceiveImage(const std::shared_ptr<ImageResponseImag
|
|
|
107
109
|
ensureDrawingSurface();
|
|
108
110
|
}
|
|
109
111
|
|
|
110
|
-
void ImageComponentView::didReceiveFailureFromObserver() noexcept {
|
|
112
|
+
void ImageComponentView::didReceiveFailureFromObserver(const facebook::react::ImageLoadError &error) noexcept {
|
|
111
113
|
auto imageEventEmitter = std::static_pointer_cast<facebook::react::ImageEventEmitter const>(m_eventEmitter);
|
|
112
114
|
if (imageEventEmitter) {
|
|
113
|
-
|
|
115
|
+
std::shared_ptr<facebook::react::ImageErrorInfo> errorInfo =
|
|
116
|
+
std::static_pointer_cast<facebook::react::ImageErrorInfo>(error.getError());
|
|
117
|
+
imageEventEmitter->onError(*errorInfo);
|
|
114
118
|
imageEventEmitter->onLoadEnd();
|
|
115
119
|
}
|
|
116
120
|
}
|
|
@@ -70,9 +70,9 @@ struct ImageComponentView : ImageComponentViewT<ImageComponentView, ViewComponen
|
|
|
70
70
|
struct WindowsImageResponseObserver : facebook::react::ImageResponseObserver {
|
|
71
71
|
public:
|
|
72
72
|
WindowsImageResponseObserver(ImageComponentView &image);
|
|
73
|
-
void didReceiveProgress(float progress) const override;
|
|
74
|
-
void didReceiveImage(facebook::react::ImageResponse
|
|
75
|
-
void didReceiveFailure() const override;
|
|
73
|
+
void didReceiveProgress(float progress, int64_t loaded, int64_t total) const override;
|
|
74
|
+
void didReceiveImage(const facebook::react::ImageResponse &imageResponse) const override;
|
|
75
|
+
void didReceiveFailure(const facebook::react::ImageLoadError &error) const override;
|
|
76
76
|
|
|
77
77
|
private:
|
|
78
78
|
winrt::com_ptr<ImageComponentView> m_image;
|
|
@@ -84,7 +84,7 @@ struct ImageComponentView : ImageComponentViewT<ImageComponentView, ViewComponen
|
|
|
84
84
|
void ImageLoadStart() noexcept;
|
|
85
85
|
void ImageLoaded() noexcept;
|
|
86
86
|
void didReceiveImage(const std::shared_ptr<ImageResponseImage> &wicbmp) noexcept;
|
|
87
|
-
void didReceiveFailureFromObserver() noexcept;
|
|
87
|
+
void didReceiveFailureFromObserver(const facebook::react::ImageLoadError &error) noexcept;
|
|
88
88
|
void setStateAndResubscribeImageResponseObserver(
|
|
89
89
|
facebook::react::ImageShadowNode::ConcreteState::Shared const &state) noexcept;
|
|
90
90
|
bool themeEffectsImage() const noexcept;
|
|
@@ -83,16 +83,6 @@ void ParagraphComponentView::updateState(
|
|
|
83
83
|
m_textLayout = nullptr;
|
|
84
84
|
}
|
|
85
85
|
|
|
86
|
-
void ParagraphComponentView::updateLayoutMetrics(
|
|
87
|
-
facebook::react::LayoutMetrics const &layoutMetrics,
|
|
88
|
-
facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept {
|
|
89
|
-
Super::updateLayoutMetrics(layoutMetrics, oldLayoutMetrics);
|
|
90
|
-
|
|
91
|
-
if (layoutMetrics.pointScaleFactor != oldLayoutMetrics.pointScaleFactor) {
|
|
92
|
-
m_textLayout = nullptr;
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
|
|
96
86
|
void ParagraphComponentView::FinalizeUpdates(
|
|
97
87
|
winrt::Microsoft::ReactNative::ComponentViewUpdateMask updateMask) noexcept {
|
|
98
88
|
ensureVisual();
|
|
@@ -34,9 +34,6 @@ struct ParagraphComponentView : ParagraphComponentViewT<ParagraphComponentView,
|
|
|
34
34
|
void updateProps(facebook::react::Props::Shared const &props, facebook::react::Props::Shared const &oldProps) noexcept
|
|
35
35
|
override;
|
|
36
36
|
void updateEventEmitter(facebook::react::EventEmitter::Shared const &eventEmitter) noexcept override;
|
|
37
|
-
void updateLayoutMetrics(
|
|
38
|
-
facebook::react::LayoutMetrics const &layoutMetrics,
|
|
39
|
-
facebook::react::LayoutMetrics const &oldLayoutMetrics) noexcept override;
|
|
40
37
|
void updateState(facebook::react::State::Shared const &state, facebook::react::State::Shared const &oldState) noexcept
|
|
41
38
|
override;
|
|
42
39
|
void FinalizeUpdates(winrt::Microsoft::ReactNative::ComponentViewUpdateMask updateMask) noexcept override;
|