mirror of
https://github.com/status-im/react-native.git
synced 2025-01-10 01:25:39 +00:00
45d2c691a3
Summary: The Obj-C API is usually easier to work with, and also makes it very easy to use the C API when necessary (performance, for example). This diff just switches the designated initializer of RCTContextExecutor to take a JSContext instead of JSGlobalContextRef, but the old initializer still works if needed. I was doing some memory leak investigation and it is easier with ARC so I wanted to incrementally move the executor to Obj-C. Closes https://github.com/facebook/react-native/pull/2159 Reviewed By: svcscm Differential Revision: D2554890 Pulled By: tadeuzagallo fb-gh-sync-id: 75b96d04cddff68fa3daf5d0fafdffad21dae307
35 lines
1.1 KiB
Objective-C
35 lines
1.1 KiB
Objective-C
/**
|
|
* Copyright (c) 2015-present, Facebook, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* This source code is licensed under the BSD-style license found in the
|
|
* LICENSE file in the root directory of this source tree. An additional grant
|
|
* of patent rights can be found in the PATENTS file in the same directory.
|
|
*/
|
|
|
|
#import <JavaScriptCore/JavaScriptCore.h>
|
|
|
|
#import "RCTJavaScriptExecutor.h"
|
|
|
|
// TODO (#5906496): Might RCTJSCoreExecutor be a better name for this?
|
|
|
|
/**
|
|
* Uses a JavaScriptCore context as the execution engine.
|
|
*/
|
|
@interface RCTContextExecutor : NSObject <RCTJavaScriptExecutor>
|
|
|
|
/**
|
|
* Configures the executor to run JavaScript on a specific thread with a given JS context.
|
|
* You probably don't want to use this; use -init instead.
|
|
*/
|
|
- (instancetype)initWithJavaScriptThread:(NSThread *)javaScriptThread
|
|
context:(JSContext *)context NS_DESIGNATED_INITIALIZER;
|
|
|
|
/**
|
|
* Like -[initWithJavaScriptThread:context:] but uses JSGlobalContextRef from JavaScriptCore's C API.
|
|
*/
|
|
- (instancetype)initWithJavaScriptThread:(NSThread *)javaScriptThread
|
|
globalContextRef:(JSGlobalContextRef)contextRef;
|
|
|
|
@end
|