react-native/ReactCommon/fabric/core/shadownode
Valentin Shergin e906d4cdc9 Simplifying child nodes management in YogaLayoutableShadowNode
Summary:
@public

This diff consists of many interdependent changes which support one simple idea: YogaLayoutableShadowNode is now using YGNode children to iterate on them (it previously relied on `ShadowNode::getChildren()`). All other changes are just an unavoidable consequence of that. Hence we don't need to filter child nodes every single time when we do layout anymore! The logic around `clone callback` is also drastically simpler now.
The new approach also implies that `LayoutableShadowNode` and `YogaLayoutableShadowNode` don't use `shared_ptr`s to refer to ShadowNode objects because new relationship does not imply ownership. No more `SharedShadowNode` objects in those two classes.

Reviewed By: mdvacca

Differential Revision: D8796159

fbshipit-source-id: 6f52f92d1826f3eb13b2f8a132c3ea77de155d82
2018-07-17 22:53:56 -07:00
..
ConcreteShadowNode.h Simplifying child nodes management in YogaLayoutableShadowNode 2018-07-17 22:53:56 -07:00
LocalData.h Fabric: Introducing `LocalData` concept 2018-04-26 18:03:07 -07:00
Props.cpp Fabric: Devirtualizing of props parsing infra 2018-05-14 16:03:49 -07:00
Props.h Fabric: Devirtualizing of props parsing infra 2018-05-14 16:03:49 -07:00
ShadowNode.cpp Simplifying child nodes management in YogaLayoutableShadowNode 2018-07-17 22:53:56 -07:00
ShadowNode.h Simplifying child nodes management in YogaLayoutableShadowNode 2018-07-17 22:53:56 -07:00