Skip to content

Commit fac4f35

Browse files
Ruslan Lesiutinfacebook-github-bot
authored andcommitted
refactor: TraceUpdates native component -> DebuggingOverlay (#41562)
Summary: Changelog: [Internal] We will use this native component as a single layer for drawing debugging information: both for trace updates and inspected components from React DevTools. Reviewed By: javache Differential Revision: D51470789
1 parent 45ea68b commit fac4f35

File tree

14 files changed

+57
-58
lines changed

14 files changed

+57
-58
lines changed

packages/react-native/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlay.js

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,24 @@
88
* @format
99
*/
1010

11+
import type {Overlay} from '../../Debugging/DebuggingOverlayNativeComponent';
1112
import type {
1213
InstanceFromReactDevTools,
1314
ReactDevToolsAgent,
1415
} from '../../Types/ReactDevToolsTypes';
15-
import type {Overlay} from './TraceUpdateOverlayNativeComponent';
1616

17+
import DebuggingOverlayNativeComponent, {
18+
Commands,
19+
} from '../../Debugging/DebuggingOverlayNativeComponent';
1720
import UIManager from '../../ReactNative/UIManager';
1821
import processColor from '../../StyleSheet/processColor';
1922
import StyleSheet from '../../StyleSheet/StyleSheet';
2023
import View from '../View/View';
21-
import TraceUpdateOverlayNativeComponent, {
22-
Commands,
23-
} from './TraceUpdateOverlayNativeComponent';
2424
import * as React from 'react';
2525

2626
const {useEffect, useRef, useState} = React;
2727
const isNativeComponentReady =
28-
UIManager.hasViewManagerConfig('TraceUpdateOverlay');
28+
UIManager.hasViewManagerConfig('DebuggingOverlay');
2929

3030
type Props = {
3131
reactDevToolsAgent: ReactDevToolsAgent,
@@ -111,13 +111,13 @@ export default function TraceUpdateOverlay({
111111
}, [reactDevToolsAgent]);
112112

113113
const nativeComponentRef =
114-
useRef<?React.ElementRef<typeof TraceUpdateOverlayNativeComponent>>(null);
114+
useRef<?React.ElementRef<typeof DebuggingOverlayNativeComponent>>(null);
115115

116116
return (
117117
!overlayDisabled &&
118118
isNativeComponentReady && (
119119
<View pointerEvents="none" style={styles.overlay}>
120-
<TraceUpdateOverlayNativeComponent
120+
<DebuggingOverlayNativeComponent
121121
ref={nativeComponentRef}
122122
style={styles.overlay}
123123
/>

packages/react-native/Libraries/Components/TraceUpdateOverlay/TraceUpdateOverlayNativeComponent.js renamed to packages/react-native/Libraries/Debugging/DebuggingOverlayNativeComponent.js

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,26 @@
88
* @format
99
*/
1010

11-
import type {HostComponent} from '../../Renderer/shims/ReactNativeTypes';
12-
import type {ProcessedColorValue} from '../../StyleSheet/processColor';
13-
import type {ViewProps} from '../View/ViewPropTypes';
11+
import type {ViewProps} from '../Components/View/ViewPropTypes';
12+
import type {HostComponent} from '../Renderer/shims/ReactNativeTypes';
13+
import type {ProcessedColorValue} from '../StyleSheet/processColor';
1414

15-
import codegenNativeCommands from '../../Utilities/codegenNativeCommands';
16-
import codegenNativeComponent from '../../Utilities/codegenNativeComponent';
15+
import codegenNativeCommands from '../Utilities/codegenNativeCommands';
16+
import codegenNativeComponent from '../Utilities/codegenNativeComponent';
1717
import * as React from 'react';
1818

1919
type NativeProps = $ReadOnly<{|
2020
...ViewProps,
2121
|}>;
22-
export type TraceUpdateOverlayNativeComponentType = HostComponent<NativeProps>;
22+
export type DebuggingOverlayNativeComponentType = HostComponent<NativeProps>;
2323
export type Overlay = {
2424
rect: {left: number, top: number, width: number, height: number},
2525
color: ?ProcessedColorValue,
2626
};
2727

2828
interface NativeCommands {
2929
+draw: (
30-
viewRef: React.ElementRef<TraceUpdateOverlayNativeComponentType>,
30+
viewRef: React.ElementRef<DebuggingOverlayNativeComponentType>,
3131
// TODO(T144046177): Ideally we can pass array of Overlay, but currently
3232
// Array type is not supported in RN codegen for building native commands.
3333
overlays: string,
@@ -39,5 +39,5 @@ export const Commands: NativeCommands = codegenNativeCommands<NativeCommands>({
3939
});
4040

4141
export default (codegenNativeComponent<NativeProps>(
42-
'TraceUpdateOverlay',
42+
'DebuggingOverlay',
4343
): HostComponent<NativeProps>);

packages/react-native/React/Fabric/Mounting/ComponentViews/TraceUpdateOverlay/RCTTraceUpdateOverlayComponentView.h renamed to packages/react-native/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111

1212
#import <react/renderer/components/rncore/RCTComponentViewHelpers.h>
1313

14-
@interface RCTTraceUpdateOverlayComponentView : RCTViewComponentView <RCTTraceUpdateOverlayViewProtocol>
14+
@interface RCTDebuggingOverlayComponentView : RCTViewComponentView <RCTDebuggingOverlayViewProtocol>
1515

1616
@end

packages/react-native/React/Fabric/Mounting/ComponentViews/TraceUpdateOverlay/RCTTraceUpdateOverlayComponentView.mm renamed to packages/react-native/React/Fabric/Mounting/ComponentViews/DebuggingOverlay/RCTDebuggingOverlayComponentView.mm

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8-
#import "RCTTraceUpdateOverlayComponentView.h"
8+
#import "RCTDebuggingOverlayComponentView.h"
99

10+
#import <React/RCTDebuggingOverlay.h>
1011
#import <React/RCTDefines.h>
1112
#import <React/RCTLog.h>
12-
#import <React/RCTTraceUpdateOverlay.h>
1313

1414
#import <react/renderer/components/rncore/ComponentDescriptors.h>
1515
#import <react/renderer/components/rncore/EventEmitters.h>
@@ -20,17 +20,17 @@
2020

2121
using namespace facebook::react;
2222

23-
@implementation RCTTraceUpdateOverlayComponentView {
24-
RCTTraceUpdateOverlay *_overlay;
23+
@implementation RCTDebuggingOverlayComponentView {
24+
RCTDebuggingOverlay *_overlay;
2525
}
2626

2727
- (instancetype)initWithFrame:(CGRect)frame
2828
{
2929
if (self = [super initWithFrame:frame]) {
30-
static const auto defaultProps = std::make_shared<const TraceUpdateOverlayProps>();
30+
static const auto defaultProps = std::make_shared<const DebuggingOverlayProps>();
3131
_props = defaultProps;
3232

33-
_overlay = [[RCTTraceUpdateOverlay alloc] initWithFrame:self.bounds];
33+
_overlay = [[RCTDebuggingOverlay alloc] initWithFrame:self.bounds];
3434

3535
self.contentView = _overlay;
3636
}
@@ -42,14 +42,14 @@ - (instancetype)initWithFrame:(CGRect)frame
4242

4343
+ (ComponentDescriptorProvider)componentDescriptorProvider
4444
{
45-
return concreteComponentDescriptorProvider<TraceUpdateOverlayComponentDescriptor>();
45+
return concreteComponentDescriptorProvider<DebuggingOverlayComponentDescriptor>();
4646
}
4747

4848
#pragma mark - Native commands
4949

5050
- (void)handleCommand:(const NSString *)commandName args:(const NSArray *)args
5151
{
52-
RCTTraceUpdateOverlayHandleCommand(self, commandName, args);
52+
RCTDebuggingOverlayHandleCommand(self, commandName, args);
5353
}
5454

5555
- (void)draw:(NSString *)overlays
@@ -59,7 +59,7 @@ - (void)draw:(NSString *)overlays
5959

6060
@end
6161

62-
Class<RCTComponentViewProtocol> RCTTraceUpdateOverlayCls(void)
62+
Class<RCTComponentViewProtocol> RCTDebuggingOverlayCls(void)
6363
{
64-
return RCTTraceUpdateOverlayComponentView.class;
64+
return RCTDebuggingOverlayComponentView.class;
6565
}

packages/react-native/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,14 +31,14 @@ Class<RCTComponentViewProtocol> RCTFabricComponentsProvider(const char *name);
3131

3232
// Lookup functions
3333
Class<RCTComponentViewProtocol> RCTActivityIndicatorViewCls(void) __attribute__((used));
34+
Class<RCTComponentViewProtocol> RCTDebuggingOverlayCls(void) __attribute__((used));
3435
Class<RCTComponentViewProtocol> RCTInputAccessoryCls(void) __attribute__((used));
3536
Class<RCTComponentViewProtocol> RCTParagraphCls(void) __attribute__((used));
3637
Class<RCTComponentViewProtocol> RCTPullToRefreshViewCls(void) __attribute__((used));
3738
Class<RCTComponentViewProtocol> RCTSafeAreaViewCls(void) __attribute__((used));
3839
Class<RCTComponentViewProtocol> RCTScrollViewCls(void) __attribute__((used));
3940
Class<RCTComponentViewProtocol> RCTSwitchCls(void) __attribute__((used));
4041
Class<RCTComponentViewProtocol> RCTTextInputCls(void) __attribute__((used));
41-
Class<RCTComponentViewProtocol> RCTTraceUpdateOverlayCls(void) __attribute__((used));
4242
Class<RCTComponentViewProtocol> RCTUnimplementedNativeViewCls(void) __attribute__((used));
4343
Class<RCTComponentViewProtocol> RCTViewCls(void) __attribute__((used));
4444
Class<RCTComponentViewProtocol> RCTImageCls(void) __attribute__((used));

packages/react-native/React/Fabric/Mounting/ComponentViews/RCTFabricComponentsPlugins.mm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,14 @@
1919
Class<RCTComponentViewProtocol> RCTFabricComponentsProvider(const char *name) {
2020
static std::unordered_map<std::string, Class (*)(void)> sFabricComponentsClassMap = {
2121
{"ActivityIndicatorView", RCTActivityIndicatorViewCls},
22+
{"DebuggingOverlay", RCTDebuggingOverlayCls},
2223
{"InputAccessoryView", RCTInputAccessoryCls},
2324
{"Paragraph", RCTParagraphCls},
2425
{"PullToRefreshView", RCTPullToRefreshViewCls},
2526
{"SafeAreaView", RCTSafeAreaViewCls},
2627
{"ScrollView", RCTScrollViewCls},
2728
{"Switch", RCTSwitchCls},
2829
{"TextInput", RCTTextInputCls},
29-
{"TraceUpdateOverlay", RCTTraceUpdateOverlayCls},
3030
{"UnimplementedNativeView", RCTUnimplementedNativeViewCls},
3131
{"View", RCTViewCls},
3232
{"Image", RCTImageCls},

packages/react-native/React/Views/RCTTraceUpdateOverlay.h renamed to packages/react-native/React/Views/RCTDebuggingOverlay.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#import <React/RCTView.h>
1111

12-
@interface RCTTraceUpdateOverlay : RCTView
12+
@interface RCTDebuggingOverlay : RCTView
1313

1414
- (void)draw:(NSString *)serializedNodes;
1515

packages/react-native/React/Views/RCTTraceUpdateOverlay.m renamed to packages/react-native/React/Views/RCTDebuggingOverlay.m

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8-
#import "RCTTraceUpdateOverlay.h"
8+
#import "RCTDebuggingOverlay.h"
99

1010
#import <React/RCTConvert.h>
1111
#import <React/RCTLog.h>
1212
#import <React/RCTUtils.h>
1313

14-
@implementation RCTTraceUpdateOverlay
14+
@implementation RCTDebuggingOverlay
1515

1616
- (void)draw:(NSString *)serializedNodes
1717
{
@@ -24,7 +24,7 @@ - (void)draw:(NSString *)serializedNodes
2424
id deserializedNodes = RCTJSONParse(serializedNodes, &error);
2525

2626
if (error) {
27-
RCTLogError(@"Failed to parse serialized nodes passed to RCTTraceUpdatesOverlay");
27+
RCTLogError(@"Failed to parse serialized nodes passed to RCTDebuggingOverlay");
2828
return;
2929
}
3030

packages/react-native/React/Views/RCTTraceUpdateOverlayManager.h renamed to packages/react-native/React/Views/RCTDebuggingOverlayManager.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,6 @@
77

88
#import <React/RCTViewManager.h>
99

10-
@interface RCTTraceUpdateOverlayManager : RCTViewManager
10+
@interface RCTDebuggingOverlayManager : RCTViewManager
1111

1212
@end

packages/react-native/React/Views/RCTTraceUpdateOverlayManager.m renamed to packages/react-native/React/Views/RCTDebuggingOverlayManager.m

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,32 +5,32 @@
55
* LICENSE file in the root directory of this source tree.
66
*/
77

8-
#import "RCTTraceUpdateOverlayManager.h"
9-
#import "RCTTraceUpdateOverlay.h"
8+
#import "RCTDebuggingOverlayManager.h"
9+
#import "RCTDebuggingOverlay.h"
1010

1111
#import <React/RCTLog.h>
1212
#import <React/RCTUIManager.h>
1313

1414
#import "RCTBridge.h"
1515

16-
@implementation RCTTraceUpdateOverlayManager
16+
@implementation RCTDebuggingOverlayManager
1717

18-
RCT_EXPORT_MODULE(TraceUpdateOverlay)
18+
RCT_EXPORT_MODULE(DebuggingOverlay)
1919

2020
- (UIView *)view
2121
{
22-
return [RCTTraceUpdateOverlay new];
22+
return [RCTDebuggingOverlay new];
2323
}
2424

2525
RCT_EXPORT_METHOD(draw : (nonnull NSNumber *)viewTag nodes : (NSString *)serializedNodes)
2626
{
2727
[self.bridge.uiManager addUIBlock:^(RCTUIManager *uiManager, NSDictionary<NSNumber *, UIView *> *viewRegistry) {
2828
UIView *view = viewRegistry[viewTag];
2929

30-
if ([view isKindOfClass:[RCTTraceUpdateOverlay class]]) {
31-
[(RCTTraceUpdateOverlay *)view draw:serializedNodes];
30+
if ([view isKindOfClass:[RCTDebuggingOverlay class]]) {
31+
[(RCTDebuggingOverlay *)view draw:serializedNodes];
3232
} else {
33-
RCTLogError(@"Expected view to be RCTTraceUpdateOverlay, got %@", NSStringFromClass([view class]));
33+
RCTLogError(@"Expected view to be RCTDebuggingOverlay, got %@", NSStringFromClass([view class]));
3434
}
3535
}];
3636
}

0 commit comments

Comments
 (0)