mirror of
https://github.com/facebook/react-native.git
synced 2025-11-01 09:14:26 +00:00
Introduce NativeFrameRateLogger
Summary: This diff introduces `NativeFrameRateLogger` and eliminates all usages of `NativeModules.FrameRateLogger` from our codebase. Reviewed By: ejanzer Differential Revision: D16718105 fbshipit-source-id: caf903162bab978ee1b3faef56aedef6ada75b89
This commit is contained in:
committed by
Facebook Github Bot
parent
b1b5bd4418
commit
aecdee0ab0
@@ -925,6 +925,54 @@ namespace facebook {
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
} // namespace react
|
||||
} // namespace facebook
|
||||
@implementation RCTCxxConvert (NativeFrameRateLogger_SpecSetGlobalOptionsOptions)
|
||||
+ (RCTManagedPointer *)JS_NativeFrameRateLogger_SpecSetGlobalOptionsOptions:(id)json
|
||||
{
|
||||
return facebook::react::managedPointer<JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions>(json);
|
||||
}
|
||||
@end
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
|
||||
|
||||
static facebook::jsi::Value __hostFunction_NativeFrameRateLoggerSpecJSI_setGlobalOptions(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
||||
return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "setGlobalOptions", @selector(setGlobalOptions:), args, count);
|
||||
}
|
||||
|
||||
static facebook::jsi::Value __hostFunction_NativeFrameRateLoggerSpecJSI_setContext(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
||||
return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "setContext", @selector(setContext:), args, count);
|
||||
}
|
||||
|
||||
static facebook::jsi::Value __hostFunction_NativeFrameRateLoggerSpecJSI_beginScroll(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
||||
return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "beginScroll", @selector(beginScroll), args, count);
|
||||
}
|
||||
|
||||
static facebook::jsi::Value __hostFunction_NativeFrameRateLoggerSpecJSI_endScroll(facebook::jsi::Runtime& rt, TurboModule &turboModule, const facebook::jsi::Value* args, size_t count) {
|
||||
return static_cast<ObjCTurboModule&>(turboModule).invokeObjCMethod(rt, VoidKind, "endScroll", @selector(endScroll), args, count);
|
||||
}
|
||||
|
||||
|
||||
NativeFrameRateLoggerSpecJSI::NativeFrameRateLoggerSpecJSI(id<RCTTurboModule> instance, std::shared_ptr<JSCallInvoker> jsInvoker)
|
||||
: ObjCTurboModule("FrameRateLogger", instance, jsInvoker) {
|
||||
|
||||
methodMap_["setGlobalOptions"] = MethodMetadata {1, __hostFunction_NativeFrameRateLoggerSpecJSI_setGlobalOptions};
|
||||
|
||||
setMethodArgConversionSelector(@"setGlobalOptions", 0, @"JS_NativeFrameRateLogger_SpecSetGlobalOptionsOptions:");
|
||||
|
||||
methodMap_["setContext"] = MethodMetadata {1, __hostFunction_NativeFrameRateLoggerSpecJSI_setContext};
|
||||
|
||||
|
||||
methodMap_["beginScroll"] = MethodMetadata {0, __hostFunction_NativeFrameRateLoggerSpecJSI_beginScroll};
|
||||
|
||||
|
||||
methodMap_["endScroll"] = MethodMetadata {0, __hostFunction_NativeFrameRateLoggerSpecJSI_endScroll};
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
} // namespace react
|
||||
|
||||
@@ -941,6 +941,44 @@ namespace facebook {
|
||||
};
|
||||
} // namespace react
|
||||
} // namespace facebook
|
||||
|
||||
namespace JS {
|
||||
namespace NativeFrameRateLogger {
|
||||
struct SpecSetGlobalOptionsOptions {
|
||||
folly::Optional<bool> debug() const;
|
||||
folly::Optional<bool> reportStackTraces() const;
|
||||
|
||||
SpecSetGlobalOptionsOptions(NSDictionary *const v) : _v(v) {}
|
||||
private:
|
||||
NSDictionary *_v;
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@interface RCTCxxConvert (NativeFrameRateLogger_SpecSetGlobalOptionsOptions)
|
||||
+ (RCTManagedPointer *)JS_NativeFrameRateLogger_SpecSetGlobalOptionsOptions:(id)json;
|
||||
@end
|
||||
@protocol NativeFrameRateLoggerSpec <RCTBridgeModule, RCTTurboModule>
|
||||
|
||||
- (void)setGlobalOptions:(JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions &)options;
|
||||
- (void)setContext:(NSString *)context;
|
||||
- (void)beginScroll;
|
||||
- (void)endScroll;
|
||||
|
||||
@end
|
||||
namespace facebook {
|
||||
namespace react {
|
||||
/**
|
||||
* ObjC++ class for module 'FrameRateLogger'
|
||||
*/
|
||||
|
||||
class JSI_EXPORT NativeFrameRateLoggerSpecJSI : public ObjCTurboModule {
|
||||
public:
|
||||
NativeFrameRateLoggerSpecJSI(id<RCTTurboModule> instance, std::shared_ptr<JSCallInvoker> jsInvoker);
|
||||
|
||||
};
|
||||
} // namespace react
|
||||
} // namespace facebook
|
||||
@protocol NativeHeadlessJsTaskSupportSpec <RCTBridgeModule, RCTTurboModule>
|
||||
|
||||
- (void)notifyTaskFinished:(double)taskId;
|
||||
@@ -2597,6 +2635,16 @@ inline folly::Optional<JS::NativeExceptionsManager::ExceptionDataExtraData> JS::
|
||||
id const p = _v[@"extraData"];
|
||||
return (p == nil ? folly::none : folly::make_optional(JS::NativeExceptionsManager::ExceptionDataExtraData(p)));
|
||||
}
|
||||
inline folly::Optional<bool> JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions::debug() const
|
||||
{
|
||||
id const p = _v[@"debug"];
|
||||
return RCTBridgingToOptionalBool(p);
|
||||
}
|
||||
inline folly::Optional<bool> JS::NativeFrameRateLogger::SpecSetGlobalOptionsOptions::reportStackTraces() const
|
||||
{
|
||||
id const p = _v[@"reportStackTraces"];
|
||||
return RCTBridgingToOptionalBool(p);
|
||||
}
|
||||
inline JS::NativeI18nManager::Constants::Builder::Builder(const Input i) : _factory(^{
|
||||
NSMutableDictionary *d = [NSMutableDictionary new];
|
||||
auto isRTL = i.isRTL.get();
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
'use strict';
|
||||
|
||||
const NativeModules = require('../BatchedBridge/NativeModules');
|
||||
import NativeFrameRateLogger from './NativeFrameRateLogger';
|
||||
|
||||
const invariant = require('invariant');
|
||||
|
||||
@@ -41,17 +41,17 @@ const FrameRateLogger = {
|
||||
}) {
|
||||
if (options.debug !== undefined) {
|
||||
invariant(
|
||||
NativeModules.FrameRateLogger,
|
||||
NativeFrameRateLogger,
|
||||
'Trying to debug FrameRateLogger without the native module!',
|
||||
);
|
||||
}
|
||||
if (NativeModules.FrameRateLogger) {
|
||||
if (NativeFrameRateLogger) {
|
||||
// Needs to clone the object first to avoid modifying the argument.
|
||||
const optionsClone = {
|
||||
debug: !!options.debug,
|
||||
reportStackTraces: !!options.reportStackTraces,
|
||||
};
|
||||
NativeModules.FrameRateLogger.setGlobalOptions(optionsClone);
|
||||
NativeFrameRateLogger.setGlobalOptions(optionsClone);
|
||||
}
|
||||
},
|
||||
|
||||
@@ -60,8 +60,7 @@ const FrameRateLogger = {
|
||||
* in `AppRegistry`, but navigation is also a common place to hook in.
|
||||
*/
|
||||
setContext: function(context: string) {
|
||||
NativeModules.FrameRateLogger &&
|
||||
NativeModules.FrameRateLogger.setContext(context);
|
||||
NativeFrameRateLogger && NativeFrameRateLogger.setContext(context);
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -69,8 +68,7 @@ const FrameRateLogger = {
|
||||
* automatically.
|
||||
*/
|
||||
beginScroll() {
|
||||
NativeModules.FrameRateLogger &&
|
||||
NativeModules.FrameRateLogger.beginScroll();
|
||||
NativeFrameRateLogger && NativeFrameRateLogger.beginScroll();
|
||||
},
|
||||
|
||||
/**
|
||||
@@ -78,7 +76,7 @@ const FrameRateLogger = {
|
||||
* automatically.
|
||||
*/
|
||||
endScroll() {
|
||||
NativeModules.FrameRateLogger && NativeModules.FrameRateLogger.endScroll();
|
||||
NativeFrameRateLogger && NativeFrameRateLogger.endScroll();
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*
|
||||
* @format
|
||||
* @flow
|
||||
*/
|
||||
|
||||
import * as TurboModuleRegistry from '../TurboModule/TurboModuleRegistry';
|
||||
import type {TurboModule} from '../TurboModule/RCTExport';
|
||||
|
||||
export interface Spec extends TurboModule {
|
||||
+setGlobalOptions: (options: {|
|
||||
+debug?: ?boolean,
|
||||
+reportStackTraces?: ?boolean,
|
||||
|}) => void;
|
||||
+setContext: (context: string) => void;
|
||||
+beginScroll: () => void;
|
||||
+endScroll: () => void;
|
||||
}
|
||||
|
||||
export default TurboModuleRegistry.get<Spec>('FrameRateLogger');
|
||||
Reference in New Issue
Block a user