react-native/ReactCommon/fabric/uimanager
Valentin Shergin fcd72bf34a Fabric: Generalizing cloning of YogaLayoutable approach
Summary:
@public
Non-null owner pointer in Yoga node indicates that this node is already being used by some other subtree, so it must be cloned in case of possible (re)layout.
Theoretically, this node must/can be cloned by Yoga right before applying a new layout to this node, but Yoga has a special optimization that uses that fact that Yoga always cloning *all* children of a particular node altogether. This is not true for React; to meet React and Yoga worlds we double check the owner pointer in `addChild` and clone node preliminary if needed.
See also the previous diff for more context.

Reviewed By: mdvacca

Differential Revision: D8709952

fbshipit-source-id: 84ef0faa0f1d9cc9a8136b550cf325bc20508d53
2018-07-15 16:52:25 -07:00
..
tests
BUCK Fix conditional load usage. 2018-07-14 18:32:20 -07:00
ComponentDescriptorFactory.h Fabric: Introducing `ContextContainer` 2018-06-22 07:32:49 -07:00
ComponentDescriptorRegistry.cpp
ComponentDescriptorRegistry.h
ContextContainer.cpp Fabric: Introducing `ContextContainer` 2018-06-22 07:32:49 -07:00
ContextContainer.h Fabric: Introducing `ContextContainer` 2018-06-22 07:32:49 -07:00
Differentiator.cpp Fabric: The diffing algorithm does not use source nodes anymore 2018-07-06 14:49:07 -07:00
Differentiator.h
FabricUIManager.cpp Fabric: Generalizing cloning of YogaLayoutable approach 2018-07-15 16:52:25 -07:00
FabricUIManager.h Remove instanceHandle, pass event target instead + add dispatchToEmptyTarget 2018-06-29 15:32:27 -07:00
Scheduler.cpp Fabric: Getting rid of many `auto &&` 2018-06-22 07:32:49 -07:00
Scheduler.h Fabric: Introducing `ContextContainer` 2018-06-22 07:32:49 -07:00
SchedulerDelegate.h
SchedulerEventDispatcher.cpp Remove instanceHandle, pass event target instead + add dispatchToEmptyTarget 2018-06-29 15:32:27 -07:00
SchedulerEventDispatcher.h Remove instanceHandle, pass event target instead + add dispatchToEmptyTarget 2018-06-29 15:32:27 -07:00
ShadowTree.cpp Fabric: Dispatching `onLayout` events to only nodes which requested it 2018-06-22 18:46:39 -07:00
ShadowTree.h Fabric: Subtle changes that make GCC compiler happy 2018-06-29 12:18:27 -07:00
ShadowTreeDelegate.h
TreeMutationInstruction.cpp Fabric: Improved prettyprinting of TreeMutationInstruction 2018-07-06 14:49:06 -07:00
TreeMutationInstruction.h Fabric: Improved prettyprinting of TreeMutationInstruction 2018-07-06 14:49:06 -07:00
UIManagerDelegate.h