Skip to content

Commit 65bda54

Browse files
javachefacebook-github-bot
authored andcommitted
Remove getInspectorDataForInstance (#48335)
Summary: Pull Request resolved: #48335 This API was never adopted or implemented on iOS, and is not compatible with bridgeless. Changelog: [Internal] Reviewed By: rshest Differential Revision: D67342500 fbshipit-source-id: a6740514d0347c0f497e1aa2f850328cc4607d24
1 parent eda29f0 commit 65bda54

File tree

9 files changed

+0
-128
lines changed

9 files changed

+0
-128
lines changed

packages/react-native/ReactAndroid/api/ReactAndroid.api

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2588,7 +2588,6 @@ public class com/facebook/react/fabric/FabricUIManager : com/facebook/react/brid
25882588
public fun dispatchCommand (ILjava/lang/String;Lcom/facebook/react/bridge/ReadableArray;)V
25892589
public fun getColor (I[Ljava/lang/String;)I
25902590
public fun getEventDispatcher ()Lcom/facebook/react/uimanager/events/EventDispatcher;
2591-
public fun getInspectorDataForInstance (ILandroid/view/View;)Lcom/facebook/react/bridge/ReadableMap;
25922591
public fun getPerformanceCounters ()Ljava/util/Map;
25932592
public fun getThemeData (I[F)Z
25942593
public fun initialize ()V

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManager.java

Lines changed: 0 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -257,29 +257,6 @@ public <T extends View> int addRootView(final T rootView, final WritableMap init
257257
return rootTag;
258258
}
259259

260-
/**
261-
* This API returns metadata associated to the React Component that rendered the Android View
262-
* received as a parameter.
263-
*
264-
* @param surfaceId {@link int} that represents the surfaceId for the View received as a
265-
* parameter. In practice surfaceId can be retrieved calling the {@link View#getId()} method
266-
* on the {@link ReactRoot} that holds the View received as a second parameter.
267-
* @param view {@link View} view that will be used to retrieve the React view hierarchy metadata.
268-
* @return a {@link ReadableMap} that contains metadata associated to the React Component that
269-
* rendered the Android View received as a parameter. For more details about the keys stored
270-
* in the {@link ReadableMap} refer to the "getInspectorDataForInstance" method from
271-
* jni/react/fabric/Binding.cpp file.
272-
*/
273-
@UiThread
274-
@ThreadConfined(UI)
275-
public ReadableMap getInspectorDataForInstance(final int surfaceId, final View view) {
276-
UiThreadUtil.assertOnUiThread();
277-
int reactTag = view.getId();
278-
279-
EventEmitterWrapper eventEmitter = mMountingManager.getEventEmitter(surfaceId, reactTag);
280-
return mBinding.getInspectorDataForInstance(eventEmitter);
281-
}
282-
283260
@Override
284261
@AnyThread
285262
@ThreadConfined(ANY)

packages/react-native/ReactAndroid/src/main/java/com/facebook/react/fabric/FabricUIManagerBinding.kt

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,10 @@ import android.annotation.SuppressLint
1111
import com.facebook.jni.HybridClassBase
1212
import com.facebook.proguard.annotations.DoNotStrip
1313
import com.facebook.react.bridge.NativeMap
14-
import com.facebook.react.bridge.ReadableNativeMap
1514
import com.facebook.react.bridge.RuntimeExecutor
1615
import com.facebook.react.bridge.RuntimeScheduler
1716
import com.facebook.react.common.mapbuffer.MapBufferSoLoader
1817
import com.facebook.react.fabric.events.EventBeatManager
19-
import com.facebook.react.fabric.events.EventEmitterWrapper
2018
import com.facebook.react.uimanager.PixelUtil.getDisplayMetricDensity
2119

2220
@DoNotStrip
@@ -82,10 +80,6 @@ internal class FabricUIManagerBinding : HybridClassBase() {
8280

8381
public external fun reportMount(surfaceId: Int)
8482

85-
public external fun getInspectorDataForInstance(
86-
eventEmitterWrapper: EventEmitterWrapper?
87-
): ReadableNativeMap?
88-
8983
public fun register(
9084
runtimeExecutor: RuntimeExecutor,
9185
runtimeScheduler: RuntimeScheduler,

packages/react-native/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.cpp

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -44,33 +44,6 @@ std::shared_ptr<Scheduler> FabricUIManagerBinding::getScheduler() {
4444
return scheduler_;
4545
}
4646

47-
jni::local_ref<ReadableNativeMap::jhybridobject>
48-
FabricUIManagerBinding::getInspectorDataForInstance(
49-
jni::alias_ref<EventEmitterWrapper::javaobject> eventEmitterWrapper) {
50-
auto scheduler = getScheduler();
51-
if (!scheduler) {
52-
LOG(ERROR) << "FabricUIManagerBinding::startSurface: scheduler disappeared";
53-
return ReadableNativeMap::newObjectCxxArgs(folly::dynamic::object());
54-
}
55-
56-
EventEmitterWrapper* cEventEmitter = cthis(eventEmitterWrapper);
57-
InspectorData data =
58-
scheduler->getInspectorDataForInstance(*cEventEmitter->eventEmitter);
59-
60-
folly::dynamic result = folly::dynamic::object;
61-
result["fileName"] = data.fileName;
62-
result["lineNumber"] = data.lineNumber;
63-
result["columnNumber"] = data.columnNumber;
64-
result["selectedIndex"] = data.selectedIndex;
65-
result["props"] = data.props;
66-
auto hierarchy = folly::dynamic::array();
67-
for (const auto& hierarchyItem : data.hierarchy) {
68-
hierarchy.push_back(hierarchyItem);
69-
}
70-
result["hierarchy"] = hierarchy;
71-
return ReadableNativeMap::newObjectCxxArgs(result);
72-
}
73-
7447
void FabricUIManagerBinding::setPixelDensity(float pointScaleFactor) {
7548
pointScaleFactor_ = pointScaleFactor;
7649
}
@@ -661,9 +634,6 @@ void FabricUIManagerBinding::registerNatives() {
661634
"installFabricUIManager",
662635
FabricUIManagerBinding::installFabricUIManager),
663636
makeNativeMethod("startSurface", FabricUIManagerBinding::startSurface),
664-
makeNativeMethod(
665-
"getInspectorDataForInstance",
666-
FabricUIManagerBinding::getInspectorDataForInstance),
667637
makeNativeMethod(
668638
"startSurfaceWithConstraints",
669639
FabricUIManagerBinding::startSurfaceWithConstraints),

packages/react-native/ReactAndroid/src/main/jni/react/fabric/FabricUIManagerBinding.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,6 @@ class FabricUIManagerBinding : public jni::HybridClass<FabricUIManagerBinding>,
5757
jboolean isRTL,
5858
jboolean doLeftAndRightSwapInRTL);
5959

60-
jni::local_ref<ReadableNativeMap::jhybridobject> getInspectorDataForInstance(
61-
jni::alias_ref<EventEmitterWrapper::javaobject> eventEmitterWrapper);
62-
6360
static void initHybrid(jni::alias_ref<jhybridobject> jobj);
6461

6562
void installFabricUIManager(

packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.cpp

Lines changed: 0 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -216,37 +216,6 @@ void Scheduler::registerSurface(
216216
surfaceHandler.setUIManager(uiManager_.get());
217217
}
218218

219-
InspectorData Scheduler::getInspectorDataForInstance(
220-
const EventEmitter& eventEmitter) const noexcept {
221-
return executeSynchronouslyOnSameThread_CAN_DEADLOCK<InspectorData>(
222-
runtimeExecutor_, [=](jsi::Runtime& runtime) -> InspectorData {
223-
auto uiManagerBinding = UIManagerBinding::getBinding(runtime);
224-
auto value = uiManagerBinding->getInspectorDataForInstance(
225-
runtime, eventEmitter);
226-
227-
// TODO T97216348: avoid transforming jsi into folly::dynamic
228-
auto dynamic = jsi::dynamicFromValue(runtime, value);
229-
auto source = dynamic["source"];
230-
231-
InspectorData result = {};
232-
result.fileName =
233-
source["fileName"].isNull() ? "" : source["fileName"].c_str();
234-
result.lineNumber = (int)source["lineNumber"].getDouble();
235-
result.columnNumber = (int)source["columnNumber"].getDouble();
236-
result.selectedIndex = (int)dynamic["selectedIndex"].getDouble();
237-
// TODO T97216348: remove folly::dynamic from InspectorData struct
238-
result.props = dynamic["props"];
239-
auto hierarchy = dynamic["hierarchy"];
240-
for (auto& i : hierarchy) {
241-
auto viewHierarchyValue = i["name"];
242-
if (!viewHierarchyValue.isNull()) {
243-
result.hierarchy.emplace_back(viewHierarchyValue.c_str());
244-
}
245-
}
246-
return result;
247-
});
248-
}
249-
250219
void Scheduler::unregisterSurface(
251220
const SurfaceHandler& surfaceHandler) const noexcept {
252221
surfaceHandler.setUIManager(nullptr);

packages/react-native/ReactCommon/react/renderer/scheduler/Scheduler.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,6 @@ class Scheduler final : public UIManagerDelegate {
5252
void registerSurface(const SurfaceHandler& surfaceHandler) const noexcept;
5353
void unregisterSurface(const SurfaceHandler& surfaceHandler) const noexcept;
5454

55-
InspectorData getInspectorDataForInstance(
56-
const EventEmitter& eventEmitter) const noexcept;
57-
5855
/*
5956
* This is broken. Please do not use.
6057
* `ComponentDescriptor`s are not designed to be used outside of `UIManager`,

packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerBinding.cpp

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -62,33 +62,6 @@ UIManagerBinding::~UIManagerBinding() {
6262
<< this << ").";
6363
}
6464

65-
jsi::Value UIManagerBinding::getInspectorDataForInstance(
66-
jsi::Runtime& runtime,
67-
const EventEmitter& eventEmitter) const {
68-
auto eventTarget = eventEmitter.eventTarget_;
69-
EventEmitter::DispatchMutex().lock();
70-
71-
if (!runtime.global().hasProperty(runtime, "__fbBatchedBridge") ||
72-
!eventTarget) {
73-
return jsi::Value::undefined();
74-
}
75-
76-
eventTarget->retain(runtime);
77-
auto instanceHandle = eventTarget->getInstanceHandle(runtime);
78-
eventTarget->release(runtime);
79-
EventEmitter::DispatchMutex().unlock();
80-
81-
if (instanceHandle.isUndefined()) {
82-
return jsi::Value::undefined();
83-
}
84-
85-
return callMethodOfModule(
86-
runtime,
87-
"ReactFabric",
88-
"getInspectorDataForInstance",
89-
{std::move(instanceHandle)});
90-
}
91-
9265
void UIManagerBinding::dispatchEvent(
9366
jsi::Runtime& runtime,
9467
const EventTarget* eventTarget,

packages/react-native/ReactCommon/react/renderer/uimanager/UIManagerBinding.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,6 @@ class UIManagerBinding : public jsi::HostObject {
4040

4141
~UIManagerBinding() override;
4242

43-
jsi::Value getInspectorDataForInstance(
44-
jsi::Runtime& runtime,
45-
const EventEmitter& eventEmitter) const;
46-
4743
/*
4844
* Delivers raw event data to JavaScript.
4945
* Thread synchronization must be enforced externally.

0 commit comments

Comments
 (0)