diff --git a/packages/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp b/packages/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp index e2ab48c1a43e8f..37cc2a8a7df8fe 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/scrollview/ScrollViewShadowNode.cpp @@ -64,11 +64,12 @@ void ScrollViewShadowNode::layout(LayoutContext layoutContext) { } Point ScrollViewShadowNode::getContentOriginOffset( - bool /*includeTransform*/) const { - auto stateData = getStateData(); + bool includeTransform) const { + auto stateData = getStateData(); auto contentOffset = stateData.contentOffset; + auto transform = includeTransform ? getTransform() : Transform::Identity(); + auto result = transform * Vector{-contentOffset.x, -contentOffset.y, 0, 1}; - return {-contentOffset.x, -contentOffset.y + stateData.scrollAwayPaddingTop}; + return {result.x, result.y + stateData.scrollAwayPaddingTop}; } - } // namespace facebook::react diff --git a/packages/react-native/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp b/packages/react-native/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp index cef90f40b6923c..524c113c68a02f 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp +++ b/packages/react-native/ReactCommon/react/renderer/core/LayoutableShadowNode.cpp @@ -193,7 +193,7 @@ Transform LayoutableShadowNode::getTransform() const { } Point LayoutableShadowNode::getContentOriginOffset( - bool /*includeTransform*/) const { + bool includeTransform) const { return {0, 0}; } diff --git a/packages/react-native/ReactCommon/react/renderer/core/tests/TestComponent.h b/packages/react-native/ReactCommon/react/renderer/core/tests/TestComponent.h index f636139e1e95b6..f639aa8e00c915 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/tests/TestComponent.h +++ b/packages/react-native/ReactCommon/react/renderer/core/tests/TestComponent.h @@ -77,7 +77,8 @@ class TestShadowNode final : public ConcreteViewShadowNode< facebook::react::Point _contentOriginOffset{}; facebook::react::Point getContentOriginOffset( - bool /*includeTransform*/) const override { + bool /* includeTransform */) const override { + return _contentOriginOffset; } };