react-native/React/Base
Kasper Hirvikoski 101190f7f8 Verify exported modules only once to support dynamic context in DEBUG-mode
Summary:
**Motivation:** We have a project that dynamically changes classes in runtime. This component is initialised within the React Native context. Therefor `RCTBatchedBridge` copies the classes before changes are made to them. While React Native is running, changes are made to the classes dynamically. When the project reloads the `RCTBatchedBridge`, it now has an invalid list of classes containing trash pointers. This causes the project to crash on https://github.com/facebook/react-native/blob/master/React/Base/RCTBatchedBridge.m#L288 with EXC_BAD_ACCESS in the DEBUG-mode.

**Solution:** Copy the class list on each reload to get the current state. Since this is only a DEBUG-feature the overhead of this should not be a major issue.
Closes https://github.com/facebook/react-native/pull/9541

Differential Revision: D3775012

Pulled By: javache

fbshipit-source-id: d55fa0742ca100d8018c73080230cf718aa5a7e9
2016-08-29 12:13:34 -07:00
..
RCTAssert.h Display JS exceptions and stacks in a red box. 2016-06-30 19:43:28 -07:00
RCTAssert.m Display JS exceptions and stacks in a red box. 2016-06-30 19:43:28 -07:00
RCTBatchedBridge.m Verify exported modules only once to support dynamic context in DEBUG-mode 2016-08-29 12:13:34 -07:00
RCTBridge+Private.h Fix double React perflogger creation 2016-07-22 09:58:29 -07:00
RCTBridge.h Customize main thread initialization of native modules (2nd try) 2016-08-05 11:28:32 -07:00
RCTBridge.m Customize main thread initialization of native modules (2nd try) 2016-08-05 11:28:32 -07:00
RCTBridgeDelegate.h Customize main thread initialization of native modules (2nd try) 2016-08-05 11:28:32 -07:00
RCTBridgeMethod.h Prepare the bridge for C++ 2015-09-18 15:04:28 -07:00
RCTBridgeModule.h Standardize Error objects for Promises 2016-01-19 12:20:37 -08:00
RCTBundleURLProvider.h Eliminate "packager running predicate" 2016-07-15 05:43:47 -07:00
RCTBundleURLProvider.m Eliminate "packager running predicate" 2016-07-15 05:43:47 -07:00
RCTConvert.h Add iOS support for CSS property font-variant, accepting tabular-nums… 2016-08-09 08:43:34 -07:00
RCTConvert.m Use image references consistently in UIExplorer 2016-08-17 04:43:52 -07:00
RCTDefines.h Add RCT_PROFILE define 2016-06-13 04:28:38 -07:00
RCTDisplayLink.h Pull CADisplayLink into a separate file 2016-03-29 19:53:20 -07:00
RCTDisplayLink.m Allow RCTDisplayLink to pause more often 2016-07-11 08:28:24 -07:00
RCTErrorCustomizer.h Add ability to customize error messages and stacks within the iOS redbox 2016-07-18 11:28:36 -07:00
RCTErrorInfo.h Add ability to customize error messages and stacks within the iOS redbox 2016-07-18 11:28:36 -07:00
RCTErrorInfo.m Add ability to customize error messages and stacks within the iOS redbox 2016-07-18 11:28:36 -07:00
RCTEventDispatcher.h Updated AppState module to use new emitter system 2016-05-23 09:13:37 -07:00
RCTEventDispatcher.m Use new enqueueJSCall method everywhere 2016-08-02 11:14:06 -07:00
RCTFrameUpdate.h Pause JS DisplayLink if nothing to process. 2015-09-29 09:22:10 -07:00
RCTFrameUpdate.m Ran Convert > To Modern Objective C Syntax 2015-08-25 01:08:49 -08:00
RCTImageSource.h Remove deprecated RCTImageSource method 2016-08-23 11:28:42 -07:00
RCTImageSource.m Remove deprecated RCTImageSource method 2016-08-23 11:28:42 -07:00
RCTInvalidating.h Remove isValid from RCTInvalidating 2015-08-14 01:57:18 -08:00
RCTJSStackFrame.h Class for JS stack frames instead of dictionaries 2016-07-11 06:13:32 -07:00
RCTJSStackFrame.m Fix crash in RCTJSStackFrame 2016-08-26 09:58:47 -07:00
RCTJavaScriptExecutor.h Add MessageQueue method for executing function and returning its result 2016-07-18 07:13:32 -07:00
RCTJavaScriptLoader.h Remove allowLoadingNonRAMBundles 2016-07-13 16:43:38 -07:00
RCTJavaScriptLoader.m Improve error message when packager is not running 2016-08-02 08:13:57 -07:00
RCTKeyCommands.h Add Shortcut "Double R" to Reload JS in iOS 2016-06-01 03:43:27 -07:00
RCTKeyCommands.m Cleanup warnings 2016-07-12 05:59:12 -07:00
RCTLog.h Provide log source to handler 2015-11-11 06:44:30 -08:00
RCTLog.m Added unit tests for module init 2016-03-01 09:44:37 -08:00
RCTModuleData.h Replaced isMainThread checks with a proper test for main queue 2016-06-06 07:58:36 -07:00
RCTModuleData.m Fix some analyzer warnings 2016-08-09 03:58:36 -07:00
RCTModuleMethod.h Implement Android's dispatchViewManagerCommand interface on iOS 2016-01-06 05:58:37 -08:00
RCTModuleMethod.m Allow RCTDisplayLink to pause more often 2016-07-11 08:28:24 -07:00
RCTNullability.h Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTParserUtils.h Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTParserUtils.m Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTPerformanceLogger.h Fix double React perflogger creation 2016-07-22 09:58:29 -07:00
RCTPerformanceLogger.m Add gating to various use of RCTProfileIsProfiling 2016-08-01 23:58:33 -07:00
RCTRootView.h remove dead code 2016-02-29 10:09:54 -08:00
RCTRootView.m Set property ivar for shadow view frame 2016-08-10 10:58:49 -07:00
RCTRootViewDelegate.h Prevent RCTRootView delegate call 2015-11-13 08:28:28 -08:00
RCTRootViewInternal.h Introduction of RCTRootViewDelegate 2015-10-26 15:41:36 -07:00
RCTTouchEvent.h RCTTouchEvent's init takes coalescing key 2016-04-01 06:54:49 -07:00
RCTTouchEvent.m improved description for RCTTouchEvent 2016-05-24 05:13:27 -07:00
RCTTouchHandler.h API for cancelling RCTTouchHandler 2016-01-21 13:46:52 -08:00
RCTTouchHandler.m different coalescing key for `touchCancel` events 2016-05-12 08:11:24 -07:00
RCTURLRequestDelegate.h Refactored networking logic out into RCTDownloadTask 2015-07-23 04:00:31 -08:00
RCTURLRequestHandler.h [ReactNative] Refactor RCTDataManager to support pluggable data source modules (RCTURLRequestHandlers) 2015-06-09 12:27:06 -08:00
RCTUtils.h Load local assets synchronously to prevent image flicker 2016-07-21 07:58:51 -07:00
RCTUtils.m Load local assets synchronously to prevent image flicker 2016-07-21 07:58:51 -07:00
RCTWebSocketProxy.h Enable persistent socket between packager and bridge (1/N). 2016-02-16 23:05:36 -08:00
RCTWebSocketProxyDelegate.h Enable persistent socket between packager and bridge (1/N). 2016-02-16 23:05:36 -08:00