From 43a91d03eb85e6f06fc0a6203c49a18b43affe3f Mon Sep 17 00:00:00 2001 From: David Vacca Date: Wed, 4 Aug 2021 11:37:09 -0700 Subject: [PATCH] Extend getInspectorDataForInstance to return props Summary: This diff extends the FabricUIManager.getInspectorDataForInstance to return the props of the React Native component associated to the view passed as a parameter. changelog: [internal] internal Reviewed By: sammy-SC Differential Revision: D30095406 fbshipit-source-id: 50fdba6636a1f5042dbc113e341c3cb2534a1b04 --- .../src/main/java/com/facebook/react/fabric/jni/Binding.cpp | 1 + ReactCommon/react/renderer/scheduler/InspectorData.h | 2 ++ ReactCommon/react/renderer/scheduler/Scheduler.cpp | 4 +++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp index 843a110d56f..19e29a3928f 100644 --- a/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp +++ b/ReactAndroid/src/main/java/com/facebook/react/fabric/jni/Binding.cpp @@ -251,6 +251,7 @@ Binding::getInspectorDataForInstance( result["lineNumber"] = data.lineNumber; result["columnNumber"] = data.columnNumber; result["selectedIndex"] = data.selectedIndex; + result["props"] = data.props; auto hierarchy = folly::dynamic::array(); for (auto hierarchyItem : data.hierarchy) { hierarchy.push_back(hierarchyItem); diff --git a/ReactCommon/react/renderer/scheduler/InspectorData.h b/ReactCommon/react/renderer/scheduler/InspectorData.h index 5569cc47220..ac77165b0dd 100644 --- a/ReactCommon/react/renderer/scheduler/InspectorData.h +++ b/ReactCommon/react/renderer/scheduler/InspectorData.h @@ -16,6 +16,8 @@ struct InspectorData { std::string fileName; int lineNumber; int columnNumber; + // TODO T97216348: remove folly::dynamic from InspectorData struct + folly::dynamic props; }; } // namespace react diff --git a/ReactCommon/react/renderer/scheduler/Scheduler.cpp b/ReactCommon/react/renderer/scheduler/Scheduler.cpp index fefa18a3389..96ad3d699db 100644 --- a/ReactCommon/react/renderer/scheduler/Scheduler.cpp +++ b/ReactCommon/react/renderer/scheduler/Scheduler.cpp @@ -206,7 +206,7 @@ InspectorData Scheduler::getInspectorDataForInstance( auto value = uiManagerBinding->getInspectorDataForInstance( runtime, eventEmitter); - // TODO: avoid transforming jsi + // TODO T97216348: avoid transforming jsi into folly::dynamic auto dynamic = jsi::dynamicFromValue(runtime, value); auto source = dynamic["source"]; @@ -216,6 +216,8 @@ InspectorData Scheduler::getInspectorDataForInstance( result.lineNumber = (int)source["lineNumber"].getDouble(); result.columnNumber = (int)source["columnNumber"].getDouble(); result.selectedIndex = (int)dynamic["selectedIndex"].getDouble(); + // TODO T97216348: remove folly::dynamic from InspectorData struct + result.props = dynamic["props"]; auto hierarchy = dynamic["hierarchy"]; for (size_t i = 0; i < hierarchy.size(); i++) { auto viewHierarchyValue = hierarchy[i]["name"];