Reviewed By: Hypuk

Differential Revision: D6578736

fbshipit-source-id: a4229c3766125ff55cff50a49893b2385f9c8a6a
This commit is contained in:
Ben Nham 2017-12-18 13:19:37 -08:00 коммит произвёл Facebook Github Bot
Родитель 3852c42ad8
Коммит 15cd98b782
7 изменённых файлов: 26 добавлений и 0 удалений

Просмотреть файл

@ -1094,4 +1094,10 @@ RCT_NOT_IMPLEMENTED(- (instancetype)initWithBundleURL:(__unused NSURL *)bundleUR
}
}
#pragma mark - Inspector
- (BOOL)isInspectable {
return NO;
}
@end

Просмотреть файл

@ -168,6 +168,12 @@ RCT_EXTERN void RCTVerifyAllModulesExported(NSArray *extraModules);
@end
@interface RCTBridge (Inspector)
@property (nonatomic, readonly, getter=isInspectable) BOOL inspectable;
@end
@interface RCTBatchedBridge : RCTBridge <RCTInvalidating>
@property (nonatomic, weak, readonly) RCTBridge *parentBridge;

Просмотреть файл

@ -194,6 +194,10 @@ struct RCTInstanceCallback : public InstanceCallback {
return (JSGlobalContextRef)(self->_reactInstance ? self->_reactInstance->getJavaScriptContext() : nullptr);
}
- (BOOL)isInspectable {
return self->_reactInstance->isInspectable();
}
- (instancetype)initWithParentBridge:(RCTBridge *)bridge
{
RCTAssertParam(bridge);

Просмотреть файл

@ -143,6 +143,10 @@ void *Instance::getJavaScriptContext() {
: nullptr;
}
bool Instance::isInspectable() {
return nativeToJsBridge_ ? nativeToJsBridge_->isInspectable() : false;
}
void Instance::callJSFunction(std::string &&module, std::string &&method,
folly::dynamic &&params) {
callback_->incrementPendingJSCalls();

Просмотреть файл

@ -55,6 +55,7 @@ public:
void setGlobalVariable(std::string propName,
std::unique_ptr<const JSBigString> jsonValue);
void *getJavaScriptContext();
bool isInspectable();
void callJSFunction(std::string &&module, std::string &&method,
folly::dynamic &&params);
void callJSCallback(uint64_t callbackId, folly::dynamic &&params);

Просмотреть файл

@ -190,6 +190,10 @@ void* NativeToJsBridge::getJavaScriptContext() {
return m_executor->getJavaScriptContext();
}
bool NativeToJsBridge::isInspectable() {
return m_executor->isInspectable();
}
#ifdef WITH_JSC_MEMORY_PRESSURE
void NativeToJsBridge::handleMemoryPressure(int pressureLevel) {
runOnExecutorQueue([=] (JSExecutor* executor) {

Просмотреть файл

@ -101,6 +101,7 @@ public:
void registerBundle(uint32_t bundleId, const std::string& bundlePath);
void setGlobalVariable(std::string propName, std::unique_ptr<const JSBigString> jsonValue);
void* getJavaScriptContext();
bool isInspectable();
#ifdef WITH_JSC_MEMORY_PRESSURE
void handleMemoryPressure(int pressureLevel);