From b743af0aeffdce9ee8bcd86d5d48c2dc1f1275aa Mon Sep 17 00:00:00 2001 From: Gijs Weterings Date: Wed, 16 Apr 2025 07:28:41 -0700 Subject: [PATCH] Back out "Add KeyboardFocusableNode ShadowNodeTrait" Summary: Original commit changeset: dcc2410b408e Original Phabricator Diff: D72258544 Changelog: [Internal] Differential Revision: D73103169 fbshipit-source-id: ff51309f8470664a6f0859ff729bd4b155ffb0a4 --- .../components/text/ParagraphShadowNode.cpp | 17 ----------------- .../components/text/ParagraphShadowNode.h | 6 ------ .../components/view/ConcreteViewShadowNode.h | 13 ------------- .../view/HostPlatformViewTraitsInitializer.h | 4 ---- .../view/HostPlatformViewTraitsInitializer.h | 4 ---- .../react/renderer/core/ShadowNodeTraits.h | 3 --- 6 files changed, 47 deletions(-) diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp b/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp index cc1b1a447ba..a39bc18c1eb 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.cpp @@ -26,22 +26,6 @@ using Content = ParagraphShadowNode::Content; const char ParagraphComponentName[] = "Paragraph"; -void ParagraphShadowNode::initialize() noexcept { -#ifdef ANDROID - if (getConcreteProps().isSelectable) { - traits_.set(ShadowNodeTraits::Trait::KeyboardFocusable); - } -#endif -} - -ParagraphShadowNode::ParagraphShadowNode( - const ShadowNodeFragment& fragment, - const ShadowNodeFamily::Shared& family, - ShadowNodeTraits traits) - : ConcreteViewShadowNode(fragment, family, traits) { - initialize(); -} - ParagraphShadowNode::ParagraphShadowNode( const ShadowNode& sourceShadowNode, const ShadowNodeFragment& fragment) @@ -65,7 +49,6 @@ ParagraphShadowNode::ParagraphShadowNode( // to stop Yoga from traversing it. cleanLayout(); } - initialize(); } const Content& ParagraphShadowNode::getContent( diff --git a/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h b/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h index 8c18386d0eb..91839534d37 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h +++ b/packages/react-native/ReactCommon/react/renderer/components/text/ParagraphShadowNode.h @@ -35,11 +35,6 @@ class ParagraphShadowNode final : public ConcreteViewShadowNode< public: using ConcreteViewShadowNode::ConcreteViewShadowNode; - ParagraphShadowNode( - const ShadowNodeFragment& fragment, - const ShadowNodeFamily::Shared& family, - ShadowNodeTraits traits); - ParagraphShadowNode( const ShadowNode& sourceShadowNode, const ShadowNodeFragment& fragment); @@ -89,7 +84,6 @@ class ParagraphShadowNode final : public ConcreteViewShadowNode< }; private: - void initialize() noexcept; /* * Builds (if needed) and returns a reference to a `Content` object. */ diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h b/packages/react-native/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h index cc798520746..9c028febde0 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/ConcreteViewShadowNode.h @@ -7,7 +7,6 @@ #pragma once -#include #include #include #include @@ -16,7 +15,6 @@ #include #include #include -#include namespace facebook::react { @@ -31,7 +29,6 @@ template < typename ViewEventEmitterT = ViewEventEmitter, typename StateDataT = StateData, bool usesMapBufferForStateData = false> - requires(std::is_base_of_v) class ConcreteViewShadowNode : public ConcreteShadowNode< concreteComponentName, YogaLayoutableShadowNode, @@ -120,16 +117,6 @@ class ConcreteViewShadowNode : public ConcreteShadowNode< } else { BaseShadowNode::orderIndex_ = 0; } - - bool isKeyboardFocusable = - HostPlatformViewTraitsInitializer::isKeyboardFocusable(props) || - props.accessible; - - if (isKeyboardFocusable) { - BaseShadowNode::traits_.set(ShadowNodeTraits::Trait::KeyboardFocusable); - } else { - BaseShadowNode::traits_.unset(ShadowNodeTraits::Trait::KeyboardFocusable); - } } }; diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewTraitsInitializer.h b/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewTraitsInitializer.h index 23297fec74b..4860fdfd794 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/platform/android/react/renderer/components/view/HostPlatformViewTraitsInitializer.h @@ -24,8 +24,4 @@ inline bool formsView(const ViewProps& viewProps) { viewProps.renderToHardwareTextureAndroid; } -inline bool isKeyboardFocusable(const ViewProps& viewProps) { - return (viewProps.focusable || viewProps.hasTVPreferredFocus); -} - } // namespace facebook::react::HostPlatformViewTraitsInitializer diff --git a/packages/react-native/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h b/packages/react-native/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h index 88debe19dff..f40277e3b03 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h +++ b/packages/react-native/ReactCommon/react/renderer/components/view/platform/cxx/react/renderer/components/view/HostPlatformViewTraitsInitializer.h @@ -20,8 +20,4 @@ inline bool formsView(const ViewProps& props) { return false; } -inline bool isKeyboardFocusable(const ViewProps& /*props*/) { - return false; -} - } // namespace facebook::react::HostPlatformViewTraitsInitializer diff --git a/packages/react-native/ReactCommon/react/renderer/core/ShadowNodeTraits.h b/packages/react-native/ReactCommon/react/renderer/core/ShadowNodeTraits.h index aaa45fe5b9d..841a3d7e3a7 100644 --- a/packages/react-native/ReactCommon/react/renderer/core/ShadowNodeTraits.h +++ b/packages/react-native/ReactCommon/react/renderer/core/ShadowNodeTraits.h @@ -78,9 +78,6 @@ class ShadowNodeTraits { // Forces the node not to form a host view. ForceFlattenView = 1 << 11, - - // Indicates if the node is keyboard focusable. - KeyboardFocusable = 1 << 12, }; /*