| 1616 | |
| 1617 | if (parentManagesChildFrames()) { |
| 1618 | return getParent()->markLayoutDirty(); |
| 1619 | } |
| 1620 | |
| 1621 | if (_yogaNode == nullptr) { |
| 1622 | return false; |
| 1623 | } |
| 1624 | |
| 1625 | if (!facebook::yoga::resolveRef(_yogaNode)->hasMeasureFunc()) { |
| 1626 | // If there is no custom measure func, there is no need to dirty our yoga node. |
| 1627 | return false; |
| 1628 | } |
| 1629 | |
| 1630 | return markLayoutDirty(); |
| 1631 | } |
| 1632 | |
| 1633 | bool ViewNode::markLayoutDirty() { |
| 1634 | if (_yogaNode == nullptr) { |
| 1635 | return false; |
| 1636 | } |
| 1637 | |
| 1638 | if (isFlexLayoutDirty()) { |
| 1639 | return false; |
| 1640 | } |
| 1641 | |
| 1642 | facebook::yoga::resolveRef(_yogaNode)->markDirtyAndPropagate(); |