react-native-macos/React/Base
Samuel Susla 34d189ae09 Introducing Leak Checker
Summary:
Changelog: [internal]

Introducing LeakChecker. A tool that checks if all native components have been cleaned up when surface is stopped.

**Known shortcomings**:
- LeakChecker is only enabled in debug builds and the existence of leaks is logged to console.
- For now, Leak Checker looks at N-1 screen. This is intentional as there is a known limitation of React that doesn't free up all shadow nodes when surface is stopped. Because of this, the use of LeakChecker is not intuitive and I'll work with React team to try to work around this.
- It doesn't help locating the leak, it only informs that leak is present. I'll be looking into ways to help locate the leak.

Reviewed By: JoshuaGross, mdvacca

Differential Revision: D26727461

fbshipit-source-id: 8350190b99f24642f8e15a3c2e1d79cfaa810d3d
2021-03-17 02:57:37 -07:00
..
Surface Fabric: Simplifying the integration among RCTSurfacePresenter, RCTMountingManager, and RCTFabricSurface 2021-02-01 11:41:16 -08:00
RCTAssert.h Apply clang-format update fixes 2021-01-09 22:11:00 -08:00
RCTAssert.m Proxing NSException stack trace to NSError object 2020-09-08 13:22:54 -07:00
RCTBridge+Private.h Introducing Leak Checker 2021-03-17 02:57:37 -07:00
RCTBridge.h Fix memory leak convertJSIFunctionToCallback 2021-02-27 04:55:52 -08:00
RCTBridge.m Fix memory leak convertJSIFunctionToCallback 2021-02-27 04:55:52 -08:00
RCTBridgeDelegate.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTBridgeMethod.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTBridgeModule.h Introduce RCTViewRegistry 2020-12-19 06:01:47 -08:00
RCTBundleHolderModule.h Introducting RCTBundleHolderModule (name pending) 2021-02-19 13:47:25 -08:00
RCTBundleURLProvider.h Delete concept of live reloading 2021-03-11 16:12:17 -08:00
RCTBundleURLProvider.mm Delete concept of live reloading 2021-03-11 16:12:17 -08:00
RCTComponentEvent.h Make RCTEventDispatcher TurboModule-compatible 2020-10-14 02:40:10 -07:00
RCTComponentEvent.m Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTConstants.h Add experiment to clean up resources when the app is backgrounded 2021-01-20 10:08:13 -08:00
RCTConstants.m Add experiment to clean up resources when the app is backgrounded 2021-01-20 10:08:13 -08:00
RCTConvert.h Mark RN method as requiring iOS 10+ 2020-08-05 14:49:07 -07:00
RCTConvert.m PlatformColors: add missing clearColor for iOS (#30054) 2020-10-12 02:14:42 -07:00
RCTCxxConvert.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTCxxConvert.m Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTDefines.h Delete WEBKIT_IOS_10_APIS_AVAILABLE 2020-08-04 09:10:00 -07:00
RCTDisplayLink.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTDisplayLink.m Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTErrorCustomizer.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTErrorInfo.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTErrorInfo.m Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTEventDispatcher.m Make RCTEventDispatcher TurboModule-compatible 2020-10-14 02:40:10 -07:00
RCTEventDispatcherProtocol.h Make RCTEventDispatcher TurboModule-compatible 2020-10-14 02:40:10 -07:00
RCTFrameUpdate.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTFrameUpdate.m Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTImageSource.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTImageSource.m Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTInvalidating.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTJSInvokerModule.h Workarounds for two bridge methods: dispatchToJSThread and enqueueJSCall: 2020-08-07 11:55:51 -07:00
RCTJSScriptLoaderModule.h Fix loading from Metro in Bridgeless mode (#29453) 2020-07-23 17:11:32 -07:00
RCTJSStackFrame.h Fix Xcode warnings in React-Core pod (#29622) 2020-09-09 12:48:09 -07:00
RCTJSStackFrame.m Fix Xcode warnings in React-Core pod (#29622) 2020-09-09 12:48:09 -07:00
RCTJavaScriptExecutor.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTJavaScriptLoader.h Remove legacy bytecode handling 2020-06-16 02:12:09 -07:00
RCTJavaScriptLoader.mm Bytecode client for Android (#30595) 2020-12-16 16:03:57 -08:00
RCTKeyCommands.h Remove unused double key press code 2020-05-26 20:18:02 -07:00
RCTKeyCommands.m Fix Xcode warnings in React-Core pod (#29622) 2020-09-09 12:48:09 -07:00
RCTLog.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTLog.mm Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTManagedPointer.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTManagedPointer.mm Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTModuleData.h Attach RCTViewRegistry to NativeModules 2020-12-19 06:01:48 -08:00
RCTModuleData.mm Attach RCTViewRegistry to NativeModules 2020-12-19 06:01:48 -08:00
RCTModuleMethod.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTModuleMethod.mm Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTModuleRegistry.m Introduce RCTModuleRegistry 2020-12-10 20:23:16 -08:00
RCTMultipartDataTask.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTMultipartDataTask.m Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTMultipartStreamReader.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTMultipartStreamReader.m Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTNullability.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTParserUtils.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTParserUtils.m Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTPerformanceLogger.h Add new ReactMarkers for bridgeless mode [1/n] 2020-10-30 14:05:11 -07:00
RCTPerformanceLogger.m Add new ReactMarkers for bridgeless mode [1/n] 2020-10-30 14:05:11 -07:00
RCTRedBoxSetEnabled.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTRedBoxSetEnabled.m Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTReloadCommand.h Fix Reload stats 2019-11-18 16:17:09 -08:00
RCTReloadCommand.m Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTRootContentView.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTRootContentView.m Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTRootView.h Allow RCTRootView to be initialized with a frame 2021-03-16 15:08:09 -07:00
RCTRootView.m Allow RCTRootView to be initialized with a frame 2021-03-16 15:08:09 -07:00
RCTRootViewDelegate.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTRootViewInternal.h remove most of tvOS remnants from the code (#29407) 2020-09-28 21:26:41 -07:00
RCTTouchEvent.h Make RCTEventDispatcher TurboModule-compatible 2020-10-14 02:40:10 -07:00
RCTTouchEvent.m Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTTouchHandler.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTTouchHandler.m Send unix timestamp for touch events instead of systemUptime 2021-02-28 15:18:51 -08:00
RCTURLRequestDelegate.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTURLRequestHandler.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTUtils.h Proxing NSException stack trace to NSError object 2020-09-08 13:22:54 -07:00
RCTUtils.m Apply clang-format update fixes 2021-01-09 22:11:00 -08:00
RCTUtilsUIOverride.h Fix imports in `RCTUtilsUIOverride.h` (#28946) 2020-05-21 21:12:36 -07:00
RCTUtilsUIOverride.m Allow extensions to set their own presentedViewController 2019-11-22 00:47:22 -08:00
RCTVersion.h Clang format for all React Native files 2020-03-08 23:01:17 -07:00
RCTVersion.m Lazily create RCTVersion dict 2019-07-12 16:51:28 -07:00
RCTViewRegistry.m Introduce RCTViewRegistry 2020-12-19 06:01:47 -08:00
RCTWeakProxy.h Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00
RCTWeakProxy.m Tidy up license headers [2/n] 2019-10-16 10:06:34 -07:00