From 0bbe3205cafe1aa3f1ccabb6acdbb9c934a2bfb2 Mon Sep 17 00:00:00 2001 From: Samuel Susla Date: Fri, 6 Dec 2019 10:42:44 -0800 Subject: [PATCH] Use plugins for RCTScrollViewComponentView Summary: Use plugin architecture for `RCTScrollViewComponentView` Changelog: [Internal] Reviewed By: shergin Differential Revision: D18743825 fbshipit-source-id: d25162252d2dc4ac6ee67d48394b4dfa9ad134cb --- .../Mounting/ComponentViews/RCTFabricComponentsPlugins.h | 1 + .../Mounting/ComponentViews/RCTFabricComponentsPlugins.mm | 1 + .../ComponentViews/ScrollView/RCTScrollViewComponentView.mm | 6 ++++++ React/Fabric/Mounting/RCTComponentViewFactory.mm | 2 -- 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h b/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h index 89e2f385a85..5aa2adb05c9 100644 --- a/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h +++ b/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h @@ -30,6 +30,7 @@ Class RCTFabricComponentsProvider(const char *name); // Lookup functions Class RCTSafeAreaViewCls(void) __attribute__((used)); +Class RCTScrollViewCls(void) __attribute__((used)); #ifdef __cplusplus } diff --git a/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm b/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm index a0cbf352773..bace21d2fba 100644 --- a/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm +++ b/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm @@ -19,6 +19,7 @@ Class RCTFabricComponentsProvider(const char *name) { static std::unordered_map sFabricComponentsClassMap = { {"SafeAreaView", RCTSafeAreaViewCls}, + {"ScrollView", RCTScrollViewCls}, }; auto p = sFabricComponentsClassMap.find(name); diff --git a/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm b/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm index 18e53616115..1117f806183 100644 --- a/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm +++ b/React/Fabric/Mounting/ComponentViews/ScrollView/RCTScrollViewComponentView.mm @@ -20,6 +20,7 @@ #import "RCTConversions.h" #import "RCTEnhancedScrollView.h" +#import "RCTFabricComponentsPlugins.h" using namespace facebook::react; @@ -395,3 +396,8 @@ static void RCTSendPaperScrollEvent_DEPRECATED(UIScrollView *scrollView, NSInteg } @end + +Class RCTScrollViewCls(void) +{ + return RCTScrollViewComponentView.class; +} diff --git a/React/Fabric/Mounting/RCTComponentViewFactory.mm b/React/Fabric/Mounting/RCTComponentViewFactory.mm index b4bc76a33bc..b24727f5044 100644 --- a/React/Fabric/Mounting/RCTComponentViewFactory.mm +++ b/React/Fabric/Mounting/RCTComponentViewFactory.mm @@ -27,7 +27,6 @@ #import "RCTParagraphComponentView.h" #import "RCTPullToRefreshViewComponentView.h" #import "RCTRootComponentView.h" -#import "RCTScrollViewComponentView.h" #import "RCTSliderComponentView.h" #import "RCTSwitchComponentView.h" #import "RCTUnimplementedNativeComponentView.h" @@ -50,7 +49,6 @@ using namespace facebook::react; [componentViewFactory registerComponentViewClass:[RCTViewComponentView class]]; [componentViewFactory registerComponentViewClass:[RCTRootComponentView class]]; - [componentViewFactory registerComponentViewClass:[RCTScrollViewComponentView class]]; [componentViewFactory registerComponentViewClass:[RCTPullToRefreshViewComponentView class]]; [componentViewFactory registerComponentViewClass:[RCTImageComponentView class]]; [componentViewFactory registerComponentViewClass:[RCTParagraphComponentView class]];