Skip to content

Commit a463fef

Browse files
committed
Revert "[React Native] Add getInspectorDataForViewAtPoint (#18233)"
This reverts commit bf35108.
1 parent dc7eeda commit a463fef

9 files changed

+12
-235
lines changed

packages/react-native-renderer/src/ReactFabric.js

+1-8
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,7 @@ import ReactVersion from 'shared/ReactVersion';
3434
import {UIManager} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface';
3535

3636
import {getClosestInstanceFromNode} from './ReactFabricComponentTree';
37-
import {
38-
getInspectorDataForViewAtPoint,
39-
getInspectorDataForViewTag,
40-
} from './ReactNativeFiberInspector';
37+
import {getInspectorDataForViewTag} from './ReactNativeFiberInspector';
4138

4239
import {LegacyRoot} from 'shared/ReactRootTags';
4340
import ReactSharedInternals from 'shared/ReactSharedInternals';
@@ -236,10 +233,6 @@ export {
236233
injectIntoDevTools({
237234
findFiberByHostInstance: getClosestInstanceFromNode,
238235
getInspectorDataForViewTag: getInspectorDataForViewTag,
239-
getInspectorDataForViewAtPoint: getInspectorDataForViewAtPoint.bind(
240-
null,
241-
findNodeHandle,
242-
),
243236
bundleType: __DEV__ ? 1 : 0,
244237
version: ReactVersion,
245238
rendererPackageName: 'react-native-renderer',

packages/react-native-renderer/src/ReactNativeFiberHostComponent.js

+1-7
Original file line numberDiff line numberDiff line change
@@ -34,17 +34,11 @@ class ReactNativeFiberHostComponent {
3434
_children: Array<Instance | number>;
3535
_nativeTag: number;
3636
viewConfig: ReactNativeBaseComponentViewConfig<>;
37-
_internalFiberInstanceHandle: Object;
3837

39-
constructor(
40-
tag: number,
41-
viewConfig: ReactNativeBaseComponentViewConfig<>,
42-
internalInstanceHandle: Object,
43-
) {
38+
constructor(tag: number, viewConfig: ReactNativeBaseComponentViewConfig<>) {
4439
this._nativeTag = tag;
4540
this._children = [];
4641
this.viewConfig = viewConfig;
47-
this._internalFiberInstanceHandle = internalInstanceHandle;
4842
}
4943

5044
blur() {

packages/react-native-renderer/src/ReactNativeFiberInspector.js

+7-139
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
*/
99

1010
import type {Fiber} from 'react-reconciler/src/ReactFiber';
11-
import type {TouchedViewDataAtPoint, InspectorData} from './ReactNativeTypes';
1211

1312
import {
1413
findCurrentHostFiber,
@@ -28,7 +27,6 @@ if (__DEV__) {
2827
}
2928

3029
let getInspectorDataForViewTag;
31-
let getInspectorDataForViewAtPoint;
3230

3331
if (__DEV__) {
3432
const traverseOwnerTreeUp = function(hierarchy, instance: any) {
@@ -82,68 +80,15 @@ if (__DEV__) {
8280
const createHierarchy = function(fiberHierarchy) {
8381
return fiberHierarchy.map(fiber => ({
8482
name: getComponentName(fiber.type),
85-
getInspectorData: findNodeHandle => {
86-
return {
87-
props: getHostProps(fiber),
88-
source: fiber._debugSource,
89-
measure: callback => {
90-
// If this is Fabric, we'll find a ShadowNode and use that to measure.
91-
const hostFiber = findCurrentHostFiber(fiber);
92-
const shadowNode =
93-
hostFiber != null &&
94-
hostFiber.stateNode !== null &&
95-
hostFiber.stateNode.node;
96-
97-
if (shadowNode) {
98-
nativeFabricUIManager.measure(shadowNode, function(
99-
x,
100-
y,
101-
width,
102-
height,
103-
pageX,
104-
pageY,
105-
) {
106-
callback(x, y, width, height, pageX, pageY);
107-
});
108-
} else {
109-
return UIManager.measure(
110-
getHostNode(fiber, findNodeHandle),
111-
callback,
112-
);
113-
}
114-
},
115-
};
116-
},
83+
getInspectorData: findNodeHandle => ({
84+
measure: callback =>
85+
UIManager.measure(getHostNode(fiber, findNodeHandle), callback),
86+
props: getHostProps(fiber),
87+
source: fiber._debugSource,
88+
}),
11789
}));
11890
};
11991

120-
const getInspectorDataForInstance = function(closestInstance): InspectorData {
121-
// Handle case where user clicks outside of ReactNative
122-
if (!closestInstance) {
123-
return {
124-
hierarchy: [],
125-
props: emptyObject,
126-
selection: null,
127-
source: null,
128-
};
129-
}
130-
131-
const fiber = findCurrentFiberUsingSlowPath(closestInstance);
132-
const fiberHierarchy = getOwnerHierarchy(fiber);
133-
const instance = lastNonHostInstance(fiberHierarchy);
134-
const hierarchy = createHierarchy(fiberHierarchy);
135-
const props = getHostProps(instance);
136-
const source = instance._debugSource;
137-
const selection = fiberHierarchy.indexOf(instance);
138-
139-
return {
140-
hierarchy,
141-
props,
142-
selection,
143-
source,
144-
};
145-
};
146-
14792
getInspectorDataForViewTag = function(viewTag: number): Object {
14893
const closestInstance = getClosestInstanceFromNode(viewTag);
14994

@@ -172,90 +117,13 @@ if (__DEV__) {
172117
source,
173118
};
174119
};
175-
176-
getInspectorDataForViewAtPoint = function(
177-
findNodeHandle: (componentOrHandle: any) => ?number,
178-
inspectedView: Object,
179-
locationX: number,
180-
locationY: number,
181-
callback: (viewData: TouchedViewDataAtPoint) => mixed,
182-
): void {
183-
let closestInstance = null;
184-
185-
if (inspectedView._internalInstanceHandle != null) {
186-
// For Fabric we can look up the instance handle directly and measure it.
187-
nativeFabricUIManager.findNodeAtPoint(
188-
inspectedView._internalInstanceHandle.stateNode.node,
189-
locationX,
190-
locationY,
191-
internalInstanceHandle => {
192-
if (internalInstanceHandle == null) {
193-
callback({
194-
pointerY: locationY,
195-
frame: {left: 0, top: 0, width: 0, height: 0},
196-
...getInspectorDataForInstance(closestInstance),
197-
});
198-
}
199-
200-
closestInstance =
201-
internalInstanceHandle.stateNode.canonical._internalInstanceHandle;
202-
nativeFabricUIManager.measure(
203-
internalInstanceHandle.stateNode.node,
204-
(x, y, width, height, pageX, pageY) => {
205-
callback({
206-
pointerY: locationY,
207-
frame: {left: pageX, top: pageY, width, height},
208-
...getInspectorDataForInstance(closestInstance),
209-
});
210-
},
211-
);
212-
},
213-
);
214-
} else if (inspectedView._internalFiberInstanceHandle != null) {
215-
// For Paper we fall back to the old strategy using the React tag.
216-
UIManager.findSubviewIn(
217-
findNodeHandle(inspectedView),
218-
[locationX, locationY],
219-
(nativeViewTag, left, top, width, height) => {
220-
const inspectorData = getInspectorDataForInstance(
221-
getClosestInstanceFromNode(nativeViewTag),
222-
);
223-
callback({
224-
...inspectorData,
225-
pointerY: locationY,
226-
frame: {left, top, width, height},
227-
touchedViewTag: nativeViewTag,
228-
});
229-
},
230-
);
231-
} else if (__DEV__) {
232-
console.error(
233-
'getInspectorDataForViewAtPoint expects to receieve a host component',
234-
);
235-
236-
return;
237-
}
238-
};
239120
} else {
240121
getInspectorDataForViewTag = () => {
241122
invariant(
242123
false,
243124
'getInspectorDataForViewTag() is not available in production',
244125
);
245126
};
246-
247-
getInspectorDataForViewAtPoint = (
248-
findNodeHandle: (componentOrHandle: any) => ?number,
249-
inspectedView: Object,
250-
locationX: number,
251-
locationY: number,
252-
callback: (viewData: TouchedViewDataAtPoint) => mixed,
253-
): void => {
254-
invariant(
255-
false,
256-
'getInspectorDataForViewAtPoint() is not available in production.',
257-
);
258-
};
259127
}
260128

261-
export {getInspectorDataForViewAtPoint, getInspectorDataForViewTag};
129+
export {getInspectorDataForViewTag};

packages/react-native-renderer/src/ReactNativeHostConfig.js

+1-5
Original file line numberDiff line numberDiff line change
@@ -112,11 +112,7 @@ export function createInstance(
112112
updatePayload, // props
113113
);
114114

115-
const component = new ReactNativeFiberHostComponent(
116-
tag,
117-
viewConfig,
118-
internalInstanceHandle,
119-
);
115+
const component = new ReactNativeFiberHostComponent(tag, viewConfig);
120116

121117
precacheFiberNode(internalInstanceHandle, tag);
122118
updateFiberProps(tag, props);

packages/react-native-renderer/src/ReactNativeRenderer.js

+1-8
Original file line numberDiff line numberDiff line change
@@ -36,10 +36,7 @@ import ReactVersion from 'shared/ReactVersion';
3636
import {UIManager} from 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface';
3737

3838
import {getClosestInstanceFromNode} from './ReactNativeComponentTree';
39-
import {
40-
getInspectorDataForViewTag,
41-
getInspectorDataForViewAtPoint,
42-
} from './ReactNativeFiberInspector';
39+
import {getInspectorDataForViewTag} from './ReactNativeFiberInspector';
4340

4441
import {LegacyRoot} from 'shared/ReactRootTags';
4542
import ReactSharedInternals from 'shared/ReactSharedInternals';
@@ -250,10 +247,6 @@ export {
250247
injectIntoDevTools({
251248
findFiberByHostInstance: getClosestInstanceFromNode,
252249
getInspectorDataForViewTag: getInspectorDataForViewTag,
253-
getInspectorDataForViewAtPoint: getInspectorDataForViewAtPoint.bind(
254-
null,
255-
findNodeHandle,
256-
),
257250
bundleType: __DEV__ ? 1 : 0,
258251
version: ReactVersion,
259252
rendererPackageName: 'react-native-renderer',

packages/react-native-renderer/src/ReactNativeTypes.js

-40
Original file line numberDiff line numberDiff line change
@@ -100,46 +100,6 @@ type SecretInternalsType = {
100100
...
101101
};
102102

103-
type InspectorDataProps = $ReadOnly<{
104-
[propName: string]: string,
105-
...,
106-
}>;
107-
108-
type InspectorDataSource = $ReadOnly<{|
109-
fileName?: string,
110-
lineNumber?: number,
111-
|}>;
112-
113-
type InspectorDataGetter = (
114-
(componentOrHandle: any) => ?number,
115-
) => $ReadOnly<{|
116-
measure: Function,
117-
props: InspectorDataProps,
118-
source: InspectorDataSource,
119-
|}>;
120-
121-
export type InspectorData = $ReadOnly<{|
122-
hierarchy: Array<{|
123-
name: ?string,
124-
getInspectorData: InspectorDataGetter,
125-
|}>,
126-
selection: ?number,
127-
props: InspectorDataProps,
128-
source: ?InspectorDataSource,
129-
|}>;
130-
131-
export type TouchedViewDataAtPoint = $ReadOnly<{|
132-
pointerY: number,
133-
touchedViewTag?: number,
134-
frame: $ReadOnly<{|
135-
top: number,
136-
left: number,
137-
width: number,
138-
height: number,
139-
|}>,
140-
...InspectorData,
141-
|}>;
142-
143103
/**
144104
* Flat ReactNative renderer bundles are too big for Flow to parse efficiently.
145105
* Provide minimal Flow typing for the high-level RN API and call it a day.

packages/react-reconciler/src/ReactFiberReconciler.js

-8
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import type {Fiber} from './ReactFiber';
1111
import type {FiberRoot} from './ReactFiberRoot';
1212
import type {RootTag} from 'shared/ReactRootTags';
13-
import type {TouchedViewDataAtPoint} from 'react-native-renderer/src/ReactNativeTypes';
1413
import type {
1514
Instance,
1615
TextInstance,
@@ -110,13 +109,6 @@ type DevToolsConfig = {|
110109
// This API is unfortunately RN-specific.
111110
// TODO: Change it to accept Fiber instead and type it properly.
112111
getInspectorDataForViewTag?: (tag: number) => Object,
113-
// Used by RN in-app inspector.
114-
getInspectorDataForViewAtPoint?: (
115-
inspectedView: Object,
116-
locationX: number,
117-
locationY: number,
118-
callback: (viewData: TouchedViewDataAtPoint) => mixed,
119-
) => void,
120112
|};
121113

122114
let didWarnAboutNestedUpdates;

scripts/error-codes/codes.json

+1-2
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,5 @@
346346
"345": "Root did not complete. This is a bug in React.",
347347
"346": "An event responder context was used outside of an event cycle.",
348348
"347": "Maps are not valid as a React child (found: %s). Consider converting children to an array of keyed ReactElements instead.",
349-
"348": "ensureListeningTo(): received a container that was not an element node. This is likely a bug in React.",
350-
"349": "getInspectorDataForViewAtPoint() is not available in production."
349+
"348": "ensureListeningTo(): received a container that was not an element node. This is likely a bug in React."
351350
}

scripts/flow/react-native-host-hooks.js

-18
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ import type {
1818
} from 'react-native-renderer/src/ReactNativeTypes';
1919
import type {RNTopLevelEventType} from 'legacy-events/TopLevelEventTypes';
2020
import type {CapturedError} from 'react-reconciler/src/ReactCapturedValue';
21-
import type {Fiber} from 'react-reconciler/src/ReactFiber';
2221

2322
type DeepDifferOptions = {|+unsafelyIgnoreFunctions?: boolean|};
2423

@@ -97,17 +96,6 @@ declare module 'react-native/Libraries/ReactPrivate/ReactNativePrivateInterface'
9796
) => Promise<any>,
9897
setJSResponder: (reactTag: number, blockNativeResponder: boolean) => void,
9998
clearJSResponder: () => void,
100-
findSubviewIn: (
101-
reactTag: ?number,
102-
point: Array<number>,
103-
callback: (
104-
nativeViewTag: number,
105-
left: number,
106-
top: number,
107-
width: number,
108-
height: number,
109-
) => void,
110-
) => void,
11199
...
112100
};
113101
declare export var BatchedBridge: {
@@ -168,12 +156,6 @@ declare var nativeFabricUIManager: {
168156
onFail: () => void,
169157
onSuccess: MeasureLayoutOnSuccessCallback,
170158
) => void,
171-
findNodeAtPoint: (
172-
node: Node,
173-
locationX: number,
174-
locationY: number,
175-
callback: (Fiber) => void,
176-
) => void,
177159
...
178160
};
179161

0 commit comments

Comments
 (0)