From 0fb3fb1d8e81aeeff193cb72f50933e1deb6e55f Mon Sep 17 00:00:00 2001 From: David Vacca Date: Wed, 10 Jul 2019 20:52:57 -0700 Subject: [PATCH] Back out "[RN][JS] Remove definition of viewIsDescendantOf method in JS" Summary: Adding viewIsDescendantOf back again, more context https://github.com/facebook/react-native/commit/9ae7f0c7dac732c8c2f2253699f7bcf04943e98b This method might no not be implemented in Fabric Reviewed By: fkgozali Differential Revision: D16186405 fbshipit-source-id: da91822845e3c7b1f48ebf8c4782f8a2ee593bfe --- .../FBReactNativeSpec/FBReactNativeSpec-generated.mm | 7 +++++++ .../FBReactNativeSpec/FBReactNativeSpec.h | 3 +++ Libraries/ReactNative/DummyUIManager.js | 5 +++++ Libraries/ReactNative/NativeUIManager.js | 5 +++++ Libraries/ReactNative/UIManagerProperties.js | 1 + 5 files changed, 21 insertions(+) diff --git a/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm b/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm index 941863c5a9..04bc36f10f 100644 --- a/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm +++ b/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec-generated.mm @@ -1473,6 +1473,10 @@ namespace facebook { return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "measureInWindow", @selector(measureInWindow:callback:), args, count); } + static facebook::jsi::Value __hostFunction_NativeUIManagerSpecJSI_viewIsDescendantOf(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { + return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "viewIsDescendantOf", @selector(viewIsDescendantOf:ancestorReactTag:callback:), args, count); + } + static facebook::jsi::Value __hostFunction_NativeUIManagerSpecJSI_measureLayout(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) { return static_cast(turboModule).invokeObjCMethod(rt, VoidKind, "measureLayout", @selector(measureLayout:ancestorReactTag:errorCallback:callback:), args, count); } @@ -1569,6 +1573,9 @@ namespace facebook { methodMap_["measureInWindow"] = MethodMetadata {2, __hostFunction_NativeUIManagerSpecJSI_measureInWindow}; + methodMap_["viewIsDescendantOf"] = MethodMetadata {3, __hostFunction_NativeUIManagerSpecJSI_viewIsDescendantOf}; + + methodMap_["measureLayout"] = MethodMetadata {4, __hostFunction_NativeUIManagerSpecJSI_measureLayout}; diff --git a/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h b/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h index 1f2be13b67..c9ee996106 100644 --- a/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h +++ b/Libraries/FBReactNativeSpec/FBReactNativeSpec/FBReactNativeSpec.h @@ -1641,6 +1641,9 @@ namespace JS { callback:(RCTResponseSenderBlock)callback; - (void)measureInWindow:(NSNumber *)reactTag callback:(RCTResponseSenderBlock)callback; +- (void)viewIsDescendantOf:(NSNumber *)reactTag + ancestorReactTag:(NSNumber *)ancestorReactTag + callback:(RCTResponseSenderBlock)callback; - (void)measureLayout:(NSNumber *)reactTag ancestorReactTag:(NSNumber *)ancestorReactTag errorCallback:(RCTResponseSenderBlock)errorCallback diff --git a/Libraries/ReactNative/DummyUIManager.js b/Libraries/ReactNative/DummyUIManager.js index 578ad2bf28..38f93adc54 100644 --- a/Libraries/ReactNative/DummyUIManager.js +++ b/Libraries/ReactNative/DummyUIManager.js @@ -61,6 +61,11 @@ module.exports = { reactTag: ?number, callback: (x: number, y: number, width: number, height: number) => void, ) => {}, + viewIsDescendantOf: ( + reactTag: ?number, + ancestorReactTag: ?number, + callback: (result: Array) => void, + ) => {}, measureLayout: ( reactTag: ?number, ancestorReactTag: ?number, diff --git a/Libraries/ReactNative/NativeUIManager.js b/Libraries/ReactNative/NativeUIManager.js index c08c1e043b..ccfcd49281 100644 --- a/Libraries/ReactNative/NativeUIManager.js +++ b/Libraries/ReactNative/NativeUIManager.js @@ -59,6 +59,11 @@ export interface Spec extends TurboModule { reactTag: ?number, callback: (x: number, y: number, width: number, height: number) => void, ) => void; + +viewIsDescendantOf: ( + reactTag: ?number, + ancestorReactTag: ?number, + callback: (result: Array) => void, + ) => void; +measureLayout: ( reactTag: ?number, ancestorReactTag: ?number, diff --git a/Libraries/ReactNative/UIManagerProperties.js b/Libraries/ReactNative/UIManagerProperties.js index f8e08ec3d6..548a6ecadb 100644 --- a/Libraries/ReactNative/UIManagerProperties.js +++ b/Libraries/ReactNative/UIManagerProperties.js @@ -49,6 +49,7 @@ module.exports = [ 'setLayoutAnimationEnabledExperimental', 'showPopupMenu', 'updateView', + 'viewIsDescendantOf', 'PopupMenu', 'LazyViewManagersEnabled', 'ViewManagerNames',