react-native/React/Base
Martin Kralik 2e8eb652e1 coalesce "touchMove" events (7/7)
Summary:
This is a final diff in the stack, which makes us not send a bazillion events to js after it's been busy while an user dragged his finger on a screen (resulting in ~two events per frame).
I made "touchMove" event to be coalescable, which makes us not send anything while dragging (since this makes both scroll events and touch move events coalesced and not being  send until either next js frame or the next different touch event occurs).

This change is far from perfect. The event name is a hard coded string and the coalescing works with some (reasonable) assumptions on internal structure of these touch events. Which may or may not be really true. It would be great if someone could comment on these.
I'm thinking about making the touches more strongly typed. Any thoughts on this?

public
___
//This diff is part of a larger stack. For high level overview what's going on jump to D2884593.//

Reviewed By: nicklockwood

Differential Revision: D2884595

fb-gh-sync-id: f3c2f13430679e2bf52e0c7a3689650b3acae42f
2016-02-03 05:24:14 -08:00
..
RCTAssert.h Reduced work done on main thread by RCTImageLoader 2015-11-17 07:21:29 -08:00
RCTAssert.m RCTUtils Obj-C nullability annotations 2016-01-21 07:50:43 -08:00
RCTBatchedBridge.m Invalidate JS executor when loading fails 2016-01-19 14:35:33 -08:00
RCTBridge+Private.h Implement Android's dispatchViewManagerCommand interface on iOS 2016-01-06 05:58:37 -08:00
RCTBridge.h Refactor hot loading implementation on iOS 2016-01-04 10:40:32 -08:00
RCTBridge.m Don't register classes only found at runtime 2016-01-19 11:10:32 -08:00
RCTBridgeDelegate.h Refactor hot loading implementation on iOS 2016-01-04 10:40:32 -08: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
RCTConvert.h Replaced RegExp method parser with recursive descent 2015-12-10 10:12:29 -08:00
RCTConvert.m Ported `source` prop over to iOS WebView 2016-02-01 18:01:35 -08:00
RCTDefines.h Implement asm trampoline rather forwardInvocation 2015-10-20 04:14:09 -07:00
RCTEventDispatcher.h flush events queue when an event cannot be coalesced (4/7) 2016-02-03 05:23:55 -08:00
RCTEventDispatcher.m flush events queue when an event cannot be coalesced (4/7) 2016-02-03 05:23:55 -08: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 Added RCTImageSource 2015-12-08 03:32:30 -08:00
RCTImageSource.m iOS: Fix Image source={{ uri: null }} to crash 2015-12-21 10:04:31 -08:00
RCTInvalidating.h Remove isValid from RCTInvalidating 2015-08-14 01:57:18 -08:00
RCTJSMethodRegistrar.h Added non-class-scanning-based approach fror registering js methods 2015-04-08 05:45:20 -08:00
RCTJavaScriptExecutor.h Add context executor API for sync hooks 2016-01-05 08:00:38 -08:00
RCTJavaScriptLoader.h [ReactNative] Add RCTBridgeDelegate 2015-07-28 15:57:02 -08:00
RCTJavaScriptLoader.m Added lightweight generic annotations 2015-11-03 14:49:30 -08:00
RCTKeyCommands.h Updates from Thu 26 Mar 2015-03-26 06:32:01 -07:00
RCTKeyCommands.m Added lightweight generic annotations 2015-11-03 14:49:30 -08:00
RCTKeyboardObserver.h Add keyboard-observing notifications 2015-08-25 03:49:13 -08:00
RCTKeyboardObserver.m Refactored module access to allow for lazy loading 2015-11-25 04:49:45 -08:00
RCTLog.h Provide log source to handler 2015-11-11 06:44:30 -08:00
RCTLog.m Fix default logger's loglevel, improve default error handler 2016-01-20 10:28:38 -08:00
RCTModuleData.h Fixed deadlock in RCTModuleData 2016-01-07 01:30:30 -08:00
RCTModuleData.m Fix extra native modules missing bridge after reload 2016-01-07 12:03:28 -08:00
RCTModuleMethod.h Implement Android's dispatchViewManagerCommand interface on iOS 2016-01-06 05:58:37 -08:00
RCTModuleMethod.m Standardize Error objects for Promises 2016-01-19 12:20:37 -08: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 Added lightweight generic annotations 2015-11-03 14:49:30 -08:00
RCTPerformanceLogger.m Refactored module access to allow for lazy loading 2015-11-25 04:49:45 -08:00
RCTRootView.h API for cancelling RCTTouchHandler 2016-01-21 13:46:52 -08:00
RCTRootView.m API for cancelling RCTTouchHandler 2016-01-21 13:46:52 -08: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 added RCTTouchEvent (5/7) 2016-02-03 05:24:02 -08:00
RCTTouchEvent.m coalesce "touchMove" events (7/7) 2016-02-03 05:24:14 -08:00
RCTTouchHandler.h API for cancelling RCTTouchHandler 2016-01-21 13:46:52 -08:00
RCTTouchHandler.m use RCTEventDispatcher for touch events (6/7) 2016-02-03 05:24:08 -08: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 Improved 3D touch implementation, and added example 2016-01-27 09:05:36 -08:00
RCTUtils.m Improved 3D touch implementation, and added example 2016-01-27 09:05:36 -08:00