Skip to content

Commit b7ca048

Browse files
huntiemeta-codesync[bot]
authored andcommitted
Remove Perf and Network tabs from Element Inspector (#54868)
Summary: Pull Request resolved: #54868 Now that Network Inspection is shipped in 0.83, remove both of these tabs (which offered primitive Network functionality) from the in-app Element Inspector (where these previously remained for the Legacy Arch only). Changelog: [General][Removed] - Legacy Arch: Remove Perf and Network tabs from in-app Element Inspector. See [RFC0777](https://github.com/react-native-community/discussions-and-proposals/blob/main/proposals/0777-remove-legacy-element-inspector-features.md) Reviewed By: javache Differential Revision: D89048795 fbshipit-source-id: 2bf6db880b0cdd606b51f0502ab5725f28ee0d72
1 parent cc9164c commit b7ca048

4 files changed

Lines changed: 6 additions & 745 deletions

File tree

packages/react-native/src/private/devsupport/devmenu/elementinspector/Inspector.js

Lines changed: 6 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,6 @@ const InspectorPanel = require('./InspectorPanel').default;
3939
const {useState} = React;
4040

4141
type PanelPosition = 'top' | 'bottom';
42-
type SelectedTab =
43-
| 'elements-inspector'
44-
| 'network-profiling'
45-
| 'performance-profiling';
4642

4743
export type InspectedElementFrame = TouchedViewDataAtPoint['frame'];
4844
export type InspectedElement = $ReadOnly<{
@@ -62,8 +58,7 @@ function Inspector({
6258
onRequestRerenderApp,
6359
reactDevToolsAgent,
6460
}: Props): React.Node {
65-
const [selectedTab, setSelectedTab] =
66-
useState<?SelectedTab>('elements-inspector');
61+
const [inspecting, setInspecting] = useState<boolean>(true);
6762

6863
const [panelPosition, setPanelPosition] = useState<PanelPosition>('bottom');
6964
const [inspectedElement, setInspectedElement] =
@@ -137,18 +132,8 @@ function Inspector({
137132
);
138133
};
139134

140-
const setInspecting = (enabled: boolean) => {
141-
setSelectedTab(enabled ? 'elements-inspector' : null);
142-
setInspectedElement(null);
143-
};
144-
145-
const setPerfing = (enabled: boolean) => {
146-
setSelectedTab(enabled ? 'performance-profiling' : null);
147-
setInspectedElement(null);
148-
};
149-
150-
const setNetworking = (enabled: boolean) => {
151-
setSelectedTab(enabled ? 'network-profiling' : null);
135+
const handleSetInspecting = (enabled: boolean) => {
136+
setInspecting(enabled);
152137
setInspectedElement(null);
153138
};
154139

@@ -164,7 +149,7 @@ function Inspector({
164149

165150
return (
166151
<View style={styles.container} pointerEvents="box-none">
167-
{selectedTab === 'elements-inspector' && (
152+
{inspecting && (
168153
<InspectorOverlay
169154
inspected={inspectedElement}
170155
onTouchPoint={onTouchPoint}
@@ -174,18 +159,14 @@ function Inspector({
174159
<SafeAreaView style={[styles.panelContainer, panelContainerStyle]}>
175160
<InspectorPanel
176161
devtoolsIsOpen={!!reactDevToolsAgent}
177-
inspecting={selectedTab === 'elements-inspector'}
178-
perfing={selectedTab === 'performance-profiling'}
179-
setPerfing={setPerfing}
180-
setInspecting={setInspecting}
162+
inspecting={inspecting}
163+
setInspecting={handleSetInspecting}
181164
inspected={inspectedElement}
182165
hierarchy={elementsHierarchy}
183166
selection={selectionIndex}
184167
setSelection={setSelection}
185168
touchTargeting={PressabilityDebug.isEnabled()}
186169
setTouchTargeting={setTouchTargeting}
187-
networking={selectedTab === 'network-profiling'}
188-
setNetworking={setNetworking}
189170
/>
190171
</SafeAreaView>
191172
</View>

packages/react-native/src/private/devsupport/devmenu/elementinspector/InspectorPanel.js

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -23,20 +23,14 @@ const View = require('../../../../../Libraries/Components/View/View').default;
2323
const StyleSheet =
2424
require('../../../../../Libraries/StyleSheet/StyleSheet').default;
2525
const Text = require('../../../../../Libraries/Text/Text').default;
26-
const PerformanceOverlay = require('../perfmonitor/PerformanceOverlay').default;
2726
const ElementProperties = require('./ElementProperties').default;
28-
const NetworkOverlay = require('./NetworkOverlay').default;
2927

3028
type Props = $ReadOnly<{
3129
devtoolsIsOpen: boolean,
3230
inspecting: boolean,
3331
setInspecting: (val: boolean) => void,
34-
perfing: boolean,
35-
setPerfing: (val: boolean) => void,
3632
touchTargeting: boolean,
3733
setTouchTargeting: (val: boolean) => void,
38-
networking: boolean,
39-
setNetworking: (val: boolean) => void,
4034
hierarchy?: ?ElementsHierarchy,
4135
selection?: ?number,
4236
setSelection: number => mixed,
@@ -67,10 +61,6 @@ class InspectorPanel extends React.Component<Props> {
6761
/>
6862
</ScrollView>
6963
);
70-
} else if (this.props.perfing) {
71-
contents = <PerformanceOverlay />;
72-
} else if (this.props.networking) {
73-
contents = <NetworkOverlay />;
7464
} else {
7565
contents = <View style={styles.waiting}>{this.renderWaiting()}</View>;
7666
}
@@ -83,22 +73,6 @@ class InspectorPanel extends React.Component<Props> {
8373
pressed={this.props.inspecting}
8474
onClick={this.props.setInspecting}
8575
/>
86-
{global.RN$Bridgeless === true ? null : (
87-
// These Inspector Panel sub-features are removed under the New Arch.
88-
// See https://github.com/react-native-community/discussions-and-proposals/pull/777
89-
<>
90-
<InspectorPanelButton
91-
title={'Perf'}
92-
pressed={this.props.perfing}
93-
onClick={this.props.setPerfing}
94-
/>
95-
<InspectorPanelButton
96-
title={'Network'}
97-
pressed={this.props.networking}
98-
onClick={this.props.setNetworking}
99-
/>
100-
</>
101-
)}
10276
<InspectorPanelButton
10377
title={'Touchables'}
10478
pressed={this.props.touchTargeting}

0 commit comments

Comments
 (0)